[Bug lto/69133] [6 Regression] LTO segfault in lto_get_decl_name_mapping() on 483.xalancbmk with -flto-partition=none
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69133 Markus Trippelsdorf changed: What|Removed |Added Keywords|ice-on-valid-code |ice-on-invalid-code --- Comment #4 from Markus Trippelsdorf --- (In reply to Andrew Pinski from comment #3) > (In reply to Markus Trippelsdorf from comment #2) > > The code included here is undefined due to ODR violations. Yes, that is why I used "ice-on-invalid-code" keyword, that you wrongly changed.
[Bug target/65421] inefficient code returning float aggregates on powepc64le
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65421 --- Comment #3 from Martin Sebor --- See also bug 69143.
[Bug bootstrap/69134] building a mips-cross compiler with in-tree mpfr-2.4.2 fails
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69134 Paul Hua changed: What|Removed |Added CC||paul.hua.gm at gmail dot com --- Comment #1 from Paul Hua --- Try this patch for mpfr-2.4.2. --- mpfr-longlong.h.bak 2016-01-06 11:13:03.474846621 +0800 +++ mpfr-longlong.h 2016-01-06 11:44:38.839800251 +0800 @@ -1011,7 +1011,7 @@ #endif /* __m88000__ */ #if defined (__mips) && W_TYPE_SIZE == 32 -#if __GNUC__ > 2 || __GNUC_MINOR__ >= 7 +#if __GNUC__ < 4 #define umul_ppmm(w1, w0, u, v) \ __asm__ ("multu %2,%3" : "=l" (w0), "=h" (w1) : "d" (u), "d" (v)) #else @@ -1024,7 +1024,7 @@ #endif /* __mips */ #if (defined (__mips) && __mips >= 3) && W_TYPE_SIZE == 64 -#if __GNUC__ > 2 || __GNUC_MINOR__ >= 7 +#if __GNUC__ < 4 #define umul_ppmm(w1, w0, u, v) \ __asm__ ("dmultu %2,%3" : "=l" (w0), "=h" (w1) : "d" (u), "d" (v)) #else
[Bug target/69153] --with-advance-toolchain configure option does not correctly set configure variable target_header_dir
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69153 --- Comment #2 from Peter Bergner --- (In reply to Andrew Pinski from comment #1) > You are leaking a target specific configure option to the configure script. > This seems wrong. Can't you set target_header_dir in config.gcc instead? As the code is now, no, since config.gcc is included before the code that sets $target_header_dir and that code unconditionally sets it, but I suppose we could modify things such that the setting of $target_header_dir first tests whether it's set or not before setting it, giving us the ability to set it in config.gcc. How about the following change that does that? Index: gcc/configure.ac === --- gcc/configure.ac(revision 231201) +++ gcc/configure.ac(working copy) @@ -1401,6 +1401,7 @@ . ${srcdir}/config.host target_gtfiles= +target_header_dir= # Collect target-machine-specific information. . ${srcdir}/config.gcc @@ -1997,20 +1998,22 @@ SYSTEM_HEADER_DIR=$build_system_header_dir fi -if test x$host != x$target || test "x$TARGET_SYSTEM_ROOT" != x; then - if test "x$with_headers" != x; then -target_header_dir=$with_headers - elif test "x$with_sysroot" = x; then -target_header_dir="${test_exec_prefix}/${target_noncanonical}/sys-include" - elif test "x$with_build_sysroot" != "x"; then -target_header_dir="${with_build_sysroot}${native_system_header_dir}" - elif test "x$with_sysroot" = xyes; then - target_header_dir="${test_exec_prefix}/${target_noncanonical}/sys-root${native_system_header_dir}" +if test "x$target_header_dir" == x; then + if test x$host != x$target || test "x$TARGET_SYSTEM_ROOT" != x; then +if test "x$with_headers" != x; then + target_header_dir=$with_headers +elif test "x$with_sysroot" = x; then + target_header_dir="${test_exec_prefix}/${target_noncanonical}/sys-include" +elif test "x$with_build_sysroot" != "x"; then + target_header_dir="${with_build_sysroot}${native_system_header_dir}" +elif test "x$with_sysroot" = xyes; then + target_header_dir="${test_exec_prefix}/${target_noncanonical}/sys-root${native_system_header_dir}" +else + target_header_dir="${with_sysroot}${native_system_header_dir}" +fi else -target_header_dir="${with_sysroot}${native_system_header_dir}" +target_header_dir=${native_system_header_dir} fi -else - target_header_dir=${native_system_header_dir} fi # If this is a cross-compiler that does not Index: gcc/config.gcc === --- gcc/config.gcc (revision 231201) +++ gcc/config.gcc (working copy) @@ -4162,6 +4162,7 @@ -d "/opt/$with_advance_toolchain/bin/." -a \ -d "/opt/$with_advance_toolchain/include/."; then + target_header_dir=`find /opt/$with_advance_toolchain/ -path '*/include/features.h' | sed -e 's#/features.h##'` tm_file="$tm_file ./advance-toolchain.h" (at="/opt/$with_advance_toolchain" echo "/* Use Advance Toolchain $at */"
[Bug libstdc++/69116] [4.9/5/6 Regression] compile error when including valarray
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69116 --- Comment #3 from Andrew Pinski --- (In reply to TC from comment #2) > Deduction for this operator<< function template succeeds: `T` is deduced to > be `x` from the left operand; the right operand is a non-deduced context > because the supplied argument names a function template. Then substitution > takes place, and we instantiate valarray (whose definition is needed to > decide if it can be constructed from std::endl), which triggers a hard error > because you can't return or take an abstract type by value. This is not > diagnosed in GCC 4.7.3, likely due to PR51184. Hmm, there is a SFINAE issue here then. We should reduce this further. A simple reduction based on the description works still: template struct foo { T f(); void g(T); }; template void operator<<(const T&, const foo&) {} template void operator<<(const T&, void (*)(void)) {} void endl(int); void endl(void); struct x { virtual void flush() = 0; }; void bar(x& os) { os << endl; } --- CUT --- Also I had confused end and endl earlier which is why I had messed up.
[Bug libstdc++/69116] [4.9/5/6 Regression] compile error when including valarray
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69116 --- Comment #2 from TC --- I don't think this has anything to do with `end`. Consider the following code: #include template struct foo { T f(); void g(T); }; template void operator<<(const T&, const foo&) {} struct x : public std::ostream { virtual void flush() = 0; }; void bar(x& os) { os << std::endl; } I don't have access to 4.8.0, but this compiles on 4.7.3 and fails on 4.8.1+. (In the case, std::operator<<(const T&, const valarray&) is picked up by ADL.) Deduction for this operator<< function template succeeds: `T` is deduced to be `x` from the left operand; the right operand is a non-deduced context because the supplied argument names a function template. Then substitution takes place, and we instantiate valarray (whose definition is needed to decide if it can be constructed from std::endl), which triggers a hard error because you can't return or take an abstract type by value. This is not diagnosed in GCC 4.7.3, likely due to PR51184.
[Bug middle-end/46555] [4.9/5/6 Regression] PHI RTL expansion leads to CSiBE regression
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46555 --- Comment #3 from Andrew Pinski --- I am going to try to work on this so it can be in for stage 1 of 7.
[Bug tree-optimization/68398] [6 Regression] coremark regression due to r229685
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68398 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |6.0 Summary|coremark regression due to |[6 Regression] coremark |r229685 |regression due to r229685
[Bug libstdc++/69116] [4.9/5/6 Regression] compile error when including valarray
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69116 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |4.9.4
[Bug middle-end/47466] c++ __builtin_expect() regression
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47466 Andrew Pinski changed: What|Removed |Added Status|NEW |RESOLVED Known to work||5.0 Resolution|--- |FIXED Target Milestone|--- |5.0 --- Comment #3 from Andrew Pinski --- This is fixed now. I don't know what fixed it.
[Bug c/69126] [6 regression] _Pragma does not apply if part of a macro
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69126 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |6.0
[Bug fortran/69128] [4.9/5/6 Regression] OpenMP workshare problem with SUM()
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69128 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |4.9.4
[Bug target/69129] [6 Regression] ICE in get_attr_got, at config/mips/mips.md:694 on mips-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69129 Andrew Pinski changed: What|Removed |Added Keywords||ice-on-valid-code Component|bootstrap |target Target Milestone|--- |6.0
[Bug c++/69131] [4.9/5/6 Regression] default constructor of union incorrectly deleted
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69131 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |4.9.4
[Bug lto/69133] [6 Regression] LTO segfault in lto_get_decl_name_mapping() on 483.xalancbmk with -flto-partition=none
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69133 Andrew Pinski changed: What|Removed |Added Keywords|ice-on-invalid-code |ice-on-valid-code Target Milestone|--- |6.0
[Bug lto/69133] [6 Regression] LTO segfault in lto_get_decl_name_mapping() on 483.xalancbmk with -flto-partition=none
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69133 --- Comment #3 from Andrew Pinski --- (In reply to Markus Trippelsdorf from comment #2) The code included here is undefined due to ODR violations.
[Bug lto/69136] [6 Regression] ICE in lto_symtab_prevailing_virtual_decl, at lto/lto-symtab.c:991
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69136 Andrew Pinski changed: What|Removed |Added Keywords||ice-on-valid-code Status|UNCONFIRMED |NEW Last reconfirmed||2016-01-06 Target Milestone|--- |6.0 Ever confirmed|0 |1 --- Comment #2 from Andrew Pinski --- Confirmed.
[Bug lto/69137] [6 Regression] ICE in odr_type_p, at ipa-utils.h:257
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69137 Andrew Pinski changed: What|Removed |Added Keywords||ice-on-valid-code Target Milestone|--- |6.0 --- Comment #2 from Andrew Pinski --- -flto -std=gnu++0x -g is enough to reproduce the bug.
[Bug lto/69082] Final link fails on ARM using lto
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69082 --- Comment #5 from PeteVine --- I got "lucky" with a single cpp file from dosbox: COLLECT_GCC_OPTIONS='-D' 'HAVE_CONFIG_H' '-I' '.' '-I' '../..' '-I' '../../include' '-I' '/usr/include/SDL' '-D' '_GNU_SOURCE=1' '-D' '_REENTRANT' '-mcpu=cortex-a5' '-O3' '-flto' '-ffat-lto-objects' '-fipa-pta' '-flto-partition=none' '-fprofile-generate' '-ftest-coverage' '-save-temps' '-v' '-MT' 'core_normal.o' '-MD' '-MP' '-MF' '.deps/core_normal.Tpo' '-c' '-o' 'core_normal.o' '-shared-libgcc' '-mfloat-abi=hard' '-mfpu=vfpv3-d16' '-mthumb' '-mtls-dialect=gnu' /usr/lib/gcc/arm-linux-gnueabihf/4.9/cc1plus -fpreprocessed core_normal.ii -quiet -dumpbase core_normal.cpp -mcpu=cortex-a5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mthumb -mtls-dialect=gnu -auxbase-strip core_normal.o -O3 -version -flto -ffat-lto-objects -fipa-pta -flto-partition=none -fprofile-generate -ftest-coverage -fstack-protector -Wformat -Wformat-security -o core_normal.s GNU C++ (Ubuntu/Linaro 4.9.3-8ubuntu2~14.04) version 4.9.3 (arm-linux-gnueabihf) compiled by GNU C version 4.9.3, GMP version 5.1.3, MPFR version 3.1.3, MPC version 1.0.1 GGC heuristics: --param ggc-min-expand=94 --param ggc-min-heapsize=121377 GNU C++ (Ubuntu/Linaro 4.9.3-8ubuntu2~14.04) version 4.9.3 (arm-linux-gnueabihf) compiled by GNU C version 4.9.3, GMP version 5.1.3, MPFR version 3.1.3, MPC version 1.0.1 GGC heuristics: --param ggc-min-expand=94 --param ggc-min-heapsize=121377 Compiler executable checksum: bd33a447d9f1fad5ef83ff3cc53feb50 COLLECT_GCC_OPTIONS='-D' 'HAVE_CONFIG_H' '-I' '.' '-I' '../..' '-I' '../../include' '-I' '/usr/include/SDL' '-D' '_GNU_SOURCE=1' '-D' '_REENTRANT' '-mcpu=cortex-a5' '-O3' '-flto' '-ffat-lto-objects' '-fipa-pta' '-flto-partition=none' '-fprofile-generate' '-ftest-coverage' '-save-temps' '-v' '-MT' 'core_normal.o' '-MD' '-MP' '-MF' '.deps/core_normal.Tpo' '-c' '-o' 'core_normal.o' '-shared-libgcc' '-mfloat-abi=hard' '-mfpu=vfpv3-d16' '-mthumb' '-mtls-dialect=gnu' as -v -I . -I ../.. -I ../../include -I /usr/include/SDL -mcpu=cortex-a5 -mfloat-abi=hard -mfpu=vfpv3-d16 -meabi=5 -o core_normal.o core_normal.s GNU assembler version 2.24 (arm-linux-gnueabihf) using BFD version (GNU Binutils for Ubuntu) 2.24 core_normal.s: Assembler messages: core_normal.s:51755: Error: offset out of range core_normal.s:51758: Error: offset out of range
[Bug lto/69082] Final link fails on ARM using lto
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69082 --- Comment #4 from PeteVine --- Created attachment 37233 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37233&action=edit Preprocessed source
[Bug target/69146] [5 Regression] ICE in extract_insn, at recog.c:2343 on powerpc64le-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69146 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |5.4
[Bug sanitizer/69147] [5 Regression] Several hundred asan failures with 5.3.1 on x86_64-apple-darwin15
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69147 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |5.4
[Bug c++/69125] [6 regression] Please don't print "‘visibility’ attribute ignored" when setting hidden visibility for anonymous namespace classes
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69125 Andrew Pinski changed: What|Removed |Added Keywords||diagnostic Target Milestone|--- |6.0
[Bug rtl-optimization/69124] [5/6 Regression] wrong code in thumb mode on arm-linux-gnueabihf
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69124 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |5.4
[Bug c/23087] Misleading warning, "... differ in signedness"
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=23087 Keith Thompson changed: What|Removed |Added Version|4.0.0 |5.3.0 --- Comment #13 from Keith Thompson --- This problem still exists in gcc 5.3.0. Here's a perhaps clearer example that doesn't depend on string literals, and that demonstrates the problem both when plain char is signed and when it's unsigned. $ cat tmp.c #include void foo(void) { char *pc = 0; #if CHAR_MIN < 0 /* plain char is signed but incompatible with signed char */ signed char *psc = pc; #else /* plain char is unsigned but incompatible with unsigned char */ unsigned char *puc = pc; #endif } $ gcc --version gcc (GCC) 5.3.0 Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. $ gcc -std=c11 -pedantic-errors -c tmp.c tmp.c: In function 'foo': tmp.c:6:24: error: pointer targets in initialization differ in signedness [-Wpointer-sign] signed char *psc = pc; ^ $ gcc -std=c11 -pedantic-errors -c -funsigned-char tmp.c tmp.c: In function 'foo': tmp.c:9:26: error: pointer targets in initialization differ in signedness [-Wpointer-sign] unsigned char *puc = pc; ^ $
[Bug libstdc++/69116] [4.9/5/6 Regression] compile error when including valarray
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69116 --- Comment #1 from Andrew Pinski --- It is trying to instantiate one of the std::end with valarray Like: template inline const _Tp* end(const valarray<_Tp>& __va) { return std::__addressof(__va[0]) + __va.size(); } This does not look right.
[Bug rtl-optimization/69102] [4.9/5/6 Regression] ICE: in move_op_ascend, at sel-sched.c:6138 with -fselective-scheduling2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69102 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |4.9.4
[Bug target/69135] [5/6 Regression][ARM] instruction cannot be conditional -- `vcvtpne.s32.f32 s0,s0'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69135 --- Comment #4 from cctsai57 --- Following gcc/testsuite/gcc.target/arm/{lceil-vcvt_1.c,lfloor-vcvt_1.c,lround-vcvt_1.c}, suggest: /* { dg-do compile } */ /* { dg-require-effective-target arm_v8_vfp_ok } */ /* { dg-options "-O2 -march=armv8-a -ffast-math" } */ /* { dg-add-options arm_v8_vfp } */ int global; void lceil_float (float x, int b) { if (b) global = __builtin_lceilf (x); /* { dg-final { scan-assembler-times "vcvtp.s32.f32\ts\[0-9\]+, s\[0-9\]+" 1 } } */ } void lceil_double (double x, int b) { if (b) global = __builtin_lceil (x); /* { dg-final { scan-assembler-times "vcvtp.s32.f64\ts\[0-9\]+, d\[0-9\]+" 1 } } */ } void lfloor_float (float x, int b) { if (b) global = __builtin_lfloorf (x); /* { dg-final { scan-assembler-times "vcvtm.s32.f32\ts\[0-9\]+, s\[0-9\]+" 1 } } */ } void lfloor_double (double x, int b) { if (b) global = __builtin_lfloor (x); /* { dg-final { scan-assembler-times "vcvtm.s32.f64\ts\[0-9\]+, d\[0-9\]+" 1 } } */ } void lround_float (float x, int b) { if (b) global = __builtin_lroundf (x); /* { dg-final { scan-assembler-times "vcvta.s32.f32\ts\[0-9\]+, s\[0-9\]+" 1 } } */ } void lround_double (double x, int b) { if (b) global = __builtin_lround (x); /* { dg-final { scan-assembler-times "vcvta.s32.f64\ts\[0-9\]+, d\[0-9\]+" 1 } } */ }
[Bug c++/69098] [6.0 regression] Member function pointer template flagged with 'is not a function template'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69098 Andrew Pinski changed: What|Removed |Added URL|http://melpon.org/wandbox/p | |ermlink/DShqHOBBMDx3X0H2| Target Milestone|--- |6.0
[Bug target/69071] [6 Regression] ICE: in decompose, at rtl.h:2107 with -g
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69071 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |6.0
[Bug tree-optimization/69068] [6 Regression] ICE in bb_contains_loop_phi_nodes, at graphite-isl-ast-to-gimple.c:1279
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69068 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |6.0
[Bug tree-optimization/69067] [6 Regression] ICE in get_def_bb_for_const, at graphite-isl-ast-to-gimple.c:1995
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69067 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |6.0
[Bug rtl-optimization/69052] [6 Regression] Performance regression after r229402.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69052 Andrew Pinski changed: What|Removed |Added Keywords||missed-optimization Target||x86_64-linux-gnu Target Milestone|--- |6.0
[Bug target/69053] [6 Regression] ICE in build_vector_from_val
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69053 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |6.0
[Bug ipa/69044] [6 regression] [CHKP] internal compiler error: in duplicate_thunk_for_node
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69044 Andrew Pinski changed: What|Removed |Added Keywords||ice-on-valid-code Target||x86_64-linux-gnu Target Milestone|--- |6.0
[Bug tree-optimization/69042] [6 regression] Missed optimization in ivopts
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69042 Andrew Pinski changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2016-01-06 Ever confirmed|0 |1 --- Comment #1 from Andrew Pinski --- Confirmed, even on aarch64 too. Replacing the asm with: asm("":::"x0","x1","x2","x3","x4","x5","x6","x7","x8","x9","x10","x11","x12","x13","x14","x15","x16","x17","x18","x19","x20","x21","x22","x23","x24","x25","x26","x27","x28","x30"); Shows the problem there.
[Bug testsuite/68886] FAIL: gcc.c-torture/execute/stkalign.c execution test
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68886 Andrew Pinski changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2016-01-06 Summary|[6 regression] FAIL:|FAIL: |gcc.c-torture/execute/stkal |gcc.c-torture/execute/stkal |ign.c execution test|ign.c execution test Ever confirmed|0 |1 --- Comment #2 from Andrew Pinski --- If the stack size is just happens to be a multiple of 64 and the incoming stack to test was 64 byte aligned, then the testcase will always fail. This is what is happening on PowerPC and HPPA. It is just on accident it passes. The testcase should either be removed or changed. Changing the alignment to 128 or 256 might allow more targets to pass but not always pass on every target so removing it will be best. This is a new test and so it can't be a regression.
[Bug tree-optimization/69042] [6 regression] Missed optimization in ivopts
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69042 Andrew Pinski changed: What|Removed |Added Keywords||missed-optimization Target Milestone|--- |6.0
[Bug c++/68767] [6 regression] spurious warning: null argument where non-null required
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68767 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |6.0
[Bug c++/68525] [6 Regression] bogus use of deleted function error on a template with a flexible array member
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68525 Martin Sebor changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |INVALID --- Comment #2 from Martin Sebor --- Actually, I see that 5.1 accepts the code in C++ 98 mode but rejects it in C++ 11 mode. Clang behaves the same way. Probably due to a change to the standard. In hindsight I agree that the test case is invalid. I even made that point recently in a review of a patch submitted to make it valid (forgetting I had previously raised this bug): https://gcc.gnu.org/ml/gcc-patches/2016-01/msg00055.html Unfortunately, there is a bug here that makes GCC accept the following (equivalent and also invalid) code: cat x.cpp && ~/bin/gcc-5.1.0/bin/g++ x.cpp -c -std=c++11 template struct A { int n; T a[]; A (): n (), a () { } }; struct B { B (int); }; A ab; A few days ago I submitted bug 69127 for a similar problem with zero-length arrays. I suppose that bug could be used to fix this problem as well, even though it's about flexible array members. Let me close this bug as INVALID.
[Bug bootstrap/69129] [6 Regression] ICE in get_attr_got, at config/mips/mips.md:694 on mips-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69129 Steve Ellcey changed: What|Removed |Added CC||sje at gcc dot gnu.org --- Comment #1 from Steve Ellcey --- I could not reproduce this with todays (Jan 5, 2016) top-of-tree. I built mips-linux-gnu and mipsel-linux-gnu with Fortran and the library built just fine. I also tried the test case that was included and that also compiled. I got some warnings, but no ICE. I was building a cross compiler running on x86 linux (ubuntu 12.04) and I tried mips-linux-gnu and mipsel-linux-gnu targets.
[Bug tree-optimization/69036] g++ hangs compiling tree-ssa-loop-ivopts.c at -O3
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69036 H.J. Lu changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |DUPLICATE --- Comment #1 from H.J. Lu --- Dup *** This bug has been marked as a duplicate of bug 69123 ***
[Bug bootstrap/69123] [6 Regression] --with-build-config='bootstrap-O3 bootstrap-debug' miscompiled stage 2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69123 --- Comment #13 from H.J. Lu --- *** Bug 69036 has been marked as a duplicate of this bug. ***
[Bug bootstrap/69123] [6 Regression] --with-build-config='bootstrap-O3 bootstrap-debug' miscompiled stage 2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69123 --- Comment #12 from H.J. Lu --- (In reply to H.J. Lu from comment #10) > This change makes it to compile: > > diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c > index 07eea84..43a85b7 100644 > --- a/gcc/var-tracking.c > +++ b/gcc/var-tracking.c > @@ -4968,7 +4968,7 @@ dataflow_set_different (dataflow_set *old_set, > dataflow_set *new_set) >if (old_set->vars == new_set->vars) > return false; > > - if (shared_hash_htab (old_set->vars)->elements () > + if (0 && shared_hash_htab (old_set->vars)->elements () >!= shared_hash_htab (new_set->vars)->elements ()) > return true; This patch bootstraps GCC using -O3 without any regressions.
[Bug bootstrap/69123] [6 Regression] --with-build-config='bootstrap-O3 bootstrap-debug' miscompiled stage 2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69123 Gary Funck changed: What|Removed |Added CC||gary at intrepid dot com --- Comment #11 from Gary Funck --- Might be a duplicate of a bug I reported, PR69036
[Bug middle-end/68743] [6 Regression] FAIL: gfortran.dg/aint_anint_1.f90 -O0 execution test
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68743 Andrew Pinski changed: What|Removed |Added Host|hppa*-*-hpux* | Target Milestone|--- |6.0 Build|hppa*-*-hpux* |
[Bug tree-optimization/67781] [5/6 Regression] wrong code generated on big-endian with -O1 -fexpensive-optimizations
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67781 --- Comment #13 from Mikael Pettersson --- Patch passed bootstrap and regtest on sparc64-linux. No regressions.
[Bug target/69153] --with-advance-toolchain configure option does not correctly set configure variable target_header_dir
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69153 --- Comment #1 from Andrew Pinski --- You are leaking a target specific configure option to the configure script. This seems wrong. Can't you set target_header_dir in config.gcc instead?
[Bug c++/68525] [6 Regression] bogus use of deleted function error on a template with a flexible array member
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68525 Andrew Pinski changed: What|Removed |Added Keywords|rejects-valid | Last reconfirmed|2015-11-25 00:00:00 |2016-1-5 Target Milestone|--- |6.0 Known to fail||4.8.4, 6.0 --- Comment #1 from Andrew Pinski --- Fails with the same message in GCC 4.8.4 but passes with GCC 5.3.0. Though I don't think this is valid code. Changing "T a[];" to "T a[1];" will cause it to be rejected with the same message. Basically GCC decides for B::B(), T::T() (aka A::A()) needs to exists and works. That is what the error message is saying. it is not really mysterious either.
[Bug target/69153] --with-advance-toolchain configure option does not correctly set configure variable target_header_dir
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69153 Peter Bergner changed: What|Removed |Added Target||powerpc*-linux CC||meissner at gcc dot gnu.org, ||tuliom at linux dot vnet.ibm.com, ||wschmidt at gcc dot gnu.org Target Milestone|--- |6.0
[Bug c++/68049] [5/6 Regression] template instantiation involving may_alias defines symbol twice
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68049 Andrew Pinski changed: What|Removed |Added Last reconfirmed|2015-12-08 00:00:00 |2016-1-5 Target Milestone|--- |5.4
[Bug target/69153] New: --with-advance-toolchain configure option does not correctly set configure variable target_header_dir
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69153 Bug ID: 69153 Summary: --with-advance-toolchain configure option does not correctly set configure variable target_header_dir Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: bergner at gcc dot gnu.org Target Milestone: --- The --with-advance-toolchain configure option is supposed to build a GCC that uses the header files, libraries and dynamic linker from the specified Advance Toolchain (AT) release, rather than the system files. In testing a new configure fragment for a new builtin that requires a specific GLIBC version, I noticed that the configure testing was using the system header files instead of the AT's header files. This was due to $target_header_dir not being set correctly. The following code which sets it doesn't handle --with-advance-toolchain at all: if test x$host != x$target || test "x$TARGET_SYSTEM_ROOT" != x; then if test "x$with_headers" != x; then target_header_dir=$with_headers elif test "x$with_sysroot" = x; then target_header_dir="${test_exec_prefix}/${target_noncanonical}/sys-include" elif test "x$with_build_sysroot" != "x"; then target_header_dir="${with_build_sysroot}${native_system_header_dir}" elif test "x$with_sysroot" = xyes; then target_header_dir="${test_exec_prefix}/${target_noncanonical}/sys-root${native_system_header_dir}" else target_header_dir="${with_sysroot}${native_system_header_dir}" fi else target_header_dir=${native_system_header_dir} fi I'm testing the following patch to fix this: Index: configure.ac === --- configure.ac(revision 231201) +++ configure.ac(working copy) @@ -1997,7 +1997,9 @@ SYSTEM_HEADER_DIR=$build_system_header_dir fi -if test x$host != x$target || test "x$TARGET_SYSTEM_ROOT" != x; then +if test "x$with_advance_toolchain" != x; then + target_header_dir=`find /opt/$with_advance_toolchain/ -path '*/include/features.h' | sed -e 's#/features.h##'` +elif test x$host != x$target || test "x$TARGET_SYSTEM_ROOT" != x; then if test "x$with_headers" != x; then target_header_dir=$with_headers elif test "x$with_sysroot" = x; then
[Bug tree-optimization/69108] [6 Regression] ICE in gather_scalar_reductions with -ftree-parallelize-loops=2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69108 --- Comment #2 from vries at gcc dot gnu.org --- Created attachment 37232 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37232&action=edit tentative patch
[Bug tree-optimization/67755] [5/6 Regression] Bad edge probability/block freqency for tree jump threading
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67755 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |5.4 Summary|[5 Regression] Bad edge |[5/6 Regression] Bad edge |probability/block freqency |probability/block freqency |for tree jump threading |for tree jump threading
[Bug c++/66944] ICE on static thread_local member in class template
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66944 Andrew Pinski changed: What|Removed |Added Summary|[6 regression] ICE on |ICE on static thread_local |static thread_local member |member in class template |in class template | Severity|major |normal --- Comment #2 from Andrew Pinski --- >Today's trunk crashes with the following ICE so making this a regression: Except the previous versions also ICEd. That is what: bug.cc:14: confused by earlier errors, bailing out Is about really.
[Bug target/62254] [4.9/5/6 Regression] gcc-4.9 ICEs on linux kernel zlib for armv3
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62254 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |4.9.4
[Bug rtl-optimization/49358] [4.9/5/6 Regression] RA regressed for SSE 2 operand math
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49358 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |6.0 Summary|optimization regression in |[4.9/5/6 Regression] RA |4.7.0, 4.6.1 from 4.5.4 |regressed for SSE 2 operand ||math
[Bug middle-end/46555] [4.9/5/6 Regression] PHI RTL expansion leads to CSiBE regression
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46555 Andrew Pinski changed: What|Removed |Added Keywords||missed-optimization Last reconfirmed|2010-11-19 10:55:11 |2016-1-5 Target Milestone|--- |7.0 Summary|PHI RTL expansion leads to |[4.9/5/6 Regression] PHI |CSiBE regression|RTL expansion leads to ||CSiBE regression --- Comment #2 from Andrew Pinski --- : # _6 = PHI <-1(17), 0(15), -1(10)> : It is not as bad on the trunk now but I don't think it has been fixed.
[Bug libstdc++/69152] _GLIBCXX_BITSET_BITS_PER_WORD is wrong for x32
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69152 --- Comment #1 from Marc Glisse --- This macro is about the typedef _WordT in bitset (currently "long", so __SIZEOF_LONG__ is exactly what we want), not about the compiler notion of "word". Using "long" for that typedef is suboptimal on x32, but also on win64. I think there is already a PR asking to change it, but since it would break the ABI...
[Bug target/45390] CPU2006 434.zeusmp: gcc 4.6 7% regression from gcc 4.5
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=45390 Andrew Pinski changed: What|Removed |Added Status|WAITING |RESOLVED Resolution|--- |INVALID --- Comment #2 from Andrew Pinski --- No word in over 6 months so closing.
[Bug target/45389] CPU2006 cactusADM: gcc 4.6 15% regression from 4.5
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=45389 Andrew Pinski changed: What|Removed |Added Status|WAITING |RESOLVED Resolution|--- |WORKSFORME --- Comment #2 from Andrew Pinski --- No word on this one in 6 months so closing.
[Bug c++/69098] [6.0 regression] Member function pointer template flagged with 'is not a function template'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69098 --- Comment #3 from hir...@trash-mail.com --- Your testcase is really quite a bit smaller still – impressive skills! :) Thanks for confirming and since 5.1.0 works for you, on Wandbox and additionally your testcase doesn’t fail locally, I guess I might just have looked at the wrong one of my two installations when I queried the version, perhaps I forgot to prepend '.\' or something like that.
[Bug target/67973] All the tests for -gstabs* fail on x86_64-apple-darwin14 with Xcode 7
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67973 --- Comment #17 from mrs at gcc dot gnu.org --- A back port is Ok.
[Bug c++/69139] [4.9/5/6 Regression] deduction failure with trailing return type in function template argument
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69139 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |6.0
[Bug target/1078] Problems with attributes documentation
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=1078 --- Comment #12 from sandra at gcc dot gnu.org --- Author: sandra Date: Tue Jan 5 20:51:48 2016 New Revision: 232092 URL: https://gcc.gnu.org/viewcvs?rev=232092&root=gcc&view=rev Log: 2016-01-05 Sandra Loosemore PR 1078 gcc/ * doc/extend.texi (RL78 Variable Attributes): New section. Modified: trunk/gcc/ChangeLog trunk/gcc/doc/extend.texi
[Bug libstdc++/69152] New: _GLIBCXX_BITSET_BITS_PER_WORD is wrong for x32
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69152 Bug ID: 69152 Summary: _GLIBCXX_BITSET_BITS_PER_WORD is wrong for x32 Product: gcc Version: 5.3.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: hjl.tools at gmail dot com Target Milestone: --- Target: x32 The size of word on x32 is 8 byte and the size of long is 4 byte. include/std/bitset has #define _GLIBCXX_BITSET_BITS_PER_WORD (__CHAR_BIT__ * __SIZEOF_LONG__) which is incorrect for x32.
[Bug c/69104] invalid atomic memory order not diagnosed
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69104 --- Comment #8 from Marek Polacek --- Author: mpolacek Date: Tue Jan 5 20:24:02 2016 New Revision: 232090 URL: https://gcc.gnu.org/viewcvs?rev=232090&root=gcc&view=rev Log: PR c/69104 * builtins.c (get_memmodel): Use expansion point location rather than the input location. Call warning_at rather than warning. (expand_builtin_atomic_compare_exchange): Likewise. (expand_builtin_atomic_load): Likewise. (expand_builtin_atomic_store): Likewise. (expand_builtin_atomic_clear): Likewise. * gcc.dg/atomic-invalid-2.c: New. Added: trunk/gcc/testsuite/gcc.dg/atomic-invalid-2.c Modified: trunk/gcc/ChangeLog trunk/gcc/builtins.c trunk/gcc/testsuite/ChangeLog
[Bug target/69148] [5/6 Regression] ICE (floating point exception) on s390x-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69148 Andreas Krebbel changed: What|Removed |Added CC||vmakarov at redhat dot com --- Comment #5 from Andreas Krebbel --- I think the problem comes with the hard coded operand indexes in curr_insn_transform when trying to reuse the existing insn for the secondary memory load. if (use_sec_mem_p) { rtx new_reg, src, dest, rld; machine_mode sec_mode, rld_mode; lra_assert (sec_mem_p); lra_assert (curr_static_id->operand[0].type == OP_OUT && curr_static_id->operand[1].type == OP_IN); dest = *curr_id->operand_loc[0]; src = *curr_id->operand_loc[1]; ... This does not work for parallels consisting of more than one set. (insn 15 14 24 2 (parallel [ (set (reg:CCZ 33 %cc) (compare:CCZ (subreg:SI (reg:SF 69 [ D.1498 ]) 0) (const_int 0 [0]))) (set (reg:SI 60 [ D.1497 ]) (subreg:SI (reg:SF 69 [ D.1498 ]) 0)) ]) t.c:13 839 {*tstsi_extimm} (expr_list:REG_DEAD (reg:SF 69 [ D.1498 ]) (expr_list:REG_UNUSED (reg:CCZ 33 %cc) (nil The first set is dead so single_set returns just the second set for curr_insn_set. Since the operands in the second set are NOT numbered 0 and 1 this code doesn't do the right thing. Can we just use the "old" code in such a case? So emitting both the spill insns before and after the original insn instead of trying to reuse the insn? In the original PR55433 this was supposed to fix an infinite loop in reload. So I'm not sure if that might bring back that problem then?!
[Bug rtl-optimization/68991] -O3 generates misaligned xorv4si3
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68991 --- Comment #19 from hjl at gcc dot gnu.org --- Author: hjl Date: Tue Jan 5 20:19:16 2016 New Revision: 232088 URL: https://gcc.gnu.org/viewcvs?rev=232088&root=gcc&view=rev Log: Use vector_operand on SSE with 16b memory operand Add vector_operand, which is vector_memory_operand or register_operand, and use it, instead of nonimmediate_operand, in SSE patterns with 16-byte memory operand. gcc/ PR target/68991 * config/i386/i386.c (ix86_expand_vector_logical_operator): Replace nonimmediate_operand with vector_operand. * config/i386/predicates.md (vector_operand): New predicate. (general_vector_operand): Replace nonimmediate_operand with vector_operand. * config/i386/sse.md: Replace nonimmediate_operand with vector_operand and m constraint with Bm constraint on SSE patterns with 16-byte memory operand. * config/i386/subst.md (round_nimm_predicate): Replace nonimmediate_operand with vector_operand. (round_saeonly_nimm_predicate): Likewise. (round_saeonly_nimm_scalar_predicate): New. gcc/testsuite/ PR target/68991 * gcc.target/i386/pr68991.c: New test. Added: trunk/gcc/testsuite/gcc.target/i386/pr68991.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.c trunk/gcc/config/i386/predicates.md trunk/gcc/config/i386/sse.md trunk/gcc/config/i386/subst.md trunk/gcc/testsuite/ChangeLog
[Bug rtl-optimization/68991] -O3 generates misaligned xorv4si3
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68991 --- Comment #18 from hjl at gcc dot gnu.org --- Author: hjl Date: Tue Jan 5 20:17:26 2016 New Revision: 232087 URL: https://gcc.gnu.org/viewcvs?rev=232087&root=gcc&view=rev Log: Add vector_memory_operand and "Bm" constraint SSE vector arithmetic and logic instructions only accept aligned memory operand. This patch adds vector_memory_operand and "Bm" constraint for aligned SSE memory operand. They are applied to SSE plusminus and any_logic patterns. gcc/ PR target/68991 * config/i386/constraints.md (Bm): New constraint. * config/i386/predicates.md (vector_memory_operand): New predicate. * config/i386/sse.md: Replace xm with xBm in plusminus and any_logic patterns. gcc/testsuite/ PR target/68991 * g++.dg/pr68991-1.C: New test. * g++.dg/pr68991-2.C: Likewise. Added: trunk/gcc/testsuite/g++.dg/pr68991-1.C trunk/gcc/testsuite/g++.dg/pr68991-2.C Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/constraints.md trunk/gcc/config/i386/predicates.md trunk/gcc/config/i386/sse.md trunk/gcc/testsuite/ChangeLog
[Bug target/1078] Problems with attributes documentation
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=1078 --- Comment #11 from sandra at gcc dot gnu.org --- Author: sandra Date: Tue Jan 5 19:45:43 2016 New Revision: 232085 URL: https://gcc.gnu.org/viewcvs?rev=232085&root=gcc&view=rev Log: 2016-01-05 Sandra Loosemore PR 1078 gcc/ * doc/extend.texi (V850 Function Attributes): New section. (V850 Variable Attributes): New section. Modified: trunk/gcc/ChangeLog trunk/gcc/doc/extend.texi
[Bug testsuite/68232] gcc.dg/ifcvt-4.c fails on some arm configurations
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68232 --- Comment #6 from Pat Haugen --- (In reply to James Greenhalgh from comment #5) > "Fixed" with the testsuite skips. Feel free to add any other target triplets > for which this test is unreliable. I was going to modify the powerpc64le triplet to just powerpc*-*-* since it also fails for powerpc64 (big endian) and powerpc-ibm-aix, but looking at gcc/config/rs6000/rs6000.h, it has BRANCH_COST defined to a non-zero value: #define BRANCH_COST(speed_p, predictable_p) 3 So there must be something more than just "doesn't work for targets with branch cost == 0". I'm still happy to make the change if there are other reasons, but didn't want to do so without hearing first.
[Bug other/60465] [4.9/5 Regression] Compiling glibc-2.17,2.18 with gcc-4.8.2 and binutils-2.23.2,2.24 results in segfaults in _start / elf_get_dynamic_info
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60465 --- Comment #40 from Mike Frysinger --- (In reply to Jeffrey A. Law from comment #39) we should at least do gcc-5. i'm guessing there won't be another 4.9.
[Bug c++/66460] ICE using __func__ in constexpr function.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66460 Markus Trippelsdorf changed: What|Removed |Added CC||hauf.johannes at gmail dot com --- Comment #6 from Markus Trippelsdorf --- *** Bug 69149 has been marked as a duplicate of this bug. ***
[Bug c++/69149] Segmentation fault during compile of libre office with debug
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69149 Markus Trippelsdorf changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |DUPLICATE --- Comment #4 from Markus Trippelsdorf --- dup. *** This bug has been marked as a duplicate of bug 66460 ***
[Bug fortran/68009] [6 Regression] prototype for gfortran_runtime_error with inline matmul
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68009 Jerry DeLisle changed: What|Removed |Added CC||jvdelisle at gcc dot gnu.org --- Comment #4 from Jerry DeLisle --- I will poke at this unless Thomas wants to take it.
[Bug target/69140] stack alignment + O1 breaks with Microsoft ABI
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69140 Eric Botcazou changed: What|Removed |Added CC||uros at gcc dot gnu.org --- Comment #11 from Eric Botcazou --- > Yes, forced stack alignment on x86_64 was introduced after 5.2, in r228728 > for pr66697. Also, I can confirm that adding -fno-omit-frame-pointer allows > Wine to compile normally. I see, thanks. Uros, would you mind having a look? I don't know this stuff.
[Bug target/69140] stack alignment + O1 breaks with Microsoft ABI
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69140 --- Comment #10 from Eric Botcazou --- Created attachment 37231 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37231&action=edit Reduced testcase To be compiled with -O2 -mincoming-stack-boundary=3
[Bug c++/69149] Segmentation fault during compile of libre office with debug
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69149 Markus Trippelsdorf changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2016-01-05 CC||trippels at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #3 from Markus Trippelsdorf --- This is what creduce came up with: markus@x4 tmp % cat deb.ii template struct A { typedef __underlying_type(_Tp) type; }; namespace o3tl { template struct typed_flags; template ::type> struct is_typed_flags { class Wrap { public: constexpr operator E() {} }; }; } template constexpr typename o3tl::typed_flags::Wrap operator|(E, E) { __PRETTY_FUNCTION__; } enum SfxSlotMode { NONE, PROPGET }; namespace o3tl { template <> struct typed_flags : is_typed_flags {}; class { public: short nGroupId; } a{(short)(NONE | PROPGET)}; } markus@x4 tmp % g++ deb.ii deb.ii:22:20: in constexpr expansion of ‘operator|((SfxSlotMode)0u, (SfxSlotMode)1u)’ deb.ii:22:28: internal compiler error: Segmentation fault } a{(short)(NONE | PROPGET)}; ^ 0xcc988f crash_signal ../../gcc/gcc/toplev.c:334 0x7f1334c6230f ??? /home/markus/glibc/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0 0xa48714 bool vec_safe_reserve(vec*&, unsigned int, bool) ../../gcc/gcc/vec.h:553 0xa48714 tree_node** vec_safe_push(vec*&, tree_node* const&) ../../gcc/gcc/vec.h:647 0xa48714 add_local_decl(function*, tree_node*) ../../gcc/gcc/function.c:6791 0xd3c416 remap_decls ../../gcc/gcc/tree-inline.c:611 0xd3d290 remap_block ../../gcc/gcc/tree-inline.c:679 0xd4373e copy_bind_expr ../../gcc/gcc/tree-inline.c:752
[Bug fortran/65996] [5/6 Regression] gfortran ICE with -dH
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65996 Jerry DeLisle changed: What|Removed |Added CC||jvdelisle at gcc dot gnu.org Assignee|unassigned at gcc dot gnu.org |jvdelisle at gcc dot gnu.org --- Comment #11 from Jerry DeLisle --- I will work this one.
[Bug target/69140] stack alignment + O1 breaks with Microsoft ABI
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69140 --- Comment #9 from Justas L --- Yes, forced stack alignment on x86_64 was introduced after 5.2, in r228728 for pr66697. Also, I can confirm that adding -fno-omit-frame-pointer allows Wine to compile normally.
[Bug bootstrap/69123] [6 Regression] --with-build-config='bootstrap-O3 bootstrap-debug' miscompiled stage 2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69123 --- Comment #10 from H.J. Lu --- This change makes it to compile: diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c index 07eea84..43a85b7 100644 --- a/gcc/var-tracking.c +++ b/gcc/var-tracking.c @@ -4968,7 +4968,7 @@ dataflow_set_different (dataflow_set *old_set, dataflow_set *new_set) if (old_set->vars == new_set->vars) return false; - if (shared_hash_htab (old_set->vars)->elements () + if (0 && shared_hash_htab (old_set->vars)->elements () != shared_hash_htab (new_set->vars)->elements ()) return true;
[Bug target/1078] Problems with attributes documentation
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=1078 --- Comment #10 from sandra at gcc dot gnu.org --- Author: sandra Date: Tue Jan 5 18:04:01 2016 New Revision: 232081 URL: https://gcc.gnu.org/viewcvs?rev=232081&root=gcc&view=rev Log: 2016-01-05 Sandra Loosemore PR 1078 gcc/ * doc/extend.texi (MicroBlaze Function Attributes): Document interrupt_handler and fast_interrupt attributes. Modified: trunk/gcc/ChangeLog trunk/gcc/doc/extend.texi
[Bug rtl-optimization/69124] [5/6 Regression] wrong code in thumb mode on arm-linux-gnueabihf
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69124 --- Comment #11 from Mikael Pettersson --- (In reply to ktkachov from comment #9) > So I did a bisection between 4.9 and 5. > The offending commit is r217624: > Author: vmakarov > Date: Sun Nov 16 05:00:30 2014 + > > 2014-11-15 Vladimir Makarov > > * lra-remat.c (cand_transf_func): Process regno for > rematerialization too. > * lra.c (lra): Switch on rematerialization pass. > > i.e. when the LRA rematiralisation pass was turned on. Strange, my bisect identified r217588 as the culprit, although it also talks about lra materialization: 2014-11-14 Vladimir Makarov * lra-int.h (lra_create_live_ranges): Add parameter. * lra-lives.c (temp_bitmap): Move higher. (initiate_live_solver): Move temp_bitmap initialization into lra_live_ranges_init. (finish_live_solver): Move temp_bitmap clearing into live_ranges_finish. (process_bb_lives): Add parameter. Use it to control live info update and dead insn elimination. Pass it to mark_regno_live and mark_regno_dead. (lra_create_live_ranges): Add parameter. Pass it to process_bb_lives. (lra_live_ranges_init, lra_live_ranges_finish): See changes in initiate_live_solver and finish_live_solver. * lra-remat.c (do_remat): Process insn non-operand hard regs too. Use temp_bitmap to update avail_cands. * lra.c (lra): Pass new parameter to lra_create_live_ranges. Move check with lra_need_for_spill_p after live range pass. Switch on rematerialization pass.
[Bug bootstrap/69123] [6 Regression] --with-build-config='bootstrap-O3 bootstrap-debug' miscompiled stage 2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69123 --- Comment #9 from H.J. Lu --- (insn:TI 248 289 246 8 (set (reg:V2DI 21 xmm0 [130]) (mem/c:V2DI (plus:DI (reg/f:DI 7 sp) (const_int 16 [0x10])) [9 %sfp+-32 S16 A128])) /tmp/x.ii:24 1215 {*movv2di_internal} (nil)) ... (insn:TI 250 118 120 9 (set (mem/c:DI (plus:DI (reg/f:DI 7 sp) (const_int 16 [0x10])) [9 %sfp+-32 S8 A128]) (reg/v/f:DI 0 ax [orig:120 base ] [120])) /tmp/x.ii:33 85 {*movdi_internal} (nil)) seem to confuse canonicalize_values_star and lead to infinite loop.
[Bug other/60465] [4.9/5 Regression] Compiling glibc-2.17,2.18 with gcc-4.8.2 and binutils-2.23.2,2.24 results in segfaults in _start / elf_get_dynamic_info
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60465 Jeffrey A. Law changed: What|Removed |Added Summary|[4.9/5/6 Regression]|[4.9/5 Regression] |Compiling glibc-2.17,2.18 |Compiling glibc-2.17,2.18 |with gcc-4.8.2 and |with gcc-4.8.2 and |binutils-2.23.2,2.24|binutils-2.23.2,2.24 |results in segfaults in |results in segfaults in |_start /|_start / |elf_get_dynamic_info|elf_get_dynamic_info --- Comment #39 from Jeffrey A. Law --- Fixed on the trunk. Patch is backportable to the active release branches, but I'm not sure it's worth the effort.
[Bug other/60465] [4.9/5/6 Regression] Compiling glibc-2.17,2.18 with gcc-4.8.2 and binutils-2.23.2,2.24 results in segfaults in _start / elf_get_dynamic_info
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60465 --- Comment #38 from Jeffrey A. Law --- Author: law Date: Tue Jan 5 17:57:05 2016 New Revision: 232080 URL: https://gcc.gnu.org/viewcvs?rev=232080&root=gcc&view=rev Log: [PATCH v2] ia64: don't use dynamic relocations for local symbols PR other/60465 * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64 for local symbolic operands. * config/ia64/predicates.md (local_symbolic_operand64): New predicate. PR other/60465 * gcc.target/ia64/pr60465-gprel64.c: New test. * gcc.target/ia64/pr60465-gprel64-c37.c: New test. Added: trunk/gcc/testsuite/gcc.target/ia64/pr60465-gprel64-c37.c trunk/gcc/testsuite/gcc.target/ia64/pr60465-gprel64.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/ia64/ia64.c trunk/gcc/config/ia64/predicates.md trunk/gcc/testsuite/ChangeLog
[Bug target/69143] PowerPC64: aggregate results are badly handled
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69143 Martin Sebor changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2016-01-05 CC||msebor at gcc dot gnu.org Ever confirmed|0 |1 Known to fail||5.1.0, 6.0 --- Comment #1 from Martin Sebor --- Confirmed. A slightly simpler (but equivalent) test case that generates the same code is below. See also bug 65421. typedef struct B { float x, y; } B; B bar (B y) { return y; }
[Bug rtl-optimization/69124] [5/6 Regression] wrong code in thumb mode on arm-linux-gnueabihf
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69124 ktkachov at gcc dot gnu.org changed: What|Removed |Added Component|target |rtl-optimization --- Comment #10 from ktkachov at gcc dot gnu.org --- (In reply to ktkachov from comment #9) > So I did a bisection between 4.9 and 5. > The offending commit is r217624: > Author: vmakarov > Date: Sun Nov 16 05:00:30 2014 + > > 2014-11-15 Vladimir Makarov > > * lra-remat.c (cand_transf_func): Process regno for > rematerialization too. > * lra.c (lra): Switch on rematerialization pass. > > i.e. when the LRA rematiralisation pass was turned on. Consequently, compiling with -fno-lra-remat the testcase runs successfully (no output)
[Bug target/69140] stack alignment + O1 breaks with Microsoft ABI
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69140 --- Comment #8 from Eric Botcazou --- > Sorry, I indeed made a mistake - r230176 makes compilation fail with a > different error than the one I get with 5.3 release. However, after > rerunning git bisect and manually checking these revisions I can confirm > that: > > - r230165 is the last good revision in the 5 branch; > - r230176 is the first one that fails, but with a different error (internal > compiler error: in ix86_adjust_stack_and_probe, at config/i386/i386.c:11064); > - r230247 is the first one that fails with the error in choose_baseaddr; > - reverting r230176 from 5.3.0 release fixes the problem (i.e. both > testcases pass and Wine compiles and runs correctly) I see, then please always post the full set of options. r230176 & r230247 only free the frame pointer register for the register allocator with -fstack-check (this was done at the request of the Arch folks IIRC) so you can work around the failure by forcing it to be reserved again (-fno-omit-frame-pointer). I gather that this didn't work with 5.2, did it? If so, then the alignment stuff needs more work.
[Bug target/69124] [5/6 Regression] wrong code in thumb mode on arm-linux-gnueabihf
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69124 ktkachov at gcc dot gnu.org changed: What|Removed |Added CC||vmakarov at redhat dot com --- Comment #9 from ktkachov at gcc dot gnu.org --- So I did a bisection between 4.9 and 5. The offending commit is r217624: Author: vmakarov Date: Sun Nov 16 05:00:30 2014 + 2014-11-15 Vladimir Makarov * lra-remat.c (cand_transf_func): Process regno for rematerialization too. * lra.c (lra): Switch on rematerialization pass. i.e. when the LRA rematiralisation pass was turned on.
[Bug bootstrap/69123] [6 Regression] --with-build-config='bootstrap-O3 bootstrap-debug' miscompiled stage 2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69123 --- Comment #8 from H.J. Lu --- A small testcase: [hjl@gnu-mic-2 i386]$ cat /tmp/x.ii struct xxx_def; typedef xxx_def *xxx; union rtxxx { const char *rt_str; xxx rt_xxx; }; struct xxx_def { union u { rtxxx fld[1]; } u; }; extern xxx bar (void); extern int foo1 (xxx); static inline xxx foo2 (xxx arg0, xxx arg1) { xxx rt; rt = bar (); (((rt)->u.fld[0]).rt_xxx) = arg0; (((rt)->u.fld[1]).rt_xxx) = arg1; return rt; } static inline xxx foo4 (const char *arg0 ) { xxx rt; rt = bar (); (((rt)->u.fld[0]).rt_str) = arg0; (((rt)->u.fld[1]).rt_xxx) = (xxx) 0; return rt; } extern xxx foo5 (long); struct address_cost_data { unsigned costs[2][2][2][2]; }; void get_address_cost (address_cost_data *data) { unsigned acost; long i; long rat, off = 0; unsigned sym_p, var_p, off_p, rat_p; xxx addr, base; xxx reg0, reg1; reg1 = bar (); addr = foo2 (reg1, (xxx) 0); rat = 1; acost = 0; reg0 = bar (); reg1 = bar (); for (i = 0; i < 16; i++) { sym_p = i & 1; var_p = (i >> 1) & 1; off_p = (i >> 2) & 1; rat_p = (i >> 3) & 1; addr = reg0; if (rat_p) addr = foo2 (addr, foo5 (rat)) ; if (var_p) addr = foo2 (addr, reg1); if (sym_p) base = foo4 (""); else if (off_p) base = foo5 (off); else base = (xxx) 0; if (base) addr = foo2 (addr, base); acost = foo1 (addr); data->costs[sym_p][var_p][off_p][rat_p] = acost; } } [hjl@gnu-mic-2 i386]$ ./cc1plus -fpreprocessed /tmp/x.ii -quiet -dumpbase x.ii -mtune=generic -march=x86-64 -auxbase x -g -O3 -version -fno-rtti -fno-exceptions -o x.s
[Bug target/68770] [6 Regression] Conditional jump or move depends on uninitialised value(s) default_secondary_reload() targhooks.c:940
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68770 Marek Polacek changed: What|Removed |Added Status|NEW |RESOLVED CC||mpolacek at gcc dot gnu.org Resolution|--- |FIXED --- Comment #9 from Marek Polacek --- Fixed.
[Bug target/68770] [6 Regression] Conditional jump or move depends on uninitialised value(s) default_secondary_reload() targhooks.c:940
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68770 --- Comment #8 from Nick Clifton --- Patch applied. (Unfortunately I cannot close this BZ...)
[Bug target/69151] New: missing docs for H8/3000 monitor/OS_Task attributes and related breakage in -mexr/-mno-exr options
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69151 Bug ID: 69151 Summary: missing docs for H8/3000 monitor/OS_Task attributes and related breakage in -mexr/-mno-exr options Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: sandra at gcc dot gnu.org Target Milestone: --- In reviewing the current state of PR1078, I found that there is no documentation for the H8/3000 function attributes "monitor" and "OS_Task". The "monitor" attribute is mentioned in invoke.texi, though: @item -mexr @opindex mexr Extended registers are stored on stack before execution of function with monitor attribute. Default option is @option{-mexr}. This option is valid only for H8S targets. @item -mno-exr @opindex mno-exr Extended registers are not stored on stack before execution of function with monitor attribute. Default option is @option{-mno-exr}. This option is valid only for H8S targets. Besides needing markup fixes and copy-editing, this text is totally confusing: *both* of these behaviors cannot be the default. Trying to figure this out from the code, in "monitor_prologue" in h8300.md I see: ... else if (TARGET_H8300S && TARGET_NEXR ) return "mov.l\\ter0,@-er7\;stc\tccr,r0l\;mov.b\tr0l,@(4,er7)\;mov.l\\t@er7+,er0\;orc\t#128,ccr"; else if (TARGET_H8300S && TARGET_NEXR && TARGET_NORMAL_MODE) return "subs\\t#2,er7\;mov.l\\ter0,@-er7\;stc\tccr,r0l\;mov.b\tr0l,@(4,er7)\;mov.l\\t@er7+,er0\;orc\t#128,ccr"; ... The second clause is clearly dead code. I think there is a mistake in logic here, and that a target expert needs to figure out what the intended behavior is and correct both the implementation and documentation.
[Bug ipa/66223] [5/6 Regression] Diagnostic of pure virtual function call broken, including __cxa_pure_virtual
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66223 --- Comment #7 from Daniel Frey --- (In reply to Jakub Jelinek from comment #6) > The advantage of __builtin_unreachable () is that it allows better > optimizations, at the expense of the invalid code not being so nicely > reported. > With -fsanitize=undefined you get the undefined behavior reported, but with > information loss - it is reported as a call to __builtin_unreachable rather > than call to pure virtual method. > Perhaps as a compromise we could make sure __cxa_pure_virtual is called in > this case when -fsanitize=undefined (say in particular with > -fsanitize=unreachable) and let it be optimized to __builtin_unreachable > otherwise? I checked the Itanium ABI and I guess https://mentorembedded.github.io/cxx-abi/abi.html#pure-virtual is sufficiently loosely specified to allow __builtin_unreachable (or basically anything you like). Anyways, calling __builtin_unreachable did call the terminate-handler previously, it was able to print a backtrace and I even got a core dump. The current behavior makes it almost impossible to debug such a situation and I'm not sure why. No output, no hint, no core dump (when I registered my own terminate handler). Could this be fixed in some way?
[Bug target/69148] [5/6 Regression] ICE (floating point exception) on s390x-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69148 Jakub Jelinek changed: What|Removed |Added Target Milestone|--- |5.4 --- Comment #3 from Jakub Jelinek --- Ah, ok, I can confirm union U { int r; float f; }; struct A { double foo (double); void bar (int); int a; U b[64]; }; void A::bar (int x) { U y; y.f = foo (b[x].f); a = y.r ? 4 : y.r; } ICEs with -O -march=z196 -m64 on the trunk as well.
[Bug target/69148] [5/6 Regression] ICE (floating point exception) on s390x-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69148 --- Comment #4 from Jakub Jelinek --- And union U { int r; float f; }; struct A { int a; union U b[64]; }; double foo (double); void bar (struct A *z, int x) { union U y; y.f = foo (z->b[x].f); z->a = y.r ? 4 : y.r; } too (to make it C rather than C++).
[Bug tree-optimization/69108] [6 Regression] ICE in gather_scalar_reductions with -ftree-parallelize-loops=2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69108 vries at gcc dot gnu.org changed: What|Removed |Added Assignee|unassigned at gcc dot gnu.org |vries at gcc dot gnu.org Target Milestone|--- |6.0 Summary|ICE in |[6 Regression] ICE in |gather_scalar_reductions|gather_scalar_reductions |with|with |-ftree-parallelize-loops=2 |-ftree-parallelize-loops=2 --- Comment #1 from vries at gcc dot gnu.org --- Starts failing at r231162, but that looks like a trigger commit. The error occurs in double reduction handling code, so marking it 6 regression.
[Bug rtl-optimization/68651] [5/6 Regression][AArch64] Missing combination of shift-by-one with other arithmetic patterns with -mcpu=cortex-a53
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68651 ktkachov at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Known to work||6.0 Resolution|--- |FIXED --- Comment #3 from ktkachov at gcc dot gnu.org --- Fixed on trunk.