[Bug tree-optimization/64563] [5 Regression] ICE with -Wall -Wextra at -Os and above on x86_64-linux-gnu

2015-01-12 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64563

--- Comment #2 from Marek Polacek mpolacek at gcc dot gnu.org ---
Started with r217638, it seems.


[Bug tree-optimization/64277] [4.9/5.0 Regression] Incorrect warning array subscript is above array bounds

2015-01-12 Thread izamyatin at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64277

--- Comment #4 from Igor Zamyatin izamyatin at gmail dot com ---
See the warning ( used -O3 -mssse3 -Wall) on current trunk configured as

../configure --enable-clocale=gnu --with-system-zlib --enable-shared
--with-demangler-in-ld --with-fpmath=sse --enable-checking=release
--enable-languages=c,c++,fortran


[Bug ipa/63967] [5 Regression] r217633 caused internal compiler error: in estimate_edge_growth, at ipa-inline.h:299

2015-01-12 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63967

--- Comment #6 from Jan Hubicka hubicka at ucw dot cz ---
 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63967
 
 Uroš Bizjak ubizjak at gmail dot com changed:
 
What|Removed |Added
 
  Status|WAITING |NEW
 
 --- Comment #5 from Uroš Bizjak ubizjak at gmail dot com ---
 (In reply to Jan Hubicka from comment #4)
  Bug in PRPR63470  is C++ only. I however commited today another fix for this
  ICE occuring with ICF and -fprofile-use. So I believe this bug should be
  fixed. Can you, please, confirm it?
 
 The profiledbootstrap with r219444 still fails [1].
 
 [1] https://gcc.gnu.org/ml/gcc-regression/2015-01/msg00182.html

Have patch for that ICE too (profiledbootstrap running, will comit it once it
finishes)

Honza

[Bug ipa/64550] [5 Regression] IPA fixes cause ICE in tree-ssa.c:939

2015-01-12 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64550

--- Comment #7 from Martin Liška marxin at gcc dot gnu.org ---
(In reply to Martin Liška from comment #6)
 Author: marxin
 Date: Mon Jan 12 09:02:33 2015
 New Revision: 219449
 
 URL: https://gcc.gnu.org/viewcvs?rev=219449root=gccview=rev
 Log:
 PR ipa/64550
 
 PR ipa/64551
   PR ipa/64552
   * ipa-icf.c (sem_function::equals_private): Use '' instead of
   '||' to fix typo issue.
 
   * gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
   accept and return NULL.
 
 
 Modified:
 trunk/gcc/ChangeLog
 trunk/gcc/ipa-icf.c
 trunk/gcc/tree.h

Wrong PR link, this revision does not fix this issue.

[Bug ipa/63967] [5 Regression] r217633 caused internal compiler error: in estimate_edge_growth, at ipa-inline.h:299

2015-01-12 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63967

--- Comment #7 from Jan Hubicka hubicka at gcc dot gnu.org ---
Author: hubicka
Date: Mon Jan 12 09:28:15 2015
New Revision: 219452

URL: https://gcc.gnu.org/viewcvs?rev=219452root=gccview=rev
Log:

PR ipa/63967
PR ipa/64425
* ipa-inline.c (compute_uninlined_call_time,
compute_inlined_call_time): Use counts for extra precision when
needed possible.
(big_speedup_p): Fix formating.
(RELATIVE_TIME_BENEFIT_RANGE): Remove.
(relative_time_benefit): Remove.
(edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
merge guessed and read profile paths.
(inline_small_functions): Count only !optimize_size functions into
initial size; be more lax about sanity check when profile is used;
be sure to update inlined function profile when profile is read.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/ipa-inline.c


[Bug ipa/64551] Segfault in target_opts_for_fn (from ipa_icf::sem_function::equals_private)

2015-01-12 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64551

Uroš Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 CC||Hale.Wang at arm dot com

--- Comment #7 from Uroš Bizjak ubizjak at gmail dot com ---
*** Bug 64564 has been marked as a duplicate of this bug. ***

[Bug ipa/64564] Internal compiler error: Segmentation fault caused by IPA ICF

2015-01-12 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64564

Uroš Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #1 from Uroš Bizjak ubizjak at gmail dot com ---
Already fixed.

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

[Bug bootstrap/64561] [5 Regression] HAVE_LD_PIE_COPYRELOC is defined to 1 for broken linker

2015-01-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64561

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P1


[Bug ipa/64559] [5 Regression] ICE at -Os on x86_64-linux-gnu in remove_unreachable_nodes, at ipa.c:582

2015-01-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64559

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P1
Summary|ICE at -Os on   |[5 Regression] ICE at -Os
   |x86_64-linux-gnu in |on x86_64-linux-gnu in
   |remove_unreachable_nodes,   |remove_unreachable_nodes,
   |at ipa.c:582|at ipa.c:582


[Bug ipa/63926] [5 Regression] ICE in estimate_edge_growth, at ipa-inline.h:300

2015-01-12 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63926
Bug 63926 depends on bug 63470, which changed state.

Bug 63470 Summary: [5 Regression] internal compiler error: in 
estimate_edge_growth, at ipa-inline.h:308
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63470

   What|Removed |Added

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


[Bug ipa/63470] [5 Regression] internal compiler error: in estimate_edge_growth, at ipa-inline.h:308

2015-01-12 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63470

Jan Hubicka hubicka at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #14 from Jan Hubicka hubicka at gcc dot gnu.org ---
Fixed.


[Bug ipa/63967] [5 Regression] r217633 caused internal compiler error: in estimate_edge_growth, at ipa-inline.h:299

2015-01-12 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63967

Uroš Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|WAITING |NEW

--- Comment #5 from Uroš Bizjak ubizjak at gmail dot com ---
(In reply to Jan Hubicka from comment #4)
 Bug in PRPR63470  is C++ only. I however commited today another fix for this
 ICE occuring with ICF and -fprofile-use. So I believe this bug should be
 fixed. Can you, please, confirm it?

The profiledbootstrap with r219444 still fails [1].

[1] https://gcc.gnu.org/ml/gcc-regression/2015-01/msg00182.html

[Bug middle-end/64498] [5 Regression] Cannot build Firefox with LTO: ICE in substitute_and_fold_dom_walker::before_dom_children

2015-01-12 Thread hubicka at ucw dot cz
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64498

--- Comment #2 from Jan Hubicka hubicka at ucw dot cz ---
 Problem is hidden in flag_var_tracking_assignments, which is set to false.
 Thus, MAY_HAVE_DEBUG_INSNS is set to false. Unfortunately, Firefox contains
 couple of third party libraries that have -g as a default option. So that DCE
 after a statements removal does not remove debug statements that use result of
 a statement and verifier fails.

flag_var_tracking_assignments is marked as Optimization in common.opt while
rest
of debug machinery is not Optimization.  This means that we try to preserve
assignments
in functions that was compiled with -g at compile time, but then we never
consume
it

Shall we drop flag_var_tracking_assignments to 0 and remove the debug
statements after streaming in in these cases? Also inliner probably needs to
remove the statements when it inlines from function with
flag_var_tracking_assignments to one with !flag_var_tracking_assignments

Honza


[Bug lto/64374] [5.0 regression] LTO ICE in extract_insn, at recog.c:2327

2015-01-12 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64374

Uroš Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #5 from Uroš Bizjak ubizjak at gmail dot com ---
Similar to PR64412, it looks to me that this PR needs similar treatment.

Adding CC.

[Bug ipa/64425] [5 Regression] r219076 causes 36% tramp3d slowdown

2015-01-12 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64425

--- Comment #5 from Jan Hubicka hubicka at gcc dot gnu.org ---
Author: hubicka
Date: Mon Jan 12 09:28:15 2015
New Revision: 219452

URL: https://gcc.gnu.org/viewcvs?rev=219452root=gccview=rev
Log:

PR ipa/63967
PR ipa/64425
* ipa-inline.c (compute_uninlined_call_time,
compute_inlined_call_time): Use counts for extra precision when
needed possible.
(big_speedup_p): Fix formating.
(RELATIVE_TIME_BENEFIT_RANGE): Remove.
(relative_time_benefit): Remove.
(edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
merge guessed and read profile paths.
(inline_small_functions): Count only !optimize_size functions into
initial size; be more lax about sanity check when profile is used;
be sure to update inlined function profile when profile is read.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/ipa-inline.c


[Bug ipa/64564] New: Internal compiler error: Segmentation fault caused by IPA ICF

2015-01-12 Thread Hale.Wang at arm dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64564

Bug ID: 64564
   Summary: Internal compiler error: Segmentation fault caused by
IPA ICF
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: ipa
  Assignee: unassigned at gcc dot gnu.org
  Reporter: Hale.Wang at arm dot com

Created attachment 34417
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34417action=edit
Generated by pre-compile the source code from
newlib/newlib/libc/stdlib/envlock.c

GCC build fails for ARM target(caused by the IPA ICF update @219377).

I built the latest gcc trunk with the configuration: '--target=arm-none-eabi'.

The compile command is: 'arm-none-eabi-gcc -O2 envlock.i -S -mthumb'.(The
attachment envlock.i is generated by pre-compile the source code from
newlib/newlib/libc/stdlib/envlock.c)

And the error message is reported as: 
newlib/newlib/libc/stdlib/envlock.c:61:1: internal compiler error: Segmentation
fault
 }
 ^
0xa421ff crash_signal
../../src/gcc/gcc/toplev.c:366
0xf728af tree_check
../../src/gcc/gcc/tree.h:2778
0xf728af target_opts_for_fn
../../src/gcc/gcc/tree.h:4681
0xf728af ipa_icf::sem_function::equals_private(ipa_icf::sem_item*,
hash_mapsymtab_node*, ipa_icf::sem_item*, default_hashmap_traits)
../../src/gcc/gcc/ipa-icf.c:431
0xf73533 ipa_icf::sem_function::equals(ipa_icf::sem_item*,
hash_mapsymtab_node*, ipa_icf::sem_item*, default_hashmap_traits)
../../src/gcc/gcc/ipa-icf.c:386
0xf7596a ipa_icf::sem_item_optimizer::subdivide_classes_by_equality(bool)
../../src/gcc/gcc/ipa-icf.c:1893
0xf7a29c ipa_icf::sem_item_optimizer::execute()
../../src/gcc/gcc/ipa-icf.c:1712
0xf7aec1 ipa_icf_driver
../../src/gcc/gcc/ipa-icf.c:2441
0xf7aec1 ipa_icf::pass_ipa_icf::execute(function*)
../../src/gcc/gcc/ipa-icf.c:2489
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.

Best regards,
-Hale Wang


[Bug middle-end/64552] Build broken for cris-elf and others

2015-01-12 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64552

--- Comment #2 from Martin Liška marxin at gcc dot gnu.org ---
Author: marxin
Date: Mon Jan 12 09:02:33 2015
New Revision: 219449

URL: https://gcc.gnu.org/viewcvs?rev=219449root=gccview=rev
Log:
PR ipa/64550

PR ipa/64551
PR ipa/64552
* ipa-icf.c (sem_function::equals_private): Use '' instead of
'||' to fix typo issue.

* gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
accept and return NULL.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ipa-icf.c
trunk/gcc/tree.h

[Bug middle-end/64498] [5 Regression] Cannot build Firefox with LTO: ICE in substitute_and_fold_dom_walker::before_dom_children

2015-01-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64498

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org ---
If the final result is -g0, then clearing flag_var_tracking_assignments is
desirable, if the final result is -g and any of the inputs have debug stmts,
then either you need to turn flag_var_tracking_assignments whenever any inputs
has debug stmts, or remove the debug stmts if you want to keep it cleared.


[Bug target/64377] nios2 compile error in options-save.c

2015-01-12 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64377

Martin Liška marxin at gcc dot gnu.org changed:

   What|Removed |Added

 CC||marxin at gcc dot gnu.org

--- Comment #7 from Martin Liška marxin at gcc dot gnu.org ---
Hello.

There's suggested patch [1], may I ask someone from nios2 community for testing
the patch?

[1] https://gcc.gnu.org/ml/gcc-patches/2015-01/msg00465.html

Thanks,
Martin

[Bug middle-end/64554] using _mm_clmulepi64_si128 doesn't error with -O0

2015-01-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64554

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||diagnostic
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-01-12
 CC||hubicka at gcc dot gnu.org
  Component|target  |middle-end
Summary|_mm_clmulepi64_si128|using _mm_clmulepi64_si128
   |doesn't compile with -O2|doesn't error with -O0
 Ever confirmed|0   |1

--- Comment #6 from Richard Biener rguenth at gcc dot gnu.org ---
(In reply to charles from comment #5)
 No you're right.
 
 I could add, though, that the compiler should have said something.
 
 Also, why did it compile just fine with -O0?

Sounds like a bug (we should error immediately here IMHO).  Probably
needs to annotate the CIF codes with whether this is fatal (won't
change with other inlining, IPA or LTO).

OTOH the headers are also poorly designed to trigger this kind of error.

Maybe we want to support __attribute__((always_inline(ISA not enabled)))
instead to be able to print a custom error message?


[Bug tree-optimization/64563] [5 Regression] ICE with -Wall -Wextra at -Os and above on x86_64-linux-gnu

2015-01-12 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64563

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-01-12
 CC||mpolacek at gcc dot gnu.org
   Target Milestone|--- |5.0
Summary|ICE with -Wall -Wextra at |[5 Regression] ICE with
   |-Os and above on|-Wall -Wextra at -Os and
   |x86_64-linux-gnu|above on x86_64-linux-gnu
 Ever confirmed|0   |1

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


[Bug lto/64374] [5.0 regression] LTO ICE in extract_insn, at recog.c:2327

2015-01-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64374

--- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org ---
It can't have the same resolution though, that PR was resolved by not streaming
the target nodes at all for offloading.  In this case there is no offloading. 
If flag_pic is recorded somewhere in target node (where, x86_isa_flags,
somewhere else?), then supposedly during LTO reading that should be updated
from global flag_pic.  I think it doesn't make sense to have flag_pic only in
some routines and not in others, so flag_pic should be treated as a global
flag.


[Bug ipa/63470] [5 Regression] internal compiler error: in estimate_edge_growth, at ipa-inline.h:308

2015-01-12 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63470

--- Comment #13 from Jan Hubicka hubicka at gcc dot gnu.org ---
Author: hubicka
Date: Mon Jan 12 09:24:18 2015
New Revision: 219451

URL: https://gcc.gnu.org/viewcvs?rev=219451root=gccview=rev
Log:


PR ipa/63470
* ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
cost when edge becomes direct.
* ipa-prop.c (make_edge_direct): Do not adjust when speculation
is resolved or when introducing new speculation.
* testsuite/g++.dg/ipa/pr63470.C: New testcase.

Added:
trunk/gcc/testsuite/g++.dg/ipa/pr63470.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ipa-inline-analysis.c
trunk/gcc/ipa-prop.c
trunk/gcc/testsuite/ChangeLog


[Bug ipa/63967] [5 Regression] r217633 caused internal compiler error: in estimate_edge_growth, at ipa-inline.h:299

2015-01-12 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63967

Jan Hubicka hubicka at gcc dot gnu.org changed:

   What|Removed |Added

 Depends on|63470   |
   Assignee|unassigned at gcc dot gnu.org  |hubicka at gcc dot 
gnu.org

--- Comment #4 from Jan Hubicka hubicka at gcc dot gnu.org ---
Bug in PRPR63470  is C++ only. I however commited today another fix for this
ICE occuring with ICF and -fprofile-use. So I believe this bug should be fixed.
Can you, please, confirm it?


[Bug ipa/64550] [5 Regression] IPA fixes cause ICE in tree-ssa.c:939

2015-01-12 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64550

--- Comment #6 from Martin Liška marxin at gcc dot gnu.org ---
Author: marxin
Date: Mon Jan 12 09:02:33 2015
New Revision: 219449

URL: https://gcc.gnu.org/viewcvs?rev=219449root=gccview=rev
Log:
PR ipa/64550

PR ipa/64551
PR ipa/64552
* ipa-icf.c (sem_function::equals_private): Use '' instead of
'||' to fix typo issue.

* gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
accept and return NULL.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ipa-icf.c
trunk/gcc/tree.h

[Bug ipa/64551] Segfault in target_opts_for_fn (from ipa_icf::sem_function::equals_private)

2015-01-12 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64551

--- Comment #5 from Martin Liška marxin at gcc dot gnu.org ---
Author: marxin
Date: Mon Jan 12 09:02:33 2015
New Revision: 219449

URL: https://gcc.gnu.org/viewcvs?rev=219449root=gccview=rev
Log:
PR ipa/64550

PR ipa/64551
PR ipa/64552
* ipa-icf.c (sem_function::equals_private): Use '' instead of
'||' to fix typo issue.

* gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
accept and return NULL.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ipa-icf.c
trunk/gcc/tree.h

[Bug ipa/64551] Segfault in target_opts_for_fn (from ipa_icf::sem_function::equals_private)

2015-01-12 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64551

Martin Liška marxin at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED

--- Comment #6 from Martin Liška marxin at gcc dot gnu.org ---
Fixed.

[Bug libstdc++/64560] [5 Regression] building libstdc++ with -fno-rtti fails in new cxx11-shim-facets.cc file

2015-01-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64560

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |5.0


[Bug tree-optimization/64563] [5 Regression] ICE with -Wall -Wextra at -Os and above on x86_64-linux-gnu

2015-01-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64563

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P1


[Bug tree-optimization/64563] [5 Regression] ICE with -Wall -Wextra at -Os and above on x86_64-linux-gnu

2015-01-12 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64563

Markus Trippelsdorf trippels at gcc dot gnu.org changed:

   What|Removed |Added

 CC||ppalka at gcc dot gnu.org,
   ||trippels at gcc dot gnu.org

--- Comment #3 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
==7793== Invalid read of size 2
==7793==at 0xCD3BC4: contains_struct_check (tree.h:3137)
==7793==by 0xCD3BC4: vrp_val_is_min(tree_node const*) (tree-vrp.c:235)
==7793==by 0xCDB8CA: vrp_evaluate_conditional(tree_code, tree_node*,
tree_node*, gimple_statement_base*) (tree-vrp.c:7544)
==7793==by 0xCF1116: fold_predicate_in (tree-vrp.c:9952)
==7793==by 0xCF1116: vrp_fold_stmt(gimple_stmt_iterator*) (tree-vrp.c:9995)
==7793==by 0xC1EB43:
substitute_and_fold_dom_walker::before_dom_children(basic_block_def*)
(tree-ssa-propagate.c:1142)
==7793==by 0x104D767: dom_walker::walk(basic_block_def*) (domwalk.c:188)
==7793==by 0xC1E450: substitute_and_fold(tree_node* (*)(tree_node*), bool
(*)(gimple_stmt_iterator*), bool) (tree-ssa-propagate.c:1230)
==7793==by 0xCEDB8F: vrp_finalize (tree-vrp.c:10183)
==7793==by 0xCEDB8F: execute_vrp (tree-vrp.c:10299)
==7793==by 0xCEDB8F: (anonymous namespace)::pass_vrp::execute(function*)
(tree-vrp.c:10378)
==7793==by 0x9E70E2: execute_one_pass(opt_pass*) (passes.c:2311)
==7793==by 0x9E7545: execute_pass_list_1(opt_pass*) (passes.c:2363)
==7793==by 0x9E7557: execute_pass_list_1(opt_pass*) (passes.c:2364)
==7793==by 0x9E7598: execute_pass_list(function*, opt_pass*)
(passes.c:2374)
==7793==by 0x700CDB: cgraph_node::expand() (cgraphunit.c:1797)
==7793==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==7793== 
small.c:5


[Bug middle-end/64498] [5 Regression] Cannot build Firefox with LTO: ICE in substitute_and_fold_dom_walker::before_dom_children

2015-01-12 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64498

Martin Liška marxin at gcc dot gnu.org changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu.org

--- Comment #1 from Martin Liška marxin at gcc dot gnu.org ---
Problem is hidden in flag_var_tracking_assignments, which is set to false.
Thus, MAY_HAVE_DEBUG_INSNS is set to false. Unfortunately, Firefox contains
couple of third party libraries that have -g as a default option. So that DCE
after a statements removal does not remove debug statements that use result of
a statement and verifier fails.

Martin

Re: [Bug middle-end/64498] [5 Regression] Cannot build Firefox with LTO: ICE in substitute_and_fold_dom_walker::before_dom_children

2015-01-12 Thread Jan Hubicka
 Problem is hidden in flag_var_tracking_assignments, which is set to false.
 Thus, MAY_HAVE_DEBUG_INSNS is set to false. Unfortunately, Firefox contains
 couple of third party libraries that have -g as a default option. So that DCE
 after a statements removal does not remove debug statements that use result of
 a statement and verifier fails.

flag_var_tracking_assignments is marked as Optimization in common.opt while rest
of debug machinery is not Optimization.  This means that we try to preserve 
assignments
in functions that was compiled with -g at compile time, but then we never 
consume
it

Shall we drop flag_var_tracking_assignments to 0 and remove the debug
statements after streaming in in these cases? Also inliner probably needs to
remove the statements when it inlines from function with
flag_var_tracking_assignments to one with !flag_var_tracking_assignments

Honza


[Bug testsuite/63899] WARNING: Could not compile g++.dg/compat/struct-layout-1 generator

2015-01-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63899

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED

--- Comment #3 from Richard Biener rguenth at gcc dot gnu.org ---
Marking fixed for now.


[Bug tree-optimization/64563] [5 Regression] ICE with -Wall -Wextra at -Os and above on x86_64-linux-gnu

2015-01-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64563

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org ---
The != VR_VARYING is obviously bogus.  Need to find out if what
Diego meant to write was == VR_RANGE or == VR_RANGE || == VR_ANTI_RANGE.
VR_UNDEFINED certainly doesn't have vr0-min/vr0-max set.


[Bug tree-optimization/64563] [5 Regression] ICE with -Wall -Wextra at -Os and above on x86_64-linux-gnu

2015-01-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64563

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 #5 from Jakub Jelinek jakub at gcc dot gnu.org ---
Created attachment 34419
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34419action=edit
gcc5-pr64563.patch

Untested fix.  I think == VR_RANGE is what was meant.  ~[type_min, type_max] is
very unlikely and the warning wouldn't do what is meant to do.


[Bug rtl-optimization/64286] Redundant extend removal ignores vector element type

2015-01-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64286

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

Full patch I'm going to bootstrap/regtest.


[Bug bootstrap/64561] [5 Regression] HAVE_LD_PIE_COPYRELOC is defined to 1 for broken linker

2015-01-12 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64561

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

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from H.J. Lu hjl.tools at gmail dot com ---
Fixed.


[Bug tree-optimization/64567] New: missed optimization: redundant test before clearing bit(s)

2015-01-12 Thread rv at rasmusvillemoes dot dk
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64567

Bug ID: 64567
   Summary: missed optimization: redundant test before clearing
bit(s)
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: rv at rasmusvillemoes dot dk

(Not sure the Component is correct). gcc fails to optimize

  if (foo  FLAG)
foo = ~FLAG;

into simply unconditionally doing foo = ~FLAG. Currently, the above code
sequence generates four instructions (mov, and, test, cmov) whereas a single
and would be sufficient. Note that this is a valid transformation regardless of
how many bits are set in FLAG; it doesn't even have to be a compile-time
constant (but must of course be side-effect free).

gcc also doesn't optimize the dual

  if (!(foo  FLAG))
foo |= FLAG;

into foo |= FLAG;. That transformation is however only valid when FLAG is known
to consist of only a single bit (so would probably require either a
compile-time constant where this can be checked or an expression of the form 1
 something).

Trivial test case below. I'd expect foo and foo2 to compile to the same code,
and similarly for baz and baz2.

$ cat test.c
#define F1 0x04
#define F2 0x08
int bar(unsigned flags);
int foo(unsigned flags)
{
if (flags  (F1 | F2))
flags = ~(F1 | F2);
return bar(flags);
}

int foo2(unsigned flags)
{
flags = ~(F1 | F2);
return bar(flags);
}

int baz(unsigned flags)
{
if (!(flags  F1))
flags |= F1;
return bar(flags);
}

int baz2(unsigned flags)
{
flags |= F1;
return bar(flags);
}

$ ./gcc-5.0 -Wall -Wextra -O3 -c test.c
$ objdump -d test.o

test.o: file format elf64-x86-64


Disassembly of section .text:

 foo:
   0:   89 f8   mov%edi,%eax
   2:   83 e0 f3and$0xfff3,%eax
   5:   40 f6 c7 0c test   $0xc,%dil
   9:   0f 45 f8cmovne %eax,%edi
   c:   e9 00 00 00 00  jmpq   11 foo+0x11
  11:   66 66 66 66 66 66 2edata32 data32 data32 data32 data32 nopw
%cs:0x0(%rax,%rax,1)
  18:   0f 1f 84 00 00 00 00 
  1f:   00 

0020 foo2:
  20:   83 e7 f3and$0xfff3,%edi
  23:   e9 00 00 00 00  jmpq   28 foo2+0x8
  28:   0f 1f 84 00 00 00 00nopl   0x0(%rax,%rax,1)
  2f:   00 

0030 baz:
  30:   89 f8   mov%edi,%eax
  32:   83 c8 04or $0x4,%eax
  35:   40 f6 c7 04 test   $0x4,%dil
  39:   0f 44 f8cmove  %eax,%edi
  3c:   e9 00 00 00 00  jmpq   41 baz+0x11
  41:   66 66 66 66 66 66 2edata32 data32 data32 data32 data32 nopw
%cs:0x0(%rax,%rax,1)
  48:   0f 1f 84 00 00 00 00 
  4f:   00 

0050 baz2:
  50:   83 cf 04or $0x4,%edi
  53:   e9 00 00 00 00  jmpq   58 baz2+0x8


[Bug target/64566] cross build for arm-v5te-linux-gnueabi fails

2015-01-12 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64566

ktkachov at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||ktkachov at gcc dot gnu.org
 Resolution|--- |DUPLICATE

--- Comment #2 from ktkachov at gcc dot gnu.org ---
I think this is a dup.

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


[Bug ipa/64551] Segfault in target_opts_for_fn (from ipa_icf::sem_function::equals_private)

2015-01-12 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64551

ktkachov at gcc dot gnu.org changed:

   What|Removed |Added

 CC||bernd.edlinger at hotmail dot 
de

--- Comment #8 from ktkachov at gcc dot gnu.org ---
*** Bug 64566 has been marked as a duplicate of this bug. ***


[Bug c++/64547] A non-const constexpr function is rejected incorrectly

2015-01-12 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64547

--- Comment #1 from Jason Merrill jason at gcc dot gnu.org ---
Author: jason
Date: Mon Jan 12 14:15:07 2015
New Revision: 219466

URL: https://gcc.gnu.org/viewcvs?rev=219466root=gccview=rev
Log:
PR c++/64547
* constexpr.c (cxx_eval_call_expression): A call to a void
function doesn't need to return a value.

Added:
trunk/gcc/testsuite/g++.dg/cpp1y/constexpr-void2.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/constexpr.c


[Bug testsuite/64028] [5 Regression] r211599 caused many vectorizer test failures with -fPIC

2015-01-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64028

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 #5 from Jakub Jelinek jakub at gcc dot gnu.org ---
Created attachment 34422
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34422action=edit
gcc5-pr64028.patch

Untested fix.


[Bug tree-optimization/64567] missed optimization: redundant test before clearing bit(s)

2015-01-12 Thread sch...@linux-m68k.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64567

--- Comment #1 from Andreas Schwab sch...@linux-m68k.org ---
This transformation is incorrect if the lvalue may be pointing to a read-only
object.


[Bug middle-end/63974] [5 Regression] gcc.c-torture/compile/991213-3.c ICEs with -mabi=ilp32

2015-01-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63974

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC||jakub at gcc dot gnu.org
   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 34423
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34423action=edit
gcc5-pr63974.patch

Untested fix.

The bug is that convert_memory_address (Pmode, ...) is called twice, which is
not possible for VOIDmode constants.
As optabs.c (indirectly from emit_indirect_jump) already calls it, because the
argument is built with create_address_operand and the EXPAND_ADDRESS case
in maybe_legitimize_operand calls convert_memory_address (Pmode, ...), the
other
convert_memory_address call is only harmful.

I don't have easy access to any POINTERS_EXTEND_UNSIGNED target though, so
can't test it easily.


[Bug debug/64511] [5 Regression] ICE at -O3 with -g enabled on x86_64-linux-gnu

2015-01-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64511

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||compile-time-hog,
   ||memory-hog
 Status|ASSIGNED|NEW
   Assignee|rguenth at gcc dot gnu.org |unassigned at gcc dot 
gnu.org

--- Comment #4 from Richard Biener rguenth at gcc dot gnu.org ---
Hmm, nothing I can do about and I can't spot real differences during RTL
expansion.  TER gobbles up the whole function though and maybe debug
expression expansion is slightly different (also due to operand
canonicalization).

I note that we don't fold x % x (to preserve the x == 0 exception), a missed
optimization opportunity is to do

  if (x == 0)
   __builtin_trap ();

at the very first point we encounter that (possibly during VRP if VRP
detects that it can simplify further expressions with x != 0 knowledge).

Note that this bug may be an effective dup of another one.


[Bug middle-end/64568] [5 Regression] error: invalid reference prefix

2015-01-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64568

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P1
 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2015-01-12
   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 ---
Hmm, indeed we shouldn't subset TARGET_MEM_REFs.  Mine (waiting for a
testcase).


[Bug ipa/64565] [5 Regression] ICE: in inline_small_functions, at ipa-inline.c:1664

2015-01-12 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64565

--- Comment #3 from Jan Hubicka hubicka at gcc dot gnu.org ---
Thanks a lot for testcase! Smells like a roundoff error, too.   Will debug it
today.


[Bug fortran/64528] [5 Regression] ICE: in process_constraint, at tree-ssa-structalias.c:3002 with -O -fno-tree-ccp -fno-tree-dce

2015-01-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64528

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu.org
  Component|tree-optimization   |fortran

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org ---
I'd say this is a Fortran FE bug.
The reason this ICEs is that the inliner emits 10 = 11; statement (with
INTEGER_CST on lhs), but that happens because myint PARM_DECL is TREE_READONLY,
which looks wrong when it clearly is assigned to.
The setting of TREE_READONLY happens in trans-decl.c:
2330  /* All implementation args are read-only.  */
2331  TREE_READONLY (parm) = 1;
That looks just wrong at least for some f-sym-attr.value dummy arguments ==
PARM_DECLs, perhaps all?


[Bug other/64370] [5 Regression] sreal.c:125:23: error: 'exp2' was not declared in this scope

2015-01-12 Thread dave.anglin at bell dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64370

--- Comment #8 from dave.anglin at bell dot net ---
On 2015-01-12, at 6:09 AM, jakub at gcc dot gnu.org wrote:

 Do you have ldexp on HPUX?  Asking because that is used in jcf-dump already...

Yes, it's available on hpux10.20 and hpux11.

Dave
--
John David Anglindave.ang...@bell.net


[Bug middle-end/64568] New: [5 Regression] error: invalid reference prefix

2015-01-12 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64568

Bug ID: 64568
   Summary: [5 Regression] error: invalid reference prefix
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
  Assignee: unassigned at gcc dot gnu.org
  Reporter: trippels at gcc dot gnu.org

Running the Boost testsuite with -march=westmere shows:

 % g++ -O3 -finline-functions -std=c++11 -march=westmere test21.ii
In file included from ../libs/numeric/ublas/test/test2.hpp:22:0,
 from ../libs/numeric/ublas/test/test21.cpp:13:
../boost/numeric/ublas/blas.hpp: In function ‘void
boost::numeric::ublas::blas_1::rot(const T1, V1, const T2, V2) [with T1 =
std::complexdouble; V1 = boost::numeric::ublas::vectorstd::complexdouble
; T2 = std::complexdouble; V2 =
boost::numeric::ublas::vectorstd::complexdouble ]’:
../boost/numeric/ublas/blas.hpp:158:14: error: invalid reference prefix
 void rot (const T1 t1, V1 v1, const T2 t2, V2 v2) 
  ^
MEM[base: _150, offset: 0B]
cc1plus: note: in statement
# .MEM_157 = VDEF .MEM_82
REALPART_EXPR MEM[base: _150, offset: 0B] = _112;
../boost/numeric/ublas/blas.hpp:158:14: error: invalid reference prefix
MEM[base: _150, offset: 0B]
In file included from ../boost/numeric/ublas/expression_types.hpp:16:0,
 from ../boost/numeric/ublas/vector_expression.hpp:16,
 from ../boost/numeric/ublas/vector.hpp:22,
 from ../libs/numeric/ublas/test/test2.hpp:18,
 from ../libs/numeric/ublas/test/test21.cpp:13:
../boost/numeric/ublas/functional.hpp:199:13: note: in statement
 t1 = t2;
 ^
# .MEM_160 = VDEF .MEM_157
IMAGPART_EXPR MEM[base: _150, offset: 0B] = _114;
In file included from ../libs/numeric/ublas/test/test2.hpp:22:0,
 from ../libs/numeric/ublas/test/test21.cpp:13:
../boost/numeric/ublas/blas.hpp:158:14: error: invalid reference prefix
 void rot (const T1 t1, V1 v1, const T2 t2, V2 v2) 
  ^
MEM[base: _30, offset: 0B]
cc1plus: note: in statement
# .MEM_194 = VDEF .MEM_120
REALPART_EXPR MEM[base: _30, offset: 0B] = _143;
../boost/numeric/ublas/blas.hpp:158:14: error: invalid reference prefix
MEM[base: _30, offset: 0B]
In file included from ../boost/numeric/ublas/expression_types.hpp:16:0,
 from ../boost/numeric/ublas/vector_expression.hpp:16,
 from ../boost/numeric/ublas/vector.hpp:22,
 from ../libs/numeric/ublas/test/test2.hpp:18,
 from ../libs/numeric/ublas/test/test21.cpp:13:
../boost/numeric/ublas/functional.hpp:199:13: note: in statement
 t1 = t2;
 ^
# .MEM_166 = VDEF .MEM_194
IMAGPART_EXPR MEM[base: _30, offset: 0B] = _145;
In file included from ../libs/numeric/ublas/test/test2.hpp:22:0,
 from ../libs/numeric/ublas/test/test21.cpp:13:
../boost/numeric/ublas/blas.hpp:158:14: internal compiler error: verify_gimple
failed
 void rot (const T1 t1, V1 v1, const T2 t2, V2 v2) 
  ^
0xcf4217 verify_gimple_in_cfg(function*, bool)
../../gcc/gcc/tree-cfg.c:5056
0xbf6b1f execute_function_todo
../../gcc/gcc/passes.c:1946
0xbf75c3 execute_todo
../../gcc/gcc/passes.c:2003
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.

Reducing...

[Bug tree-optimization/64567] missed optimization: redundant test before clearing bit(s)

2015-01-12 Thread rv at rasmusvillemoes dot dk
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64567

--- Comment #2 from Rasmus Villemoes rv at rasmusvillemoes dot dk ---
(In reply to Andreas Schwab from comment #1)
 This transformation is incorrect if the lvalue may be pointing to a
 read-only object.

True. And one may also incur an extra cache penalty if the cache line
containing foo was already held shared but not exclusive.


[Bug preprocessor/38987] Including a precompiled header from another header causes invalid assembly to be generated

2015-01-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38987

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jpyeron at pdinc dot us

--- Comment #13 from Jakub Jelinek jakub at gcc dot gnu.org ---
*** Bug 64414 has been marked as a duplicate of this bug. ***


[Bug c++/64414] cc1plus: internal compiler error: Segmentation fault

2015-01-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64414

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 CC||jakub at gcc dot gnu.org
 Resolution|--- |DUPLICATE

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org ---
This is actually a dup.

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


[Bug tree-optimization/63288] [5 Regression] gcc.c-torture/execute/20140326-1.c FAILs with -Og -fgcse -fif-conversion2

2015-01-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63288

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org ---
PR60452 only taught rtx_addr_can_trap_p_1 about frame_pointer + offset,
the others are not handled right now:
  /* ??? Need to add a similar guard for nonsensical offsets.  */
  if (x == hard_frame_pointer_rtx
  || x == stack_pointer_rtx
  /* The arg pointer varies if it is not a fixed register.  */
  || (x == arg_pointer_rtx  fixed_regs[ARG_POINTER_REGNUM]))
return 0;
In this particular case it is the stack_pointer_rtx.
The question is how to derive limits on what is and what is not acceptable
around stack_pointer_rtx.  Negative range needs to include red zone range if
any, positive can be very large if the current function uses VLAs or alloca
(but then hopefully the nonsensical offsets are used against frame/hard frame
pointer, not stack pointer).


[Bug tree-optimization/64528] [5 Regression] ICE: in process_constraint, at tree-ssa-structalias.c:3002 with -O -fno-tree-ccp -fno-tree-dce

2015-01-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64528

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

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

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


[Bug libstdc++/64535] Emergency buffer for exception allocation too small

2015-01-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64535

--- Comment #11 from Richard Biener rguenth at gcc dot gnu.org ---
(In reply to Richard Biener from comment #4)
 Is the following required to work?
 
 #include exception
 #include new
 #include sys/resource.h
 
 struct large
 {
   char s[1024*1024*1024];
 };
 
 int main()
 {
   rlimit lim;
   lim.rlim_cur = 1024*1024*1024;
   lim.rlim_max = 1024*1024*1024;
   setrlimit (RLIMIT_AS, lim);
   try {
   throw large ();
   } catch (large) {
   } catch (std::bad_alloc) {
   }
 }
 
 I get
 
  ./a.out 
 terminate called without an active exception
 Aborted

If reading 15.1.4 (Exception Handling / Throwing an exception) correctly
then allocation happens in an unspecified way but according to 3.7.3.1
which specifies that if the allocation function that fails to allocate
storage shall throw std::bad_alloc (if not marked with throw ()).  But
it isn't specified if the unspecified EH allocation function is
marked with throw ().

In particular 15.5.1 (The std::terminate function) doesn't list OOM
in allocating an exception as cause of abandoning exception handling.

It would be nice to get clarification from the standards body on what
shall happen if EH allocation runs into OOM situations.


[Bug rtl-optimization/63577] [4.8/4.9/5 Regression]: Huge compile time and memory usage with -O and not -fPIC

2015-01-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63577

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org ---
Does the combiner have any GC pointers stored in non-GTY memory?  I mean e.g.
LOG_LINKS, ...  If we could ggc_collect within the pass, the memory consumption
problem would be fixed.


[Bug middle-end/64568] [5 Regression] error: invalid reference prefix

2015-01-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64568

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
Index: gcc/tree-ssa-forwprop.c
===
--- gcc/tree-ssa-forwprop.c (revision 219446)
+++ gcc/tree-ssa-forwprop.c (working copy)
@@ -2281,7 +2281,9 @@ pass_forwprop::execute (function *fun)
  if (single_imm_use (lhs, use_p, use_stmt)
   gimple_store_p (use_stmt)
   !gimple_has_volatile_ops (use_stmt)
-  is_gimple_assign (use_stmt))
+  is_gimple_assign (use_stmt)
+  (TREE_CODE (gimple_assign_lhs (use_stmt))
+ != TARGET_MEM_REF))
{
  tree use_lhs = gimple_assign_lhs (use_stmt);
  tree new_lhs = build1 (REALPART_EXPR,

probably fixes it.


[Bug other/64370] [5 Regression] sreal.c:125:23: error: 'exp2' was not declared in this scope

2015-01-12 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64370

--- Comment #7 from Uroš Bizjak ubizjak at gmail dot com ---
(In reply to dave.anglin from comment #5)
 
 I have read that there are problems with overflow detection on alpha.  
 So, is that the issue?

The issue us that -inf will ICE with FP exception on alpha. I don't think -inf
(which is otherwise produced on other targets) is valid result, and using
scalbln avoids it.

[Bug c++/64383] missed warning for unused variable.

2015-01-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64383

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org ---
clang generally doesn't care about false positives.
And, the variable can be present just so that the dtor action is performed on
it (similarly to how other variables are there just to perform the ctor action
on it).


[Bug middle-end/64554] using _mm_clmulepi64_si128 doesn't error with -O0

2015-01-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64554

--- Comment #7 from Jakub Jelinek jakub at gcc dot gnu.org ---
(In reply to Richard Biener from comment #6)
 (In reply to charles from comment #5)
  No you're right.
  
  I could add, though, that the compiler should have said something.
  
  Also, why did it compile just fine with -O0?
 
 Sounds like a bug (we should error immediately here IMHO).  Probably
 needs to annotate the CIF codes with whether this is fatal (won't
 change with other inlining, IPA or LTO).
 
 OTOH the headers are also poorly designed to trigger this kind of error.
 
 Maybe we want to support __attribute__((always_inline(ISA not enabled)))
 instead to be able to print a custom error message?

The difference is that for __OPTIMIZE__   _mm_clmulepi64_si128 is implemented
as always_inline function (surrounded by #pragma GCC target(pclmul)), so for
-O1+ the inlining error is expected, such function can't be inlined into the
current function, and always_inline mandates that it is inlined (without
always_inline it would simply not be inlined, and the out of line
_mm_clmulepi64_si128 would use the pclmul ISA, while the caller would not).

For -O0, this is implemented using a macro, since the last argument must be a
constant, and the reason you get no error is that the function is const and you
don't use the result, so it is DCEd.
If you actually use the result (at -O0 it is enough to store it into say
__m128i c = _mm_clmulepi64_si128(a, b, 1); , for -O1 you'd need something
better, store into volatile var, or global var or otherwise make sure it isn't
DCEd), then you get this diagnosed:

/tmp/z.c: In function ‘main’:
/tmp/z.c:6:11: error: ‘__builtin_ia32_pclmulqdq128’ needs isa option -m32
-mpclmul
   __m128i c = _mm_clmulepi64_si128(a, b, 1);
   ^

So I don't see any bug on the gcc side here.

[Bug other/64370] [5 Regression] sreal.c:125:23: error: 'exp2' was not declared in this scope

2015-01-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64370

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org ---
Do you have ldexp on HPUX?  Asking because that is used in jcf-dump already...


[Bug ipa/64550] [5 Regression] IPA fixes cause ICE in tree-ssa.c:939

2015-01-12 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64550

--- Comment #8 from Martin Liška marxin at gcc dot gnu.org ---
Author: marxin
Date: Mon Jan 12 10:39:25 2015
New Revision: 219457

URL: https://gcc.gnu.org/viewcvs?rev=219457root=gccview=rev
Log:
Fix for PR64550.

PR ipa/64550
* ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
volatility for correct operands.
* gcc.dg/ipa/PR64550.c: New test.


Added:
trunk/gcc/testsuite/gcc.dg/ipa/PR64550.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ipa-icf-gimple.c
trunk/gcc/testsuite/ChangeLog

[Bug libgcj/64219] [5 Regression] Rename libgcj-5.0.pc to libgcj-5.pc

2015-01-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64219

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

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

So, is this all we need for this?


[Bug target/64566] cross build for arm-v5te-linux-gnueabi fails

2015-01-12 Thread bernd.edlinger at hotmail dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64566

--- Comment #1 from Bernd Edlinger bernd.edlinger at hotmail dot de ---
gcc-5-20150104 aka r219175 was working.


[Bug target/62642] [4.8/4.9 Regression] x86 rdtsc is moved through barrier

2015-01-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62642

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

  Known to work||5.0
Summary|[4.8/4.9/5 Regression] x86  |[4.8/4.9 Regression] x86
   |rdtsc is moved through  |rdtsc is moved through
   |barrier |barrier

--- Comment #7 from Richard Biener rguenth at gcc dot gnu.org ---
Fixed on trunk.


[Bug libstdc++/64535] Emergency buffer for exception allocation too small

2015-01-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64535

--- Comment #9 from Jakub Jelinek jakub at gcc dot gnu.org ---
If all allocations from the emergency pool are at least
sizeof(__cxa_refcounted_exception) long (or what is the minimum), then trying
to split the memory into smaller chunks (down to sizeof(free_entry)) might be
counter-productive.


[Bug ipa/64564] Internal compiler error: Segmentation fault caused by IPA ICF

2015-01-12 Thread Hale.Wang at arm dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64564

--- Comment #2 from Hale Wang Hale.Wang at arm dot com ---
(In reply to Uroš Bizjak from comment #1)
 Already fixed.
 
 *** This bug has been marked as a duplicate of bug 64551 ***

I have confirmed that this bug is already fixed. Thank you very much.

[Bug ipa/64565] New: [5 Regression] ICE: in inline_small_functions, at ipa-inline.c:1664

2015-01-12 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64565

Bug ID: 64565
   Summary: [5 Regression] ICE: in inline_small_functions, at
ipa-inline.c:1664
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: ipa
  Assignee: unassigned at gcc dot gnu.org
  Reporter: trippels at gcc dot gnu.org
CC: hubicka at gcc dot gnu.org

Since r219452 I get:

trippels@gcc2-power8 places % cat nsNavHistoryResult.ii
typedef enum
{
  NS_OK
} nsresult;
struct A
{
  static int kIID;
};
class B
{
};
class C
{
public:
  C (B p1) { m_fn1 (p1, A::kIID); }
  void m_fn1 (B, int);
};
class D;
class F
{
public:
  F (int);
};
class G
{
public:
  D *operator[](int);
};
class H
{
  virtual nsresult m_fn2 ();

public:
  void m_fn3 ();
};
class J : H
{
  G mQueries;
  int mLiveUpdate;
  nsresult m_fn2 ();
};
class D
{
public:
  nsresult m_fn4 (int);
  void m_fn5 (int);
};
class I
{
public:
  static I *
  m_fn6 ()
  {
B __trans_tmp_3;
if (!gHistoryService)
  C serv = __trans_tmp_3;
  }
  void m_fn7 ();
  static I *gHistoryService;
};
D *Refresh___trans_tmp_2;
D Refresh___trans_tmp_6, Refresh___trans_tmp_5;
int Refresh_hasDomain;
nsresult
J::m_fn2 ()
{
  m_fn3 ();
  I history = *I::m_fn6 ();
  switch (mLiveUpdate)
{
case 1:
  {
mQueries[0];
F query = 0;
if (Refresh_hasDomain)
  return NS_OK;
  }
case 0:
  {
Refresh___trans_tmp_2 = mQueries[0];
F query = Refresh___trans_tmp_5.m_fn4 (0);
history.m_fn7 ();
Refresh___trans_tmp_6.m_fn5 (0);
  }
case 3:
  m_fn2 ();
}
}

trippels@gcc2-power8 places % c++ -c -O2 nsNavHistoryResult.ii
nsNavHistoryResult.ii:88:1: internal compiler error: in inline_small_functions,
at ipa-inline.c:1664
 }
 ^
0x1103ce83 inline_small_functions
../../gcc/gcc/ipa-inline.c:1664
0x1103ce83 ipa_inline
../../gcc/gcc/ipa-inline.c:2163
0x1103ce83 execute
../../gcc/gcc/ipa-inline.c:2536
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 ipa/64565] [5 Regression] ICE: in inline_small_functions, at ipa-inline.c:1664

2015-01-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64565

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P1
   Target Milestone|--- |5.0


[Bug ipa/64565] [5 Regression] ICE: in inline_small_functions, at ipa-inline.c:1664

2015-01-12 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64565

--- Comment #2 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
Sorry I've pasted the wrong values in comment 1.


(gdb) p current_badness
$6 = {
  m_sig = -1726576896,
  m_exp = -28
}
(gdb) p badness
$7 = {
  m_sig = -1726576832,
  m_exp = -28
}


[Bug libstdc++/64535] Emergency buffer for exception allocation too small

2015-01-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64535

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

  Attachment #34399|0   |1
is obsolete||
 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2015-01-12
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org
 Ever confirmed|0   |1

--- Comment #8 from Richard Biener rguenth at gcc dot gnu.org ---
Created attachment 34418
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34418action=edit
prototype of a variable-size emergency allocator

The attached patch implements a new fixed-size arena, variable size object
allocator and uses it for the emergency pool (not yet for the dependent
exception allocations, but trivial to change those).

I welcome libstdc++ coding style issues pointed out and general comments
on whether this approach is fine (also unifying the dependent allocations
in here).

TODO: implement free-list sorting and merging of free-list entries

Sofar tested by forcing the use of the emergency allocator (as in the patch,
see #if 1) by bootstrapping and testing C++ (hopefully sorted out a last issue,
test re-running).


[Bug libstdc++/64535] Emergency buffer for exception allocation too small

2015-01-12 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64535

--- Comment #10 from rguenther at suse dot de rguenther at suse dot de ---
On Mon, 12 Jan 2015, jakub at gcc dot gnu.org wrote:

 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64535
 
 --- Comment #9 from Jakub Jelinek jakub at gcc dot gnu.org ---
 If all allocations from the emergency pool are at least
 sizeof(__cxa_refcounted_exception) long (or what is the minimum), then trying
 to split the memory into smaller chunks (down to sizeof(free_entry)) might be
 counter-productive.

Maybe, it's not 100% clear to me as the small remains could be merged with
a released entry to an even larger one.  That said, I tried to make
the allocation class generic enough for re-use, but adding a
min_free_size const is certainly possible (template parameters for
arena size and minimum free list element size).

If re-testing finishes successfully I'll give the sorting and merging
a stab, shouldn't be too difficult.


[Bug target/64055] [5 regression] gnat.dg/derived_aggregate.adb FAILs on 32-bit i386

2015-01-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64055

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

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

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


[Bug ipa/64425] [5 Regression] r219076 causes 36% tramp3d slowdown

2015-01-12 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64425

Markus Trippelsdorf trippels at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED

--- Comment #6 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
Fixed. Thanks. Even -flto is fine now.


[Bug ipa/64565] [5 Regression] ICE: in inline_small_functions, at ipa-inline.c:1664

2015-01-12 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64565

--- Comment #1 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
1664  gcc_assert (max_count || current_badness = badness);

(gdb) p current_badness
$2 = {
  m_sig = -1,
  m_exp = -1
}
(gdb) p badness
$3 = {
  m_sig = -1726576832,
  m_exp = -28
}


[Bug rtl-optimization/64286] [4.9/5 Regression] Redundant extend removal ignores vector element type

2015-01-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64286

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.9.3
Summary|Redundant extend removal|[4.9/5 Regression]
   |ignores vector element type |Redundant extend removal
   ||ignores vector element type

--- Comment #7 from Jakub Jelinek jakub at gcc dot gnu.org ---
Started (well, no longer latent) since r206090.


[Bug bootstrap/64561] [5 Regression] HAVE_LD_PIE_COPYRELOC is defined to 1 for broken linker

2015-01-12 Thread hjl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64561

--- Comment #1 from hjl at gcc dot gnu.org hjl at gcc dot gnu.org ---
Author: hjl
Date: Mon Jan 12 11:50:13 2015
New Revision: 219460

URL: https://gcc.gnu.org/viewcvs?rev=219460root=gccview=rev
Log:
Update Linux/x86-64 linker test for PIE with copy reloc

PR bootstrap/64561
* configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
test for PIE with copy reloc.
* configure: Regenerated.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/configure
trunk/gcc/configure.ac


[Bug c++/64383] missed warning for unused variable.

2015-01-12 Thread pluto at agmk dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64383

--- Comment #2 from Pawel Sikora pluto at agmk dot net ---
(In reply to Manuel López-Ibáñez from comment #1)
 A minimized testcase would be helpful. Using delta would probably remove
 already a lot: https://gcc.gnu.org/wiki/A_guide_to_testcase_reduction


one more small testcase w/o stl with missed warning.

struct Y
{
~Y(); // comment this line to get proper warning about 'unused y variable'
};
struct X
{
static Y get();
};
int main()
{
Y y = X::get();
}

clang 3.5.0 warns in both (w/ and w/o Y dtor) variants.

[Bug target/64566] New: cross build for arm-v5te-linux-gnueabi fails

2015-01-12 Thread bernd.edlinger at hotmail dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64566

Bug ID: 64566
   Summary: cross build for arm-v5te-linux-gnueabi fails
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: bernd.edlinger at hotmail dot de

I try to build this:

../gcc-5-20150111/configure --prefix=/home/ed/gnu/arm-v5te-linux-gnueabi
--target=arm-v5te-linux-gnueabi
--with-sysroot=/home/ed/gnu/sysroot-arm-v5te-linux-gnueabi --disable-multilib
--with-float=soft --with-cpu=arm926ej-s --enable-languages=c,c++

but the build fails in libgcc:

/home/ed/gnu/gcc-build-arm-v5te-linux-gnueabi/./gcc/xgcc
-B/home/ed/gnu/gcc-build-arm-v5te-linux-gnueabi/./gcc/
-B/home/ed/gnu/arm-v5te-linux-gnueabi/arm-v5te-linux-gnueabi/bin/
-B/home/ed/gnu/arm-v5te-linux-gnueabi/arm-v5te-linux-gnueabi/lib/ -isystem
/home/ed/gnu/arm-v5te-linux-gnueabi/arm-v5te-linux-gnueabi/include -isystem
/home/ed/gnu/arm-v5te-linux-gnueabi/arm-v5te-linux-gnueabi/sys-include-g
-O2 -O2  -g -O2 -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wno-narrowing
-Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition  -isystem ./include   -fPIC -fno-inline -g -DIN_LIBGCC2
-fbuilding-libgcc -fno-stack-protector   -fPIC -fno-inline -I. -I.
-I../.././gcc -I../../../gcc-5-20150111/libgcc
-I../../../gcc-5-20150111/libgcc/. -I../../../gcc-5-20150111/libgcc/../gcc
-I../../../gcc-5-20150111/libgcc/../include  -DHAVE_CC_TLS  -o linux-atomic.o
-MT linux-atomic.o -MD -MP -MF linux-atomic.dep  -c
../../../gcc-5-20150111/libgcc/config/arm/linux-atomic.c -fvisibility=hidden
-DHIDE_EXPORTS
../../../gcc-5-20150111/libgcc/config/arm/linux-atomic.c:279:1: internal
compiler error: Segmentation fault
 SYNC_LOCK_RELEASE (char,  1)
 ^
0xaa75df crash_signal
../../gcc-5-20150111/gcc/toplev.c:372
0xfeeadb tree_check(tree_node*, char const*, int, char const*, tree_code)
../../gcc-5-20150111/gcc/tree.h:2769
0xfeeadb target_opts_for_fn
../../gcc-5-20150111/gcc/tree.h:4643
0xfeeadb ipa_icf::sem_function::equals_private(ipa_icf::sem_item*,
hash_mapsymtab_node*, ipa_icf::sem_item*, default_hashmap_traits)
../../gcc-5-20150111/gcc/ipa-icf.c:438
0xfef7c3 ipa_icf::sem_function::equals(ipa_icf::sem_item*,
hash_mapsymtab_node*, ipa_icf::sem_item*, default_hashmap_traits)
../../gcc-5-20150111/gcc/ipa-icf.c:393
0xff1cfa ipa_icf::sem_item_optimizer::subdivide_classes_by_equality(bool)
../../gcc-5-20150111/gcc/ipa-icf.c:1900
0xff66fc ipa_icf::sem_item_optimizer::execute()
../../gcc-5-20150111/gcc/ipa-icf.c:1719
0xff71f1 ipa_icf_driver
../../gcc-5-20150111/gcc/ipa-icf.c:2448
0xff71f1 ipa_icf::pass_ipa_icf::execute(function*)
../../gcc-5-20150111/gcc/ipa-icf.c:2496
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.
make[2]: *** [linux-atomic.o] Error 1
make[2]: Leaving directory
`/home/ed/gnu/gcc-build-arm-v5te-linux-gnueabi/arm-v5te-linux-gnueabi/libgcc'
make[1]: *** [all-target-libgcc] Error 2
make[1]: Leaving directory `/home/ed/gnu/gcc-build-arm-v5te-linux-gnueabi'
make: *** [all] Error 2


[Bug ipa/64550] [5 Regression] IPA fixes cause ICE in tree-ssa.c:939

2015-01-12 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64550

--- Comment #9 from Martin Liška marxin at gcc dot gnu.org ---
Fixed in 5.0.0.

[Bug tree-optimization/64357] [5 Regression] ICE at -Os on x86_64-linux-gnu in check_loop_closed_ssa_use, at tree-ssa-loop-manip.c:579

2015-01-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64357

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 fortran/63733] [4.8/4.9/5 Regression] [OOP] wrong resolution for OPERATOR generics

2015-01-12 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63733

--- Comment #9 from janus at gcc dot gnu.org ---
Author: janus
Date: Mon Jan 12 16:14:06 2015
New Revision: 219475

URL: https://gcc.gnu.org/viewcvs?rev=219475root=gccview=rev
Log:
2015-01-12  Janus Weil  ja...@gcc.gnu.org

Backport from mainline
PR fortran/63733
* interface.c (gfc_extend_expr): Look for type-bound operators before
non-typebound ones.

2015-01-12  Janus Weil  ja...@gcc.gnu.org

Backport from mainline
PR fortran/63733
* gfortran.dg/typebound_operator_20.f90: New.

Added:
branches/gcc-4_9-branch/gcc/testsuite/gfortran.dg/typebound_operator_20.f90
Modified:
branches/gcc-4_9-branch/gcc/fortran/ChangeLog
branches/gcc-4_9-branch/gcc/fortran/interface.c
branches/gcc-4_9-branch/gcc/testsuite/ChangeLog


[Bug c++/64562] Member functions with r-value reference for *this and deduced return type incorrectly rejected as ambiguous

2015-01-12 Thread ville.voutilainen at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64562

Ville Voutilainen ville.voutilainen at gmail dot com changed:

   What|Removed |Added

   Keywords||rejects-valid
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-01-12
 CC||ville.voutilainen at gmail dot 
com
 Ever confirmed|0   |1
  Known to fail||4.8.2, 4.9.1, 5.0

--- Comment #1 from Ville Voutilainen ville.voutilainen at gmail dot com ---
Reducing the test slightly, removing iostreams:

#define RETURN_TYPE auto

namespace {

struct S {
  RETURN_TYPE operator--()  {
return 1;
  }

  RETURN_TYPE operator--() const  {
return 2;
  }

  RETURN_TYPE operator--()  {
return 3;
  }

  RETURN_TYPE operator--() const  {
return 4;
  }
};

const S callme() { return {}; }

auto f1() {
  return --S();
}

auto f2() {
  return --callme();
}

auto f3() {
  S s;
  return --s;
}

auto f4() {
  const S s {};
  return --s;
}

}

int main() {
  f1();
  f2();
  f3();
  f4();
}


[Bug middle-end/64568] [5 Regression] error: invalid reference prefix

2015-01-12 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64568

--- Comment #3 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
Here's a target-independent testcase:

 % cat test21.ii
namespace std
{
typedef long unsigned size_t;
template typename class complex;
template typename _Tp complex_Tp operator+(complex_Tp, complex_Tp)
{
  complex_Tp a = 0;
  a += 0;
  return a;
}
template  struct complexdouble
{
  complex (int __i) : _M_value{ __i } {}
  int imag ();
  void operator+=(complex __z) { _M_value = __z.imag (); }
  _Complex double _M_value;
};
}
class A
{
public:
  A (int);
  std::complexdouble operator[](int i) { return data_[i]; }
  std::complexdouble *data_;
};
struct B
{
  static std::complexdouble
  apply (std::complexdouble t1, std::complexdouble t2)
  {
return t1 + t2;
  }
};
template class T1, class struct C
{
  static void
  apply (T1 t1, std::complexdouble t2)
  {
t1 = t2;
  }
};
template class E class D
{
public:
  E operator()();
};
class G : public DG
{
public:
  typedef std::complexdouble value_type;
  value_type operator()(int) { return B::apply (0, 0); }
};
template class E1, class E2 G operator+(DE1, DE2);
template template class, class class F, class V, class E
void
indexing_vector_assign (V v, DE e)
{
  for (int i;; ++i)
Ftypename V::reference, typename E::value_type::apply (v (i), e ()(0));
}
template template class, class class F, class V, class E
void
vector_assign (V v, DE e, int)
{
  indexing_vector_assignF (v, e);
}
template template class, class class F, class V, class E
void
vector_assign (V v, DE e)
{
  vector_assignF (v, e, typename V::storage_category ());
}
class H : public Dint
{
public:
  typedef std::complexdouble reference;
  typedef int storage_category;
  H (int);
  template class AE H (DAE ae) : data_ (0)
  {
vector_assignC (*this, ae);
  }
  A
  data ()
  {
return data_;
  }
  reference operator()(int i) { return data ()[i]; }
  A data_;
};
template class T1, class V1, class T2, class V2
void
rot (T1, V1 v1, T2, V2 v2)
{
  H (v1 + v2);
}
template class, unsigned long struct F
{
  void test ();
};
template struct FH, 3;
template class V, std::size_t N
void
FV, N::test ()
{
  V b (0), c (0);
  rot (0, b, 0, c);
}

 % g++ -O2 -std=c++11 test21.ii
test21.ii: In member function ‘void F template-parameter-1-1, anonymous
::test() [with template-parameter-1-1 = H; long unsigned int anonymous =
3ul]’:
test21.ii:104:1: error: invalid reference prefix
 FV, N::test ()
 ^
MEM[base: _25, offset: 0B]
cc1plus: note: in statement
# .MEM_8 = VDEF .MEM_30
REALPART_EXPR MEM[base: _25, offset: 0B] = _18;
test21.ii:104:1: error: invalid reference prefix
MEM[base: _25, offset: 0B]
test21.ii:39:5: note: in statement
 t1 = t2;
 ^
# .MEM_33 = VDEF .MEM_8
IMAGPART_EXPR MEM[base: _25, offset: 0B] = 0.0;
test21.ii:104:1: internal compiler error: verify_gimple failed
 FV, N::test ()
 ^
0x10a34f8f verify_gimple_in_cfg(function*, bool)
../../gcc/gcc/tree-cfg.c:5056
0x108f1b53 execute_function_todo
../../gcc/gcc/passes.c:1946
0x108f2793 do_per_function
../../gcc/gcc/passes.c:1638
0x108f2a67 execute_todo
../../gcc/gcc/passes.c:2003
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug re

[Bug tree-optimization/64530] [4.9/5 Regression] Incorrect calculation when assigning to array with -O3

2015-01-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64530

--- Comment #6 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Mon Jan 12 15:37:07 2015
New Revision: 219474

URL: https://gcc.gnu.org/viewcvs?rev=219474root=gccview=rev
Log:
2015-01-12  Richard Biener  rguent...@suse.de

PR tree-optimization/64530
* tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
back dr1.

* gfortran.dg/pr64530.f90: New testcase.

Added:
trunk/gcc/testsuite/gfortran.dg/pr64530.f90
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-loop-distribution.c


[Bug rtl-optimization/61047] [4.9/5 Regression] wrong code at -O1 on x86_64-linux

2015-01-12 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61047

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 CC||zsojka at seznam dot cz

--- Comment #12 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
*** Bug 63288 has been marked as a duplicate of this bug. ***


[Bug tree-optimization/63288] [5 Regression] gcc.c-torture/execute/20140326-1.c FAILs with -Og -fgcse -fif-conversion2

2015-01-12 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63288

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #6 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
Let's stop using random set of options...

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


[Bug target/64513] [4.8/4.9/5 Regression] ICE: in maybe_record_trace_start, at dwarf2cfi.c:2231 with -mstack-arg-probe

2015-01-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64513

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

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

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


[Bug target/64513] [4.8/4.9/5 Regression] ICE: in maybe_record_trace_start, at dwarf2cfi.c:2231 with -mstack-arg-probe

2015-01-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64513

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 34424
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34424action=edit
gcc5-pr64513.patch

Untested fix.


[Bug tree-optimization/64530] [4.9 Regression] Incorrect calculation when assigning to array with -O3

2015-01-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64530

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

  Known to work||5.0
Summary|[4.9/5 Regression]  |[4.9 Regression] Incorrect
   |Incorrect calculation when  |calculation when assigning
   |assigning to array with -O3 |to array with -O3
  Known to fail|5.0 |

--- Comment #7 from Richard Biener rguenth at gcc dot gnu.org ---
Fixed on trunk sofar.


[Bug c++/64356] Some constexpr expressions not recognized as constexpr

2015-01-12 Thread ville.voutilainen at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64356

Ville Voutilainen ville.voutilainen at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-01-12
 Ever confirmed|0   |1


[Bug testsuite/64427] gcc.target/i386/pr64291-1.c is invalid

2015-01-12 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64427

--- Comment #8 from Marc Glisse glisse at gcc dot gnu.org ---
(In reply to H.J. Lu from comment #7)
 Fixed.

Thanks HJ! Sorry for not doing it myself sooner...


[Bug libstdc++/64571] [5.0 Regression] Link failure with fstream due to new string implementation

2015-01-12 Thread reichelt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64571

Volker Reichelt reichelt at gcc dot gnu.org changed:

   What|Removed |Added

  Known to work||4.8.0, 4.9.0, 4.9.2
   Target Milestone|--- |5.0
  Known to fail||5.0


[Bug libstdc++/64571] [5.0 Regression] Link failure with fstream due to new string implementation

2015-01-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64571

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2015-01-12
   Assignee|unassigned at gcc dot gnu.org  |redi at gcc dot gnu.org
 Ever confirmed|0   |1


[Bug target/64460] ARM ICE on valid code

2015-01-12 Thread joel at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64460

--- Comment #6 from Joel Sherrill joel at gcc dot gnu.org ---
(In reply to ktkachov from comment #5)
 (In reply to Joel Sherrill from comment #4)
  (In reply to ktkachov from comment #3)
   I have a fix in the works. The bug is down to the shift attribute value 
   in
   one of the patterns, although only xscale_sched_adjust_cost uses that
   attribute.
  
  Awesome! I was about to start another attempt at a git bisect but it sounds
  like you don't need it. Let me know if it is worth running.
 
 Thanks, but no need. I think I've got the root cause and I got a fix that
 fixes the testcase, I just need to put it through testing.
 
 A testsuite-appropriate reduced testcase would be nice I guess, although
 I'll kick off a reducer soon.

FWIW the head now builds for arm-rtems again but the bug is still present
with 15b6c83e88101ec7e2efedc114a7940cfbffa479.

FWIW there are a few warnings building the ARM:

../../../../../../gcc/libgcc/config/arm/fp16.c:97:1: warning: no previous
prototype for '__gnu_h2f_internal' [-Wmissing-prototypes]
../../../../../../gcc/libgcc/config/arm/fp16.c:122:1: warning: no previous
prototype for '__gnu_f2h_ieee' [-Wmissing-prototypes]
../../../../../../gcc/libgcc/config/arm/fp16.c:128:1: warning: no previous
prototype for '__gnu_h2f_ieee' [-Wmissing-prototypes]
../../../../../../gcc/libgcc/config/arm/fp16.c:134:1: warning: no previous
prototype for '__gnu_f2h_alternative' [-Wmissing-prototypes]
../../../../../../gcc/libgcc/config/arm/fp16.c:140:1: warning: no previous
prototype for '__gnu_h2f_alternative' [-Wmissing-prototypes]
../../../../../../gcc/libgcc/unwind-arm-common.inc:245:29: warning: cast
discards 'const' qualifier from pointer target type [-Wcast-qual]
../../../../../../gcc/libgcc/emutls.c:159:13: warning: implicit declaration of
function 'calloc' [-Wimplicit-function-declaration]
../../../../../../gcc/libgcc/emutls.c:159:13: warning: incompatible implicit
declaration of built-in function 'calloc'
../../../../../../gcc/libgcc/emutls.c:171:13: warning: implicit declaration of
function 'realloc' [-Wimplicit-function-declaration]
../../../../../../gcc/libgcc/emutls.c:171:13: warning: incompatible implicit
declaration of built-in function 'realloc'


[Bug jit/63854] Fix memory leaks seen in JIT

2015-01-12 Thread dmalcolm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63854

--- Comment #30 from David Malcolm dmalcolm at gcc dot gnu.org ---
(In reply to David Binderman from comment #29)
 Similar thing in the same area, caught using static analyser cppcheck:
 
 [gcc/jit/jit-playback.c:1791]: (error) Resource leak: f_in
 
 Source code is
 
   if (!feof (f_in))
 {
   add_error (NULL, error reading from %s, path);
   free (result);
   return NULL;
 }
 
   fclose (f_in);
 
 It looks to me like a call to fclose needs to happen just before
 the return.

Thanks.  I've fixed this in r219487.


[Bug fortran/63733] [4.8/4.9/5 Regression] [OOP] wrong resolution for OPERATOR generics

2015-01-12 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63733

--- Comment #10 from janus at gcc dot gnu.org ---
Author: janus
Date: Mon Jan 12 19:40:57 2015
New Revision: 219486

URL: https://gcc.gnu.org/viewcvs?rev=219486root=gccview=rev
Log:
2015-01-12  Janus Weil  ja...@gcc.gnu.org

Backport from mainline
PR fortran/63733
* interface.c (gfc_extend_expr): Look for type-bound operators before
non-typebound ones.

2015-01-12  Janus Weil  ja...@gcc.gnu.org

Backport from mainline
PR fortran/63733
* gfortran.dg/typebound_operator_20.f90: New.

Added:
branches/gcc-4_8-branch/gcc/testsuite/gfortran.dg/typebound_operator_20.f90
Modified:
branches/gcc-4_8-branch/gcc/fortran/ChangeLog
branches/gcc-4_8-branch/gcc/fortran/interface.c
branches/gcc-4_8-branch/gcc/testsuite/ChangeLog


[Bug c++/64570] New: error: non-trivial conversion at assignment

2015-01-12 Thread dcb314 at hotmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64570

Bug ID: 64570
   Summary: error: non-trivial conversion at assignment
   Product: gcc
   Version: 5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: dcb314 at hotmail dot com

Created attachment 34427
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34427action=edit
gzipped C++ source code

I just tried to compile the attached C++ code with the latest trunk
dated 20150111 on a Fedora Linux x86_64 box.

The compiler said

src/ide/HDCommand.cc: In member function ‘virtual void
openmsx::HDCommand::tabCo
mpletion(std::vectorstd::__cxx11::basic_stringchar ) const’:
src/ide/HDCommand.cc:76:6: error: non-trivial conversion at assignment
long unsigned int
const char[7] *
# .MEM_123 = VDEF .MEM_120
MEM[(char * {ref-all})_89] = _30;
src/ide/HDCommand.cc:76:6: internal compiler error: verify_gimple failed
0xc9bcff verify_gimple_in_cfg(function*, bool)
../../src/trunk/gcc/tree-cfg.c:5056
0xb6ce4e execute_function_todo(function*, void*)
../../src/trunk/gcc/passes.c:1946
0xb6b969 execute_todo(unsigned int)
../../src/trunk/gcc/passes.c:2003
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.

Flags -O2 -std=gnu++0x required. This bug might be related to #59630.

[Bug libstdc++/64571] [5.0 Regression] Link failure with fstream due to new string implementation

2015-01-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64571

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org ---
They are defined in src/c++11/fstream-inst.cc so I think I just need to add the
new symbols to the linker script. I'm surprised the testsuite didn't catch it
though!


  1   2   >