This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/18193] New: GCC source code does not conform to 3.3.2.2 of C89 C-standard
- From: "rpedersen at atmel dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 28 Oct 2004 10:37:29 -0000
- Subject: [Bug target/18193] New: GCC source code does not conform to 3.3.2.2 of C89 C-standard
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
In the file gcc/recog.h the struct "insn_data" has a member "genfun" which is
of type "insn_gen_fn". This type is defined as
"typedef rtx (*insn_gen_fn) (rtx, ...);" which is a pointer to a function which
has an ellipsis as its second argument. The actual implementations of the
functions are however not implemented with this ellipsis, and does not use
the va_arg stuff in <stdarg.h> in order to get the anonymous argumenst. I think
some of these functions are generated from the *.md file by the genemit program.
For hosts which does have an ABI in where anonymous arguments are passed in a
different manner than named arguments (Which is legal c-code according to C89)
the compilation of gcc can produce a non-working gcc executable.
--
Summary: GCC source code does not conform to 3.3.2.2 of C89 C-
standard
Product: gcc
Version: 3.4.2
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rpedersen at atmel dot com
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18193