[Bug fortran/54070] [4.9/5 Regression] Wrong code with allocatable deferred-length (array) function results

2016-01-18 Thread neil.n.carlson at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54070

--- Comment #30 from neil.n.carlson at gmail dot com ---
Paul, you've done a lot of great work here (a huge thanks!) and I can confirm
that many of my deferred-length character issues seem to be resolved now with
the trunk (r232457, 1/15/2016).  I'm uncertain though whether you consider this
PR resolved or if you are still working on it (there were lots of examples in
PRs marked as duplicates).  I still have at least one remaining issue with this
trunk version:

class(*), allocatable :: x(:)
allocate(x, source=['foo','bar'])
end

Compiles fine, but produces a run time seg fault:

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:
#0  0x7F85F60F5517
#1  0x7F85F60F5B5E
#2  0x7F85F55F695F
#3  0x7F85F56507ED
#4  0x400932 in __copy_character_1.3416 at bug.f90:?
#5  0x400B91 in MAIN__ at bug.f90:?
Segmentation fault (core dumped)

Should I open another PR for this?

[Bug tree-optimization/69336] Constant value not detected

2016-01-18 Thread alalaw01 at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69336

alalaw01 at gcc dot gnu.org changed:

   What|Removed |Added

 CC||alalaw01 at gcc dot gnu.org

--- Comment #4 from alalaw01 at gcc dot gnu.org ---
That looks reasonable, AFAICT get_ref_base_and_extent will deal with anything
that is handled_component_p. The same patch enables the optimization on
aarch64, with appropriate --param sra-max-scalarization-size-Ospeed to pull the
constant-pool entry in.

[Bug rtl-optimization/69052] [6 Regression] Performance regression after r229402.

2016-01-18 Thread izamyatin at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69052

Igor Zamyatin  changed:

   What|Removed |Added

 CC||izamyatin at gmail dot com

--- Comment #3 from Igor Zamyatin  ---
(In reply to amker from comment #2)
> It's my change, I will look into it.

Any plans on this?

[Bug fortran/54070] [4.9/5 Regression] Wrong code with allocatable deferred-length (array) function results

2016-01-18 Thread neil.n.carlson at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54070

--- Comment #31 from neil.n.carlson at gmail dot com ---
Sorry, ignore the example of comment 30.  I had already reported this in PR
67564 (not a duplicate of this one).  I'm getting old ...

[Bug target/47122] vax-*-openbsd* configuration purports to require openbsd-pthread.h

2016-01-18 Thread bernds at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47122

Bernd Schmidt  changed:

   What|Removed |Added

 CC||bernds at gcc dot gnu.org

--- Comment #3 from Bernd Schmidt  ---
Can this be closed?

[Bug pch/68176] [4.9/5/6 Regression] all pch tests fail on eglibc systems (with bits/predefs.h)

2016-01-18 Thread nix at esperi dot org.uk
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68176

--- Comment #5 from Nix  ---
I didn't think of that (I try to forget that fixincludes exists because it
gives me nightmares). But much though I hate fixincludes, this sort of fix (to
headers for an obsolete program which will by definition never be fixed) is
more or less exactly what it was designed for, and seems a perfect fit for this
case. The question is whether further adjustments are needed to compensate for
the removal of ... I'll do some experimentation.

[Bug middle-end/68542] [6 Regression] 10% 481.wrf performance regression

2016-01-18 Thread ienkovich at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68542

--- Comment #5 from Ilya Enkovich  ---
Author: ienkovich
Date: Mon Jan 18 14:14:35 2016
New Revision: 232518

URL: https://gcc.gnu.org/viewcvs?rev=232518=gcc=rev
Log:
gcc/

2016-01-18  Yuri Rumyantsev  

PR middle-end/68542
* fold-const.c (fold_binary_op_with_conditional_arg): Bail out for case
of mixind vector and scalar types.
(fold_relational_const): Add handling of vector
comparison with boolean result.
* tree-cfg.c (verify_gimple_comparison): Add argument CODE, allow
comparison of vector operands with boolean result for EQ/NE only.
(verify_gimple_assign_binary): Adjust call for
verify_gimple_comparison.
(verify_gimple_cond): Likewise.
* tree-vrp.c (extract_code_and_val_from_cond_with_ops): Modify check on
valid type of VAL.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/fold-const.c
trunk/gcc/tree-cfg.c
trunk/gcc/tree-vrp.c

[Bug tree-optimization/69328] [6 Regression] ice in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1379 with -O3

2016-01-18 Thread ienkovich at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69328

