]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
* doc/extend.texi (Empty Structures): New.
authorGeoffrey Keating <geoffk@apple.com>
Sat, 12 Apr 2003 01:43:11 +0000 (01:43 +0000)
committerGeoffrey Keating <geoffk@gcc.gnu.org>
Sat, 12 Apr 2003 01:43:11 +0000 (01:43 +0000)
From-SVN: r65497

gcc/ChangeLog
gcc/doc/extend.texi

index b288c7766cf7e928ec688db8be875ea387431d0f..a7968be400c7179ea9f68b3eb506ba7f280011a7 100644 (file)
@@ -1,3 +1,7 @@
+2003-04-11  Geoffrey Keating  <geoffk@apple.com>
+
+       * doc/extend.texi (Empty Structures): New.
+
 2003-04-11  Eric Christopher  <echristo@redhat.com>
 
        * emit-rtl.c (gen_rtx): Fix typos.
index a265672c967bdfa98ff8a5fec8e202351c49f73e..ad2a02f92bae05e0aa556802a6f0a6bc76bd03d4 100644 (file)
@@ -436,6 +436,7 @@ extensions, accepted by GCC in C89 mode and in C++.
 * Hex Floats::          Hexadecimal floating-point constants.
 * Zero Length::         Zero-length arrays.
 * Variable Length::     Arrays whose length is computed at run time.
+* Empty Structures::    Structures with no members.
 * Variadic Macros::    Macros with a variable number of arguments.
 * Escaped Newlines::    Slightly looser rules for escaped newlines.
 * Multi-line Strings::  String literals with embedded newlines.
@@ -1358,6 +1359,21 @@ struct bar c = @{ @{ 1, @{ @} @} @};            // @r{Valid.}
 struct foo d[1] = @{ @{ 1 @{ 2, 3, 4 @} @} @};  // @r{Invalid.}
 @end example
 
+@node Empty Structures
+@section Structures With No Members
+@cindex empty structures
+@cindex zero-size structures
+
+GCC permits a C structure to have no members:
+
+@example
+struct empty @{
+@};
+@end example
+
+The structure will have size zero.  In C++, empty structures are part
+of the language, and the language standard says they have size 1.
+
 @node Variable Length
 @section Arrays of Variable Length
 @cindex variable-length arrays