[llvm-commits] [llvm-gcc-4.0] r40622 - in /llvm-gcc-4.0/trunk/gcc: llvm-backend.cpp llvm-convert.cpp llvm-internal.h llvm-types.cpp

Christopher Lamb christopher.lamb at gmail.com
Tue Jul 31 07:31:15 PDT 2007


On Jul 31, 2007, at 1:30 AM, Anton Korobeynikov wrote:

> Hello, Christopher.
>
>> +    tree RestrictArgTy = (DeclArgs) ? DeclArgs- 
>> >type.common.type : ArgTy;
> This looks very dangerous. Why can't standard TREE_ macro be used  
> here?
> Also, please add a comment describing what's going here (why you need
> such thing) :)

What specifically is dangerous about this?

I'm no GCC expert, but the DECL_ARGUMENTS() seems to be the only  
place where the restrict qualifier is preserved under C++. While  
debugging I could inspect the data structure to see that the  
information I needed was there, but looking in tree.h I found no  
TREE_... macro that got me there.

The ?: came about because while bootstrapping GCC there were cases  
when DelArgs was NULL. It seems a bit of a hack, I know, but it's the  
best I could figure and it seems to work properly in my tests. If you  
have a suggestion on a more proper way to consistently get the  
restrict qualifier I'm all ears. =)
--
Christopher Lamb



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20070731/13e6b154/attachment.html>


More information about the llvm-commits mailing list