--- Comment #4 from Ilya Enkovich  ---
(In reply to Richard Biener from comment #3)
> > ./cc1 -quiet t.c -O3
> t.c: In function ‘fn1’:
> t.c:2:6: internal compiler error: in vector_compare_rtx, at optabs.c:5290
>  void fn1() {
>   ^~~
> 
> 0xca84f2 vector_compare_rtx
> /space/rguenther/src/svn/trunk3/gcc/optabs.c:5290
> 0xca979f expand_vec_cond_expr(tree_node*, tree_node*, tree_node*,
> tree_node*, rtx_def*)
> /space/rguenther/src/svn/trunk3/gcc/optabs.c:5612
> 
> sth else is wrong here.

Looks like vectype1 and vectype2 in vect_is_simple_cond have different number
of elements and we don't catch it.

[Bug tree-optimization/69297] [6 Regression] Performance regression after r230020

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69297

--- Comment #5 from Richard Biener  ---
Author: rguenth
Date: Mon Jan 18 14:25:56 2016
New Revision: 232519

URL: https://gcc.gnu.org/viewcvs?rev=232519=gcc=rev
Log:
2016-01-18  Richard Biener  

PR tree-optimization/69297
* tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar
stmt at most once.
(vect_bb_vectorization_profitable_p): Clear visited flag again.

* gcc.dg/vect/costmodel/x86_64/costmodel-pr69297.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-pr69297.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-vect-slp.c

[Bug tree-optimization/69297] [6 Regression] Performance regression after r230020

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69297

Richard Biener  changed:

   What|Removed |Added

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

--- Comment #6 from Richard Biener  ---
Fixed.

[Bug target/69345] [6 Regression] 459.GemsFDTD regression

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69345

--- Comment #1 from Richard Biener  ---
candidates are r232435 and r232401 I think (which would be both mine).

[Bug target/69345] [6 Regression] 459.GemsFDTD regression

2016-01-18 Thread afomin.mailbox at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69345

Alexander Fomin  changed:

   What|Removed |Added

 CC||afomin.mailbox at gmail dot com

--- Comment #2 from Alexander Fomin  ---
I can confirm we've also seen it on Core i7.
Now bisecting.

[Bug bootstrap/64919] bootstrap failure of gcc-4.9.2 on ia64-hpux in libgcc

2016-01-18 Thread bugzilla-gcc at thewrittenword dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64919

--- Comment #29 from The Written Word  
---
(In reply to Alexander from comment #28)
> this one file should recompile with -O1 optimization

Thanks. I rebuilt with charset.c with -O1 and it compiled. I resumed the build
and the compile now fails with:
/opt/build/china/gcc-4.9.3/.obj/./prev-gcc/xg++
-B/opt/build/china/gcc-4.9.3/.obj/./prev-gcc/
-B/opt/build/gcc49/ia64-hp-hpux11.31/bin/ -nostdinc++
-B/opt/build/china/gcc-4.9.3/.obj/prev-ia64-hp-hpux11.31/libstdc++-v3/src/.libs
-B/opt/build/china/gcc-4.9.3/.obj/prev-ia64-hp-hpux11.31/libstdc++-v3/libsupc++/.libs

-I/opt/build/china/gcc-4.9.3/.obj/prev-ia64-hp-hpux11.31/libstdc++-v3/include/ia64-hp-hpux11.31
 -I/opt/build/china/gcc-4.9.3/.obj/prev-ia64-hp-hpux11.31/libstdc++-v3/include 
-I/opt/build/china/gcc-4.9.3/libstdc++-v3/libsupc++
-L/opt/build/china/gcc-4.9.3/.obj/prev-ia64-hp-hpux11.31/libstdc++-v3/src/.libs
-L/opt/build/china/gcc-4.9.3/.obj/prev-ia64-hp-hpux11.31/libstdc++-v3/libsupc++/.libs
-c  -DUSE_LIBUNWIND_EXCEPTIONS -DIN_GCC_FRONTEND -g -O2 -DIN_GCC   
-fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing
-Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long
-Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -I. -Ifortran
-I/opt/build/china/gcc-4.9.3/gcc -I/opt/build/china/gcc-4.9.3/gcc/fortran
-I/opt/build/china/gcc-4.9.3/gcc/../include -I./../intl
-I/opt/build/china/gcc-4.9.3/gcc/../libcpp/include
-I/opt/TWWfsw/libgmp51/include -I/opt/TWWfsw/libmpfr31/include
-I/opt/TWWfsw/libmpc10/include 
-I/opt/build/china/gcc-4.9.3/gcc/../libdecnumber
-I/opt/build/china/gcc-4.9.3/gcc/../libdecnumber/dpd -I../libdecnumber
-I/opt/build/china/gcc-4.9.3/gcc/../libbacktrace-o fortran/scanner.o -MT
fortran/scanner.o -MMD -MP -MF fortran/.deps/scanner.TPo
/opt/build/china/gcc-4.9.3/gcc/fortran/scanner.c
/opt/build/china/gcc-4.9.3/gcc/fortran/scanner.c: In function 'const char*
gfc_read_orig_filename(const char*, const char**)':
/opt/build/china/gcc-4.9.3/gcc/fortran/scanner.c:2220:1: internal compiler
error: in plus_constant, at explow.c:87
 }
 ^

[Bug target/68620] ICE on gcc.target/arm/attr-neon-fp16.c

2016-01-18 Thread clyon at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68620

Christophe Lyon  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed|2015-12-03 00:00:00 |2016-01-18
 Ever confirmed|0   |1

--- Comment #7 from Christophe Lyon  ---
Patch posted at https://gcc.gnu.org/ml/gcc-patches/2016-01/msg01031.html

[Bug target/69305] [5/6 Regression] wrong code with -O and int128 @ aarch64

2016-01-18 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69305

Jakub Jelinek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-01-18
 Ever confirmed|0   |1

--- Comment #4 from Jakub Jelinek  ---
Reduced testcase:
__attribute__((noinline, noclone)) unsigned __int128
foo (unsigned __int128 x, unsigned long long y)
{
  return x + (unsigned long long) -y;
}

int
main ()
{
  if (foo (70, 0) != 70)
__builtin_abort ();
  return 0;
}

[Bug target/69344] [6 Regression] 435.gromacs regression

2016-01-18 Thread izamyatin at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69344

Igor Zamyatin  changed:

   What|Removed |Added

 CC||izamyatin at gmail dot com

--- Comment #1 from Igor Zamyatin  ---
Same as PR69274

[Bug target/69344] [6 Regression] 435.gromacs regression

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69344

Richard Biener  changed:

   What|Removed |Added

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

--- Comment #2 from Richard Biener  ---
Dup then.

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

[Bug target/69274] [6 Regression] 435.gromacs performance regression after r231814 on x86 Haswell and bdver2

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69274

Richard Biener  changed:

   What|Removed |Added

   Keywords||missed-optimization
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-01-18
 Ever confirmed|0   |1

--- Comment #2 from Richard Biener  ---
Confirmed (see dup).

[Bug target/69274] [6 Regression] 435.gromacs performance regression after r231814 on x86 Haswell and bdver2

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69274

Richard Biener  changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu.org

--- Comment #1 from Richard Biener  ---
*** Bug 69344 has been marked as a duplicate of this bug. ***

[Bug target/43052] [4.9/5/6 Regression] Inline memcmp is *much* slower than glibc's, no longer expanded inline

2016-01-18 Thread bernds at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052

Bernd Schmidt  changed:

   What|Removed |Added

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

--- Comment #35 from Bernd Schmidt  ---
Closing since PR52171 tracks the other problem.

[Bug target/69305] [5/6 Regression] wrong code with -O and int128 @ aarch64

2016-01-18 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69305

--- Comment #7 from Jakub Jelinek  ---
The patterns are just weird.
(insn 10 7 11 2 (parallel [
(set (reg:CC_NZ 66 cc)
(compare:CC_NZ (plus:DI (reg:DI 79)
(reg:DI 85 [ x ]))
(const_int 0 [0])))
(set (reg:DI 81)
(plus:DI (reg:DI 79)
(reg:DI 85 [ x ])))
]) pr69305-1.c:5 100 {adddi3_compare0}
 (expr_list:REG_DEAD (reg:DI 85 [ x ])
(expr_list:REG_DEAD (reg:DI 79)
(nil
(insn 11 10 25 2 (set (reg:DI 82)
(plus:DI (geu:DI (reg:CC 66 cc)
(const_int 0 [0]))
(reg:DI 86 [ x+8 ]))) pr69305-1.c:5 452 {*csinc2di_insn}
 (expr_list:REG_DEAD (reg:DI 86 [ x+8 ])
(expr_list:REG_DEAD (reg:CC 66 cc)
(nil
This suggests that that you compare (a + b) cmp 0 and add 1 in the second insn
if (a + b) u>= 0, which is always, while what you are actually interested in is
whether (a + b) u< a (or equivalently (a + b) u< b), i.e. if there is an
overflow in the addition.  E.g. on x86_64 (though, only after split2) it is
represented that way:
(insn 33 13 34 2 (parallel [
(set (reg:CCC 17 flags)
(compare:CCC (plus:DI (reg:DI 0 ax [97])
(reg:DI 38 r9 [orig:90 x ] [90]))
(reg:DI 0 ax [97])))
(set (reg:DI 0 ax [95])
(plus:DI (reg:DI 0 ax [97])
(reg:DI 38 r9 [orig:90 x ] [90])))
]) pr69305-1.c:5 306 {*adddi3_cc_overflow_1}
 (nil))
(insn 34 33 20 2 (parallel [
(set (reg:DI 1 dx [+8 ])
(plus:DI (plus:DI (ltu:DI (reg:CC 17 flags)
(const_int 0 [0]))
(reg:DI 1 dx [+8 ]))
(reg:DI 39 r10 [ x+8 ])))
(clobber (reg:CC 17 flags))
]) pr69305-1.c:5 284 {adddi3_carry}
 (nil))

[Bug bootstrap/64919] bootstrap failure of gcc-4.9.2 on ia64-hpux in libgcc

2016-01-18 Thread bugzilla-gcc at thewrittenword dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64919

--- Comment #30 from The Written Word  
---
(In reply to The Written Word from comment #29)
> (In reply to Alexander from comment #28)
> > this one file should recompile with -O1 optimization
> 
> Thanks. I rebuilt with charset.c with -O1 and it compiled. I resumed the
> build and the compile now fails with:
> /opt/build/china/gcc-4.9.3/.obj/./prev-gcc/xg++
> -B/opt/build/china/gcc-4.9.3/.obj/./prev-gcc/
> -B/opt/build/gcc49/ia64-hp-hpux11.31/bin/ -nostdinc++
> -B/opt/build/china/gcc-4.9.3/.obj/prev-ia64-hp-hpux11.31/libstdc++-v3/src/.
> libs
> -B/opt/build/china/gcc-4.9.3/.obj/prev-ia64-hp-hpux11.31/libstdc++-v3/
> libsupc++/.libs 
> -I/opt/build/china/gcc-4.9.3/.obj/prev-ia64-hp-hpux11.31/libstdc++-v3/
> include/ia64-hp-hpux11.31 
> -I/opt/build/china/gcc-4.9.3/.obj/prev-ia64-hp-hpux11.31/libstdc++-v3/
> include  -I/opt/build/china/gcc-4.9.3/libstdc++-v3/libsupc++
> -L/opt/build/china/gcc-4.9.3/.obj/prev-ia64-hp-hpux11.31/libstdc++-v3/src/.
> libs
> -L/opt/build/china/gcc-4.9.3/.obj/prev-ia64-hp-hpux11.31/libstdc++-v3/
> libsupc++/.libs -c  -DUSE_LIBUNWIND_EXCEPTIONS -DIN_GCC_FRONTEND -g -O2
> -DIN_GCC-fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
> -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute
> -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings  
> -DHAVE_CONFIG_H -I. -Ifortran -I/opt/build/china/gcc-4.9.3/gcc
> -I/opt/build/china/gcc-4.9.3/gcc/fortran
> -I/opt/build/china/gcc-4.9.3/gcc/../include -I./../intl
> -I/opt/build/china/gcc-4.9.3/gcc/../libcpp/include
> -I/opt/TWWfsw/libgmp51/include -I/opt/TWWfsw/libmpfr31/include
> -I/opt/TWWfsw/libmpc10/include 
> -I/opt/build/china/gcc-4.9.3/gcc/../libdecnumber
> -I/opt/build/china/gcc-4.9.3/gcc/../libdecnumber/dpd -I../libdecnumber
> -I/opt/build/china/gcc-4.9.3/gcc/../libbacktrace-o fortran/scanner.o -MT
> fortran/scanner.o -MMD -MP -MF fortran/.deps/scanner.TPo
> /opt/build/china/gcc-4.9.3/gcc/fortran/scanner.c
> /opt/build/china/gcc-4.9.3/gcc/fortran/scanner.c: In function 'const char*
> gfc_read_orig_filename(const char*, const char**)':
> /opt/build/china/gcc-4.9.3/gcc/fortran/scanner.c:2220:1: internal compiler
> error: in plus_constant, at explow.c:87
>  }
>  ^

Rebuilding with -O0 or with no optimization specified worked around this. Is
that what others have done?

[Bug tree-optimization/69308] ifcombine joins together floating point expression with side effects

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69308

Richard Biener  changed:

   What|Removed |Added

  Known to work||6.0

--- Comment #12 from Richard Biener  ---
Fixed for GCC 6 sofar.

[Bug tree-optimization/69308] ifcombine joins together floating point expression with side effects

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69308

--- Comment #13 from Richard Biener  ---
Author: rguenth
Date: Mon Jan 18 13:03:54 2016
New Revision: 232516

URL: https://gcc.gnu.org/viewcvs?rev=232516=gcc=rev
Log:
2016-01-18  Richard Biener  

PR middle-end/69308
* gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND.

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

[Bug target/69344] New: [6 Regression] 435.gromacs regression

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69344

Bug ID: 69344
   Summary: [6 Regression] 435.gromacs regression
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: rguenth at gcc dot gnu.org
  Target Milestone: ---
Target: x86_64-*-*

Our two SPEC 2k6 testers show recent (mid December) regressions for
435.gromacs:

 http://gcc.opensuse.org/SPEC/CFP/sb-czerny-head-64-2006/index.html
 http://gcc.opensuse.org/SPEC/CFP/sb-megrez-head-64-2006/index.html

which can be narrowed down to r231790 (last good) r231841 (first known bad) for
the first link and r231805 (last good) r231814 (first known bad) for the
second.

Both testers use -Ofast -march=native, one is corei-avx2 one bdver2

This effectively means (given gromas is C only) I'd blame r231814 which is

2015-12-18  Andreas Krebbel  

* ira.c (ira_setup_alts): Move the scan for commutative modifier
to the first loop to make it work even with disabled alternatives.

but this means it is a backend issue.

Didn't yet try narrowing down to a testcase or try confirming the causing
revision.

[Bug target/69344] [6 Regression] 435.gromacs regression

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69344

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |6.0

[Bug target/69345] [6 Regression] 459.GemsFDTD regression

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69345

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |6.0

[Bug sanitizer/67515] crash from ubsan for non-virtual call in initializer list with an invalid vtable

2016-01-18 Thread yury.zaytsev at traveltainment dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67515

--- Comment #11 from Yury V. Zaytsev  ---
Hi Roger,

Thank you for the hint! I've tried the solution from the linked ticket, but I'm
still getting the same problem, albeit at a different place in the code (not
sure why?!). In addition I'm still struggling with undefined behaviors in other
parts of boost, like this one: https://svn.boost.org/trac/boost/ticket/11204
... for now I'll try to remove the use of boost::lexical_cast where possible
:-/

Thanks!

[Bug pch/68176] [4.9/5/6 Regression] all pch tests fail on eglibc systems (with bits/predefs.h)

2016-01-18 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68176

Jakub Jelinek  changed:

   What|Removed |Added

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

--- Comment #4 from Jakub Jelinek  ---
So shouldn't we just fixinclude the bad stdc-predef.h headers and resolve this
that way?  IMNSHO stdc-predef.h really shouldn't include anything.

[Bug lto/69133] [6 Regression] LTO segfault in lto_get_decl_name_mapping() on 483.xalancbmk with -flto-partition=none

2016-01-18 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69133

Jan Hubicka  changed:

   What|Removed |Added

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

[Bug target/69305] [5/6 Regression] wrong code with -O and int128 @ aarch64

2016-01-18 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69305

--- Comment #5 from ktkachov at gcc dot gnu.org ---
Confirmed as well.
If combine changed the plus-compare into a minus-compare, shouldn't it also go
into the condition code usage and update that too though?

[Bug target/69305] [5/6 Regression] wrong code with -O and int128 @ aarch64

2016-01-18 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69305

--- Comment #6 from ktkachov at gcc dot gnu.org ---
(In reply to ktkachov from comment #5)
> Confirmed as well.
> If combine changed the plus-compare into a minus-compare, shouldn't it also
> go into the condition code usage and update that too though?

scratch that, I was thinking of something else

[Bug target/69345] New: [6 Regression] 459.GemsFDTD regression

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69345

Bug ID: 69345
   Summary: [6 Regression] 459.GemsFDTD regression
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: rguenth at gcc dot gnu.org
  Target Milestone: ---

Our two SPEC 2006 testers show a 459.GemsFDTD regression a few days ago, the
bdver2 tester between r232400 and r232444 while the corei7-avx2 one between
r232395 and r232457.

No further bisection / confirmation done yet.  GemsFDTD is Fortran.

[Bug target/69305] [5/6 Regression] wrong code with -O and int128 @ aarch64

2016-01-18 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69305

--- Comment #8 from ktkachov at gcc dot gnu.org ---
(In reply to Jakub Jelinek from comment #7)
> The patterns are just weird.

All that comes from the addti3 expander in aarch64.md
If I delete it the testcase doesn't abort.
I'll have a closer look there.

[Bug target/69305] [5/6 Regression] wrong code with -O and int128 @ aarch64

2016-01-18 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69305

ktkachov at gcc dot gnu.org changed:

   What|Removed |Added

 CC||rth at gcc dot gnu.org

--- Comment #9 from ktkachov at gcc dot gnu.org ---
(In reply to ktkachov from comment #8)
> (In reply to Jakub Jelinek from comment #7)
> > The patterns are just weird.
> 
> All that comes from the addti3 expander in aarch64.md
> If I delete it the testcase doesn't abort.
> I'll have a closer look there.

Every approach I've tried to implement addti3 properly (that is, comparing (a +
b) u< a instead of (a + b) u>= 0) doesn't give better code than 4.9 which
didn't have the custom expanders.

Richard, you added these expanders. Any ideas on how to implement them properly
and better than the fallback?
Or should we just delete them?

[Bug lto/68881] [6 Regression] UNRESOLVED/FAIL: gcc.dg/lto/attr-weakref-1 -O2 -flto

2016-01-18 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68881

--- Comment #7 from Uroš Bizjak  ---
(In reply to Richard Biener from comment #2)
> Works for me but
> https://gcc.gnu.org/ml/gcc-testresults/2016-01/msg01237.html still has it.
> 
> Maybe some as feature stuff?  Tom, what target did you reproduce on?

I'm able to reproduce this on Fedora 23 using -fno-use-linker-plugin:

$ /ssd/uros/gcc-build/gcc/xgcc -B /ssd/uros/gcc-build/gcc -O2 -flto
-fno-use-linker-plugin -c attr-weakref-1_0.c 

$ /ssd/uros/gcc-build/gcc/xgcc -B /ssd/uros/gcc-build/gcc -O2 -flto
-fno-use-linker-plugin -c attr-weakref-1_1.c 

$ /ssd/uros/gcc-build/gcc/xgcc -B /ssd/uros/gcc-build/gcc -O2 -flto
-fno-use-linker-plugin -c attr-weakref-1_2.c 

$ /ssd/uros/gcc-build/gcc/xgcc -B /ssd/uros/gcc-build/gcc -O2 -flto
-fno-use-linker-plugin attr-weakref-1_0.o attr-weakref-1_1.o attr-weakref-1_2.o 
/tmp/ccydxp6I.s: Assembler messages:
/tmp/ccydxp6I.s: Error: symbol definition loop encountered at
`callmealias.lto_priv.1'
/tmp/ccydxp6I.s: Error: symbol definition loop encountered at
`callmealias.lto_priv.0'
lto-wrapper: fatal error: /ssd/uros/gcc-build/gcc/xgcc returned 1 exit status
compilation terminated.
collect2: fatal error: lto-wrapper returned 1 exit status
compilation terminated.

(The compilation works OK w/o -fno-use-linker-plugin.)

[Bug fortran/54070] [4.9/5 Regression] Wrong code with allocatable deferred-length (array) function results

2016-01-18 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54070

--- Comment #32 from Paul Thomas  ---
(In reply to neil.n.carlson from comment #31)
> Sorry, ignore the example of comment 30.  I had already reported this in PR
> 67564 (not a duplicate of this one).  I'm getting old ...

Thanks for your appreciation of my efforts!

I was going to attack some of the remaining deferred character issues after a
spell of regression fixing.

I have taken note of PR67564 and will give it a poke around tonight.

Best regards

Paul

[Bug fortran/66680] [5 Regression] ICE with openmp, a loop and a type bound procedure

2016-01-18 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66680

Dominique d'Humieres  changed:

   What|Removed |Added

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

--- Comment #10 from Dominique d'Humieres  ---
Test committed on trunk and gcc-5 branch. Closing as FIXED.

[Bug tree-optimization/69328] [6 Regression] ice in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1379 with -O3

2016-01-18 Thread ienkovich at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69328

--- Comment #5 from Ilya Enkovich  ---
This patch works for me:

diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c
index 635c797..9d4d286 100644
--- a/gcc/tree-vect-stmts.c
+++ b/gcc/tree-vect-stmts.c
@@ -7441,6 +7441,10 @@ vect_is_simple_cond (tree cond, vec_info *vinfo, tree
*comp_vectype)
   && TREE_CODE (rhs) != FIXED_CST)
 return false;

+  if (vectype1 && vectype2
+  && TYPE_VECTOR_SUBPARTS (vectype1) != TYPE_VECTOR_SUBPARTS (vectype2))
+return false;
+
   *comp_vectype = vectype1 ? vectype1 : vectype2;
   return true;
 }
@@ -7544,13 +7548,9 @@ vectorizable_condition (gimple *stmt,
gimple_stmt_iterator *gsi,
   if (!vect_is_simple_use (else_clause, stmt_info->vinfo, _stmt, ))
 return false;

-  if (VECTOR_BOOLEAN_TYPE_P (comp_vectype))
-{
-  vec_cmp_type = comp_vectype;
-  masked = true;
-}
-  else
-vec_cmp_type = build_same_sized_truth_vector_type (comp_vectype);
+  masked = !COMPARISON_CLASS_P (cond_expr);
+  vec_cmp_type = build_same_sized_truth_vector_type (comp_vectype);
+
   if (vec_cmp_type == NULL_TREE)
 return false;

[Bug tree-optimization/69342] [6 Regression] wrong code at -O1, -O2, -O3 (NOT -Os) on x86-64-linux-gnu (in 32- and 64-bit modes)

2016-01-18 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69342

Jakub Jelinek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-01-18
 CC||jakub at gcc dot gnu.org
   Target Milestone|--- |6.0
Summary|wrong code at -O1, -O2, -O3 |[6 Regression] wrong code
   |(NOT -Os) on|at -O1, -O2, -O3 (NOT -Os)
   |x86-64-linux-gnu (in 32-|on x86-64-linux-gnu (in 32-
   |and 64-bit modes)   |and 64-bit modes)
 Ever confirmed|0   |1

--- Comment #1 from Jakub Jelinek  ---
Started with r232361.

[Bug tree-optimization/69342] [6 Regression] wrong code at -O1, -O2, -O3 (NOT -Os) on x86-64-linux-gnu (in 32- and 64-bit modes)

2016-01-18 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69342

Markus Trippelsdorf  changed:

   What|Removed |Added

 CC||trippels at gcc dot gnu.org

--- Comment #2 from Markus Trippelsdorf  ---
(In reply to Jakub Jelinek from comment #1)
> Started with r232361.

Maybe it is time to merge all the r232361 regressions into one bug?

[Bug libgcj/69333] [6 Regression] FAIL: StackTrace2 execution - source compiled test

2016-01-18 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69333

Jakub Jelinek  changed:

   What|Removed |Added

   Priority|P3  |P4
 CC||jakub at gcc dot gnu.org

[Bug tree-optimization/69320] [6 Regression] wrong code generation at -O2 and higher

2016-01-18 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69320

Jakub Jelinek  changed:

   What|Removed |Added

 CC||su at cs dot ucdavis.edu

--- Comment #5 from Jakub Jelinek  ---
*** Bug 69326 has been marked as a duplicate of this bug. ***

[Bug target/69307] [6 Regression] wrong code with -O2 -fselective-scheduling @ armv7a

2016-01-18 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69307

Jakub Jelinek  changed:

   What|Removed |Added

   Priority|P3  |P4
 CC||jakub at gcc dot gnu.org

[Bug tree-optimization/69342] [6 Regression] wrong code at -O1, -O2, -O3 (NOT -Os) on x86-64-linux-gnu (in 32- and 64-bit modes)

2016-01-18 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69342

Jakub Jelinek  changed:

   What|Removed |Added

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

--- Comment #3 from Jakub Jelinek  ---
.

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

[Bug tree-optimization/69320] [6 Regression] wrong code generation at -O2 and higher

2016-01-18 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69320

--- Comment #6 from Jakub Jelinek  ---
*** Bug 69342 has been marked as a duplicate of this bug. ***

[Bug tree-optimization/69326] [6 Regression] wrong code at -O2 and -O3 on x86_64-linux-gnu

2016-01-18 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69326

Jakub Jelinek  changed:

   What|Removed |Added

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

--- Comment #2 from Jakub Jelinek  ---
.

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

[Bug tree-optimization/69320] [6 Regression] wrong code generation at -O2 and higher

2016-01-18 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69320

Jakub Jelinek  changed:

   What|Removed |Added

 CC||chengniansun at gmail dot com

--- Comment #4 from Jakub Jelinek  ---
*** Bug 69325 has been marked as a duplicate of this bug. ***

[Bug tree-optimization/69325] [6 Regression] wrong code at -O3 on x86-64-linux-gnu (in 32- and 64-bit modes)

2016-01-18 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69325

Jakub Jelinek  changed:

   What|Removed |Added

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

--- Comment #2 from Jakub Jelinek  ---
.

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

[Bug tree-optimization/69322] [6 Regression] wrong code at -O3 on x86-64-linux-gnu (in 32- and 64-bit modes)

2016-01-18 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69322

Markus Trippelsdorf  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||trippels at gcc dot gnu.org
 Resolution|--- |DUPLICATE

--- Comment #2 from Markus Trippelsdorf  ---
dup.

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

[Bug tree-optimization/69320] [6 Regression] wrong code generation at -O2 and higher

2016-01-18 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69320

--- Comment #7 from Markus Trippelsdorf  ---
*** Bug 69322 has been marked as a duplicate of this bug. ***

[Bug ada/69219] [5/6 regression] error on nested subprograms with Inline_Always and Intrinsic

2016-01-18 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69219

--- Comment #9 from Eric Botcazou  ---
Author: ebotcazou
Date: Mon Jan 18 10:27:10 2016
New Revision: 232498

URL: https://gcc.gnu.org/viewcvs?rev=232498=gcc=rev
Log:
PR ada/69219
* gcc-interface/trans.c (check_inlining_for_nested_subprog): Consider
the parent function instead of the current function in order to issue
the warning or the error.  Add guard for ignored functions.

Added:
trunk/gcc/testsuite/gnat.dg/inline12.adb
Modified:
trunk/gcc/ada/ChangeLog
trunk/gcc/ada/gcc-interface/trans.c
trunk/gcc/testsuite/ChangeLog

[Bug bootstrap/69339] [6 Regression] Failed to bootstrap powerpc-e500v2-linux-gnuspe target: libitm/vect128.cc:1:0: error: AltiVec and SPE instructions cannot coexist

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69339

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |6.0

[Bug c++/69323] [4.9/5/6 Regression] Segmentation fault when instantiating class template with inner class which declares itself as a friend

2016-01-18 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69323

Jakub Jelinek  changed:

   What|Removed |Added

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

--- Comment #5 from Jakub Jelinek  ---
Started with r154223.

[Bug middle-end/52173] internal compiler error: verify_ssa failed possibly caused by itm

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52173

Richard Biener  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |FIXED

--- Comment #21 from Richard Biener  ---
Thus fixed.

[Bug tree-optimization/69297] [6 Regression] Performance regression after r230020

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69297

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2016-01-18
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org
 Ever confirmed|0   |1

--- Comment #2 from Richard Biener  ---
But note that vector stmts are accounted multiple times as well for the same
reason.  But yes, we can make the scalar cost more precise easily.

[Bug target/69305] [5/6 Regression] wrong code with -O and int128 @ aarch64

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69305

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|6.0 |5.4

[Bug c++/69300] g++ segfault on silly noexcept case

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69300

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-01-18
 Ever confirmed|0   |1
  Known to fail||5.3.0, 6.0

--- Comment #1 from Richard Biener  ---
Confirmed.  Rejected by 4.9.

t.C: In function ‘int main(int, char**)’:
t.C:8:26: error: cannot resolve overloaded function ‘f’ based on conversion to
type ‘bool’
 F().f();
  ^
t.C: In instantiation of ‘void F::f() && [with B = int; A = void]’:
t.C:8:26:   required from here
t.C:4:19: error: cannot resolve overloaded function ‘f’ based on conversion to
type ‘bool’
  void f() && noexcept(::template f) {}
   ^

[Bug ada/69219] [5/6 regression] error on nested subprograms with Inline_Always and Intrinsic

2016-01-18 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69219

--- Comment #10 from Eric Botcazou  ---
Author: ebotcazou
Date: Mon Jan 18 10:29:45 2016
New Revision: 232499

URL: https://gcc.gnu.org/viewcvs?rev=232499=gcc=rev
Log:
PR ada/69219
* gcc-interface/trans.c (check_inlining_for_nested_subprog): Consider
the parent function instead of the current function in order to issue
the warning or the error.  Add guard for ignored functions.

Added:
branches/gcc-5-branch/gcc/testsuite/gnat.dg/inline12.adb
  - copied unchanged from r232498, trunk/gcc/testsuite/gnat.dg/inline12.adb
Modified:
branches/gcc-5-branch/gcc/ada/ChangeLog
branches/gcc-5-branch/gcc/ada/gcc-interface/trans.c
branches/gcc-5-branch/gcc/testsuite/ChangeLog

[Bug ada/69219] [5/6 regression] error on nested subprograms with Inline_Always and Intrinsic

2016-01-18 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69219

Eric Botcazou  changed:

   What|Removed |Added

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

--- Comment #11 from Eric Botcazou  ---
Thanks for reporting the problem.

[Bug bootstrap/69329] [6 Regression] --with-build-config=bootstrap-asan fails because LSAN_OPTIONS is not honored

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69329

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |6.0

[Bug sanitizer/68824] [6 Regression] libtsan is missing the __interceptor___tls_get_addr symbol without bumping the soname

2016-01-18 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68824

Jakub Jelinek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-01-18
 Ever confirmed|0   |1

--- Comment #4 from Jakub Jelinek  ---
So, this seems to have been removed on purpose as I read:
http://llvm.org/viewvc/llvm-project?view=revision=224531
to workaround an already fixed gcc bug.
So, I see 3 options:
1) bump libtsan SONAME
2) re-add the __tls_get_addr interceptor, but arrange for the interceptor to
   only do return __interception::real___tls_get_addr(arg); and nothing else
3) re-add the __tls_get_addr interceptor, but arrange for it to be defined in a
different source file, and compile that with -mincoming-stack-boundary=3 on
x86_64-linux

[Bug tree-optimization/69297] [6 Regression] Performance regression after r230020

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69297

--- Comment #3 from Richard Biener  ---
With a fix:

t.c:76:10: note: Cost model analysis:
  Vector inside of basic block cost: 376
  Vector prologue cost: 0
  Vector epilogue cost: 0
  Scalar cost of basic block: 96
t.c:76:10: note: not vectorized: vectorization is not profitable.

Note the reduction loop is still vectorized:

t.c:74:5: note: Cost model analysis:
  Vector inside of loop cost: 3
  Vector prologue cost: 1
  Vector epilogue cost: 7
  Scalar iteration cost: 3
  Scalar outside cost: 0
  Vector outside cost: 8
  prologue iterations: 0
  epilogue iterations: 0
  Calculated minimum iters for profitability: 4

but likely this isn't profitable either?

[Bug lto/69337] [6 Regression] Internal compiler error fortran c lto

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69337

Richard Biener  changed:

   What|Removed |Added

   Keywords||error-recovery,
   ||ice-on-invalid-code
 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2016-01-18
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org
   Target Milestone|--- |6.0
Summary|Internal compiler error |[6 Regression] Internal
   |fortran c lto   |compiler error fortran c
   ||lto
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener  ---
Confirmed.  GCC 5 produces

> gcc-5 t.f90 t.c -flto
t.c:1:6: error: variable ‘j’ redeclared as function
 void j_ (void);
  ^
t.f90:5:0: note: previously declared here
   COMMON /j/ j_q(  14550)
 ^
lto1: fatal error: errors during merging of translation units
compilation terminated.
lto-wrapper: fatal error: gcc-5 returned 1 exit status
compilation terminated.
/usr/lib64/gcc/x86_64-suse-linux/5/../../../../x86_64-suse-linux/bin/ld:
lto-wrapper failed
collect2: error: ld returned 1 exit status


Mine.

[Bug target/69307] [6 Regression] wrong code with -O2 -fselective-scheduling @ armv7a

2016-01-18 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69307

ktkachov at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-01-18
 CC||ktkachov at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #2 from ktkachov at gcc dot gnu.org ---
Confirmed on trunk.
Btw, your toolchain is not configured to generate armv7-a code by default (you
need to configure it with an appropriate --with-arch or --with-cpu).
This bug doesn't trigger for armv7-a, but it does for -march=armv6j or lower.

[Bug tree-optimization/69170] [6 Regression] ICE (segfault) in find_uses_to_rename_use

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69170

Richard Biener  changed:

   What|Removed |Added

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

--- Comment #6 from Richard Biener  ---
Fixed.

[Bug tree-optimization/69170] [6 Regression] ICE (segfault) in find_uses_to_rename_use

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69170

--- Comment #5 from Richard Biener  ---
Author: rguenth
Date: Mon Jan 18 09:14:14 2016
New Revision: 232496

URL: https://gcc.gnu.org/viewcvs?rev=232496=gcc=rev
Log:
2016-01-18  Richard Biener  

PR tree-optimization/69170
* tree-vect-slp.c (vect_build_slp_tree): Verify we are not
building a vector from scalar results of a pattern stmt.

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

Added:
trunk/gcc/testsuite/gcc.dg/torture/pr69170.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-vect-slp.c

[Bug tree-optimization/66797] [6 Regression] FAIL: gcc.dg/tree-ssa/pr65447.c scan-tree-dump-not ivopts "\\nuse 5\\n"

2016-01-18 Thread amker at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66797

--- Comment #3 from amker at gcc dot gnu.org ---
Author: amker
Date: Mon Jan 18 09:30:10 2016
New Revision: 232497

URL: https://gcc.gnu.org/viewcvs?rev=232497=gcc=rev
Log:

PR tree-optimization/66797
* gcc.c-torture/execute/pr65447.c: Relax check condition.


Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr65447.c

[Bug tree-optimization/69308] ifcombine joins together floating point expression with side effects

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69308

Richard Biener  changed:

   What|Removed |Added

   Keywords||wrong-code
 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org

--- Comment #11 from Richard Biener  ---
bb_no_side_effects_p should detect this via its call of gimple_could_trap_p.
Which doesn't handle trapping GIMPLE_CONDs ...

[Bug libstdc++/69259] std::experimental::filesystem::copy does not create symlinks for directories

2016-01-18 Thread p...@x-fabric.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69259

--- Comment #4 from Roman Puls  ---
Hi Jonathan,

well, I agree that the standard does not cover thar particular combination of
input parameters.

But: is falling through the function without the error_code set what we expect?

I was assuming that copy() will fail by throwing an exception (or returning an
ec in the overloaded version).

So yes, closing the ticket seems ok, since the test does not violate
standardized behaviour, but feedback shall be given to the standardization
group. Could you bring in that topic eventually, or what do you think?

Thanks and regards,
  Roman

[Bug tree-optimization/69336] Constant value not detected

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69336

Richard Biener  changed:

   What|Removed |Added

 CC||alan.lawrence at arm dot com

--- Comment #2 from Richard Biener  ---
Yes, I think there is a duplicate (and a proposed patch).

[Bug libstdc++/69340] [6 Regression] Incorrect use of standard try catch in libstdc++-v3/src/c++11/cow-stdexcept.cc

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69340

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-01-18
   Target Milestone|--- |6.0
Summary|Incorrect use of standard   |[6 Regression] Incorrect
   |try catch in|use of standard try catch
   |libstdc++-v3/src/c++11/cow- |in
   |stdexcept.cc|libstdc++-v3/src/c++11/cow-
   ||stdexcept.cc
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener  ---
Confirmed.

[Bug tree-optimization/69297] [6 Regression] Performance regression after r230020

2016-01-18 Thread ysrumyan at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69297

--- Comment #4 from Yuri Rumyantsev  ---
Yes, this loop was added for avoiding dce phase.

Thanks.
Yuri.

2016-01-18 13:33 GMT+03:00 rguenth at gcc dot gnu.org
:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69297
>
> --- Comment #3 from Richard Biener  ---
> With a fix:
>
> t.c:76:10: note: Cost model analysis:
>   Vector inside of basic block cost: 376
>   Vector prologue cost: 0
>   Vector epilogue cost: 0
>   Scalar cost of basic block: 96
> t.c:76:10: note: not vectorized: vectorization is not profitable.
>
> Note the reduction loop is still vectorized:
>
> t.c:74:5: note: Cost model analysis:
>   Vector inside of loop cost: 3
>   Vector prologue cost: 1
>   Vector epilogue cost: 7
>   Scalar iteration cost: 3
>   Scalar outside cost: 0
>   Vector outside cost: 8
>   prologue iterations: 0
>   epilogue iterations: 0
>   Calculated minimum iters for profitability: 4
>
> but likely this isn't profitable either?
>
> --
> You are receiving this mail because:
> You reported the bug.

[Bug tree-optimization/69341] [6 Regression] [graphite] ICE: verify_ssa failed (error: definition in block 37 does not dominate use in block 30)

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69341

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |6.0

[Bug target/69311] [5 Regression] ICE (cc1 killed) on s390x-linux-gnu

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69311

Richard Biener  changed:

   What|Removed |Added

Version|6.0 |5.3.1
   Target Milestone|6.0 |5.4

[Bug ipa/68148] Devirtualization only applies to last of multiple successive calls

2016-01-18 Thread jgreenhalgh at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68148

James Greenhalgh  changed:

   What|Removed |Added

 CC||jgreenhalgh at gcc dot gnu.org

--- Comment #6 from James Greenhalgh  ---
This fix also fixed an ICE on ARM targets:

bug.cpp:23:1: internal compiler error: in get_untransformed_body, at
cgraph.c:3311
 }
 ^

0x8dc245 cgraph_node::get_untransformed_body()
.../gcc/cgraph.c:3311
0x8e79bd cgraph_node::expand()
.../gcc/cgraphunit.c:1941
0x8e9413 expand_all_functions
.../gcc/cgraphunit.c:2107
0x8e9413 symbol_table::compile()
...gcc/cgraphunit.c:2463
0x8eb56f symbol_table::finalize_compilation_unit()
.../gcc/cgraphunit.c:2553

The testcase for that looked like:

class B
{
  public:
virtual void a (int *x) = 0;
virtual void b (int *x) = 0;
};

class Mouseintdapter : public virtual B
{
  void a (int *x) {}
  void b (int *x) {}
};

B* collection;

void foo (int *x)
{
  collection->a(x);
}
void bar (int *x)
{
  collection->b(x);
}

And would fail at -O2 for most ARM target flag combinations I tried.

[Bug ipa/62051] [4.9/5/6 Regression] Undefined reference to vtable with -O2 and -fdevirtualize-speculatively

2016-01-18 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62051

--- Comment #13 from Jan Hubicka  ---
Created attachment 37388
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37388=edit
patch

Hi,
this patch adds the logic to gimple-fold.c which makes the offending dtor
non-refeable.  It is bit uglier than I hoped for.  The reason is that the dtor
itself is COMDAT so it seems perfectly OK to refer it since we can provide the
body, but the body itself refers to vtable that is not output in the unit.

The patch simply prohibits references to all COMDAT and EXTERN methods and
vtables of types with visibility attributes which will prevent optimizing of
many inlines i.e. in libstdc++.

It still seem to me that the the testcase is sort of invalid because it provide
inline body for the dtor. Can we think of better solution (perhaps validating
comdats before using them and checking if symbols they refer to are referable)?

[Bug target/67895] Wrong assembly: incorrect rounding/SAE specifier position

2016-01-18 Thread afomin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67895

--- Comment #3 from afomin at gcc dot gnu.org ---
Author: afomin
Date: Mon Jan 18 17:09:06 2016
New Revision: 232533

URL: https://gcc.gnu.org/viewcvs?rev=232533=gcc=rev
Log:
Backport to mainline
2015-10-09  Alexander Fomin  

gcc/

PR target/67895
* config/i386/sse.md (define_insn "sse_cvtsi2ss"):
Adjust embedded rounding/SAE specifier position.
(define_insn "sse_cvtsi2ssq"): Likewise.
(define_insn "cvtusi232"): Likewise.
(define_insn "cvtusi264"): Likewise.
(define_insn "sse2_cvtsi2sdq"): Likewise.
(define_insn "avx512dq_rangep"):
Likewise.
(define_insn "avx512dq_ranges"): Likewise.

gcc/testsuite

PR target/67895
* gcc.target/i386/avx512dq-vrangepd-1.c: Adjust.
* gcc.target/i386/avx512dq-vrangeps-1.c: Likewise.
* gcc.target/i386/avx512dq-vrangesd-1.c: Likewise.
* gcc.target/i386/avx512dq-vrangess-1.c: Likewise.
* gcc.target/i386/avx512f-vcvtsi2sd64-1.c: Likewise.
* gcc.target/i386/avx512f-vcvtsi2ss-1.c: Likewise.
* gcc.target/i386/avx512f-vcvtsi2ss64-1.c: Likewise.
* gcc.target/i386/avx512f-vcvtusi2sd64-1.c: Likewise.
* gcc.target/i386/avx512f-vcvtusi2ss-1.c: Likewise.
* gcc.target/i386/avx512f-vcvtusi2ss64-1.c: Likewise.

Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/config/i386/sse.md
branches/gcc-5-branch/gcc/testsuite/ChangeLog
branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/avx512dq-vrangepd-1.c
branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/avx512dq-vrangeps-1.c
branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/avx512dq-vrangesd-1.c
branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/avx512dq-vrangess-1.c
branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/avx512f-vcvtsi2sd64-1.c
branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/avx512f-vcvtsi2ss-1.c
branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/avx512f-vcvtsi2ss64-1.c
   
branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/avx512f-vcvtusi2sd64-1.c
branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/avx512f-vcvtusi2ss-1.c
   
branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/avx512f-vcvtusi2ss64-1.c

[Bug libstdc++/60637] --fast-math breaks std::signbit function

2016-01-18 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60637

--- Comment #11 from Jonathan Wakely  ---
Author: redi
Date: Mon Jan 18 17:15:42 2016
New Revision: 232534

URL: https://gcc.gnu.org/viewcvs?rev=232534=gcc=rev
Log:
Add test for PR 60637

PR libstdc++/60637
* testsuite/26_numerics/headers/cmath/60637.cc: Add test.

Added:
trunk/libstdc++-v3/testsuite/26_numerics/headers/cmath/60637.cc
Modified:
trunk/libstdc++-v3/ChangeLog

[Bug target/69345] [6 Regression] 459.GemsFDTD regression

2016-01-18 Thread afomin.mailbox at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69345

--- Comment #3 from Alexander Fomin  ---
Looks like it's r232401.

[Bug testsuite/69181] multiline.exp does not handle conditional compilation

2016-01-18 Thread dmalcolm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69181

--- Comment #4 from David Malcolm  ---
Author: dmalcolm
Date: Mon Jan 18 17:26:58 2016
New Revision: 232535

URL: https://gcc.gnu.org/viewcvs?rev=232535=gcc=rev
Log:
PR testsuite/69181: ensure expected multiline outputs is cleared per-test

gcc/testsuite/ChangeLog:
PR testsuite/69181
* gcc.dg/pr69181-1.c: New test file.
* gcc.dg/pr69181-2.c: New test file.
* lib/gcc-dg.exp (dg-test): Consolidate post-test cleanup of
globals by moving it to...
(cleanup-after-saved-dg-test): ...this new function.  Add
"global additional_sources_used".  Add reset of global
multiline_expected_outputs to the empty list.
* lib/multiline.exp (_multiline_expected_outputs): Rename this
global to...
(multiline_expected_outputs): ...this, and updated comments to
note that it is modified from gcc-dg.exp.
(dg-end-multiline-output): Update for the above renaming.
(handle-multiline-outputs): Likewise.  Remove the clearing
of the expected outputs to the empty list.


Added:
trunk/gcc/testsuite/gcc.dg/pr69181-1.c
trunk/gcc/testsuite/gcc.dg/pr69181-2.c
Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/lib/gcc-dg.exp
trunk/gcc/testsuite/lib/multiline.exp

[Bug middle-end/66877] [6 Regression] FAIL: gcc.dg/vect/vect-over-widen-3-big-array.c -flto -ffat-lto-objects scan-tree-dump-times vect "vect_recog_over_widening_pattern: detected" 2

2016-01-18 Thread nickc at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66877

Nick Clifton  changed:

   What|Removed |Added

 CC||nickc at gcc dot gnu.org

--- Comment #3 from Nick Clifton  ---
Created attachment 37387
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37387=edit
Vectorizer dump

Hi Richard,

  Here is a dump from a failing testcase.  This was from a toolchain configured
as --target=arm-eabi built using today's FSF mainline sources.

Cheers
  Nick

[Bug testsuite/69181] multiline.exp does not handle conditional compilation

2016-01-18 Thread dmalcolm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69181

David Malcolm  changed:

   What|Removed |Added

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

--- Comment #5 from David Malcolm  ---
Should be fixed as of r232535; marking as resolved.

[Bug lto/61886] [4.9/5/6 Regression] LTO breaks fread with _FORTIFY_SOURCE=2

2016-01-18 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61886

--- Comment #57 from Jan Hubicka  ---
The alias-2.c should be now fixed on targets with anchors.

[Bug lto/45375] [meta-bug] Issues with building Mozilla with LTO

2016-01-18 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=45375

--- Comment #219 from Jan Hubicka  ---
devirtualization issue is now fixed, so we are down to -fno-lifetime-dse.

[Bug lto/69136] [6 Regression] ICE in lto_symtab_prevailing_virtual_decl, at lto/lto-symtab.c:991

2016-01-18 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69136

--- Comment #3 from Jan Hubicka  ---
Hmm, we have:
 >
QI
size 
unit size 
align 8 symtab 0 alias set -1 structural equality method basetype

arg-types 
chain 
chain 
nothrow public private abstract external virtual QI file
/aux/hubicka/skia.ii line 4 col 1 align 16 context >

(gdb) p decl->decl_with_vis.assembler_name
$2 = (tree) 0x0

so it seems that the decl was not seen by free_lang_data but still leaked into
the stream.

[Bug lto/69136] [6 Regression] ICE in lto_symtab_prevailing_virtual_decl, at lto/lto-symtab.c:991

2016-01-18 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69136

--- Comment #4 from Jan Hubicka  ---
Aha, it is abstract decl.  I am testing:

Index: ../../gcc/lto/lto-symtab.c
===
--- ../../gcc/lto/lto-symtab.c  (revision 232466)
+++ ../../gcc/lto/lto-symtab.c  (working copy)
@@ -987,6 +1008,8 @@ lto_symtab_merge_symbols (void)
 tree
 lto_symtab_prevailing_virtual_decl (tree decl)
 {
+  if (DECL_ABSTRACT_P (decl))
+return decl;
   gcc_checking_assert (!type_in_anonymous_namespace_p (DECL_CONTEXT (decl))
   && DECL_ASSEMBLER_NAME_SET_P (decl));

[Bug lto/69133] [6 Regression] LTO segfault in lto_get_decl_name_mapping() on 483.xalancbmk with -flto-partition=none

2016-01-18 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69133

--- Comment #5 from Jan Hubicka  ---
The problem seems to be that cgraph_node::get_untransformed_body checks
presence of body by DECL_RESULT which is NULL for thunks. Rest of places seems
to check for DECL_ARGUMENTS.

I am testing:
Index: cgraph.c
===
--- cgraph.c(revision 232466)
+++ cgraph.c(working copy)
@@ -3305,10 +3295,11 @@ cgraph_node::get_untransformed_body (voi
   size_t len;
   tree decl = this->decl;

-  if (DECL_RESULT (decl))
+  /* Check if body is already there.  */
+  if (!DECL_ARGUMENTS (decl))
 return false;

-  gcc_assert (in_lto_p);
+  gcc_assert (in_lto_p && !DECL_RESULT (decl))

   timevar_push (TV_IPA_LTO_GIMPLE_IN);

[Bug lto/69133] [6 Regression] LTO segfault in lto_get_decl_name_mapping() on 483.xalancbmk with -flto-partition=none

2016-01-18 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69133

--- Comment #6 from Jan Hubicka  ---
The following has even chance to work :)

Index: cgraph.c
===
--- cgraph.c(revision 232466)
+++ cgraph.c(working copy)
@@ -3305,10 +3295,12 @@ cgraph_node::get_untransformed_body (voi
   size_t len;
   tree decl = this->decl;

-  if (DECL_RESULT (decl))
+  /* Check if body is already there.  Either we have gimple body or
+ the function is thunk and in that case we set DECL_ARGUMENTS.  */
+  if (DECL_ARGUMENTS (decl) || gimple_has_body_p (decl))
 return false;

-  gcc_assert (in_lto_p);
+  gcc_assert (in_lto_p && !DECL_RESULT (decl));

   timevar_push (TV_IPA_LTO_GIMPLE_IN);

[Bug c++/69338] incorrect ctor initialization of a flexible array member

2016-01-18 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69338

--- Comment #1 from Martin Sebor  ---
Another test case (derived from the test case in bug 69253), this one even
shows a -Warray-bounds warning with -O2.  With 69253 fixed (and the test case
still accepted), 6.0 also aborts but doesn't print the -Warray-bounds warning.

$ ~/bin/gcc-5.1.0/bin/g++ -O2 -Wall -Wextra -Wpedantic -fpermissive z.c &&
./a.out
z.c:1:22: warning: ISO C++ forbids zero-size array ‘a’ [-Wpedantic]
 struct A { char n, a[]; };
  ^
z.c: In function ‘int main()’:
z.c:11:37: warning: ISO C++ forbids compound-literals [-Wpedantic]
 int a0 = ((struct A){ 1, "" }).a[0];
 ^
z.c:11:37: warning: initializer-string for array of chars is too long
[-fpermissive]
z.c:11:43: warning: array subscript is above array bounds [-Warray-bounds]
 int a0 = ((struct A){ 1, "" }).a[0];
   ^
12345678
Aborted (core dumped)


$ /home/msebor/build/gcc-trunk-svn/gcc/xgcc
-B/home/msebor/build/gcc-trunk-svn/gcc -Wall -Wextra -Wpedantic -xc++ -O2 z.c
&& ./a.out
z.c: In function ‘int main()’:
z.c:11:37: warning: ISO C++ forbids compound-literals [-Wpedantic]
 int a0 = ((struct A){ 1, "" }).a[0];
 ^

z.c:11:37: warning: initialization of a flexible array member [-Wpedantic]
12345678
Aborted (core dumped)

[Bug lto/68820] [6 regression] FAIL: gcc.c-torture/execute/builtins/memops-asm.c execution, -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects

2016-01-18 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68820

Jan Hubicka  changed:

   What|Removed |Added

   Assignee|hubicka at gcc dot gnu.org |unassigned at gcc dot 
gnu.org

--- Comment #10 from Jan Hubicka  ---
OK, this reproduces for me.  We get:
Merging nodes for my_memcpy. Candidates:
my_memcpy/4 (my_memcpy) @0x76cc7450
  Type: function definition analyzed
  Visibility: force_output externally_visible public
  next sharing asm name: 36
  References: 
  Referring: 
  Read from file: memops-asm-lib.o
  First run: 0
  Function flags:
  Called by: 
  Calls: 
*my_memcpy/36 (memcpy) @0x76cc9a10
  Type: function
  Visibility: external public
  next sharing asm name: 35
  previous sharing asm name: 4
  References: 
  Referring: 
  Read from file: memops-asm.o
  First run: 0
  Function flags:
  Called by: main_test/31 (1.00 per call) 
  Calls: 
*my_memcpy/35 (__builtin_memcpy) @0x76cc9b80
  Type: function
  Visibility: external public
  previous sharing asm name: 36
  References: 
  Referring: 
  Read from file: memops-asm.o
  First run: 0
  Function flags:
  Called by: main_test/31 (1.00 per call) 
  Calls: 
Not merging decls; DECL_BUILT_IN mismatch
Not merging decls; DECL_BUILT_IN mismatch

which is expected, one memcpy and __builtin_memcpy are builtins while my_memcpy
is not.

Now at ltrans time we have:

memcpy/8 (memcpy) @0x76ccb450   
  Type: function definition analyzed
  Visibility: externally_visible public 
  References: inside_main/0 (read)  
  Referring:
  Read from file: oo.ltrans0.o  
  First run: 0  
  Function flags:   
  Called by:
  Calls: abort/13

i.e. unused memcpy and 

my_memcpy/4 (my_memcpy) @0x76cc1e60 
  Type: function definition analyzed
  Visibility: force_output externally_visible public
  References:   
  Referring: *my_memcpy/36 (alias)  
  Read from file: oo.ltrans0.o  
  First run: 0  
  Function flags: nonfreeing_fn 
  Called by:
  Calls:
*my_memcpy/36 (memcpy) @0x76cc1cf0  
  Type: function definition analyzed alias transparent_alias
  Visibility: externally_visible external public
  References: my_memcpy/4 (alias)   
  Referring:
  Read from file: oo.ltrans0.o  
  First run: 0  
  Function flags:   
  Called by: main_test/31 (1.00 per call) main_test/31 (1.00 per call)  
  Calls:
i.e. used my_memcpy

Then we get to:
(gdb) bt
#0  expand_builtin_memcpy_args (dest=0x76923fe0, src=0x76923ca0,
len=0x76918b88, target=target@entry=0x769391e0,
exp=exp@entry=0x7692eab0)
at ../../gcc/builtins.c:2904
#1  0x005db286 in expand_builtin_memcpy (target=0x769391e0,
exp=0x7692eab0) at ../../gcc/builtins.c:2991
#2  expand_builtin (exp=0x7692eab0, target=0x769391e0, subtarget=0x0,
mode=DImode, ignore=0) at ../../gcc/builtins.c:5963
#3  0x006c7bf4 in expand_expr_real_1 (exp=0x7692eab0,
target=, tmode=DImode, modifier=EXPAND_NORMAL,
alt_rtl=, 
inner_reference_p=inner_reference_p@entry=false) at ../../gcc/expr.c:10563
#4  0x006c94a9 in expand_expr_real (exp=exp@entry=0x7692eab0,
target=, tmode=,
modifier=modifier@entry=EXPAND_NORMAL, 
alt_rtl=alt_rtl@entry=0x7fffe2b0,
inner_reference_p=inner_reference_p@entry=false) at ../../gcc/expr.c:7947
#5  0x006d070a in store_expr_with_bounds (exp=exp@entry=0x7692eab0,
target=target@entry=0x769391e0, call_param_p=call_param_p@entry=0, 
nontemporal=nontemporal@entry=false, reverse=reverse@entry=false,
btarget=btarget@entry=0x76918bd0) at 

[Bug lto/68820] [6 regression] FAIL: gcc.c-torture/execute/builtins/memops-asm.c execution, -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects

2016-01-18 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68820

--- Comment #11 from Jan Hubicka  ---
... and in case anyone is curious, with -fuse-linker-plugin we inline the
memcpys as we work out the block size. This is why they pass.

[Bug sanitizer/68824] [6 Regression] libtsan is missing the __interceptor___tls_get_addr symbol without bumping the soname

2016-01-18 Thread dvyukov at google dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68824

--- Comment #5 from Dmitry Vyukov  ---
In 3) did you mean -mstackrealign?
1) looks like the simplest option. Are there any downsides?

[Bug sanitizer/68824] [6 Regression] libtsan is missing the __interceptor___tls_get_addr symbol without bumping the soname

2016-01-18 Thread dvyukov at google dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68824

--- Comment #7 from Dmitry Vyukov  ---
I will land such fix in clang. Thanks!

[Bug libstdc++/69293] scoped_allocator_adaptor::construct calls wrong function

2016-01-18 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69293

--- Comment #6 from Jonathan Wakely  ---
Author: redi
Date: Mon Jan 18 11:43:37 2016
New Revision: 232504

URL: https://gcc.gnu.org/viewcvs?rev=232504=gcc=rev
Log:
Fix construction of std::function from null pointer-to-member

PR libstdc++/69293
* include/std/functional (_Function_base::_M_not_empty_function):
Change overloads for pointers to take arguments by value.
* testsuite/20_util/function/cons/57465.cc: Add tests for
pointer-to-member cases.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/std/functional
trunk/libstdc++-v3/testsuite/20_util/function/cons/57465.cc

[Bug tree-optimization/69328] [6 Regression] ice in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1379 with -O3

2016-01-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69328

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

--- Comment #3 from Richard Biener  ---
1378  is_simple_use = vect_is_simple_use (op, loop_vinfo, _stmt, );
1379  gcc_assert (is_simple_use);
(gdb) p op
$2 = 

ehm.

  if (masked)
{
  vec_cond_lhs
= vect_get_vec_def_for_operand (cond_expr, stmt,
comp_vectype);
  vect_is_simple_use (cond_expr, stmt_info->vinfo,
  , [0]);
}
  else
{
  vec_cond_lhs =
vect_get_vec_def_for_operand (TREE_OPERAND (cond_expr, 0),
  stmt, comp_vectype);
  vect_is_simple_use (TREE_OPERAND (cond_expr, 0),
  loop_vinfo, , [0]);

  vec_cond_rhs =
vect_get_vec_def_for_operand (TREE_OPERAND (cond_expr, 1),
  stmt, comp_vectype);
  vect_is_simple_use (TREE_OPERAND (cond_expr, 1),
  loop_vinfo, , [1]);
}

Probably better test ! COMPARISON_CLASS_P (cond_expr) here.  OTOH we have

  if (VECTOR_BOOLEAN_TYPE_P (comp_vectype))
{
  vec_cmp_type = comp_vectype;
  masked = true;
}
  else
vec_cmp_type = build_same_sized_truth_vector_type (comp_vectype);

not sure why that's specially only for boolean vector types.  So

@@ -7544,11 +7545,9 @@ vectorizable_condition (gimple *stmt, gi
   if (!vect_is_simple_use (else_clause, stmt_info->vinfo, _stmt, ))
 return false;

+  bool masked = ! COMPARISON_CLASS_P (cond_expr);
   if (VECTOR_BOOLEAN_TYPE_P (comp_vectype))
-{
-  vec_cmp_type = comp_vectype;
-  masked = true;
-}
+vec_cmp_type = comp_vectype;
   else
 vec_cmp_type = build_same_sized_truth_vector_type (comp_vectype);
   if (vec_cmp_type == NULL_TREE)

but that later ICEs then with

> ./cc1 -quiet t.c -O3
t.c: In function ‘fn1’:
t.c:2:6: internal compiler error: in vector_compare_rtx, at optabs.c:5290
 void fn1() {
  ^~~

0xca84f2 vector_compare_rtx
/space/rguenther/src/svn/trunk3/gcc/optabs.c:5290
0xca979f expand_vec_cond_expr(tree_node*, tree_node*, tree_node*, tree_node*,
rtx_def*)
/space/rguenther/src/svn/trunk3/gcc/optabs.c:5612

sth else is wrong here.

[Bug target/69305] [5/6 Regression] wrong code with -O and int128 @ aarch64

2016-01-18 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69305

--- Comment #3 from Jakub Jelinek  ---
Looks like aarch64 backend bug to me.
unsigned __int128 f1 (unsigned __int128 x, unsigned __int128 y) { return x + y;
}
unsigned __int128 f2 (unsigned __int128 x, unsigned __int128 y) { return x - y;
}
unsigned __int128 f3 (unsigned __int128 x, unsigned long long y) { return x +
y; }
unsigned __int128 f4 (unsigned __int128 x, unsigned long long y) { return x -
y; }
unsigned __int128 f5 (unsigned __int128 x, unsigned long long y) { return x +
(unsigned long long) -y; }

This case is f5 from the above, where the value should be negated first in
DImode and then added to the TImode value.  But combiner sees
(insn 7 4 10 2 (set (reg:DI 79)
(neg:DI (reg/v:DI 77 [ y ]))) pr69305-1.c:5 331 {negdi2}
 (expr_list:REG_DEAD (reg/v:DI 77 [ y ])
(nil)))
(insn 10 7 11 2 (parallel [
(set (reg:CC_NZ 66 cc)
(compare:CC_NZ (plus:DI (reg:DI 79)
(reg:DI 85 [ x ]))
(const_int 0 [0])))
(set (reg:DI 81)
(plus:DI (reg:DI 79)
(reg:DI 85 [ x ])))
]) pr69305-1.c:5 100 {adddi3_compare0}
 (expr_list:REG_DEAD (reg:DI 85 [ x ])
(expr_list:REG_DEAD (reg:DI 79)
(nil
(insn 11 10 25 2 (set (reg:DI 82)
(plus:DI (geu:DI (reg:CC 66 cc)
(const_int 0 [0]))
(reg:DI 86 [ x+8 ]))) pr69305-1.c:5 452 {*csinc2di_insn}
 (expr_list:REG_DEAD (reg:DI 86 [ x+8 ])
(expr_list:REG_DEAD (reg:CC 66 cc)
(nil
and attempts to merge insn 7 into insn 10 by having a minus in there instead,
and that pattern is then recognized as subdi3_compare0.  But probably
csinc2di_insn actually relies on the preceeding insn being result of
adddi3_compare instead of subdi3_compare.
Seems on arm32 or x86_64 we have a DImode (arm32) or TImode pattern for the
addition that is only lowered later on, so this is something that really can't
happen on those targets.

[Bug target/69307] [6 Regression] wrong code with -O2 -fselective-scheduling @ armv7a

2016-01-18 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69307

--- Comment #3 from ktkachov at gcc dot gnu.org ---
Although, the trigger is the scheduling model used
For example, -mtune=arm1136j-s shows the wrong code with any -march option

[Bug libstdc++/69295] [6 Regression] New special math function failures

2016-01-18 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69295

--- Comment #6 from Jonathan Wakely  ---
It's arguable whether this should be marked as a regression, as it's new code
and new tests, so the tests wouldn't even compile before gcc6.

[Bug rtl-optimization/69307] [6 Regression] wrong code with -O2 -fselective-scheduling @ armv7a

2016-01-18 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69307

ktkachov at gcc dot gnu.org changed:

   What|Removed |Added

  Component|target  |rtl-optimization
  Known to fail|4.9.3   |4.8.5, 4.9.4, 5.3.1

--- Comment #4 from ktkachov at gcc dot gnu.org ---
Fails at least as far back as 4.8 btw and looks like a sel-sched bug to me.

  1   2   >