[cfe-commits] [QUESTION] - array member with no size
John Thompson
john.thompson.jtsoftware at gmail.com
Tue Jul 6 16:53:07 PDT 2010
Regarding bug 7032, an error is generated in the following case because of
the absence of an array size:
class test {
int m;
unsigned int mDummy[];
};
>clang -cc1 AttributeAligned1.cpp
AttributeAligned1.cpp:3:14: error: field has incomplete type 'unsigned int
[]'
unsigned int mDummy[];
^
1 error generated.
According to the standards C99_n1124 at 6.2.5.p22 and C++_n2723 at 3.9.1.p5
this is a legitimate error. However, gcc doesn't flag it. What do we do in
this kind of case, regarding maintaining compatibility and facilitating
porting?
The following options come to mind:
1. Keep it an error. It's an easy fix, adding a 0 for length. (In my case
the field is only used for getting an aligned field offset.)
2. Make it a warning, assume 0-size, and report this assumption and suggest
adding an explicit size.
3. Keep it an error or warning, and have a gcc-compatibility option to
eliminate it.
4. Silently ignore it and assume 0 size like gcc.
-John
--
John Thompson
John.Thompson.JTSoftware at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20100706/14b99be7/attachment.html>
More information about the cfe-commits
mailing list