[Bug tree-optimization/64284] [5 Regression] ICE: Segmentation fault

2014-12-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64284

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Richard Biener rguenth at gcc dot gnu.org ---
Fixed.


[Bug tree-optimization/64284] [5 Regression] ICE: Segmentation fault

2014-12-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64284

--- Comment #5 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Mon Dec 15 08:19:55 2014
New Revision: 218733

URL: https://gcc.gnu.org/viewcvs?rev=218733root=gccview=rev
Log:
2014-12-15  Richard Biener  rguent...@suse.de

PR tree-optimization/64284
* tree-ssa-threadupdate.c (duplicate_seme_region): Mark
the loop for removal if we copied the loop header.

* gcc.dg/torture/pr64284.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/torture/pr64284.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-threadupdate.c


[Bug target/64310] New: libgcc2.c:2051:1: internal compiler error: in curr_insn_transform, at lra-constraints.c:3383

2014-12-15 Thread sebastian.hu...@embedded-brains.de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64310

Bug ID: 64310
   Summary: libgcc2.c:2051:1: internal compiler error: in
curr_insn_transform, at lra-constraints.c:3383
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: sebastian.hu...@embedded-brains.de

Building the arm-rtems target leads to this ICE:

/scratch/git-build/b-gcc-git-arm-rtems4.11/./gcc/xgcc
-B/scratch/git-build/b-gcc-git-arm-rtems4.11/./gcc/ -nostdinc
-B/scratch/git-build/b-gcc-git-arm-rtems4.11/arm-rtems4.11/newlib/ -isystem
/scratch/git-build/b-gcc-git-arm-rtems4.11/arm-rtems4.11/newlib/targ-include
-isystem /home/sh/archive/gcc-git/newlib/libc/include
-B/opt/rtems-4.11/arm-rtems4.11/bin/ -B/opt/rtems-4.11/arm-rtems4.11/lib/
-isystem /opt/rtems-4.11/arm-rtems4.11/include -isystem
/opt/rtems-4.11/arm-rtems4.11/sys-include-g -O2 -mthumb -march=armv7-r
-mfpu=vfpv3-d16 -mfloat-abi=hard -O2
-I/home/sh/archive/gcc-git/libgcc/../newlib/libc/sys/rtems/include -g -O2
-DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wno-narrowing -Wwrite-strings
-Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition 
-isystem ./include   -fno-inline -g -DIN_LIBGCC2 -fbuilding-libgcc
-fno-stack-protector -Dinhibit_libc  -fno-inline -I. -I.
-I../../../../../.././gcc -I/home/sh/archive/gcc-git/libgcc
-I/home/sh/archive/gcc-git/libgcc/. -I/home/sh/archive/gcc-git/libgcc/../gcc
-I/home/sh/archive/gcc-git/libgcc/../include  -DHAVE_CC_TLS  -o _divdc3.o -MT
_divdc3.o -MD -MP -MF _divdc3.dep -DL_divdc3 -c
/home/sh/archive/gcc-git/libgcc/libgcc2.c -fvisibility=hidden -DHIDE_EXPORTS
/home/sh/archive/gcc-git/libgcc/libgcc2.c: In function '__divdc3':
/home/sh/archive/gcc-git/libgcc/libgcc2.c:2051:1: error: unable to generate
reloads for:
 }
 ^
(insn 29 27 30 3 (set (reg/v:DF 120 [ denom ])
(plus:DF (mult:DF (reg/v:DF 191 [ c ])
(reg/v:DF 118 [ ratio ]))
(reg/v:DF 192 [ d ])))
/home/sh/archive/gcc-git/libgcc/libgcc2.c:2011 643 {*muldf3adddf_vfp}
 (nil))
/home/sh/archive/gcc-git/libgcc/libgcc2.c:2051:1: internal compiler error: in
curr_insn_transform, at lra-constraints.c:3383
0x8e9f85 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
/home/sh/archive/gcc-git/gcc/rtl-error.c:110
0x81c7b7 curr_insn_transform
/home/sh/archive/gcc-git/gcc/lra-constraints.c:3383
0x81d39e lra_constraints(bool)
/home/sh/archive/gcc-git/gcc/lra-constraints.c:4324
0x80dbf4 lra(_IO_FILE*)
/home/sh/archive/gcc-git/gcc/lra.c:2277
0x7cca89 do_reload
/home/sh/archive/gcc-git/gcc/ira.c:5391
0x7cca89 execute
/home/sh/archive/gcc-git/gcc/ira.c:5561
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See http://gcc.gnu.org/bugs.html for instructions.


[Bug middle-end/64246] [5 Regression] ICE building libada for Windows due to NULL loop header

2014-12-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64246

--- Comment #5 from Richard Biener rguenth at gcc dot gnu.org ---
We should make mark_loop_for_removal more robust then, I am testing

Index: gcc/cfgloop.c
===
--- gcc/cfgloop.c   (revision 218733)
+++ gcc/cfgloop.c   (working copy)
@@ -1928,9 +1928,10 @@ bb_loop_depth (const_basic_block bb)
 void
 mark_loop_for_removal (loop_p loop)
 {
+  if (loop-header == NULL)
+return;
   loop-former_header = loop-header;
   loop-header = NULL;
   loop-latch = NULL;
   loops_state_set (LOOPS_NEED_FIXUP);
 }

I suppose extracting a testcase for this is too hard?


[Bug rtl-optimization/64311] New: ICE: Max. number of generated reload insns per insn is achieved (90) with -fpic -march=corei7 for gcc.target/i386/avx512bw-vpbroadcast[bw]-1.c

2014-12-15 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64311

Bug ID: 64311
   Summary: ICE: Max. number of generated reload insns per insn is
achieved (90) with -fpic -march=corei7 for
gcc.target/i386/avx512bw-vpbroadcast[bw]-1.c
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ubizjak at gmail dot com

As seen in [1], reproducible on x86_64-linux with -mavx512bw -mavx512vl -O2
-fpic -m32 -march=corei7:

~/gcc-build/gcc/xgcc -B ~/gcc-build/gcc/ -mavx512bw -mavx512vl -O2 -fpic -m32
-march=corei7 -S avx512bw-vpbroadcastw-1.c  
avx512bw-vpbroadcastw-1.c: In function ‘avx512bw_test’:
avx512bw-vpbroadcastw-1.c:39:1: internal compiler error: Max. number of
generated reload insns per insn is achieved (90)

 }
 ^
0x9383d0 lra_constraints(bool)
../../gcc-svn/trunk/gcc/lra-constraints.c:4225
0x928301 lra(_IO_FILE*)
../../gcc-svn/trunk/gcc/lra.c:2277
0x8e6959 do_reload
../../gcc-svn/trunk/gcc/ira.c:5391
0x8e6959 execute
../../gcc-svn/trunk/gcc/ira.c:5561
Please submit a full bug report,

[1] https://gcc.gnu.org/ml/gcc-testresults/2014-12/msg01763.html

[Bug middle-end/64309] if (1 (1 n)) not simplified to if (n == 0)

