[cfe-commits] r64504 - in /cfe/trunk: include/clang/AST/ include/clang/Basic/ lib/AST/ lib/Analysis/ lib/CodeGen/ lib/Sema/ test/Analysis/ test/CodeGen/ test/Sema/

Chris Lattner clattner at apple.com
Fri Feb 13 19:33:22 PST 2009


On Feb 13, 2009, at 7:10 PM, Daniel Dunbar wrote:

> Nice, very very nice.
>
> Unfortunately, this is also causing us to reject quite a few of the
> applications in the LLVM test-suite. I haven't had time to diagnose
> the exact issues, but I think we are going to need to be more
> accepting of other definitions of builtins. For example:
> --
> char *malloc();
> void *f0() { return malloc(4); }
> --
>
> Can you take a look?

It's not clear to me that we should do this.  Before the patch, we  
would have code that "worked with with GCC" get silently miscompiled  
with clang.  Now we have code that "works fine with gcc" get  
"summarily rejected by clang".  This is a big step forward in some ways.

I guess it is bad that we don't accept some programs we used to, but  
is this really such a bad thing?  If this just affects stuff in llvm- 
test, I'm inclined to just fix the programs.  If this occurs in some  
large C code bases, then perhaps we should try to be more lenient.

-Chris

>
>
> - Daniel
>
> On Fri, Feb 13, 2009 at 3:52 PM, Chris Lattner <clattner at apple.com>  
> wrote:
>>
>> On Feb 13, 2009, at 3:20 PM, Douglas Gregor wrote:
>>
>>> Author: dgregor
>>> Date: Fri Feb 13 17:20:09 2009
>>> New Revision: 64504
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=64504&view=rev
>>> Log:
>>> Implicitly declare certain C library functions (malloc, strcpy,
>>> memmove,
>>> etc.) when we perform name lookup on them. This ensures that we
>>> produce the correct signature for these functions, which has two
>>> practical impacts:
>>
>> Nice!!
>>
>> -Chris
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits




More information about the cfe-commits mailing list