www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - The build is broken when using gcc 6

reply deadalnix <deadalnix gmail.com> writes:
$ make -f posix.mak
make -C src -f posix.mak
make[1]: Entering directory '/home/deadalnix/d/dmd/src'
no cpu specified, assuming X86
   (CC)  BACK_OBJS  backend/cg87.c
c++ -c -Wno-deprecated -Wstrict-aliasing -fno-exceptions 
-fno-rtti -D__pascal= -DMARS=1 -DTARGET_LINUX=1 
-DDM_TARGET_CPU_X86=1 -m64 -Iroot -Itk -Ibackend -I. -DDMDV2=1 
-MMD -MF cg87.deps backend/cg87.c
backend/cg87.c: In function ‘unsigned char loadconst(elem*, int)’:
backend/cg87.c:716:46: error: narrowing conversion of ‘238’ from 
‘int’ to ‘char’ inside { } [-Wnarrowing]
          {0xEE,0xE8,0xEB,0xE9,0xEA,0xEC,0xED,0};
                                               ^
backend/cg87.c:716:46: error: narrowing conversion of ‘232’ from 
‘int’ to ‘char’ inside { } [-Wnarrowing]
backend/cg87.c:716:46: error: narrowing conversion of ‘235’ from 
‘int’ to ‘char’ inside { } [-Wnarrowing]
backend/cg87.c:716:46: error: narrowing conversion of ‘233’ from 
‘int’ to ‘char’ inside { } [-Wnarrowing]
backend/cg87.c:716:46: error: narrowing conversion of ‘234’ from 
‘int’ to ‘char’ inside { } [-Wnarrowing]
backend/cg87.c:716:46: error: narrowing conversion of ‘236’ from 
‘int’ to ‘char’ inside { } [-Wnarrowing]
backend/cg87.c:716:46: error: narrowing conversion of ‘237’ from 
‘int’ to ‘char’ inside { } [-Wnarrowing]
posix.mak:445: recipe for target 'cg87.o' failed
make[1]: *** [cg87.o] Error 1
make[1]: Leaving directory '/home/deadalnix/d/dmd/src'
posix.mak:8: recipe for target 'all' failed
make: *** [all] Error 2

$ c++ -v
Using built-in specs.
COLLECT_GCC=c++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 
6.2.0-6' --with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs 
--enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ 
--prefix=/usr --program-suffix=-6 
--program-prefix=x86_64-linux-gnu- --enable-shared 
--enable-linker-build-id --libexecdir=/usr/lib 
--without-included-gettext --enable-threads=posix 
--libdir=/usr/lib --enable-nls --with-sysroot=/ 
--enable-clocale=gnu --enable-libstdcxx-debug 
--enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new 
--enable-gnu-unique-object --disable-vtable-verify 
--enable-libmpx --enable-plugin --with-system-zlib 
--disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo 
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-6-amd64/jre 
--enable-java-home 
--with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-6-amd64 
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-6-amd64 
--with-arch-directory=amd64 
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc 
--enable-multiarch --with-arch-32=i686 --with-abi=m64 
--with-multilib-list=m32,m64,mx32 --enable-multilib 
--with-tune=generic --enable-checking=release 
--build=x86_64-linux-gnu --host=x86_64-linux-gnu 
--target=x86_64-linux-gnu
Thread model: posix
gcc version 6.2.0 20161010 (Debian 6.2.0-6)