2014-12-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64309

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||missed-optimization
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-12-15
  Component|rtl-optimization|middle-end
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
Confirmed.  Sth like

 (simplify
  (ne (bit_and (lshift integer_onep @0) integer_onep) integer_zerop)
  (eq @0 { build_zero_cst (TREE_TYPE (@0)); })

with eventually also covering if ((1  (1 n)) == 0) - if (n  1 == 0)

You can extend this to cover the other cases you mention.


[Bug rtl-optimization/64311] ICE: Max. number of generated reload insns per insn is achieved (90) with -fpic -march=corei7 for gcc.target/i386/avx512bw-vpbroadcast[bw]-1.c

2014-12-15 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64311

Uroš Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 CC||evstupac at gmail dot com,
   ||kyukhin at gcc dot gnu.org,
   ||tocarip at gcc dot gnu.org

--- Comment #1 from Uroš Bizjak ubizjak at gmail dot com ---
Add some CCs.

[Bug tree-optimization/64308] Missed optimization: 64-bit divide used when 32-bit divide would work

2014-12-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64308

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
Not sure if your analysis is correct, but value-range propagation computes

ret_4: VARYING
...
_12: [0, 4294967295]
_13: [0, 4294967295]
_14: [0, 18446744065119617025]
_15: [0, 4294967295]
_16: [0, +INF]

for

Folding statement: _12 = (long long unsigned int) ret_4;
Not folded
Folding statement: _13 = (long long unsigned int) b_1;
Not folded
Folding statement: _14 = _12 * _13;
Not folded
Folding statement: _15 = (long long unsigned int) m_6(D);
Not folded
Folding statement: _16 = _14 % _15;

so its analysis needs to be improved (didn't investigate exactly where it
fails, but IIRC modulo is not handled here because m may be zero).


[Bug ipa/64307] [5 Regression] ICE: verify_gimple failed: invalid argument to gimple call with -fPIC -fipa-icf

2014-12-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64307

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 CC||mliska at suse dot cz
   Target Milestone|--- |5.0
Summary|ICE: verify_gimple failed:  |[5 Regression] ICE:
   |invalid argument to gimple  |verify_gimple failed:
   |call with -fPIC -fipa-icf   |invalid argument to gimple
   ||call with -fPIC -fipa-icf


[Bug rtl-optimization/64300] [5 Regression] s390x, ICE, unable to generate reloads, in curr_insn_transform, at lra-constraints.c

2014-12-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64300

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||ra
 CC||vmakarov at gcc dot gnu.org
  Component|target  |rtl-optimization
   Target Milestone|--- |5.0
Summary|s390x, ICE, unable to   |[5 Regression] s390x, ICE,
   |generate reloads, in|unable to generate reloads,
   |curr_insn_transform, at |in curr_insn_transform, at
   |lra-constraints.c   |lra-constraints.c


[Bug ipa/64298] [5 Regression] ICE: Segmentation fault in get_binfo_at_offset at tree.c:11914

2014-12-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64298

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |5.0


[Bug tree-optimization/64295] [5 Regression] ICE: SIGSEGV (infinite recursion) with -frounding-math -funsafe-math-optimizations

2014-12-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64295

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
Mine.


[Bug tree-optimization/63551] [4.9/5 Regression] wrong code (segfaults) at -Os on x86_64-linux-gnu

2014-12-15 Thread jamborm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63551

--- Comment #12 from Martin Jambor jamborm at gcc dot gnu.org ---
(In reply to Jakub Jelinek from comment #11)
 The gcc.dg/ipa/pr63551.c test fails on the 4.9 branch on 32-bit
 targets (i386, arm, s390):
 gcc.dg/ipa/pr63551.c:24:9: warning: this decimal constant is unsigned only
 in ISO C90
 Seems the test is equally miscompiled before r218205 and works after
 the fix if 4294967286 is replaced with 4294967286U .  Are you ok
 with that change?

Of course.  Are you going to commit it?  If you want me to commit it,
I can certainly do it too, just let me know.


[Bug rtl-optimization/64291] [5 Regression] Miscompile t-div in GMP's testsuite

2014-12-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64291

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |5.0


[Bug middle-end/64246] [5 Regression] ICE building libada for Windows due to NULL loop header

2014-12-15 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64246

--- Comment #6 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
 I suppose extracting a testcase for this is too hard?

Do you mean a testcase like the one I attached on Friday?


[Bug rtl-optimization/64287] [5 Regression] Disable -fuse-caller-save when -pg is active

2014-12-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64287

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |5.0


[Bug target/64264] [5 Regression] s390 bootstrap fails in ada

2014-12-15 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64264

--- Comment #2 from rguenther at suse dot de rguenther at suse dot de ---
On Fri, 12 Dec 2014, ebotcazou at gcc dot gnu.org wrote:

 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64264
 
 Eric Botcazou ebotcazou at gcc dot gnu.org changed:
 
What|Removed |Added
 
  Status|UNCONFIRMED |WAITING
Last reconfirmed||2014-12-12
  CC||ebotcazou at gcc dot gnu.org
  Ever confirmed|0   |1
 
 --- Comment #1 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
 I cannot reproduce with a cross-compiler, does it also happen with the stage1
 compiler or the stage2 compiler?

I don't know - this error happens during all-stage3-gcc, thus it looks
like it might be a miscompile of stage2.


[Bug middle-end/64246] [5 Regression] ICE building libada for Windows due to NULL loop header

2014-12-15 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64246

--- Comment #7 from rguenther at suse dot de rguenther at suse dot de ---
On Mon, 15 Dec 2014, ebotcazou at gcc dot gnu.org wrote:

 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64246
 
 --- Comment #6 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
  I suppose extracting a testcase for this is too hard?
 
 Do you mean a testcase like the one I attached on Friday?

Yes, but in suitable form for gnat.dg (not sure how I can do
multi-file testcases there or which one would be the main one)


[Bug tree-optimization/64312] New: [5 Regression] ICE: Segmentation fault

2014-12-15 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64312

Bug ID: 64312
   Summary: [5 Regression] ICE: Segmentation fault
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: trippels at gcc dot gnu.org

Running the Boost testsuite on gcc20 shows:

trippels@gcc20 status % ~/gcc_test/usr/local/bin/g++ -w -save-temps
-ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -std=c++11
-march=native -DBOOST_ALL_NO_LIB=1 -DBOOST_TEST_NO_AUTO_LINK=1 -DNDEBUG -I..
-c -o
/home/trippels/results/boost/bin.v2/libs/numeric/odeint/test/adams_bashforth_moulton.test/gcc-5.0.0/release/link-static/pch-off/adams_bashforth_moulton.o
../libs/numeric/odeint/test/adams_bashforth_moulton.cpp   
../libs/numeric/odeint/test/adams_bashforth_moulton.cpp: In member function
‘void adams_bashforth_moulton_test::test_instantiation::test_method()’:
../libs/numeric/odeint/test/adams_bashforth_moulton.cpp:87:1536: internal
compiler error: Segmentation fault
0xc6892f crash_signal
../../gcc/gcc/toplev.c:358
0xd5ba94 gimple_code
../../gcc/gcc/gimple.h:1545
0xd5ba94 gimple_nop_p
../../gcc/gcc/gimple.h:5589
0xd5ba94 walk_non_aliased_vuses(ao_ref*, tree_node*, void* (*)(ao_ref*,
tree_node*, unsigned int, void*), void* (*)(ao_ref*, tree_node*, void*, bool),
tree_node* (*)(tree_node*), void*)
../../gcc/gcc/tree-ssa-alias.c:2675
0xdfb91c vn_reference_lookup(tree_node*, tree_node*, vn_lookup_kind,
vn_reference_s**)
../../gcc/gcc/tree-ssa-sccvn.c:2217
0xdd82f3 eliminate_dom_walker::before_dom_children(basic_block_def*)
../../gcc/gcc/tree-ssa-pre.c:4264
0x1213e17 dom_walker::walk(basic_block_def*)
../../gcc/gcc/domwalk.c:188
0xdd9a00 eliminate
../../gcc/gcc/tree-ssa-pre.c:4491
0xdd9c55 execute
../../gcc/gcc/tree-ssa-pre.c:4910
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See http://gcc.gnu.org/bugs.html for instructions.

Testcase is over 6MB. Reducing.

[Bug target/64254] [5 Regression] FAIL: c-c++-common/torture/vshuf-(v4si|v8hi).c -O* (internal compiler error) between r218540 and r218566.

2014-12-15 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64254

--- Comment #2 from Dominique d'Humieres dominiq at lps dot ens.fr ---
Let us track the gcc.target/i386/avx512bw-vpbroadcast[bw]-1.c failures in
pr64311.


[Bug rtl-optimization/64311] ICE: Max. number of generated reload insns per insn is achieved (90) with -fpic -march=corei7 for gcc.target/i386/avx512bw-vpbroadcast[bw]-1.c

2014-12-15 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64311

Dominique d'Humieres dominiq at lps dot ens.fr changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-12-15
 Ever confirmed|0   |1

--- Comment #2 from Dominique d'Humieres dominiq at lps dot ens.fr ---
I also see these failures on x86_64-apple-darwin14 (part of pr64254).


[Bug tree-optimization/64295] [5 Regression] ICE: SIGSEGV (infinite recursion) with -frounding-math -funsafe-math-optimizations

2014-12-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64295

--- Comment #3 from Richard Biener rguenth at gcc dot gnu.org ---
Ok, so we're folding g / 3 - g * (1 / 3) and then applyign the same transform
to 1 / 3 (because that's not constant folded with -frounding-math).  I believe
the option combination is a red herring, but ...

The original fold-const.c code only transformed this if 1 / 3 constant folded
but I used fold_binary in the pattern (because const_binop wasn't available
at the point of writing it).

Testing a patch.


[Bug middle-end/64246] [5 Regression] ICE building libada for Windows due to NULL loop header

2014-12-15 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64246

--- Comment #8 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
 Yes, but in suitable form for gnat.dg (not sure how I can do
 multi-file testcases there or which one would be the main one)

Most testcases are multi-file under gnat.dg...  I'm going to attach it.


[Bug middle-end/64246] [5 Regression] ICE building libada for Windows due to NULL loop header

2014-12-15 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64246

--- Comment #9 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
Created attachment 34282
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34282action=edit
Concatenated testcase for gnat.dg

To be gnatchop'ed and installed into the gnat.dg testsuite:

* gnat.dg/opt46.ad[sb]: New testcase.
* gnat.dg/opt46_pkg.ad[sb]: New helper.


[Bug sanitizer/64265] [5 Regression] r217669 broke tsan

2014-12-15 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64265

--- Comment #22 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Mon Dec 15 09:37:47 2014
New Revision: 218734

URL: https://gcc.gnu.org/viewcvs?rev=218734root=gccview=rev
Log:
PR sanitizer/64265
* tsan.c (instrument_func_entry): Insert __tsan_func_entry
call on edge from entry block to single succ instead
of after labels of single succ of entry block.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tsan.c


[Bug ipa/61283] [5 regression] SEGV in pass_ipa_comdats::execute

2014-12-15 Thread ro at CeBiTec dot Uni-Bielefeld.DE
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61283

--- Comment #7 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE ---
 --- Comment #6 from Jan Hubicka hubicka at gcc dot gnu.org ---
 The i386 testcase works for me now. It has static ctor that becomes pure so it
 ought to be duplicate of PR61324

Right: the testcase started to pass for me within the last week.

Thanks.
Rainer


[Bug libstdc++/64054] 27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc FAILs

2014-12-15 Thread ro at CeBiTec dot Uni-Bielefeld.DE
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64054

--- Comment #14 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE ---
 --- Comment #13 from Jonathan Wakely redi at gcc dot gnu.org ---
 Rainer, should we close this now?

I'd rather keep it open or mark it suspended as a reminder.

Rainer


[Bug sanitizer/64265] [5 Regression] r217669 broke tsan

2014-12-15 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64265

--- Comment #23 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Mon Dec 15 09:46:21 2014
New Revision: 218735

URL: https://gcc.gnu.org/viewcvs?rev=218735root=gccview=rev
Log:
PR sanitizer/64265
* tsan.c (instrument_func_entry): Insert __tsan_func_entry
call on edge from entry block to single succ instead
of after labels of single succ of entry block.

Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/tsan.c


[Bug sanitizer/64265] [5 Regression] r217669 broke tsan

2014-12-15 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64265

--- Comment #24 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Mon Dec 15 09:50:11 2014
New Revision: 218736

URL: https://gcc.gnu.org/viewcvs?rev=218736root=gccview=rev
Log:
PR sanitizer/64265
* tsan.c (instrument_func_entry): Insert __tsan_func_entry
call on edge from entry block to single succ instead
of after labels of single succ of entry block.

Modified:
branches/gcc-4_8-branch/gcc/ChangeLog
branches/gcc-4_8-branch/gcc/tsan.c


[Bug ipa/64307] [5 Regression] ICE: verify_gimple failed: invalid argument to gimple call with -fPIC -fipa-icf

2014-12-15 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64307

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-12-15
 CC||mpolacek at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org ---
Confirmed.


[Bug rtl-optimization/63259] Detecting byteswap sequence

2014-12-15 Thread thopre01 at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63259

--- Comment #10 from thopre01 at gcc dot gnu.org ---
(In reply to Oleg Endo from comment #9)
 (In reply to thopre01 from comment #7)
  
  Strange, could you show the output of -fdump-tree-bswap?
 
 Not so strange at all. 

What is strange is that it should detect such bswap pattern.

 After looking at the RTL dumps, I've noticed that
 the swap.b insn is generated by the combine pass.  I've got a few combine
 patterns for matching byte swaps on SH.  The pattern for swap.b doesn't
 combine well with other ops around/on it.  -fdump-tree-bswap says:
 
 ;; Function test_08 (test_08, funcdef_no=1, decl_uid=1333, cgraph_uid=1,
 symbol_order=1)
 
 test_08 (short unsigned int a, short unsigned int b)
 {
   short unsigned int _2;
   signed short _3;
   int _4;
   int _5;
   signed short _6;
   signed short _7;
   short unsigned int _8;
   short unsigned int _10;
 
   bb 2:
   _2 = a_1(D)  8;
   _3 = (signed short) _2;
   _4 = (int) a_1(D);
   _5 = _4  8;
   _6 = (signed short) _5;
   _7 = _3 | _6;
   _8 = (short unsigned int) _7;
   _10 = _8 + b_9(D);
   return _10;
 
 }

I have the same gimple and for me the bswap is correctly detected. Can you
break at find_bswap_or_nop just after calling find_bswap_or_nop_1 on the if
(!source_stmt) and show me the output of p/x n-n ?

 
 
   Byte swapping of signed short types seems to be not working:
   
   short test_func_111 (short a, short b, short c)
   {
 return (((a  0xFF00)  8) | ((a  0xFF)  8));
   }
   
   exts.w  r4,r4
   mov r4,r0
   shlr8   r0
   extu.b  r0,r0
   shll8   r4
   or  r0,r4
   rts
   exts.w  r4,r0
  
  That's expected. Think about what happens if a = 0x8001. Doing a right shift
  by 8 bit would give 0xFF80 (due to the most significant bit being 1). The
  right part of the bitwise OR would give 0x0100 as expected and the result
  would be 0xFF80, so not a byte swap. It would work with an int though as the
  highest bit would then be 0, or with unsigned short as a right shift would
  introduce 0 in the most significant bits.
 
 As Andreas mentioned, 'a' is promoted to int, so this should be a byte swap.

Indeed, my mistake. Ok I tested a bit and found that the problem is the depth
at which it's looking. Try to recompile tree-ssa-math-opts.c after increasing
the limit number in find_bswap_or_nop. Right now the limit will evaluate to 4
and the gimple I have has a depth of 5.


[Bug tree-optimization/64308] Missed optimization: 64-bit divide used when 32-bit divide would work

2014-12-15 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64308

--- Comment #2 from Marc Glisse glisse at gcc dot gnu.org ---
You would need symbolic ranges, b and ret are in [0,m-1]. And then you are
using that very specific x86 instruction that divides 64 bits by 32 bits but
only works if the result fits in 32 bits. It works here because (m-1)*(m-1)/mm
is small enough, but that's very hard for the compiler to prove, and I don't
know of another architecture with a similar instruction.

(Related: PR58897, PR53100)


[Bug fortran/63674] [F03] procedure pointer and non/pure procedure

2014-12-15 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63674

--- Comment #6 from janus at gcc dot gnu.org ---
Author: janus
Date: Mon Dec 15 10:34:46 2014
New Revision: 218738

URL: https://gcc.gnu.org/viewcvs?rev=218738root=gccview=rev
Log:
2014-12-15  Janus Weil  ja...@gcc.gnu.org

PR fortran/63674
* resolve.c (check_pure_function): Rewording in error message.


2014-12-15  Janus Weil  ja...@gcc.gnu.org

PR fortran/63674
* gfortran.dg/forall_5.f90: Modified error message.
* gfortran.dg/proc_ptr_comp_39.f90: Ditto.
* gfortran.dg/pure_dummy_length_1.f90: Ditto.
* gfortran.dg/stfunc_6.f90: Ditto.
* gfortran.dg/typebound_operator_4.f90: Ditto.

Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/forall_5.f90
trunk/gcc/testsuite/gfortran.dg/proc_ptr_comp_39.f90
trunk/gcc/testsuite/gfortran.dg/pure_dummy_length_1.f90
trunk/gcc/testsuite/gfortran.dg/stfunc_6.f90
trunk/gcc/testsuite/gfortran.dg/typebound_operator_4.f03


[Bug middle-end/58624] gcc internal compiler error: Segmentaion fault in insert_to_assembler_name_hash

2014-12-15 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58624

--- Comment #15 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Mon Dec 15 10:36:16 2014
New Revision: 218739

URL: https://gcc.gnu.org/viewcvs?rev=218739root=gccview=rev
Log:
PR middle-end/58624
Backported from mainline
2014-03-07  Jason Merrill  ja...@redhat.com

* g++.dg/plugin/plugin.exp (DEFAULT_CXXFLAGS): Remove -ansi.

Modified:
branches/gcc-4_8-branch/gcc/testsuite/ChangeLog
branches/gcc-4_8-branch/gcc/testsuite/g++.dg/plugin/plugin.exp


[Bug tree-optimization/63551] [4.9/5 Regression] wrong code (segfaults) at -Os on x86_64-linux-gnu

2014-12-15 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63551

--- Comment #13 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Mon Dec 15 10:44:53 2014
New Revision: 218740

URL: https://gcc.gnu.org/viewcvs?rev=218740root=gccview=rev
Log:
PR tree-optimization/63551
* gcc.dg/ipa/pr63551.c (fn2): Use 4294967286U instead of
4294967286 to avoid warnings.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/ipa/pr63551.c


[Bug libgcc/63832] [5.0 Regression] crtstuff.c:400:19: warning: array subscript is above array bounds [-Warray-bounds]

2014-12-15 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63832

--- Comment #5 from Uroš Bizjak ubizjak at gmail dot com ---
I'm testing following patch:

--cut here--
Index: crtstuff.c
===
--- crtstuff.c  (revision 218733)
+++ crtstuff.c  (working copy)
@@ -393,13 +393,11 @@ __do_global_dtors_aux (void)
 extern func_ptr __DTOR_END__[] __attribute__((visibility (hidden)));
 static size_t dtor_idx;
 const size_t max_idx = __DTOR_END__ - __DTOR_LIST__ - 1;
-func_ptr f;
+func_ptr *dtor_list;

+__asm ( : =g (dtor_list) : 0 (__DTOR_LIST__));
 while (dtor_idx  max_idx)
-  {
-   f = __DTOR_LIST__[++dtor_idx];
-   f ();
-  }
+  dtor_list[++dtor_idx] ();
   }
 #else /* !defined (FINI_ARRAY_SECTION_ASM_OP) */
   {
--cut here--

[Bug middle-end/58624] gcc internal compiler error: Segmentaion fault in insert_to_assembler_name_hash

2014-12-15 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58624

--- Comment #16 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Mon Dec 15 10:47:14 2014
New Revision: 218741

URL: https://gcc.gnu.org/viewcvs?rev=218741root=gccview=rev
Log:
PR middle-end/58624
Backported from mainline
2014-03-07  Jason Merrill  ja...@redhat.com

* g++.dg/plugin/plugin.exp (DEFAULT_CXXFLAGS): Remove -ansi.

Modified:
branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/ipa/pr63551.c


[Bug c++/61189] ICE with __builtin_return_address() in noexcept lambda on x86

2014-12-15 Thread ville.voutilainen at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61189

Ville Voutilainen ville.voutilainen at gmail dot com changed:

   What|Removed |Added

 CC||ktietz at gcc dot gnu.org,
   ||ville.voutilainen at gmail dot 
com

--- Comment #1 from Ville Voutilainen ville.voutilainen at gmail dot com ---
The problem doesn't seem to occur on Linux-x64. Kai, can you take a look?


[Bug target/64210] [5 Regression] FAIL: gcc.target/i386/avx512vl-(vmovdqa64|vpbroadcastd)-1.c ... with -fpic

2014-12-15 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64210

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Mon Dec 15 10:50:52 2014
New Revision: 218743

URL: https://gcc.gnu.org/viewcvs?rev=218743root=gccview=rev
Log:
PR target/64210
* gcc.target/i386/avx512f-broadcast-gpr-1.c: Use %(?:e|r\[0-9\]+d)
instead of %e in regexps trying to match 32-bit GPR.
* gcc.target/i386/avx512f-vpbroadcastd-1.c: Likewise.
* gcc.target/i386/avx512vl-vpbroadcastd-1.c: Likewise.
* gcc.target/i386/avx512vl-vmovdqa64-1.c: Restrict some
scan-assembler-times
lines to nonpic targets only.  Fix up \[^\n^x^y\] to \[^\nxy\].

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.target/i386/avx512f-broadcast-gpr-1.c
trunk/gcc/testsuite/gcc.target/i386/avx512f-vpbroadcastd-1.c
trunk/gcc/testsuite/gcc.target/i386/avx512vl-vmovdqa64-1.c
trunk/gcc/testsuite/gcc.target/i386/avx512vl-vpbroadcastd-1.c


[Bug target/64210] [5 Regression] FAIL: gcc.target/i386/avx512vl-(vmovdqa64|vpbroadcastd)-1.c ... with -fpic

2014-12-15 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64210

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org ---
Fixed.


[Bug fortran/61261] [OOP] Segfault on source-allocating polymorphic variables

2014-12-15 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61261

Paul Thomas pault at gcc dot gnu.org changed:

   What|Removed |Added

 CC||pault at gcc dot gnu.org

--- Comment #7 from Paul Thomas pault at gcc dot gnu.org ---
Dear All,

This is one and the same as the second part of PR55901 and of PR60255. In all
these cases, the unlimited polymorphic entity does not carry a string length
with it. Until this is fixed, there is no hope to have characters work properly
as targets/sources of unlimited polymorphic entities.

Cheers

Paul


[Bug target/64310] libgcc2.c:2051:1: internal compiler error: in curr_insn_transform, at lra-constraints.c:3383

2014-12-15 Thread bernd.edlinger at hotmail dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64310

Bernd Edlinger bernd.edlinger at hotmail dot de changed:

   What|Removed |Added

 CC||bernd.edlinger at hotmail dot 
de

--- Comment #1 from Bernd Edlinger bernd.edlinger at hotmail dot de ---
I have something similar with:
../gcc-5-20141214/configure --prefix=/home/ed/gnu/arm-linux-gnueabihf
--enable-languages=all,ada,go,obj-c++ --with-arch=armv7-a --with-tune=cortex-a9
--with-fpu=vfpv3-d16 --with-float=hard


../../../gcc-5-20141214/libgcc/libgcc2.c: In function '__subvdi3':
../../../gcc-5-20141214/libgcc/libgcc2.c:147:1: error: unable to generate
reloads for:
 }
 ^
(insn 7 3 8 2 (parallel [
(set (reg/v:DI 114 [ w ])
(minus:DI (reg/v:DI 116 [ a ])
(reg/v:DI 117 [ b ])))
(clobber (reg:CC 100 cc))
]) ../../../gcc-5-20141214/libgcc/libgcc2.c:141 27 {*arm_subdi3}
 (expr_list:REG_UNUSED (reg:CC 100 cc)
(nil)))
../../../gcc-5-20141214/libgcc/libgcc2.c:147:1: internal compiler error: in
curr_insn_transform, at lra-constraints.c:3383
0x9a55ef _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
../../gcc-5-20141214/gcc/rtl-error.c:110
0x85ebaf curr_insn_transform
../../gcc-5-20141214/gcc/lra-constraints.c:3383
0x8620ff lra_constraints(bool)
../../gcc-5-20141214/gcc/lra-constraints.c:4324
0x848cfb lra(_IO_FILE*)
../../gcc-5-20141214/gcc/lra.c:2277
0x7e4127 do_reload
../../gcc-5-20141214/gcc/ira.c:5391
0x7e466f execute
../../gcc-5-20141214/gcc/ira.c:5561
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See http://gcc.gnu.org/bugs.html for instructions.


[Bug middle-end/64309] if (1 (1 n)) not simplified to if (n == 0)

2014-12-15 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64309

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 CC||mpolacek at gcc dot gnu.org

--- Comment #2 from Marek Polacek mpolacek at gcc dot gnu.org ---
Surely can we transform if ((3  0)  (3  n)) - if (n == 0)?  For n == 1
that is true as well.


[Bug fortran/64290] [F03] No finalization at deallocation of LHS

2014-12-15 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64290

janus at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||wrong-code
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-12-15
 CC||janus at gcc dot gnu.org
 Depends on||37336
Summary|Destructor not called at|[F03] No finalization at
   |deallocation of LHS |deallocation of LHS
 Ever confirmed|0   |1

--- Comment #1 from janus at gcc dot gnu.org ---
Confirmed. See also PR 37336 comment 27.


[Bug fortran/37336] [F03] Finish derived-type finalization

2014-12-15 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=37336

--- Comment #28 from janus at gcc dot gnu.org ---
(In reply to janus from comment #27)
 Currently missing are:
 
 a) Finalization of the LHS during intrinsic assignment:

aka PR 64290


[Bug middle-end/64292] [5.0 regression] FAIL: g++.dg/torture/pr60474.C -O1 (internal compiler error)

2014-12-15 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64292

--- Comment #2 from Marek Polacek mpolacek at gcc dot gnu.org ---
Author: mpolacek
Date: Mon Dec 15 12:15:14 2014
New Revision: 218745

URL: https://gcc.gnu.org/viewcvs?rev=218745root=gccview=rev
Log:
PR middle-end/64292
* fold-const.c (negate_expr_p): Add INTEGRAL_TYPE_P check.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/fold-const.c


[Bug middle-end/64292] [5.0 regression] FAIL: g++.dg/torture/pr60474.C -O1 (internal compiler error)

2014-12-15 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64292

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #3 from Marek Polacek mpolacek at gcc dot gnu.org ---
Should be fixed.


[Bug middle-end/64246] [5 Regression] ICE building libada for Windows due to NULL loop header

2014-12-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64246

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #10 from Richard Biener rguenth at gcc dot gnu.org ---
(In reply to Eric Botcazou from comment #9)
 Created attachment 34282 [details]
 Concatenated testcase for gnat.dg
 
 To be gnatchop'ed and installed into the gnat.dg testsuite:
 
 * gnat.dg/opt46.ad[sb]: New testcase.
 * gnat.dg/opt46_pkg.ad[sb]: New helper.

Thanks - fixed.


[Bug middle-end/64246] [5 Regression] ICE building libada for Windows due to NULL loop header

2014-12-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64246

--- Comment #11 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Mon Dec 15 12:20:10 2014
New Revision: 218746

URL: https://gcc.gnu.org/viewcvs?rev=218746root=gccview=rev
Log:
2014-12-15  Richard Biener  rguent...@suse.de

PR middle-end/64246
* cfgloop.c (mark_loop_for_removal): Make safe against multiple
invocations on the same loop.

* gnat.dg/opt46.adb: New testcase.
* gnat.dg/opt46.ads: Likewise.
* gnat.dg/opt46_pkg.adb: Likewise.
* gnat.dg/opt46_pkg.ads: Likewise.

Added:
trunk/gcc/testsuite/gnat.dg/opt46.adb
trunk/gcc/testsuite/gnat.dg/opt46.ads
trunk/gcc/testsuite/gnat.dg/opt46_pkg.adb
trunk/gcc/testsuite/gnat.dg/opt46_pkg.ads
Modified:
trunk/gcc/ChangeLog
trunk/gcc/cfgloop.c
trunk/gcc/testsuite/ChangeLog


[Bug tree-optimization/64312] [5 Regression] ICE: Segmentation fault

2014-12-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64312

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |5.0


[Bug tree-optimization/64295] [5 Regression] ICE: SIGSEGV (infinite recursion) with -frounding-math -funsafe-math-optimizations

2014-12-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64295

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Richard Biener rguenth at gcc dot gnu.org ---
Fixed.


[Bug tree-optimization/64295] [5 Regression] ICE: SIGSEGV (infinite recursion) with -frounding-math -funsafe-math-optimizations

2014-12-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64295

--- Comment #5 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Mon Dec 15 13:01:47 2014
New Revision: 218748

URL: https://gcc.gnu.org/viewcvs?rev=218748root=gccview=rev
Log:
2014-12-15  Richard Biener  rguent...@suse.de

PR middle-end/64295
* match.pd (X / CST - X * (1 / CST): Use const_binop instead of
fold_binary to compute the constant to multiply with.

* gcc.dg/pr64295.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/pr64295.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/match.pd
trunk/gcc/testsuite/ChangeLog


[Bug middle-end/64313] New: [5 Regression] gcc.dg/torture/builtin-explog-1.c fails on bare-metal targets

2014-12-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64313

Bug ID: 64313
   Summary: [5 Regression] gcc.dg/torture/builtin-explog-1.c fails
on bare-metal targets
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
  Assignee: unassigned at gcc dot gnu.org
  Reporter: rguenth at gcc dot gnu.org

According to comment #23 in PR14541 the testcase now FAILs on trunk after
r218308.
This is probably related to
https://gcc.gnu.org/ml/gcc-patches/2014-12/msg00357.html


[Bug middle-end/64313] [5 Regression] gcc.dg/torture/builtin-explog-1.c fails on bare-metal targets

2014-12-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64313

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2014-12-15
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org
   Target Milestone|--- |5.0
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
Mine.


[Bug tree-optimization/14541] [tree-ssa] built-in math functions are not fully optimized at tree level

2014-12-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=14541

--- Comment #24 from Richard Biener rguenth at gcc dot gnu.org ---
(In reply to ktkachov from comment #23)
 (In reply to Richard Biener from comment #22)
  (In reply to ktkachov from comment #21)
   Created attachment 34215 [details]
   Link errors output for aarch64
   
Which one exactly?  That is, what is the failing link output?
   
   All of them AFAICS. I'm attaching the link failures log.
   
   The test PASSes at -O2 -flto and -O2 -flto -flto-partition=none
   
   but FAILs on all other torture options
  
  With a cross to aarch64-linux and compiling with -O1+ -ffast-math the
  result is as expected (optimized to empty functions).  How exactly
  do you configure?  I used
  
  /space/rguenther/src/svn/trunk2/configure --target=aarch64-suse-linux
  --enable-languages=c,c++,fortran --enable-checking
 
 Hmmm... My compiler is a bare-metal one: aarch64-none-elf (and I still see
 these failures).
 
 With an aarch64-none-linux-gnu compiler the testcase works fine...

I have opened PR64313 for this regression.


[Bug middle-end/64309] if (1 (1 n)) not simplified to if (n == 0)

2014-12-15 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64309

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |mpolacek at gcc dot 
gnu.org
   Target Milestone|--- |5.0

--- Comment #3 from Marek Polacek mpolacek at gcc dot gnu.org ---
Let me try sth.


[Bug fortran/64244] [4.8/4.9/5 Regression] ICE at class.c:236 when using non_overridable

2014-12-15 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64244

janus at gcc dot gnu.org changed:

   What|Removed |Added

  Known to work||4.6.4
  Known to fail||4.7.4, 4.8.3, 4.9.1

--- Comment #2 from janus at gcc dot gnu.org ---
(In reply to Ondřej Čertík from comment #0)
 This test file (also attached) produces ICE:

The attachment is missing the non_overridable attribute. The same backtrace
also appears on trunk.

[Bug c++/64314] New: [5 Regression] ICE in record_reference, at cgraphbuild.c:87

2014-12-15 Thread larsbj at gullik dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64314

Bug ID: 64314
   Summary: [5 Regression] ICE in record_reference,  at
cgraphbuild.c:87
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: larsbj at gullik dot net

Compiling this:

#include string
enum profile_type {};
struct A {
  std::string value;
};
struct {
  profile_type type;
  A strategies[1];
} a{};


with:

g++ -std=gnu++1 -c
(g++ (GCC) 5.0.0 20141215 (experimental) as of r218745)

Results in:

cc1plus: internal compiler error: in record_reference, at cgraphbuild.c:87
0x768273 record_reference
../../gcc/gcc/cgraphbuild.c:87
0xc2dda3 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_settree_node*, default_hashset_traits*, tree_node*
(*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*,
hash_settree_node*, default_hashset_traits*))
../../gcc/gcc/tree.c:11022
0xc2e105 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_settree_node*, default_hashset_traits*, tree_node*
(*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*,
hash_settree_node*, default_hashset_traits*))
../../gcc/gcc/tree.c:11219
0xc2e0a5 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_settree_node*, default_hashset_traits*, tree_node*
(*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*,
hash_settree_node*, default_hashset_traits*))
../../gcc/gcc/tree.c:11099
0xc2e0a5 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_settree_node*, default_hashset_traits*, tree_node*
(*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*,
hash_settree_node*, default_hashset_traits*))
../../gcc/gcc/tree.c:11099
0xc2e0a5 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_settree_node*, default_hashset_traits*, tree_node*
(*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*,
hash_settree_node*, default_hashset_traits*))
../../gcc/gcc/tree.c:11099
0x768461 record_references_in_initializer(tree_node*, bool)
../../gcc/gcc/cgraphbuild.c:426
0xc5aede varpool_node::analyze()
../../gcc/gcc/varpool.c:534
0x76c60a analyze_functions
../../gcc/gcc/cgraphunit.c:1048
0x76ca65 symbol_table::finalize_compilation_unit()
../../gcc/gcc/cgraphunit.c:2351
0x61102b cp_write_global_declarations()
../../gcc/gcc/cp/decl2.c:4688


Might be releated to bug 50410 and/or bug 57197


[Bug middle-end/64313] [5 Regression] gcc.dg/torture/builtin-explog-1.c fails on bare-metal targets

2014-12-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64313

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jsm28 at gcc dot gnu.org

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
For aarch64-elf ordinary builtins declared as DEF_LIB_BUILTIN are implicitely
available but for example expf is not as the target computes
targetm.libc_has_function (function_c99_misc) as false.  This is because of

config/elfos.h:#undef TARGET_LIBC_HAS_FUNCTION
config/elfos.h:#define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function

One solution is to properly guard the testcase with c99_runtime (even GNU
runtime, as it uses exp10/log10/pow10).  But it expects all tests to be
folded away which means that builtins need to be recognized (which they
are because they match their prototype - sth that is not enough according
to Joseph).

IMHO even if system headers declare such prototype we can't be sure they
are really the correct function (system headers include non-C-library runtime
headers).  To be sure we'd need to know the names are really reserved which
for example for exp10 is if _GNU_SOURCE is defined at the point of
prototyping exp10.  Not sure if what libcpp provides for this is convenient
(there are some related callbacks to track what is defined / undefined),
but whatever we do it should also work for -save-temps which means we need
to make sure to emit the #defines to the preprocessed source as well and
_not_ use -fpreprocessed(?).

The pragmatic solution is to make builtins implicitely available once they
are seen in the instruction stream, for example during gimplification.

A more complex solution is to turn genmatch upside-down and make it clever,
similar to how fold_builtin_logarithm gets around this - re-use the decl
we get in the matching IL.  Note that this isn't easily possible with low
overhead (well, maybe making code_helper a bit heavier weight and pass
tree_code or builtin decl around).

I'm leaning towards either reverting the single builtin patch for GCC 5
or implementing the pragmatic solution.


[Bug ipa/64314] [5 Regression] ICE in record_reference, at cgraphbuild.c:87

2014-12-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64314

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P1
 CC||hubicka at gcc dot gnu.org
  Component|c++ |ipa
   Target Milestone|--- |5.0


[Bug libstdc++/64315] New: num_put misbehaves if the C library doesn't support floats

2014-12-15 Thread ville.voutilainen at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64315

Bug ID: 64315
   Summary: num_put misbehaves if the C library doesn't support
floats
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: libstdc++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ville.voutilainen at gmail dot com

In num_put::_M_insert_float, __convert_from_v can fail, leading into a __widen
being called with a negative size. This may happen with a C library that has a
sprintf that refuses to support floats and returns -1 when a float is used with
it.


[Bug libstdc++/64315] num_put misbehaves if the C library doesn't support floats

2014-12-15 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64315

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-12-15
 Ever confirmed|0   |1

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org ---
If we can handle this without penalising the common case it would be nice to
fail politely, rather than crash in flames.


[Bug fortran/64244] [4.8/4.9/5 Regression] ICE at class.c:236 when using non_overridable

2014-12-15 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64244

--- Comment #3 from janus at gcc dot gnu.org ---
(In reply to Dominique d'Humieres from comment #1)
 Likely r181107 for pr50919.

Yes, this commit (authored by myself) is definitely the culprit here.

The nontriviality in the given test case is that we have to deal with a generic
type-bound call, which is being resolved to a non-overridable type-bound call.

'resolve_typebound_generic_call' should probably communicate to its caller that
the specific procedure it found is not overridable.


[Bug c++/58796] throw nullptr not caught by catch(type*)

2014-12-15 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58796

--- Comment #4 from Jonathan Wakely redi at gcc dot gnu.org ---
However with that patch the caught pointer is not null, so it's not right.


[Bug tree-optimization/64312] [5 Regression] ICE: Segmentation fault

2014-12-15 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64312

--- Comment #1 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
Created attachment 34283
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34283action=edit
reduced testcase

markus@x4 tmp % g++ -w -O2 -std=c++11 type_erased_mix_values.ii
type_erased_mix_values.ii: In function ‘void mix_values_impl() [with
template-parameter-1-1 = int; template-parameter-1-2 = int;
template-parameter-1-3 = int; template-parameter-1-4 = int;
template-parameter-1-5 = int; TargetReference = int]’:
type_erased_mix_values.ii:105:1: internal compiler error: Segmentation fault
 mix_values_impl ()
 ^
0xc6887f crash_signal
../../gcc/gcc/toplev.c:358
0xd5b8a4 gimple_code
../../gcc/gcc/gimple.h:1545
0xd5b8a4 gimple_nop_p
../../gcc/gcc/gimple.h:5589
0xd5b8a4 walk_non_aliased_vuses(ao_ref*, tree_node*, void* (*)(ao_ref*,
tree_node*, unsigned int, void*), void* (*)(ao_ref*, tree_node*, void*, bool),
tree_node* (*)(tree_node*), void*)
../../gcc/gcc/tree-ssa-alias.c:2675
0xdfb76c vn_reference_lookup(tree_node*, tree_node*, vn_lookup_kind,
vn_reference_s**)
../../gcc/gcc/tree-ssa-sccvn.c:2217
0xdd8143 eliminate_dom_walker::before_dom_children(basic_block_def*)
../../gcc/gcc/tree-ssa-pre.c:4264
0x12140c7 dom_walker::walk(basic_block_def*)
../../gcc/gcc/domwalk.c:188
0xdd9850 eliminate
../../gcc/gcc/tree-ssa-pre.c:4491
0xdd9aa5 execute
../../gcc/gcc/tree-ssa-pre.c:4910
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See http://gcc.gnu.org/bugs.html for instructions.

[Bug tree-optimization/64312] [5 Regression] ICE: Segmentation fault

2014-12-15 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64312

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-12-15
 CC||mpolacek at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #2 from Marek Polacek mpolacek at gcc dot gnu.org ---
Confirmed.


[Bug bootstrap/61524] [5 Regression] cgraph visibility aix bootstrap failure

2014-12-15 Thread dje at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61524

David Edelsohn dje at gcc dot gnu.org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from David Edelsohn dje at gcc dot gnu.org ---
Fixed.


[Bug c++/58192] G++ emits incorrect code when passing enum classes as function parameters

2014-12-15 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58192

Uroš Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 CC|uros at gcc dot gnu.org|hjl.tools at gmail dot 
com,
   ||ubizjak at gmail dot com

--- Comment #11 from Uroš Bizjak ubizjak at gmail dot com ---
Does this still fail after r218720, AKA PR64037 [1]?

[1] https://gcc.gnu.org/ml/gcc-patches/2014-12/msg01183.html

[Bug tree-optimization/64312] [5 Regression] ICE: Segmentation fault

2014-12-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64312

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org

--- Comment #3 from Richard Biener rguenth at gcc dot gnu.org ---
Mine.


[Bug rtl-optimization/64316] New: [5 Regression] ICE in simplify_const_unary_operation after r218503

2014-12-15 Thread izamyatin at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64316

Bug ID: 64316
   Summary: [5 Regression] ICE in simplify_const_unary_operation
after r218503
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: izamyatin at gmail dot com
Target: x86

Created attachment 34284
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34284action=edit
Reproducer

For the attached reproducer compiled with -O3 -march=core-avx2 there is:

internal compiler error: in simplify_const_unary_operation, at
simplify-rtx.c:1676
 }
 ^ 
0xbd8b9b simplify_const_unary_operation(rtx_code, machine_mode, rtx_def*,
machine_mode)
../../gcc/simplify-rtx.c:1676
0xbd6045 simplify_unary_operation(rtx_code, machine_mode, rtx_def*,
machine_mode)
../../gcc/simplify-rtx.c:822
0xbd4f75 simplify_gen_unary(rtx_code, machine_mode, rtx_def*, machine_mode)
../../gcc/simplify-rtx.c:395
0x136761f if_then_else_cond
../../gcc/combine.c:8748
0x135e155 combine_simplify_rtx
../../gcc/combine.c:5394
0x135dea3 subst
../../gcc/combine.c:5331
0x135dca2 subst
../../gcc/combine.c:5276
0x135dca2 subst
../../gcc/combine.c:5276
0x1357a53 try_combine
../../gcc/combine.c:3250
0x1352ba8 combine_instructions
../../gcc/combine.c:1301
0x13740c3 rest_of_handle_combine
../../gcc/combine.c:14052
0x137416a execute
../../gcc/combine.c:14095
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See http://gcc.gnu.org/bugs.html for instructions.


This actually leads to miscompilation of spec2006/403.gcc with -march=core-avx2


[Bug tree-optimization/64312] [5 Regression] ICE: Segmentation fault

2014-12-15 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64312

--- Comment #4 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
Started with r218515.


[Bug c++/58192] G++ emits incorrect code when passing enum classes as function parameters

2014-12-15 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58192

--- Comment #12 from H.J. Lu hjl.tools at gmail dot com ---
(In reply to Uroš Bizjak from comment #11)
 Does this still fail after r218720, AKA  [1]?
 
 [1] https://gcc.gnu.org/ml/gcc-patches/2014-12/msg01183.html

I think it is a dup of PR64037.

[Bug target/63594] [5 Regression] ICE: in ix86_vector_duplicate_value, at config/i386/i386.c:39831 with -mavx512f

2014-12-15 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63594

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #15 from Jakub Jelinek jakub at gcc dot gnu.org ---
Fixed.


[Bug rtl-optimization/64317] New: [5 Regression] Ineffective allocation of PIC base register

2014-12-15 Thread izamyatin at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64317

Bug ID: 64317
   Summary: [5 Regression] Ineffective allocation of PIC base
register
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: izamyatin at gmail dot com
CC: vmakarov at redhat dot com
Target: i686

Created attachment 34285
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34285action=edit
Reproducer

For the attached test compiled with -O2  -m32 -fPIE -pie  after r218059 we
generate 

call__x86.get_pc_thunk.ax
addl$_GLOBAL_OFFSET_TABLE_, %eax
subl$28, %esp
.cfi_def_cfa_offset 48
movl48(%esp), %edi
movl%eax, 12(%esp)--- PIC reg spill
testl%edi, %edi
je.L8
movl12(%esp), %eax--- PIC reg fill
xorl%esi, %esi
movlc@GOT(%eax), %ebp
.p2align 4,,10
.p2align 3
.L4:
movl12(%esp), %ebx--- PIC reg fill
addl$1, %esi
callbar@PLT

while for r218058 there is no spill and only reg-reg fill:

call__x86.get_pc_thunk.di
addl$_GLOBAL_OFFSET_TABLE_, %edi
subl$12, %esp
.cfi_def_cfa_offset 32
movl32(%esp), %eax
testl%eax, %eax
je.L8
movlc@GOT(%edi), %ebp
xorl%esi, %esi
.p2align 4,,10
.p2align 3
.L4:
movl%edi, %ebx
addl$1, %esi
callbar@PLT


[Bug rtl-optimization/64317] [5 Regression] Ineffective allocation of PIC base register

2014-12-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64317

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||missed-optimization
   Target Milestone|--- |5.0


[Bug rtl-optimization/64316] [5 Regression] ICE in simplify_const_unary_operation after r218503

2014-12-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64316

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |5.0


[Bug c++/54890] [DR 1982] Incorrect SFINAE Rejection

2014-12-15 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54890

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |INVALID
Summary|Incorrect SFINAE Rejection  |[DR 1982] Incorrect SFINAE
   ||Rejection

--- Comment #10 from Jason Merrill jason at gcc dot gnu.org ---
This is 

http://www.open-std.org/JTC1/SC22/WG21/docs/cwg_toc.html#1982

which was closed at the Urbana meeting.


[Bug c++/60511] [C++1y][N3652] Missing extended constexpr function support

2014-12-15 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60511

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||jason at gcc dot gnu.org
 Resolution|--- |FIXED
   Target Milestone|--- |5.0

--- Comment #2 from Jason Merrill jason at gcc dot gnu.org ---
Implemented for GCC 5.


[Bug rtl-optimization/64316] [5 Regression] ICE in simplify_const_unary_operation after r218503

2014-12-15 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64316

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-12-15
 CC||jakub at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org ---
Started with r218503.


[Bug fortran/64244] [4.8/4.9/5 Regression] ICE at class.c:236 when using non_overridable

2014-12-15 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64244

janus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |janus at gcc dot gnu.org

--- Comment #4 from janus at gcc dot gnu.org ---
(In reply to janus from comment #3)
 'resolve_typebound_generic_call' should probably communicate to its caller
 that the specific procedure it found is not overridable.

It turns out that resolve_typebound_generic_call actually does update this
information in the gfc_expr, but then resolve_typebound_call needs to pass it
outside, before it transforms the whole thing into an EXEC_CALL.

Here is a draft patch which does this (making the ICE disappear):

Index: gcc/fortran/resolve.c
===
--- gcc/fortran/resolve.c(Revision 218748)
+++ gcc/fortran/resolve.c(Arbeitskopie)
@@ -5667,7 +5667,7 @@ success:
 /* Resolve a call to a type-bound subroutine.  */

 static bool
-resolve_typebound_call (gfc_code* c, const char **name)
+resolve_typebound_call (gfc_code* c, const char **name, bool *overridable)
 {
   gfc_actual_arglist* newactual;
   gfc_symtree* target;
@@ -5691,6 +5691,10 @@ static bool
   if (!resolve_typebound_generic_call (c-expr1, name))
 return false;

+  /* Pass along the NON_OVERRIDABLE attribute of the specific TBP. */
+  if (overridable)
+*overridable = !c-expr1-value.compcall.tbp-non_overridable;
+
   /* Transform into an ordinary EXEC_CALL for now.  */

   if (!resolve_typebound_static (c-expr1, target, newactual))
@@ -5950,7 +5954,7 @@ resolve_typebound_subroutine (gfc_code *code)
   if (c-ts.u.derived == NULL)
 c-ts.u.derived = gfc_find_derived_vtab (declared);

-  if (!resolve_typebound_call (code, name))
+  if (!resolve_typebound_call (code, name, NULL))
 return false;

   /* Use the generic name if it is there.  */
@@ -5982,7 +5986,7 @@ resolve_typebound_subroutine (gfc_code *code)
 }

   if (st == NULL)
-return resolve_typebound_call (code, NULL);
+return resolve_typebound_call (code, NULL, NULL);

   if (!resolve_ref (code-expr1))
 return false;
@@ -5995,10 +5999,10 @@ resolve_typebound_subroutine (gfc_code *code)
  || (!class_ref  st-n.sym-ts.type != BT_CLASS))
 {
   gfc_free_ref_list (new_ref);
-  return resolve_typebound_call (code, NULL);
+  return resolve_typebound_call (code, NULL, NULL);
 }

-  if (!resolve_typebound_call (code, name))
+  if (!resolve_typebound_call (code, name, overridable))
 {
   gfc_free_ref_list (new_ref);
   return false;


[Bug rtl-optimization/64316] [5 Regression] ICE in simplify_const_unary_operation after r218503

2014-12-15 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64316

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org ---
Created attachment 34286
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34286action=edit
gcc5-pr64316.patch

Untested fix.


[Bug target/64231] [5 Regression] SIGSEGV building glibc on aarch64-linux-gnu from r217852

2014-12-15 Thread belagod at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64231

--- Comment #8 from Tejas Belagod belagod at gcc dot gnu.org ---
Hi Sandra, I'm unable to reproduce this SEGV with a x-build of
aarch64-linux-gcc/native gcc with -O2 on the attached prepocessed test case.
Are there any other options I'm missing?


[Bug fortran/64244] [4.8/4.9/5 Regression] ICE at class.c:236 when using non_overridable

2014-12-15 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64244

--- Comment #5 from janus at gcc dot gnu.org ---
(In reply to janus from comment #4)
 Here is a draft patch which does this (making the ICE disappear):

Regtests cleanly.


[Bug c++/64297] [5 Regression] ICE: canonical types differ for identical types

2014-12-15 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64297

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-12-15
 CC||jakub at gcc dot gnu.org,
   ||jason at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org ---
Reduced testcase for -std=c++11:

namespace std {
template typename _Tp, _Tp struct integral_constant {
  static constexpr _Tp value = 0;
  typedef integral_constant type;
};
typedef integral_constantint, 0 false_type;
template int using __bool_constant = integral_constantint, 0;
template typename... struct __and_;
struct B;
template typename struct is_function;
template typename struct C;
template typename _Tp, typename _Cp
struct C_Tp _Cp::* : integral_constantint, is_function_Tp::value {};
template typename _Tp struct G : C_Tp::type {};
template typename struct is_function : false_type {};
template typename _Res, typename... _ArgTypes
struct is_function_Res(_ArgTypes...) const ;
template typename _Tp _Tp declval();
template typename... using _Require = int;
template typename class D;
template typename... _Types
struct H : integral_constantint, sizeof...(_Types) {};
template typename struct F;
template typename... _ArgTypes struct _Mem_fn_traits_base {
  using __result_type = int;
  using __arg_types = H_ArgTypes...;
};
template typename _Res, typename _Class, typename... _ArgTypes
struct F_Res (_Class::*)(_ArgTypes...) const : _Mem_fn_traits_base
 _ArgTypes... {
  using __lvalue = integral_constantint, 0;
};
template typename _MemFunPtr, int = G_MemFunPtr::value class _Mem_fn_base {
  using _Traits = F_MemFunPtr;
  using _ArgTypes = typename _Traits::__arg_types;
  template typename _Args
  using _CheckArgs = __bool_constant_Args::value = _ArgTypes::value;

public:
  using result_type = typename _Traits::__result_type;
  template typename... _Args, typename = _Requiretypename _Traits::__lvalue,
   _CheckArgsH_Args...   
  void operator()(...);
};
template typename _Res, typename _Class
struct D_Res _Class::* : _Mem_fn_base_Res _Class::* {};
template typename _Member, typename _Class
D_Member _Class::* __callable_functor(_Member _Class::*);
template typename class function;
template typename, typename using __check_func_return_type = int;
template typename _Res, typename... _ArgTypes
class function_Res(_ArgTypes...) {
  template typename _Functor
  using _Invoke = decltype(__callable_functor(std::declval_Functor ())(
  std::declval_ArgTypes...));
  template typename using _NotSelf = B;
  template typename _Functor
  using _Callable = __and__NotSelf_Functor,
   __check_func_return_type_Invoke_Functor, _Res ;
  template typename, typename using _Requires = int;
  template typename _Functor, typename = _Requires_Callable_Functor, void

  function(_Functor);
};
struct A {
  typedef bool X;
  template int X foo() const;
};
std::functionint() b(A::foo0);

This used to be rejected, but didn't ICE, still in r217241, and ICEs with
r217250, so almost certainly it is r217250 that changed it.


[Bug c++/58192] G++ emits incorrect code when passing enum classes as function parameters

2014-12-15 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58192

H.J. Lu hjl.tools at gmail dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #13 from H.J. Lu hjl.tools at gmail dot com ---
Dup of PR 64037.  Will be fixed after 4.8.4 is released.

*** This bug has been marked as a duplicate of bug 64037 ***


[Bug rtl-optimization/64037] [4.8/4.9/5 Regression] Miscompilation with -Os and enum class : char parameter

2014-12-15 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64037

H.J. Lu hjl.tools at gmail dot com changed:

   What|Removed |Added

 CC||temporal at gmail dot com

--- Comment #26 from H.J. Lu hjl.tools at gmail dot com ---
*** Bug 58192 has been marked as a duplicate of this bug. ***


[Bug fortran/63727] [F03] Checks missing for proc-pointer components: Usage as actual argument when elemental

2014-12-15 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63727

--- Comment #2 from janus at gcc dot gnu.org ---
Author: janus
Date: Mon Dec 15 16:10:50 2014
New Revision: 218751

URL: https://gcc.gnu.org/viewcvs?rev=218751root=gccview=rev
Log:
2014-12-15  Janus Weil  ja...@gcc.gnu.org

PR fortran/63727
* resolve.c (resolve_actual_arglist): Check for elemental procedure
pointer components.


2014-12-15  Janus Weil  ja...@gcc.gnu.org

PR fortran/63727
* gfortran.dg/coarray_collectives_14.f90: Address FIXME item.

Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/coarray_collectives_14.f90


[Bug fortran/63727] [F03] Checks missing for proc-pointer components: Usage as actual argument when elemental

2014-12-15 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63727

janus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #3 from janus at gcc dot gnu.org ---
Fixed with r218751. Closing.


[Bug c++/58882] ICE with invalid C99 style designated initializers

2014-12-15 Thread paolo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58882

--- Comment #2 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org ---
Author: paolo
Date: Mon Dec 15 16:16:29 2014
New Revision: 218752

URL: https://gcc.gnu.org/viewcvs?rev=218752root=gccview=rev
Log:
/cp
2014-12-15  Paolo Carlini  paolo.carl...@oracle.com

PR c++/58882
* decl.c (check_array_designated_initializer): Diagnose gracefully
C99 designators which aren't integral constant-expressions; allow
constexpr user-defined type conversion operators.

/testsuite
2014-12-15  Paolo Carlini  paolo.carl...@oracle.com

PR c++/58882
* g++.dg/ext/desig8.C: New.
* g++.dg/cpp0x/desig1.C: Likewise.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/desig1.C
trunk/gcc/testsuite/g++.dg/ext/desig8.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/58882] ICE with invalid C99 style designated initializers

2014-12-15 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58882

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
   Assignee|paolo.carlini at oracle dot com|unassigned at gcc dot 
gnu.org
   Target Milestone|--- |5.0

--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com ---
Fixed.


[Bug ipa/63313] [5 Regression] ICE in ipa-comdats.c:371

2014-12-15 Thread spop at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63313

--- Comment #3 from Sebastian Pop spop at gcc dot gnu.org ---
Confirmed: https://gcc.gnu.org/viewcvs?rev=218640root=gccview=rev
has fixed the bug that I was seeing.


[Bug ipa/64314] [5 Regression] ICE in record_reference, at cgraphbuild.c:87

2014-12-15 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64314

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-12-15
 CC||jakub at gcc dot gnu.org,
   ||jason at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org ---
Reduced testcase for -std=c++11:
class B {};
template typename using E = B;
struct F : Eint { ~F(); };
struct C {
  struct D : F { D(int, F); };
  D d;
  C() : d(0, F()) {}
};
enum G {};
struct A { C a; };
struct {
  G b;
  A c[1];
} a {};

Started with r218653.


[Bug c++/63889] [5 Regression] Ice with redundant static in class scope constexpr variable template.

2014-12-15 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63889

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org,
   ||jason at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org ---
ICEs since r213641.


[Bug target/64149] -mno-lra bitrots, suggest to remove for GCC 5

2014-12-15 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64149

--- Comment #2 from Richard Earnshaw rearnsha at gcc dot gnu.org ---
Sounds sensible to me.  

We switched to LRA quite late in gcc-4.9, so keeping a way to switch back in
case of problems was pragmatic.  But we've been running with the new code now
for a year and not encountered any major issues that couldn't be fixed pretty
quickly.


[Bug libgcc/56846] _Unwind_Backtrace on ARM and noexcept

2014-12-15 Thread thopre01 at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56846

thopre01 at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #18 from thopre01 at gcc dot gnu.org ---
Fixed in all currently supported branches


[Bug go/61253] gccgo: spurious error: expected '-' or '=' [GoSmith]

2014-12-15 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61253

--- Comment #1 from ian at gcc dot gnu.org ian at gcc dot gnu.org ---
Author: ian
Date: Mon Dec 15 17:12:26 2014
New Revision: 218753

URL: https://gcc.gnu.org/viewcvs?rev=218753root=gccview=rev
Log:
PR go/61253
compiler: Support RecvStmt = ExpressionList = RecvExpr.

Modified:
trunk/gcc/go/gofrontend/parse.cc


[Bug ipa/64218] [5 Regression] ICE: Segmentation fault (symtab_node::get_alias_target()) running Boost testsuite

2014-12-15 Thread antoshkka at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64218

--- Comment #8 from Antony Polukhin antoshkka at gmail dot com ---
A few more observations:
* Same Boost test compiles and works well on -mcpu=power8 with -fno-rtti
* Test fails to compile on -mcpu=power8 *WITH RTTI on*:

0x109ccb0b crash_signal
?../../gcc/gcc/toplev.c:358
0x10513e10 symtab_node::get_alias_target()
?../../gcc/gcc/cgraph.h:2250
0x10513e10 symtab_node::ultimate_alias_target(availability*)
?../../gcc/gcc/symtab.c:1302
0x1101f367 cgraph_node::ultimate_alias_target(availability*)
?../../gcc/gcc/cgraph.h:2693
0x1101f367 want_inline_function_to_all_callers_p
?../../gcc/gcc/ipa-inline.c:840
0x1101f367 ipa_inline
?../../gcc/gcc/ipa-inline.c:2249
0x1101f367 execute
?../../gcc/gcc/ipa-inline.c:2562


Here's a whole comand line (just in case):
g++  -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -fPIC
-std=c++11 -mcpu=power8 -DBOOST_ALL_NO_LIB=1 -DNDEBUG  -I.. -c -o
/home/trippels/results/boost/bin.v2/libs/variant/test/recursive_variant_test.test/gcc-5.0.0/release/pch-off/recursive_variant_test.o
../libs/variant/test/recursive_variant_test.cpp


[Bug go/61248] gccgo: spurious error: too many arguments [GoSmith]

2014-12-15 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61248

--- Comment #1 from ian at gcc dot gnu.org ian at gcc dot gnu.org ---
Author: ian
Date: Mon Dec 15 17:33:43 2014
New Revision: 218754

URL: https://gcc.gnu.org/viewcvs?rev=218754root=gccview=rev
Log:
PR go/61248
compiler: Ignore argument when typechecking converted recover calls.

Modified:
trunk/gcc/go/gofrontend/expressions.cc


[Bug target/61360] [5 Regression] ICE: in lra_update_insn_recog_data, at lra.c:1363 with -mtune=bdver4

2014-12-15 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61360

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #16 from Jakub Jelinek jakub at gcc dot gnu.org ---
I see r216557 has been committed, isn't this resolved by that change?


[Bug c++/64297] [5 Regression] ICE: canonical types differ for identical types

2014-12-15 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64297

--- Comment #2 from Marc Glisse glisse at gcc dot gnu.org ---
struct A {
  typedef int X;
  template int X m_fn1() const;
};
template typename struct is_function {};
is_functionint() const  i;
struct D {
  template typename Y, typename = is_functionY D(Y);
} b(A::m_fn10);


  1   2   >