Re: target.h uses insn-codes.h

2013-06-14 Thread Richard Biener
On Fri, Jun 14, 2013 at 4:31 AM, Mike Stump mikest...@comcast.net wrote:
 When doing a -j16 build of top of the trunk from a little while ago, with our 
 wide-int patches in it, I hit:

 g++ -c   -g -DIN_GCC   -fno-exceptions -fno-rtti -fasynchronous-unwind-tables 
 -W -Wall -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic 
 -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common  
 -DHAVE_CONFIG_H -I. -Ilto -I../../gcc/gcc -I../../gcc/gcc/lto 
 -I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include  
 -I../../gcc/gcc/../libdecnumber -I../../gcc/gcc/../libdecnumber/bid 
 -I../libdecnumber -I../../gcc/gcc/../libbacktrace
 ../../gcc/gcc/lto/lto-partition.c -o lto/lto-partition.o
 In file included from ../../gcc/gcc/lto-streamer.h:30:0,
  from ../../gcc/gcc/lto/lto-object.c:27:
 ../../gcc/gcc/target.h:52:24: fatal error: insn-codes.h: No such file or 
 directory
 compilation terminated.
 make[3]: *** [lto/lto-object.o] Error 1
 make[3]: *** Waiting for unfinished jobs
 In file included from ../../gcc/gcc/lto-streamer.h:30:0,
  from ../../gcc/gcc/lto/lto-partition.c:27:
 ../../gcc/gcc/target.h:52:24: fatal error: insn-codes.h: No such file or 
 directory
 compilation terminated.
 make[3]: *** [lto/lto-partition.o] Error 1

 to my untrained eye, it seems we are missing:

 diff --git a/gcc/Makefile.in b/gcc/Makefile.in
 index a098040..a9f4dee 100644
 --- a/gcc/Makefile.in
 +++ b/gcc/Makefile.in
 @@ -841,7 +841,7 @@ EXCEPT_H = except.h $(HASHTAB_H)
  TARGET_DEF = target.def target-hooks-macros.h
  C_TARGET_DEF = c-family/c-target.def target-hooks-macros.h
  COMMON_TARGET_DEF = common/common-target.def target-hooks-macros.h
 -TARGET_H = $(TM_H) target.h $(TARGET_DEF) insn-modes.h
 +TARGET_H = $(TM_H) target.h $(TARGET_DEF) insn-modes.h insn-codes.h
  C_TARGET_H = c-family/c-target.h $(C_TARGET_DEF)
  COMMON_TARGET_H = common/common-target.h $(INPUT_H) $(COMMON_TARGET_DEF)
  MACHMODE_H = machmode.h mode-classes.def insn-modes.h

 I think insn-codes.h falls in to the same or easier class (no stamp file for 
 it) than insn-modes.h, so, I think this is ok; but would be nice to have 
 someone review it.

 I checked trunk, and I don't see any thing that would ensure insn-codes.h is 
 done before target.h is used.

 Ok?

Ok.

Thanks,
Richard.


target.h uses insn-codes.h

2013-06-13 Thread Mike Stump
When doing a -j16 build of top of the trunk from a little while ago, with our 
wide-int patches in it, I hit:

g++ -c   -g -DIN_GCC   -fno-exceptions -fno-rtti -fasynchronous-unwind-tables 
-W -Wall -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic 
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common  
-DHAVE_CONFIG_H -I. -Ilto -I../../gcc/gcc -I../../gcc/gcc/lto 
-I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include  
-I../../gcc/gcc/../libdecnumber -I../../gcc/gcc/../libdecnumber/bid 
-I../libdecnumber -I../../gcc/gcc/../libbacktrace
../../gcc/gcc/lto/lto-partition.c -o lto/lto-partition.o
In file included from ../../gcc/gcc/lto-streamer.h:30:0,
 from ../../gcc/gcc/lto/lto-object.c:27:
../../gcc/gcc/target.h:52:24: fatal error: insn-codes.h: No such file or 
directory
compilation terminated.
make[3]: *** [lto/lto-object.o] Error 1
make[3]: *** Waiting for unfinished jobs
In file included from ../../gcc/gcc/lto-streamer.h:30:0,
 from ../../gcc/gcc/lto/lto-partition.c:27:
../../gcc/gcc/target.h:52:24: fatal error: insn-codes.h: No such file or 
directory
compilation terminated.
make[3]: *** [lto/lto-partition.o] Error 1

to my untrained eye, it seems we are missing:

diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index a098040..a9f4dee 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -841,7 +841,7 @@ EXCEPT_H = except.h $(HASHTAB_H)
 TARGET_DEF = target.def target-hooks-macros.h
 C_TARGET_DEF = c-family/c-target.def target-hooks-macros.h
 COMMON_TARGET_DEF = common/common-target.def target-hooks-macros.h
-TARGET_H = $(TM_H) target.h $(TARGET_DEF) insn-modes.h
+TARGET_H = $(TM_H) target.h $(TARGET_DEF) insn-modes.h insn-codes.h
 C_TARGET_H = c-family/c-target.h $(C_TARGET_DEF)
 COMMON_TARGET_H = common/common-target.h $(INPUT_H) $(COMMON_TARGET_DEF)
 MACHMODE_H = machmode.h mode-classes.def insn-modes.h

I think insn-codes.h falls in to the same or easier class (no stamp file for 
it) than insn-modes.h, so, I think this is ok; but would be nice to have 
someone review it.

I checked trunk, and I don't see any thing that would ensure insn-codes.h is 
done before target.h is used.

Ok?