> > 
> > Since the missing macros seem to have moved from rtl.h to basic-block.h, 
> > I'd 
> > like to know at which place one would need gcc make include the additional 
> > header. IIUC, instruction-emit.c is the machine-generated source file that 
> > is 
> > generated by the machine-description parsers.
> > 
> > Simply adding basic-block.h to the include list of the generated 
> > emit-insn.c 
> > does not solve the problem but causes follow-up failures.
> > 
> > I'd appreciate help.
> 
> I am looking into that now.  I would preffer the way of adding
> basic-block.h and friends into includes of insn-emit.c as in general I
> would like to make expanders/splitters/output templates aware of the
> profile (and thus BB they are in) so we can switch in between -O2/-Os on
> local basis.
> I must admit I am not 100% sure how to reach this elegantly as all the
> ingerfaces are bit interwinded (even for the splitters we split in
> final.c where we no longer have CFG available for all targets)

The attached patch seems to fix the problem to me (at least to the point
so I can build cc1 binarry).  What kind of other problems you are
seeing?

Index: Makefile.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Makefile.in,v
retrieving revision 1.1488
diff -c -3 -p -r1.1488 Makefile.in
*** Makefile.in 18 May 2005 20:45:02 -0000      1.1488
--- Makefile.in 20 May 2005 18:11:58 -0000
*************** s-constants : $(MD_DEPS) build/genconsta
*** 2452,2458 ****
  
  insn-emit.o : insn-emit.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
    $(RTL_H) $(EXPR_H) real.h output.h insn-config.h $(OPTABS_H) reload.h \
!   $(RECOG_H) toplev.h function.h $(FLAGS_H) hard-reg-set.h $(RESOURCE_H) 
$(TM_P_H)
        $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-emit.c \
          $(OUTPUT_OPTION)
  
--- 2452,2459 ----
  
  insn-emit.o : insn-emit.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
    $(RTL_H) $(EXPR_H) real.h output.h insn-config.h $(OPTABS_H) reload.h \
!   $(RECOG_H) toplev.h function.h $(FLAGS_H) hard-reg-set.h $(RESOURCE_H) \
!   $(TM_P_H) $(BASIC_BLOCK_H)
        $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-emit.c \
          $(OUTPUT_OPTION)
  
Index: genemit.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/genemit.c,v
retrieving revision 1.98
diff -c -3 -p -r1.98 genemit.c
*** genemit.c   5 Mar 2005 14:01:00 -0000       1.98
--- genemit.c   20 May 2005 18:11:58 -0000
*************** from the machine description file `md'. 
*** 845,850 ****
--- 845,851 ----
    printf ("#include \"reload.h\"\n");
    printf ("#include \"toplev.h\"\n");
    printf ("#include \"ggc.h\"\n\n");
+   printf ("#include \"basic-block.h\"\n\n");
    printf ("#define FAIL return (end_sequence (), _val)\n");
    printf ("#define DONE return (_val = get_insns (), end_sequence (), 
_val)\n\n");
  

Reply via email to