Bug 49415 - [4.7 Regression] Revision 175071 fails to bootstrap on x86_64-apple-darwin10
Summary: [4.7 Regression] Revision 175071 fails to bootstrap on x86_64-apple-darwin10
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: bootstrap (show other bugs)
Version: 4.7.0
: P3 normal
Target Milestone: 4.7.0
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks: enable-werror-always
  Show dependency treegraph
 
Reported: 2011-06-15 05:20 UTC by Dominique d'Humieres
Modified: 2011-06-29 20:54 UTC (History)
3 users (show)

See Also:
Host: x86_64-apple-darwin10
Target: x86_64-apple-darwin10, i686-apple-darwin10, i686-apple-darwin9, i686-apple-darwin
Build: x86_64-apple-darwin10, x86_64-unknown-linux-gnu
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dominique d'Humieres 2011-06-15 05:20:48 UTC
Revision 175071 fails to bootstrap on x86_64-apple-darwin10 with

...
/opt/gcc/build_w/./prev-gcc/xgcc -B/opt/gcc/build_w/./prev-gcc/ -B/opt/gcc/gcc4.7w/x86_64-apple-darwin10.7.0/bin/ -B/opt/gcc/gcc4.7w/x86_64-apple-darwin10.7.0/bin/ -B/opt/gcc/gcc4.7w/x86_64-apple-darwin10.7.0/lib/ -isystem /opt/gcc/gcc4.7w/x86_64-apple-darwin10.7.0/include -isystem /opt/gcc/gcc4.7w/x86_64-apple-darwin10.7.0/sys-include    -c   -g -O2 -mdynamic-no-pic -gtoggle -DIN_GCC   -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -Wold-style-definition -Wc++-compat -fno-common  -DHAVE_CONFIG_H -I. -I. -I../../work/gcc -I../../work/gcc/. -I../../work/gcc/../include -I../../work/gcc/../libcpp/include -I/opt/sw64/include  -I../../work/gcc/../libdecnumber -I../../work/gcc/../libdecnumber/dpd -I../libdecnumber  -I/opt/sw64/include -DCLOOG_INT_GMP -DCLOOG_ORG -I/opt/sw64/include \
	  ../../work/gcc/common/config/i386/i386-common.c -o i386-common.o
In file included from ./tm_p.h:5:0,
                 from ../../work/gcc/common/config/i386/i386-common.c:27:
../../work/gcc/config/darwin-protos.h:57:51: error: ISO C forbids forward references to 'enum' types [-Werror=edantic]
../../work/gcc/config/darwin-protos.h:58:11: error: 'enum machine_mode' declared inside parameter list [-Werror]
../../work/gcc/config/darwin-protos.h:58:11: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
cc1: all warnings being treated as errors

This is likely due to revision 175064.
Comment 1 jsm-csl@polyomino.org.uk 2011-06-15 10:31:50 UTC
On Wed, 15 Jun 2011, dominiq at lps dot ens.fr wrote:

> ../../work/gcc/config/darwin-protos.h:57:51: error: ISO C forbids forward
> references to 'enum' types [-Werror=edantic]
> ../../work/gcc/config/darwin-protos.h:58:11: error: 'enum machine_mode'
> declared inside parameter list [-Werror]
> ../../work/gcc/config/darwin-protos.h:58:11: error: its scope is only this
> definition or declaration, which is probably not what you want [-Werror]

Please try wrapping the problem prototype in #ifdef RTX_CODE, like some 
other prototypes in that header.  (Including machmode.h in i386-common.c 
might cause other problems, and certainly would be against modularity.  
Ideally tm.h and tm_p.h would be split into common parts and parts used 
only in the compiler proper, but that's a long way off.)
Comment 2 Dominique d'Humieres 2011-06-15 12:33:06 UTC
> Please try wrapping the problem prototype in #ifdef RTX_CODE, like some 
> other prototypes in that header. 

--- /opt/gcc/_clean/gcc/config/darwin-protos.h	2011-04-06 13:56:07.000000000 +0200
+++ /opt/gcc/work/gcc/config/darwin-protos.h	2011-06-15 13:34:23.000000000 +0200
@@ -54,8 +54,11 @@ extern void machopic_finish (FILE *);
 
 extern int machopic_reloc_rw_mask (void);
 extern section *machopic_select_section (tree, int, unsigned HOST_WIDE_INT);
+
+#ifdef RTX_CODE
 extern section *machopic_select_rtx_section (enum machine_mode, rtx,
 					     unsigned HOST_WIDE_INT);
+#endif /* RTX_CODE */
 
 extern section *darwin_function_section (tree, enum node_frequency, bool, bool); 
 extern void darwin_function_switched_text_sections (FILE *, tree, bool);

I am now at stage3 (1.5 hour more to go for full bootstrap).
Comment 3 Dominique d'Humieres 2011-06-15 13:47:43 UTC
I have bootstrapped revision 175077 with the patch in comment #2.
Comment 4 Dominique d'Humieres 2011-06-29 20:54:45 UTC
This pr has been fixed by revision 175110. Closing.