You'll ask me, why isn't this going in a bug report ? Well => 
https://forum.dlang.org/post/zttkvpmlvkujsjdrakkl forum.dlang.org
Oct 26 2016
parent reply Stefam Koch <uplink.coder googlemail.com> writes:
On Thursday, 27 October 2016 at 02:26:36 UTC, deadalnix wrote:
 $ make -f posix.mak
 make -C src -f posix.mak
 make[1]: Entering directory '/home/deadalnix/d/dmd/src'
 no cpu specified, assuming X86
   (CC)  BACK_OBJS  backend/cg87.c
 c++ -c -Wno-deprecated -Wstrict-aliasing -fno-exceptions 
 -fno-rtti -D__pascal= -DMARS=1 -DTARGET_LINUX=1 
 -DDM_TARGET_CPU_X86=1 -m64 -Iroot -Itk -Ibackend -I. -DDMDV2=1 
 -MMD -MF cg87.deps backend/cg87.c
 backend/cg87.c: In function ‘unsigned char loadconst(elem*, 
 int)’:
 backend/cg87.c:716:46: error: narrowing conversion of ‘238’ 
 from ‘int’ to ‘char’ inside { } [-Wnarrowing]
          {0xEE,0xE8,0xEB,0xE9,0xEA,0xEC,0xED,0};
                                               ^
 backend/cg87.c:716:46: error: narrowing conversion of ‘232’ 
 from ‘int’ to ‘char’ inside { } [-Wnarrowing]
 backend/cg87.c:716:46: error: narrowing conversion of ‘235’ 
 from ‘int’ to ‘char’ inside { } [-Wnarrowing]
 backend/cg87.c:716:46: error: narrowing conversion of ‘233’ 
 from ‘int’ to ‘char’ inside { } [-Wnarrowing]
 backend/cg87.c:716:46: error: narrowing conversion of ‘234’ 
 from ‘int’ to ‘char’ inside { } [-Wnarrowing]
 backend/cg87.c:716:46: error: narrowing conversion of ‘236’ 
 from ‘int’ to ‘char’ inside { } [-Wnarrowing]
 backend/cg87.c:716:46: error: narrowing conversion of ‘237’ 
 from ‘int’ to ‘char’ inside { } [-Wnarrowing]
 posix.mak:445: recipe for target 'cg87.o' failed
 make[1]: *** [cg87.o] Error 1
 make[1]: Leaving directory '/home/deadalnix/d/dmd/src'
 posix.mak:8: recipe for target 'all' failed
 make: *** [all] Error 2

 $ c++ -v
 Using built-in specs.
 COLLECT_GCC=c++
 COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper
 Target: x86_64-linux-gnu
 Configured with: ../src/configure -v --with-pkgversion='Debian 
 6.2.0-6' --with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs 
 --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ 
 --prefix=/usr --program-suffix=-6 
 --program-prefix=x86_64-linux-gnu- --enable-shared 
 --enable-linker-build-id --libexecdir=/usr/lib 
 --without-included-gettext --enable-threads=posix 
 --libdir=/usr/lib --enable-nls --with-sysroot=/ 
 --enable-clocale=gnu --enable-libstdcxx-debug 
 --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new 
 --enable-gnu-unique-object --disable-vtable-verify 
 --enable-libmpx --enable-plugin --with-system-zlib 
 --disable-browser-plugin --enable-java-awt=gtk 
 --enable-gtk-cairo 
 --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-6-amd64/jre 
 --enable-java-home 
 --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-6-amd64 
 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-6-amd64 
 --with-arch-directory=amd64 
 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc 
 --enable-multiarch --with-arch-32=i686 --with-abi=m64 
 --with-multilib-list=m32,m64,mx32 --enable-multilib 
 --with-tune=generic --enable-checking=release 
 --build=x86_64-linux-gnu --host=x86_64-linux-gnu 
 --target=x86_64-linux-gnu
 Thread model: posix
 gcc version 6.2.0 20161010 (Debian 6.2.0-6)

 You'll ask me, why isn't this going in a bug report ? Well => 
 https://forum.dlang.org/post/zttkvpmlvkujsjdrakkl forum.dlang.org
Trivial. Fix is comeing.
Oct 26 2016
parent reply Stefan Koch <uplink.coder googlemail.com> writes:
On Thursday, 27 October 2016 at 02:36:13 UTC, Stefam Koch wrote:

 Trivial.
 Fix is comeing.
Okay it was less trivial then it should have been. Great job gcc.
Oct 26 2016
next sibling parent reply mogu <mogucpp 163.com> writes:
On Thursday, 27 October 2016 at 04:33:30 UTC, Stefan Koch wrote:
 On Thursday, 27 October 2016 at 02:36:13 UTC, Stefam Koch wrote:

 Trivial.
 Fix is comeing.
Okay it was less trivial then it should have been. Great job gcc.
-Wno-narrowing does not cover all g++ tasks.
Oct 26 2016
parent reply Stefan Koch <uplink.coder googlemail.com> writes:
On Thursday, 27 October 2016 at 04:39:03 UTC, mogu wrote:
 On Thursday, 27 October 2016 at 04:33:30 UTC, Stefan Koch wrote:
 On Thursday, 27 October 2016 at 02:36:13 UTC, Stefam Koch 
 wrote:

 Trivial.
 Fix is comeing.
