On Tue, Apr 17 2018, Pascal Stumpf <pas...@stumpf.co> wrote:
> On Mon, 16 Apr 2018 23:14:53 +0200, Jeremie Courreges-Anglas wrote:
>> On Mon, Apr 16 2018, <s_g...@telus.net> wrote:
>> > I tried to continue the build of php with the ports snapshot of today and 
>> > ran into another gcc problem:
>> 
>> [...]
>> 
>> > /usr/ports/pobj/gcc-4.9.4/gcc-4.9.4/gcc/config/arm/arm.md:97:16: warning: 
>> > equality comparison with
>> >       extraneous parentheses [-Wparentheses-equality]
>> > (thumb1_code)) == (
>> > ~~~~~~~~~~~~~~~^~~~
>> > /usr/ports/pobj/gcc-4.9.4/gcc-4.9.4/gcc/config/arm/arm.md:97:16: note: 
>> > remove extraneous parentheses
>> >       around the comparison to silence this warning
>> > (thumb1_code)) == (
>> >                ^
>> > /usr/ports/pobj/gcc-4.9.4/gcc-4.9.4/gcc/config/arm/arm.md:97:16: note: use 
>> > '=' to turn this equality
>> >       comparison into an assignment
>> > (thumb1_code)) == (
>> >                ^~
>> >                =
>> > /usr/ports/pobj/gcc-4.9.4/gcc-4.9.4/gcc/config/arm/neon.md:3486:10917: 
>> > fatal error: bracket nesting
>> >       level exceeded maximum of 256
>> > /usr/ports/pobj/gcc-4.9.4/gcc-4.9.4/gcc/config/arm/neon.md:3486:10917: 
>> > note: use -fbracket-depth=N to
>> >       increase maximum nesting level
>> > 33 warnings and 1 error generated.
>> > gmake[3]: *** [Makefile:1058: insn-attrtab.o] Error 1
>> 
>> Well this seems to be handled by the diff in my previous mail, attached
>> again for convenience.  gcc (FLAVOR='no_java no_ada') packages, install,
>> and seems to run.  dpb ongoing.
>> 
>> Technically a clang-specific fix but it already happened with clang-5.0.
>
> This may be a better approach; after all, we need the flag for only one
> file.

OTOH if a single file is affected, -fbracket-depth=n shouldn't have
side-effects on other files...

> Currently testing on armv7, will have results by tomorrow.
>
> The real fix would be to test for the flag in configure, of course.

Yeah, or maybe clang should cope better with such files.  Anyway, even
if we can probably remove gcc-4.9 from the dependency chain of a few
more ports on arm, it would be nice to have gcc-4.9 fixed. :)

If your patch is sufficient. If not, please consider using Markus'
patch.  ok jca@

> Index: patches/patch-gcc_Makefile_in
> ===================================================================
> RCS file: /cvs/ports/lang/gcc/4.9/patches/patch-gcc_Makefile_in,v
> retrieving revision 1.1
> diff -u -p -r1.1 patch-gcc_Makefile_in
> --- patches/patch-gcc_Makefile_in     10 Feb 2015 22:04:54 -0000      1.1
> +++ patches/patch-gcc_Makefile_in     17 Apr 2018 14:57:22 -0000
> @@ -2,9 +2,23 @@ $OpenBSD: patch-gcc_Makefile_in,v 1.1 20
>  
>  Disable fixincludes madness
>  
> ---- gcc/Makefile.in.orig     Tue Feb  3 17:16:24 2015
> -+++ gcc/Makefile.in  Tue Feb  3 17:17:57 2015
> -@@ -2730,7 +2730,7 @@ stmp-fixinc: gsyslimits.h macro_list fixinc_list \
> +Index: gcc/Makefile.in
> +--- gcc/Makefile.in.orig
> ++++ gcc/Makefile.in
> +@@ -1944,6 +1944,12 @@ DRIVER_DEFINES = \
> + 
> + CFLAGS-gcc.o += $(DRIVER_DEFINES)
> + 
> ++ISCLANG = $(shell $CC --version | grep -c clang)
> ++
> ++ifeq ($(ISCLANG),1)
> ++CFLAGS-insn-attrtab.o += -fbracket-depth=512
> ++endif
> ++
> + specs.h : s-specs ; @true
> + s-specs : Makefile
> +     lsf="$(lang_specs_files)"; for f in $$lsf; do \
> +@@ -2730,7 +2736,7 @@ stmp-fixinc: gsyslimits.h macro_list fixinc_list \
>             gcc_dir=`${PWD_COMMAND}` ; \
>             export TARGET_MACHINE srcdir SHELL MACRO_LIST && \
>             cd $(build_objdir)/fixincludes && \
>

-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply via email to