On Thu, Apr 23, 2015 at 11:58 AM, Kyrill Tkachov <kyrylo.tkac...@arm.com> wrote: > > On 23/04/15 10:08, Richard Earnshaw wrote: >> >> On 23/04/15 09:41, Kyrill Tkachov wrote: >>> >>> On 23/04/15 09:35, Richard Biener wrote: >>>> >>>> On Thu, Apr 23, 2015 at 6:54 AM, Trevor Saunders <tbsau...@tbsaunde.org> >>>> wrote: >>>>> >>>>> On Thu, Apr 23, 2015 at 04:27:59AM +0100, James Greenhalgh wrote: >>>>>> >>>>>> On Tue, Apr 21, 2015 at 04:24:44PM +0100, Trevor Saunders wrote: >>>>>>> >>>>>>> On Tue, Apr 21, 2015 at 04:14:01PM +0200, Richard Biener wrote: >>>>>>>> >>>>>>>> On Tue, Apr 21, 2015 at 3:24 PM, <tbsaunde+...@tbsaunde.org> wrote: >>>>>>>>> >>>>>>>>> From: Trevor Saunders <tbsaunde+...@tbsaunde.org> >>>>>>>>> >>>>>>>>> gcc/ChangeLog: >>>>>>>>> >>>>>>>>> 2015-04-21 Trevor Saunders <tbsaunde+...@tbsaunde.org> >>>>>>>>> >>>>>>>>> * conditions.h: Define macros even if HAVE_cc0 is >>>>>>>>> undefined. >>>>>>>>> * emit-rtl.c: Define functions even if HAVE_cc0 is >>>>>>>>> undefined. >>>>>>>>> * final.c: Likewise. >>>>>>>>> * jump.c: Likewise. >>>>>>>>> * recog.c: Likewise. >>>>>>>>> * recog.h: Declare functions even when HAVE_cc0 is >>>>>>>>> undefined. >>>>>>>>> * sched-deps.c (sched_analyze_2): Always compile case for >>>>>>>>> cc0. >>>>>> >>>>>> If I've counted right after the git bisect, this patch seems to break >>>>>> the ARM buildi (arm-none-linux-gnueabihf): >>>>>> >>>>>> In file included from insn-output.c:40:0: >>>>>> ..../gcc-src/gcc/conditions.h:112:0: error: "CC_STATUS_INIT" >>>>>> redefined [-Werror] >>>>>> #define CC_STATUS_INIT \ >>> >>> This is a warning-to-error from -Werror, so this came out during >>> bootstrap >>> rather than a cross-build, right? >>> >>> >>>>>> ^ >>>>>> In file included from tm.h:35:0, >>>>>> from insn-output.c:7: >>>>>> ..../gcc-src/gcc/config/arm/arm.h:2159:0: note: this is the >>>>>> location of the previous definition >>>>>> #define CC_STATUS_INIT \ >>>>>> ^ >>>>>> >>>>>> I guess the conditions.h definition wants wrapping in #ifndef - though >>>>>> a >>>>>> quick grep suggests that ARM is the only target defining >>>>>> CC_STATUS_INIT >>>>>> so lets CC the ARM maintainers and see what their preference is... >>>>> >>>>> Well, that seems pretty weird, but it looks intentional arm does this >>>>> see http://gcc.gnu.org/ml/gcc-patches/2010-07/msg00437.html >>>>> >>>>> Of course I now see final.c also defines a fall back, so maybe the >>>>> right >>>>> thing to do is wrap the conditions.h definition in #if HAVE_cc0, or >>>>> maybe the final.c definition can go away? Right now I'm to tired to >>>>> make >>>>> a good decision about that. >>>>> >>>>> sorry about the bustage! >>>> >>>> Looks like the best thing is to turn this into a target hook then? Or >>>> move the >>>> fallback/default to defaults.h >>> >>> Shall we revert this patch for now then to restore bootstrap? >>> >> Isn't the most constructive temporary fix to just wrap the definition in >> conditions.h with #ifndef CC_STATUS_INIT? > > > Like this? > Ok for trunk as a temporary fix?
Ok. Richard. > Thanks, > Kyrill > > 2015-04-23 Kyrylo Tkachov <kyrylo.tkac...@arm.com> > > * conditions.h (CC_STATUS_INIT): Gate on #ifndef CC_STATUS_INIT. > >> R. >> >>> Kyrill >>> >>>> Richard. >>>> >>>>> Trev >>>>> >>>>> >>>>>> Thanks, >>>>>> James > >