[cfe-dev] Problems in __builtin_offsetof locations

Douglas Gregor dgregor at apple.com
Wed Nov 4 07:52:46 PST 2009


On Nov 4, 2009, at 1:07 AM, Abramo Bagnara wrote:

>
> The attached C source show two different problems:
>
> $ llvm_new/Debug/bin/clang-cc -W -Wall bug_clang2.c
> bug_clang2.c:11:7: error: too many arguments to function call
>  fun(333);
>  ~~~ ^~~
> bug_clang2.c:12:7: error: too many arguments to function call
>  fun(__builtin_offsetof(struct s, g));
>  ~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> bug_clang2.c:13:7: error: too many arguments to function call
>  fun(__builtin_offsetof(struct s, f));
>  ~~~ ^
> 3 diagnostics generated.
>
>
> 1) As seen in diagnostic for line 12, the end location of
> __builtin_offsetof is not the right paren but the end of location of
> subexpression (like in all other prefix unary operators). This is  
> wrong
> for __builtin_offsetof.
>
> 2) Worse in diagnostic for line 13, the end location of
> __builtin_offsetof is invalid (here I don't fully understand how this
> happens).

In general, when you come across a bug like this, please file it in  
the LLVM Bugzilla at

	http://llvm.org/bugs/

	- Doug



More information about the cfe-dev mailing list