Okay it was less trivial then it should have been. Great job gcc.
-Wno-narrowing does not cover all g++ tasks.
It does not need to, I fixed it properly.
Oct 26 2016
parent reply deadalnix <deadalnix gmail.com> writes:
On Thursday, 27 October 2016 at 04:41:38 UTC, Stefan Koch wrote:
 On Thursday, 27 October 2016 at 04:39:03 UTC, mogu wrote:
 On Thursday, 27 October 2016 at 04:33:30 UTC, Stefan Koch 
 wrote:
 On Thursday, 27 October 2016 at 02:36:13 UTC, Stefam Koch 
 wrote:

 Trivial.
 Fix is comeing.
Okay it was less trivial then it should have been. Great job gcc.
-Wno-narrowing does not cover all g++ tasks.
It does not need to, I fixed it properly.
I tested your patch and it looks like it works. You should make a PR.
Oct 26 2016
parent reply Stefan Koch <uplink.coder googlemail.com> writes:
On Thursday, 27 October 2016 at 05:15:26 UTC, deadalnix wrote:
 On Thursday, 27 October 2016 at 04:41:38 UTC, Stefan Koch wrote:
 On Thursday, 27 October 2016 at 04:39:03 UTC, mogu wrote:
 On Thursday, 27 October 2016 at 04:33:30 UTC, Stefan Koch 
 wrote:
 On Thursday, 27 October 2016 at 02:36:13 UTC, Stefam Koch 
 wrote:

 Trivial.
 Fix is comeing.
Okay it was less trivial then it should have been. Great job gcc.
-Wno-narrowing does not cover all g++ tasks.
It does not need to, I fixed it properly.
I tested your patch and it looks like it works. You should make a PR.
https://github.com/dlang/dmd/pull/6215 PR is open. Pending review and merge. Although if you ask me this is a no-brainer.
Oct 26 2016
parent reply deadalnix <deadalnix gmail.com> writes:
On Thursday, 27 October 2016 at 05:25:49 UTC, Stefan Koch wrote:
 On Thursday, 27 October 2016 at 05:15:26 UTC, deadalnix wrote:
 On Thursday, 27 October 2016 at 04:41:38 UTC, Stefan Koch 
 wrote:
 On Thursday, 27 October 2016 at 04:39:03 UTC, mogu wrote:
 On Thursday, 27 October 2016 at 04:33:30 UTC, Stefan Koch 
 wrote:
 On Thursday, 27 October 2016 at 02:36:13 UTC, Stefam Koch 
 wrote:

 Trivial.
 Fix is comeing.
Okay it was less trivial then it should have been. Great job gcc.
-Wno-narrowing does not cover all g++ tasks.
It does not need to, I fixed it properly.
I tested your patch and it looks like it works. You should make a PR.
https://github.com/dlang/dmd/pull/6215 PR is open. Pending review and merge. Although if you ask me this is a no-brainer.
It's now merged, thanks Stefan.
Oct 27 2016
parent Stefan Koch <uplink.coder googlemail.com> writes:
On Thursday, 27 October 2016 at 23:49:49 UTC, deadalnix wrote:
 On Thursday, 27 October 2016 at 05:25:49 UTC, Stefan Koch wrote:
 https://github.com/dlang/dmd/pull/6215
 PR is open.
 Pending review and merge.
 Although if you ask me this is a no-brainer.
It's now merged, thanks Stefan.
No problem, when I just saw you replied I feared you had found another issue :) Glad I could help.
Oct 27 2016
prev sibling parent "H. S. Teoh via Digitalmars-d" <digitalmars-d puremagic.com> writes:
On Thu, Oct 27, 2016 at 04:33:30AM +0000, Stefan Koch via Digitalmars-d wrote:
 On Thursday, 27 October 2016 at 02:36:13 UTC, Stefam Koch wrote:
 
 Trivial.
 Fix is comeing.
Okay it was less trivial then it should have been. Great job gcc.
I complained about this a few months ago and was basically told to suck it up and go away. Glad to see I wasn't the idiot I was told I was. Lately I found out about a more reliable way to detect gcc version: gcc -dumpversion This should be much easier to parse, and much more reliable to test, than trying to parse the output of `gcc --version` from inside a makefile. T -- If it tastes good, it's probably bad for you.
Oct 26 2016