[LLVMdev] LLVM built on VS C++ 2005

Jeff Cohen jeffc at jolt-lang.org
Thu Feb 17 19:36:14 PST 2005


GCC is smart enough to realize it doesn't return.  That's because the 
declaration of abort() is decorated with __attribute__((__noreturn__)).

So is GCC smarter than VC++?  As it turns out, in VC++ the declaration 
of abort() is decorated with __declspec(noreturn).

Whidbey is not stricter than 2003, it is merely buggier.  VC++ has 
always complained about functions failing to return a value; this is not 
new in Whidbey.  What is new is that it no longer pays attention to 
__declspec(noreturn).

That is why it is difficult to justify supporting Whidbey.  This bug may 
have been easy to work around.  The next one may not be so easy.  
Remember, if Whidbey wasn't buggy and incomplete, you'd be paying around 
$1000 for it instead of downloading it for free.

Neil Booth wrote:

>Aaron Gray wrote:-
>
>  
>
>>Hi,
>>
>>I have built yesterdays CVS download of LLVM on Whidbey (Microsoft Visual Studio 2005).
>>
>>LLVM built with trivial mods due to VS strictness compared to GCC. Basically there are missing return statement/values where Abort() is called, I replaced these with dummy constructors to get them to compile.
>>    
>>
>
>Sounds like GCC is smart enough to realise it doesn't return?
>
>Neil.
>
>_______________________________________________
>LLVM Developers mailing list
>LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
>  
>




More information about the llvm-dev mailing list