This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Help needed: banishing RTL from the front ends


On Thu, May 27, 2010 at 9:49 AM, Paolo Bonzini <bonzini@gnu.org> wrote:
> On 05/27/2010 08:25 AM, Steven Bosscher wrote:
>>
>> On Thu, May 27, 2010 at 7:15 AM, Paolo Bonzini<bonzini@gnu.org> ?wrote:
>> Well, gives me at least one clue so far: the implicit rule .c.o is
>> over-ruled by t-i386, which explains why the extra CFLAGS-$file are
>> not passed to config/i386/i386-c.c. ?I'm now restarting the build with
>> extra front ends included again, to see if there is something equally
>> obvious "wrong" there.
>
> Hmm, I originally suggested adding the flags to ALL_CFLAGS:
>
> ? $(ALL_HOST_FRONTEND_OBJS): ALL_CFLAGS += -DIN_GCC_FRONTEND
>
> but then changed my mind and switched to adding them to .c.o.
>
> I suppose you have to add $(CFLAGS-$@) to ALL_CFLAGS. :-)
>
>> # This lists all host objects for the front ends.
>> ALL_HOST_FRONTEND_OBJS = $(C_OBJS) \
>> ?$(foreach v,$(CONFIG_LANGUAGES),$($(v)_OBJS))
>>
>> Any idea what might be wrong? :-(
>
> Yes, likely the makefile fragments haven't been included when you do the
> $(eval).

That helps, yes. Thanks!

I'm now bootstrapping the attached patch. Will submit officially if
that succeeds.

Ciao!
Steven


gcc/ChangeLog:
        * Makefile.in (ALL_CFLAGS): Add file-specific CFLAGS.
        (ALL_HOST_FRONTEND_OBJS): New, for all front-end specific objects.
        (ALL_HOST_BACKEND_OBJS): New, for all backend and target objects.
        (ALL_HOST_OBJS): Now a union of the above two.
        <section "Language makefile fragments">: Add -DIN_GCC_FRONTEND for
        all files in ALL_HOST_FRONTEND_OBJS.
        * system.h: Poison GCC_RTL_H if IN_GCC_FRONTEND is defined.
        * c-common.c: Pretend to be a backend file by undefining
        IN_GCC_FRONTEND (still need rtl.h here).

ada/ChangeLog:
        * gcc-interface/decl.c: Pretend to be a backend file by undefining
        IN_GCC_FRONTEND (still need rtl.h here).

java/ChangeLog:
        * buildings.c: Pretend to be a backend file by undefining
        IN_GCC_FRONTEND (still need rtl.h here).

Attachment: enforce_no_rtl.diff.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]