tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tinycc-devel] [PATCH v3] forbid invalid comparison of struct


From: Thomas Preud'homme
Subject: Re: [Tinycc-devel] [PATCH v3] forbid invalid comparison of struct
Date: Mon, 5 Nov 2012 14:13:25 +0100
User-agent: KMail/1.13.7 (Linux/3.2.0-4-amd64; KDE/4.8.4; x86_64; ; )

Le lundi 5 novembre 2012 14:01:20, Hitoshi Mitake a écrit :
> Hi tcc folks.
> 
> I found a trivial bug of tcc. Current tcc permits comparison of
> structs and comparison between struct and other typed values. This
> patch can fix the bug.
> 
> I'm new to tcc. Sorry if this patch contains wrong part.
> I'd like to hear your comments.
> 
> v2: fix on the bug of mod branch
> v3: fix the silly bug of v2
> 
> Thanks,
> ---
>  tccgen.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/tccgen.c b/tccgen.c
> index 4e58ef0..f183913 100644
> --- a/tccgen.c
> +++ b/tccgen.c
> @@ -1700,6 +1700,8 @@ ST_FUNC void gen_op(int op)
>              (t2 & (VT_BTYPE | VT_UNSIGNED)) == (VT_LLONG | VT_UNSIGNED))
>              t |= VT_UNSIGNED;
>          goto std_op;
> +    } else if (bt1 == VT_STRUCT || bt2 == VT_STRUCT) {
> +        tcc_error("comparison of struct");
>      } else {
>          /* integer operations */
>          t = VT_INT;

Looks good. Thank you for making me realize that even struct equality is not 
possible in C. Because the assignment of struct is possible I was sure struct 
equality was possible. I let you commit it.

Best regards,

Thomas

Attachment: signature.asc
Description: This is a digitally signed message part.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]