public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/14124] New: enum definition with __attribute__((packed)) gives syntax errors
@ 2004-02-12 6:13 jcooper at korgrd dot com
2004-02-12 9:04 ` [Bug c++/14124] " pinskia at gcc dot gnu dot org
` (5 more replies)
0 siblings, 6 replies; 8+ messages in thread
From: jcooper at korgrd dot com @ 2004-02-12 6:13 UTC (permalink / raw)
To: gcc-bugs
On Linux 2.4.24, using gcc 3.3.2
I'm following the instructions as described here:
http://gcc.gnu.org/onlinedocs/gcc-3.3.2/gcc/Type-Attributes.html#Type%20Attributes
Specifically, I say
enum testEnum { x = 1, y = 2 } __attribute__((packed));
and I get:
error: semicolon missing after declaration of `testEnum'
I've also tried:
enum __attribute__((packed)) testEnum2 { z = 3 };
typedef enum { abc = 4 } __attribute__((packed)) testEnum3;
Both which fail with syntax errors. See cpp and gcc output listings below.
It is not practical for us to use -fshort-enums, so we really need this to
work. Please advise!
Thanks
-John
Output of cpp:
# 1 "enum.cpp"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "enum.cpp"
enum testEnum { x = 1, y = 2 } __attribute__((packed));
enum __attribute__((packed)) testEnum2 { z = 3 };
typedef enum { abc = 4 } __attribute__((packed)) testEnum3;
int main()
{
testEnum t;
testEnum2 tt;
testEnum3 ttt
}
---------------------------------
Output of gcc -v -save-temps enum.cpp :
Reading specs from /home/jcooper/bin/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/specs
Configured with: ../gcc-3.3.2/configure --prefix=/home/jcooper/bin
Thread model: posix
gcc version 3.3.2
/home/jcooper/bin/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/cc1plus -E -D__GNUG__=3
-quiet -v -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=2
-D_GNU_SOURCE enum.cpp enum.ii
ignoring nonexistent directory "/home/jcooper/bin/i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/home/jcooper/bin/include/c++/3.3.2
/home/jcooper/bin/include/c++/3.3.2/i686-pc-linux-gnu
/home/jcooper/bin/include/c++/3.3.2/backward
/usr/local/include
/home/jcooper/bin/include
/home/jcooper/bin/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/include
/usr/include
End of search list.
/home/jcooper/bin/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/cc1plus -fpreprocessed
enum.ii -quiet -dumpbase enum.cpp -auxbase enum -version -o enum.s
GNU C++ version 3.3.2 (i686-pc-linux-gnu)
compiled by GNU C version 3.3.2.
GGC heuristics: --param ggc-min-expand=36 --param ggc-min-heapsize=11837
enum.cpp:1: error: semicolon missing after declaration of `testEnum'
enum.cpp:3: error: parse error before `__attribute__'
enum.cpp:5: error: semicolon missing after enum declaration
enum.cpp: In function `int main()':
enum.cpp:10: error: `testEnum2' undeclared (first use this function)
enum.cpp:10: error: (Each undeclared identifier is reported only once for each
function it appears in.)
enum.cpp:10: error: parse error before `;' token
--
Summary: enum definition with __attribute__((packed)) gives
syntax errors
Product: gcc
Version: 3.3.2
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jcooper at korgrd dot com
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14124
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/14124] enum definition with __attribute__((packed)) gives syntax errors
2004-02-12 6:13 [Bug c++/14124] New: enum definition with __attribute__((packed)) gives syntax errors jcooper at korgrd dot com
@ 2004-02-12 9:04 ` pinskia at gcc dot gnu dot org
2004-02-12 15:40 ` jcooper at korgrd dot com
` (4 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-02-12 9:04 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-02-12 09:04 -------
Well this is no longer rejected on 3.4.0 but it still ignores the attribute for some reason. I think the
documention was written for the C front-end but never updated for the C++ front-end at all.
--
What |Removed |Added
----------------------------------------------------------------------------
Severity|normal |enhancement
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Keywords| |wrong-code
Known to fail| |2.95.3 2.97 3.0 3.0.1 3.0.2
| |3.0.3 3.0.4 3.1 3.1.1 3.1.2
| |3.2 3.2.1 3.2.2 3.2.3 3.3
| |3.3.1 3.3.2 3.3.3 3.4.0
| |3.5.0
Last reconfirmed|0000-00-00 00:00:00 |2004-02-12 09:04:40
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14124
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/14124] enum definition with __attribute__((packed)) gives syntax errors
2004-02-12 6:13 [Bug c++/14124] New: enum definition with __attribute__((packed)) gives syntax errors jcooper at korgrd dot com
2004-02-12 9:04 ` [Bug c++/14124] " pinskia at gcc dot gnu dot org
@ 2004-02-12 15:40 ` jcooper at korgrd dot com
2004-02-12 16:05 ` giovannibajo at libero dot it
` (3 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: jcooper at korgrd dot com @ 2004-02-12 15:40 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From jcooper at korgrd dot com 2004-02-12 15:40 -------
Thanks Andrew for confirming.
I see you've reclassified it as an enhancement. That being the case, can I
expect it to be fixed in the near term??
If not, do you have any suggestions for a workaround? The reason we can't use
-fshort-enums is it's a large complex system with interfaces into other systems.
.. using -fshort-enums invariably leads to incosistencies and segfaults :(
Thanks again,
-John
--
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |WAITING
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14124
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/14124] enum definition with __attribute__((packed)) gives syntax errors
2004-02-12 6:13 [Bug c++/14124] New: enum definition with __attribute__((packed)) gives syntax errors jcooper at korgrd dot com
2004-02-12 9:04 ` [Bug c++/14124] " pinskia at gcc dot gnu dot org
2004-02-12 15:40 ` jcooper at korgrd dot com
@ 2004-02-12 16:05 ` giovannibajo at libero dot it
2004-10-26 21:56 ` pinskia at gcc dot gnu dot org
` (2 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: giovannibajo at libero dot it @ 2004-02-12 16:05 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From giovannibajo at libero dot it 2004-02-12 16:05 -------
I'm afraid it will take a while for this feature to be added. It is in fact an
enhancement request. Also, even if a patch was made today, it would not be
eligible for 3.4.x anymore, so it would go into 3.5.x, which won't see the
light until 2005.
Of course, if you can use a custom compiler version, you could backport such a
patch to a local 3.4-based compiler. If you really need it done fast, I'm sure
you can find a contractor that can develop it quite fast. I suggest you to ask
on the gcc mailing list about it.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |NEW
Last reconfirmed|2004-02-12 09:04:40 |2004-02-12 16:05:09
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14124
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/14124] enum definition with __attribute__((packed)) gives syntax errors
2004-02-12 6:13 [Bug c++/14124] New: enum definition with __attribute__((packed)) gives syntax errors jcooper at korgrd dot com
` (2 preceding siblings ...)
2004-02-12 16:05 ` giovannibajo at libero dot it
@ 2004-10-26 21:56 ` pinskia at gcc dot gnu dot org
2004-10-28 4:42 ` pinskia at gcc dot gnu dot org
2004-10-29 2:11 ` pinskia at gcc dot gnu dot org
5 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-10-26 21:56 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-10-26 21:56 -------
*** Bug 18165 has been marked as a duplicate of this bug. ***
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |austern at apple dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14124
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/14124] enum definition with __attribute__((packed)) gives syntax errors
2004-02-12 6:13 [Bug c++/14124] New: enum definition with __attribute__((packed)) gives syntax errors jcooper at korgrd dot com
` (3 preceding siblings ...)
2004-10-26 21:56 ` pinskia at gcc dot gnu dot org
@ 2004-10-28 4:42 ` pinskia at gcc dot gnu dot org
2004-10-29 2:11 ` pinskia at gcc dot gnu dot org
5 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-10-28 4:42 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-10-28 04:42 -------
Patch here: <http://gcc.gnu.org/ml/gcc-patches/2004-10/msg02462.html>.
--
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |patch
Known to fail|2.95.3 2.97 3.0 3.0.1 3.0.2 |2.95.3 2.97 3.0 3.0.1 3.0.2
|3.0.3 3.0.4 3.1 3.1.1 3.1.2 |3.0.3 3.0.4 3.1 3.1.1 3.1.2
|3.2 3.2.1 3.2.2 3.2.3 3.3 |3.2 3.2.1 3.2.2 3.2.3 3.3
|3.3.1 3.3.2 3.3.3 3.4.0 4.0 |3.3.1 3.3.2 3.3.3 3.4.0
| |4.0.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14124
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/14124] enum definition with __attribute__((packed)) gives syntax errors
2004-02-12 6:13 [Bug c++/14124] New: enum definition with __attribute__((packed)) gives syntax errors jcooper at korgrd dot com
` (4 preceding siblings ...)
2004-10-28 4:42 ` pinskia at gcc dot gnu dot org
@ 2004-10-29 2:11 ` pinskia at gcc dot gnu dot org
5 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-10-29 2:11 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-10-29 02:11 -------
Fixed in 4.0.0.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
Target Milestone|--- |4.0.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14124
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/14124] enum definition with __attribute__((packed)) gives syntax errors
[not found] <bug-14124-7907@http.gcc.gnu.org/bugzilla/>
@ 2009-07-22 10:57 ` alex dot gcc dot gnu dot org at firetree dot net
0 siblings, 0 replies; 8+ messages in thread
From: alex dot gcc dot gnu dot org at firetree dot net @ 2009-07-22 10:57 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from alex dot gcc dot gnu dot org at firetree dot net 2009-07-22 10:57 -------
There are still problems with packed enums. John Cooper's example program
compiles on g++ 4.3.2, but testEnum2 is still not packed. More details in Bug
#39219.
--
alex dot gcc dot gnu dot org at firetree dot net changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to fail|2.95.3 2.97 3.0 3.0.1 3.0.2 |2.95.3 2.97 3.0 3.0.1 3.0.2
|3.0.3 3.0.4 3.1 3.1.1 3.1.2 |3.0.3 3.0.4 3.1 3.1.1 3.1.2
|3.2 3.2.1 3.2.2 3.2.3 3.3 |3.2 3.2.1 3.2.2 3.2.3 3.3
|3.3.1 3.3.2 3.3.3 3.4.0 |3.3.1 3.3.2 3.3.3 3.4.0
|4.0.0 |4.0.0 4.0.1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14124
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2009-07-22 10:57 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-02-12 6:13 [Bug c++/14124] New: enum definition with __attribute__((packed)) gives syntax errors jcooper at korgrd dot com
2004-02-12 9:04 ` [Bug c++/14124] " pinskia at gcc dot gnu dot org
2004-02-12 15:40 ` jcooper at korgrd dot com
2004-02-12 16:05 ` giovannibajo at libero dot it
2004-10-26 21:56 ` pinskia at gcc dot gnu dot org
2004-10-28 4:42 ` pinskia at gcc dot gnu dot org
2004-10-29 2:11 ` pinskia at gcc dot gnu dot org
[not found] <bug-14124-7907@http.gcc.gnu.org/bugzilla/>
2009-07-22 10:57 ` alex dot gcc dot gnu dot org at firetree dot net
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).