[Bug tree-optimization/67800] [6 Regression] Missed vectorization opportunity on x86 (DOT_PROD_EXPR in non-reduction)

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

--- Comment #6 from rguenther at suse dot de  ---
On Tue, 1 Dec 2015, afomin.mailbox at gmail dot com wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67800
> 
> --- Comment #5 from Alexander Fomin  ---
> Richard, are there any updates on this?
> 
> If BB vectorization support for reductions does not fit your plans for stage3,
> we'd like to fix the regression by doing a partial revert described above.

I will fix this PR in stage3 by either improving vectoirzation here
or partially reverting the commit.  Stay tuned.

[Bug target/68647] __builtin_popcountll doesn't generate popcnt instructions when targeting -mpopcnt on x86_32

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

Uroš Bizjak  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2015-12-02
   Assignee|unassigned at gcc dot gnu.org  |ubizjak at gmail dot com
   Target Milestone|--- |6.0
 Ever confirmed|0   |1
   Severity|normal  |enhancement

--- Comment #1 from Uroš Bizjak  ---
I'll take this.

[Bug ipa/68331] [meta-bug] fipa-pta issues

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

--- Comment #8 from rguenther at suse dot de  ---
On Tue, 1 Dec 2015, vries at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68331
> 
> --- Comment #5 from vries at gcc dot gnu.org ---
> Created attachment 36885
>   --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36885&action=edit
> Abort solve_graph after num_edge passes threshold
> 
> This patch aborts solve_graph after stats.num_edges passes 4.000.000.
> 
> Using this patch, in combination with a -fipa-pta on-by-by-default patch, I'm
> able to do a no-bootstrap build and reg-test.
> 
> Test failures:
> ...
> libstdc++.sum:FAIL: experimental/filesystem/path/concat/strings.cc execution
> test
> libstdc++.sum:FAIL: experimental/filesystem/path/construct/locale.cc execution
> test
> ...

I think limiting the number of edges is somewhat odd.  I'd rather
limit the number of varinfos created initially and maybe the number
of solver iterations.

And add some statistics to the whole solving process.

Note that in theory the solver can just coalesce more vars (and thus
edges) to make the solution quicker (and more imprecise).  So giving
up completely (and wasting work already done) isn't necessary.  Of
course the result from (IPA) PTA will then be a lot less "reliable"
and reducing a testcase might end up "fixing" wrong-code bugs just
because the solution becomes more precise (or the other way around).

One has to visualize the solving process for some moderately complex
testcase as I think the cycle elimination during the solving doesn't
work reliably with the solving turning complex constraint into
edges (well, not sure).  Having unmerged direct cycles just slows
down the solving and increases the memory use for the solutions.

[Bug tree-optimization/68640] foo restrict propagated to foo._omp_fn.0

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

--- Comment #1 from Richard Biener  ---
Is it used because it ends up in the static chain of the omp_fn and uses the
same (original) qualifiers?  And the static chain itself is passed "by
reference"
and thus gets its fields looked at and restrict extracted.

int
foo (int *__restrict__ ap)
{
  int *bp = ap;
#pragma omp parallel for
  for (unsigned int idx = 0; idx < N; idx++)
ap[idx] = bp[idx];
}

I believe this testcase is invalid as you access *ap through bp which is
not based on ap.

But your point is that "based on" is not properly passed through the
OMP lowering which will split out the use into a separate function
thus violating the constraints we set for restrict in PTA (_only_
derive it from parameters because their scope is fixed).

This would mean you need to drop restrict qualifiers for any pointers
you "leak" to the static chain (in the static chain field-decls type).

Yes, if we fix visit_loadstore for

  /* ???  We need to make sure 'ptr' doesn't include any of
 the restrict tags we added bases for in its points-to set.  */
  return false;

you may be able to create a miscompile here (if you manage to create a
valid testcase in the first place)

[Bug c++/66858] [6 Regression] FAIL: g++.dg/pch/system-2.C -O2 -g assembly comparison on aarch64-none-elf, arm-none-eabi

2015-12-02 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66858

--- Comment #2 from Andrew Pinski  ---
This is related to maybe_retrofit_in_chrg somehow.

[Bug target/68647] __builtin_popcountll doesn't generate popcnt instructions when targeting -mpopcnt on x86_32

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

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek  ---
Created attachment 36888
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36888&action=edit
gcc6-pr68647.patch

Untested fix.


[Bug target/68647] __builtin_popcountll doesn't generate popcnt instructions when targeting -mpopcnt on x86_32

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

--- Comment #3 from Jakub Jelinek  ---
Sorry Uros, forgot to assign this to myself before I've started to work on it.

[Bug target/68647] __builtin_popcountll doesn't generate popcnt instructions when targeting -mpopcnt on x86_32

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

--- Comment #4 from Jakub Jelinek  ---
I also wonder when we have expand_doubleword_clz if we couldn't handle
expand_doubleword_ctz similarly.

[Bug rtl-optimization/68432] [6 Regression] internal compiler error: in expand_insn, at optabs.c:6947

2015-12-02 Thread rsandifo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68432

--- Comment #16 from rsandifo at gcc dot gnu.org  
---
Author: rsandifo
Date: Wed Dec  2 09:08:49 2015
New Revision: 231161

URL: https://gcc.gnu.org/viewcvs?rev=231161&root=gcc&view=rev
Log:
PR 68432: Add a target hook to control size/speed optab choices

The problem in the PR is that some i386 optabs FAIL when
optimising for size rather than speed.  The gimple level generally
needs access to this information before calling the generator,
so this patch adds a new hook to say whether an optab should
be used when optimising for size or speed.  It also has a "both"
option for cases where we want code that is optimised for both
size and speed.

I've passed the optab to the target hook because I think in most
cases that's more useful than the instruction code.  We could pass
both if there's a use for it though.

At the moment the match-and-simplify code doesn't have direct access
to the target block, so for now I've used "both" there.

Tested on x86_64-linux-gnu and powerpc64-linux-gnu.

gcc/
PR tree-optimization/68432
* coretypes.h (optimization_type): New enum.
* doc/tm.texi.in (TARGET_OPTAB_SUPPORTED_P): New hook.
* doc/tm.texi: Regenerate.
* target.def (optab_supported_p): New hook.
* targhooks.h (default_optab_supported_p): Declare.
* targhooks.c (default_optab_supported_p): New function.
* predict.h (function_optimization_type): Declare.
(bb_optimization_type): Likewise.
* predict.c (function_optimization_type): New function.
(bb_optimization_type): Likewise.
* optabs-query.h (convert_optab_handler): Define an overload
that takes an optimization type.
(direct_optab_handler): Likewise.
* optabs-query.c (convert_optab_handler): Likewise.
(direct_optab_handler): Likewise.
* internal-fn.h (direct_internal_fn_supported_p): Take an
optimization_type argument.
* internal-fn.c (direct_optab_supported_p): Likewise.
(multi_vector_optab_supported_p): Likewise.
(direct_internal_fn_supported_p): Likewise.
* builtins.c (replacement_internal_fn): Update call to
direct_internal_fn_supported_p.
* gimple-match-head.c (build_call_internal): Likewise.
* tree-vect-patterns.c (vect_recog_pow_pattern): Likewise.
* tree-vect-stmts.c (vectorizable_internal_function): Likewise.
* tree.c (maybe_build_call_expr_loc): Likewise.
* config/i386/i386.c (ix86_optab_supported_p): New function.
(TARGET_OPTAB_SUPPORTED_P): Define.
* config/i386/i386.md (asinxf2): Remove optimize_insn_for_size_p check.
(asin2, acosxf2, acos2, log1pxf2, log1p2)
(expNcorexf3, expxf2, exp2, exp10xf2, exp102, exp2xf2)
(exp22, expm1xf2, expm12, ldexpxf3, ldexp3)
(scalbxf3, scalb3, rint2, round2)
(xf2, 2): Likewise.

gcc/testsuite/
* gcc.target/i386/pr68432-1.c: New test.
* gcc.target/i386/pr68432-2.c: Likewise.
* gcc.target/i386/pr68432-3.c: Likewise.

Added:
trunk/gcc/testsuite/gcc.target/i386/pr68432-1.c
trunk/gcc/testsuite/gcc.target/i386/pr68432-2.c
trunk/gcc/testsuite/gcc.target/i386/pr68432-3.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/builtins.c
trunk/gcc/config/i386/i386.c
trunk/gcc/config/i386/i386.md
trunk/gcc/coretypes.h
trunk/gcc/doc/tm.texi
trunk/gcc/doc/tm.texi.in
trunk/gcc/gimple-match-head.c
trunk/gcc/internal-fn.c
trunk/gcc/internal-fn.h
trunk/gcc/optabs-query.c
trunk/gcc/optabs-query.h
trunk/gcc/predict.c
trunk/gcc/predict.h
trunk/gcc/target.def
trunk/gcc/targhooks.c
trunk/gcc/targhooks.h
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-vect-patterns.c
trunk/gcc/tree-vect-stmts.c
trunk/gcc/tree.c

[Bug rtl-optimization/68432] [6 Regression] internal compiler error: in expand_insn, at optabs.c:6947

2015-12-02 Thread rsandifo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68432

rsandifo at gcc dot gnu.org  changed:

   What|Removed |Added

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

--- Comment #17 from rsandifo at gcc dot gnu.org  
---
Patch applied.

[Bug target/68651] New: [5/6 Regression][AArch64] Missing combination of shift-by-one with other arithmetic patterns with -mcpu=cortex-a53

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

Bug ID: 68651
   Summary: [5/6 Regression][AArch64] Missing combination of
shift-by-one with other arithmetic patterns with
-mcpu=cortex-a53
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ktkachov at gcc dot gnu.org
  Target Milestone: ---
Target: aarch64*

Consider the testcases:

int
foo (int x)
{
  return (x * 2) & 65535;
}

int
bar (int x, int y)
{
  return (x * 2) | y;
}

With GCC 4.9 for aarch64 with -O2 -mcpu=cortex-a53 we generated:
foo:
ubfiz   w0, w0, 1, 15
ret

bar:
orr w0, w1, w0, lsl 1
ret

whereas with GCC 5 and trunk we fail to combine:
foo:
add w0, w0, w0
uxthw0, w0
ret

bar:
add w0, w0, w0
orr w0, w0, w1
ret

This is because of updated costs information for cortex-a53 which leads to
x * 2 being expanded as x + x rather than x << 1 and combine can't merge the
PLUS form.

This can be fixed simply by mutating the pattern during recog_for_combine in a
similar way to change_zero_ext

[Bug target/68647] __builtin_popcountll doesn't generate popcnt instructions when targeting -mpopcnt on x86_32

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

--- Comment #5 from Uroš Bizjak  ---
(In reply to Jakub Jelinek from comment #3)
> Sorry Uros, forgot to assign this to myself before I've started to work on
> it.

Ah, nice. I have a target-dependent patch for this, but I agree that generic
solution is better.

[Bug target/68648] [4.9/5/6 Regression][ARM] ICE: fail to generate BIC(immediate) instruction

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

ktkachov at gcc dot gnu.org changed:

   What|Removed |Added

 Target||arm
 Status|UNCONFIRMED |NEW
  Known to work||4.8.5
Version|5.1.1   |4.9.4
   Keywords||ice-on-valid-code
   Last reconfirmed||2015-12-02
 CC||ktkachov at gcc dot gnu.org
 Ever confirmed|0   |1
Summary|[5/6][ARM] ICE: fail to |[4.9/5/6 Regression][ARM]
   |generate BIC(immediate) |ICE: fail to generate
   |instruction |BIC(immediate) instruction
   Target Milestone|--- |4.9.5
  Known to fail||4.9.4, 5.2.1, 6.0

--- Comment #1 from ktkachov at gcc dot gnu.org ---
Confirmed with 4.9, 5 and trunk. 4.8 branch doesn't ICE

[Bug ipa/68064] [6 Regression] ICE: in meet_with, at ipa-cp.c:874

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

--- Comment #5 from Markus Trippelsdorf  ---
Any update on this issue?

[Bug c++/65731] _ZSt8__fill_aIPmiEN9__gnu_cxx11__enable_ifIXsr11__is_scalarIT0_EE7__valueEvE6__typeET_S6_RKS3_ not demanglable

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

Markus Trippelsdorf  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-12-02
  Component|other   |c++
 Ever confirmed|0   |1

--- Comment #1 from Markus Trippelsdorf  ---
__gnu_cxx::__enable_if<__is_scalar::__value, int*>::__type
std::__fill_n_a(int*, unsigned long, int const&)

and

__gnu_cxx::__enable_if<__is_scalar::__value, void>::__type
std::__fill_a(unsigned long*, unsigned long*, int const&)

would be the correct answer.

[Bug lto/65982] [5/6 Regression] ICE: in lto_output_varpool_node, at lto-cgraph.c:623

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

--- Comment #3 from Markus Trippelsdorf  ---
Honza?

[Bug fortran/68649] [6 Regression] note: code may be misoptimized unless -fno-strict-aliasing is used

2015-12-02 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68649

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2015-12-02
 Ever confirmed|0   |1

--- Comment #4 from Dominique d'Humieres  ---
I think it is a duplicate of pr68560.

> This smells like a fortran front-end issue where _gfortran_reshape_r8's decl
> is created twice with two different argument types.

I don't think so. I think -Wlto-type-mismatch does not know part of the Fortran
syntax.

[Bug rtl-optimization/67778] [6 Regression] ICE on valid code at -O3 on x86_64-linux-gnu in maybe_record_trace_start, at dwarf2cfi.c:2297

2015-12-02 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67778

--- Comment #12 from Segher Boessenkool  ---
Yes, I'm cross-compiling.

The only differences I see are:
* -fdwarf2-cfi-asm; this seemed promising but makes no difference.
* -mtune=generic -march=x86-64; but no dice.
* Very different ggc settings.
* Different GMP etc. versions.

The code coming in to shrink-wrap is different already.

Anyway, I have reproduced the problem (on gcc20), and I know what
the problem is.  Will have to think a bit on how to properly solve
it.

And it seems I didn't read your #c5 very carefully, ugh.  Sorry.

[Bug tree-optimization/68625] [6 Regression] Segmentation fault in useless_type_conversion_p

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

--- Comment #3 from Richard Biener  ---
Author: rguenth
Date: Wed Dec  2 09:47:43 2015
New Revision: 231162

URL: https://gcc.gnu.org/viewcvs?rev=231162&root=gcc&view=rev
Log:
2015-12-02  Richard Biener  

PR tree-optimization/68625
* tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not call
cleanup_control_flow_bb.
(cleanup_tree_cfg_1): First perform cleanup_control_flow_bb
on all BBs, then cleanup_tree_cfg_bb and finally iterate
over the worklist doing both.

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

Added:
trunk/gcc/testsuite/gcc.dg/torture/pr68625.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-cfgcleanup.c

[Bug fortran/68649] [6 Regression] note: code may be misoptimized unless -fno-strict-aliasing is used

2015-12-02 Thread Joost.VandeVondele at mat dot ethz.ch
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68649

Joost VandeVondele  changed:

   What|Removed |Added

 Status|WAITING |UNCONFIRMED
 Depends on||68560
 Ever confirmed|1   |0

--- Comment #5 from Joost VandeVondele  
---
(In reply to Dominique d'Humieres from comment #4)
> I think it is a duplicate of pr68560.

seems certainly related, but PR68560 doesn't yield the worrying 'code may be
misoptimized unless -fno-strict-aliasing is used'. I'll just add a dependency.

> 
> > This smells like a fortran front-end issue where _gfortran_reshape_r8's decl
> > is created twice with two different argument types.
> 
> I don't think so. I think -Wlto-type-mismatch does not know part of the
> Fortran syntax.

I'm thinking the issue is on the Fortran FE side, LTO shouldn't know the
language involved. I guess some middle end person might need to have a look
however.

I'm guessing it is related to the fact that _gfortran_reshape_r8 is being
called with different pointer arguments (from -fdump-tree-original):

struct array1_real(kind=8) parm.0;
 _gfortran_reshape_r8 (&parm.0, D.3433, D.3437, 0B, 0B);
struct array2_real(kind=8) parm.4;
 _gfortran_reshape_r8 (&parm.4, D.3446, D.3450, 0B, 0B);

maybe for correctness there should be some casts ?


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68560
[Bug 68560] [6 Regression] The test gfortran.dg/shape_8.f90 now fails when
compiled with -flto

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

2015-12-02 Thread alm at sibmail dot ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64919

--- Comment #16 from Alexander  ---
there are 
ld -V
ld: 92453-07 linker ld HP Itanium(R) B.12.62  IPF/IPF

[Bug tree-optimization/68625] [6 Regression] Segmentation fault in useless_type_conversion_p

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

Richard Biener  changed:

   What|Removed |Added

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

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

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

2015-12-02 Thread jvb at cyberscience dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64919

--- Comment #17 from John Buddery  ---
My ld is slightly older:
  ld: 92453-07 linker ld HP Itanium(R) B.12.42  IPF/IPF

It may have been older still when I built gcc, as OS patches have been applied
since then.

[Bug middle-end/68570] [6 Regression] ICE on valid code at -O1, -O2 and -O3 on x86_64-linux-gnu

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

--- Comment #6 from Marek Polacek  ---
Yes, this is fixed with r231162 (PR68625 fix).  I'll at least add the
testcase...

[Bug target/68651] [5/6 Regression][AArch64] Missing combination of shift-by-one with other arithmetic patterns with -mcpu=cortex-a53

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

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |5.4

[Bug fortran/68649] [6 Regression] note: code may be misoptimized unless -fno-strict-aliasing is used

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

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |6.0

[Bug lto/65380] [5 Regression][ICF] LTO: ICE in add_symbol_to_partition_1, at lto/lto-partition.c:158

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

--- Comment #20 from Martin Liška  ---
(In reply to milan.plzik from comment #19)
> Created attachment 36886 [details]
> Shell script, which compiles ChibiOS and indeed triggers gcc failure
> 
> Attached script should trigger the problem when compiling ChibiOS sources.

Hi.

Well the script is fine, however it requires a base metal compiler.
Would it be possible to run the test-case on one of there cross compilers:

cross-armv6hl-gcc5
cross-armv7hl-gcc5

Or I can test it on an aarch64 machine, does it expose the failure?

Problem with the issue is that it requires multiple LTO object files
that eventually trigger the failure.

Thanks,
Martin

[Bug libfortran/68652] New: gamma function hangs on some arguments, returns NaN on other ones

2015-12-02 Thread arbautjc at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68652

Bug ID: 68652
   Summary: gamma function hangs on some arguments, returns NaN on
other ones
   Product: gcc
   Version: 4.9.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libfortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: arbautjc at gmail dot com
  Target Milestone: ---

This happens with gfortran in MinGW-W64 (precisely
x86_64-4.9.3-release-win32-seh-rt_v4-rev1.7z at
http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/4.9.3/threads-win32/seh/).
So it may be a problem with components external to gfortran. The OS is Windows
7 Pro, 64 bits.

Forgive me if it's not the right place to post the bug report.
Anyway, here is what goes wrong:

program bug
implicit none
real(4) :: x, y
do
read *, x
y = gamma(x)
print *, y
end do
end program

With real(4), and an argument that is an integer value (in a real variable, of
course):

x=1 to 35: y has a finite real value, no problem
x=36 to 16777218: y is Infinity, as expected
x=16777219 or above: program hangs.
Notice that 2^24=16777216, by the way.

With real(8)
x=1 to 171: finite real
x=172 to 709: Infinity
x=710 or above: NaN, which is not expected (it should be Infinity).

[Bug lto/68646] [6 Regression] FAIL: g++.dg/lto/20081118 cp_lto_20081118_0.o-cp_lto_20081118_1.o link

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

Richard Biener  changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu.org
   Target Milestone|--- |6.0
Summary|FAIL: g++.dg/lto/20081118   |[6 Regression] FAIL:
   |cp_lto_20081118_0.o-cp_lto_ |g++.dg/lto/20081118
   |20081118_1.o link   |cp_lto_20081118_0.o-cp_lto_
   ||20081118_1.o link

--- Comment #1 from Richard Biener  ---
Might have been fixed recently.

[Bug c++/68645] [6 Regression] FAIL: c-c++-common/attr-simd-3.c -std=gnu++11 (test for excess errors)

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

Richard Biener  changed:

   What|Removed |Added

 Target|hppa-unknown-linux-gnu  |hppa-unknown-linux-gnu,
   ||x86_64-linux
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-12-02
   Host|hppa-unknown-linux-gnu  |
   Target Milestone|--- |6.0
Summary|FAIL:   |[6 Regression] FAIL:
   |c-c++-common/attr-simd-3.c  |c-c++-common/attr-simd-3.c
   |-std=gnu++11 (test for  |-std=gnu++11 (test for
   |excess errors)  |excess errors)
 Ever confirmed|0   |1
  Build|hppa-unknown-linux-gnu  |

--- Comment #1 from Richard Biener  ---
Confirmed on x86_64-linux.

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

2015-12-02 Thread josephpattara at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64919

--- Comment #18 from Joseph John  ---
Alexander, 
You were also able to build build gcc using almost the latest linker ? My
linker is nearly same as yours so I was thinking is it some linker bugs which
causes issues for me as I saw some references (although old) as below:

http://h20564.www2.hpe.com/hpsc/doc/public/display?docId=pdb_na-PHSS_43584&sp4ts.oid=417289&lang=en-us&cc=us
"
PHSS_42043: QXCR1001112198: linktime error seen - overflow while applying
PCREL21B relocation
"

[Bug tree-optimization/68644] [6 Regression] FAIL: gcc.dg/tree-ssa/ivopts-lt-2.c scan-tree-dump-times ivopts "PHI

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

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |6.0
Summary|FAIL:   |[6 Regression] FAIL:
   |gcc.dg/tree-ssa/ivopts-lt-2 |gcc.dg/tree-ssa/ivopts-lt-2
   |.c scan-tree-dump-times |.c scan-tree-dump-times
   |ivopts "PHI  ---
Please attach ivopts-details-scev dumps.

[Bug testsuite/68643] FAIL: gcc.dg/tree-prof/cold_partition_label.c scan-assembler foo[._]+cold[._]+0

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

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2015-12-02
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener  ---
/* { dg-require-effective-target freorder } */

so this is set wrongly for your target?  Or rather

# Return 1 if compilation with -freorder-blocks-and-partition is error-free
# for trivial code, 0 otherwise.

proc check_effective_target_freorder {} {
return [check_no_compiler_messages freorder object {
void foo (void) { }
} "-freorder-blocks-and-partition"]
}

is not working for some reason?

[Bug middle-end/68570] [6 Regression] ICE on valid code at -O1, -O2 and -O3 on x86_64-linux-gnu

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

Marek Polacek  changed:

   What|Removed |Added

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

--- Comment #8 from Marek Polacek  ---
Done.

[Bug tree-optimization/68640] foo restrict propagated to foo._omp_fn.0

2015-12-02 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68640

--- Comment #2 from vries at gcc dot gnu.org ---
(In reply to Richard Biener from comment #1)
> Is it used because it ends up in the static chain of the omp_fn and uses the
> same (original) qualifiers?  And the static chain itself is passed "by
> reference"
> and thus gets its fields looked at and restrict extracted.

AFAIU, the static chain is only used for nested functions, and the omp_fn's are
not (though similar). So I guess you mean the single function argument pointing
to a struct that contains the base pointers used in omp_fns.

Yes, that argument points to a struct where the fields use the same qualifiers
as in the original function (although in some cases, there will be a pointer
indirection introduced inbetween, which will cause the restrict to have no
effect). And that argument is passed as a restrict reference and thus gets its
field looked at and restrict extracted (btw the same would happen if the
argument was a restrict pointer).

The restrict on the fields is set in install_var_field (by using the exact
type, rather than clearing some qualifiers).

> int
> foo (int *__restrict__ ap)
> {
>   int *bp = ap;
> #pragma omp parallel for
>   for (unsigned int idx = 0; idx < N; idx++)
> ap[idx] = bp[idx];
> }
> 
> I believe this testcase is invalid as you access *ap through bp which is
> not based on ap.
> 

Modifying ap to point to a copy of *ap will modify the value of bp (when done
before the copy from ap to bp), so to me it looks like bp is based on ap.

> But your point is that "based on" is not properly passed through the
> OMP lowering which will split out the use into a separate function
> thus violating the constraints we set for restrict in PTA (_only_
> derive it from parameters because their scope is fixed).

Basically we redeclare ap as restrict pointer ap in the scope foo._omp_fn.0.
And bp is not based on the redeclared ap, so this violates restrict.

It's similar to rewriting this legal example:
...
{
  int *restrict ap = ...
  int *bp = ap;
  {
 int *ap2 = ap;
 *ap2 = 1;
 *bp = 2;
  }
}
...
into this illegal example:
...
{
  int *restrict ap = ...
  int *bp = ap;
  {
 int *restrict ap2 = ap;
 *ap2 = 1;
 *bp = 2;
  }
}
...
It becomes illegal by adding restrict to ap2. It is illegal because bp is not
based on ap2.

> This would mean you need to drop restrict qualifiers for any pointers
> you "leak" to the static chain (in the static chain field-decls type).
> 

Right, clearing the restrict qualifier on pointers in install_var_field would
fix this.

> Yes, if we fix visit_loadstore for
> 
>   /* ???  We need to make sure 'ptr' doesn't include any of
>  the restrict tags we added bases for in its points-to set.  */
>   return false;
> 
> you may be able to create a miscompile here (if you manage to create a
> valid testcase in the first place)

I still think the testcase is valid.

[Bug middle-end/68570] [6 Regression] ICE on valid code at -O1, -O2 and -O3 on x86_64-linux-gnu

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

--- Comment #7 from Marek Polacek  ---
Author: mpolacek
Date: Wed Dec  2 10:22:23 2015
New Revision: 231163

URL: https://gcc.gnu.org/viewcvs?rev=231163&root=gcc&view=rev
Log:
PR middle-end/68570
* gcc.dg/torture/pr68570.c: New test.

Added:
trunk/gcc/testsuite/gcc.dg/torture/pr68570.c
Modified:
trunk/gcc/testsuite/ChangeLog

[Bug rtl-optimization/68641] undefined variables implicitly considered to be zero

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

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-12-02
 CC||law at gcc dot gnu.org,
   ||rguenth at gcc dot gnu.org
  Component|middle-end  |rtl-optimization
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener  ---
This is probably caused by init-regs.c which is done conditionally on optimize
> 0
only.

IMHO it should be removed (this was discussed repeatedly in the past).

[Bug rtl-optimization/68641] undefined variables implicitly considered to be zero

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

Richard Biener  changed:

   What|Removed |Added

 CC||ebotcazou at gcc dot gnu.org

--- Comment #2 from Richard Biener  ---
I remember bootstrapping and testing with the pass removed just works.

[Bug ipa/65654] [7 Regression] 447.dealII in SPEC CPU 2006 failed to build with LTO

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

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|6.0 |7.0
Summary|[6 Regression] 447.dealII   |[7 Regression] 447.dealII
   |in SPEC CPU 2006 failed to  |in SPEC CPU 2006 failed to
   |build with LTO  |build with LTO

--- Comment #7 from Richard Biener  ---
It was made P1 to make you fix it during stage1 of GCC 6 ;)

But yes, re-targeting to GCC 7.

[Bug preprocessor/68638] [6 Regression] ICE in linemap_macro_map_lookup

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

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |6.0

[Bug tree-optimization/68639] [6 Regression] ICE: Floating point exception

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

Richard Biener  changed:

   What|Removed |Added

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

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

[Bug rtl-optimization/68641] undefined variables implicitly considered to be zero

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

Eric Botcazou  changed:

   What|Removed |Added

   Severity|normal  |enhancement

--- Comment #3 from Eric Botcazou  ---
The whole reasoning looks fairly dubious to me, the optimizer is free to do
whatever it wants on undefined behavior and requests that the generated code
behaves identically at all optimization levels on it have little merit IMO.

[Bug rtl-optimization/68641] undefined variables implicitly considered to be zero

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

--- Comment #4 from rguenther at suse dot de  ---
On Wed, 2 Dec 2015, ebotcazou at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68641
> 
> Eric Botcazou  changed:
> 
>What|Removed |Added
> 
>Severity|normal  |enhancement
> 
> --- Comment #3 from Eric Botcazou  ---
> The whole reasoning looks fairly dubious to me, the optimizer is free to do
> whatever it wants on undefined behavior and requests that the generated code
> behaves identically at all optimization levels on it have little merit IMO.

True, just that we avoid uninitialized regs at -O1+ but not on -O0
makes this one valid.

OTOH I'd just use it as an excuse to drop init-regs.c ...

[Bug lto/65380] [5 Regression][ICF] LTO: ICE in add_symbol_to_partition_1, at lto/lto-partition.c:158

2015-12-02 Thread milan.plzik at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65380

--- Comment #21 from milan.plzik at gmail dot com ---
Unfortunately, I currently don't have dev setup for any non-MCU ARM platform.
Also, ChibiOS non-MCU platforms, so I guess I would need to identify different
test case, assuming it is possible to trigger this error on non-bare-metal
platforms. 

Anyway, if this is wrong place to report problems with bare-metal gcc targets,
please let me know where should this be filed :).

[Bug libfortran/68652] gamma function hangs on some arguments, returns NaN on other ones

2015-12-02 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68652

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2015-12-02
 Ever confirmed|0   |1

--- Comment #1 from Dominique d'Humieres  ---
WORKSFORME on x86_64-apple-darwin14 from 4.8 up to trunk (6.0). It looks like a
system library problem. Did you ask for help upstream (MinGW)?

[Bug rtl-optimization/68641] undefined variables implicitly considered to be zero

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

--- Comment #5 from Richard Biener  ---
See PR61810 which shows missed optimizations because of init-regs.c

[Bug rtl-optimization/68641] undefined variables implicitly considered to be zero

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

--- Comment #6 from Eric Botcazou  ---
> OTOH I'd just use it as an excuse to drop init-regs.c ...

It has a rather big comment explaining why it was needed though.

[Bug libfortran/68652] gamma function hangs on some arguments, returns NaN on other ones

2015-12-02 Thread arbautjc at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68652

--- Comment #2 from Jean-Claude Arbaut  ---
I will. I was unsure were to post the report, so I tried first here. Thanks to
have checked!

[Bug tree-optimization/68522] [6 Regression] SPEC CPU2006 435.gromacs miscomparison

2015-12-02 Thread afomin.mailbox at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68522

--- Comment #1 from Alexander Fomin  ---
We compile it using -m32 -Ofast -funroll-loops
-fno-agressive-loop-optimizations option set.

[Bug c++/68653] New: [6 Regression] ICE: in nonnull_arg_p, at tree.c:13853

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

Bug ID: 68653
   Summary: [6 Regression] ICE: in nonnull_arg_p, at tree.c:13853
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: trippels at gcc dot gnu.org
CC: mark at gcc dot gnu.org
  Target Milestone: ---

x4 duchain # g++ -march=amdfam10 -c declarationbuilder.ii
x4 duchain # g++ -march=amdfam10 -c -Wall declarationbuilder.ii
/var/tmp/portage/dev-util/kdevelop-/work/kdevelop-/languages/qmljs/duchain/declarationbuilder.cpp:
In instantiation of ‘void DeclarationBuilder::declareParameters(Node*,
QStringRef Node::*) [with Node = QmlJS::AST::FormalParameterList]’:
/var/tmp/portage/dev-util/kdevelop-/work/kdevelop-/languages/qmljs/duchain/declarationbuilder.cpp:259:83:
  required from here
/var/tmp/portage/dev-util/kdevelop-/work/kdevelop-/languages/qmljs/duchain/declarationbuilder.cpp:207:49:
internal compiler error: in nonnull_arg_p, at tree.c:13853

Probably started with r227649.
Reducing..

[Bug target/68648] [4.9/5/6 Regression][ARM] ICE: fail to generate BIC(immediate) instruction

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

--- Comment #2 from ktkachov at gcc dot gnu.org ---
The problem is the post-reload andsi_iorsi3_notsi splitter that can generate a
(not (const_int 1)) rtx rather than doing constant folding

[Bug target/68648] [4.9/5/6 Regression][ARM] ICE: fail to generate BIC(immediate) instruction

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

ktkachov at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #3 from ktkachov at gcc dot gnu.org ---
I'm testing a patch.

[Bug target/61810] init-regs.c papers over issues elsewhere

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

--- Comment #1 from Richard Biener  ---
For

FAIL: gcc.dg/vect/vect-strided-a-u8-i8-gap7.c execution test

it indeed 'makes combine happy' with enabled vs. disabled diff

***
*** 912,935 
  (plus:QI (reg:QI 264 [ ivtmp.50 ])
  (const_int -3 [0xfffd])))

! Trying 401 -> 186:
  Failed to match this instruction:
  (set (pc)
! (pc))
! Successfully matched this instruction:
! (set (pc)
! (label_ref 191))
! allowing combination of insns 401 and 186
! original costs 4 + 4 = 0
! replacement cost 4
! deferring deletion of insn with uid = 401.
! modifying other_insn   187: pc=L191
!   REG_BR_PROB 9996
! deferring rescan insn with uid = 187.

  Trying 193 -> 197:
  Failed to match this instruction:
--- 911,923 
  (plus:QI (reg:QI 264 [ ivtmp.50 ])
  (const_int -3 [0xfffd])))

! Trying 186 -> 187:
  Failed to match this instruction:
  (set (pc)
! (if_then_else (eq (reg/v:QI 255 [ y ])
! (const_int 0 [0]))
! (label_ref 191)
! (pc)))

  Trying 193 -> 197:
  Failed to match this instruction:

where 'y' is unused and has a set to zero.  But this shows an issue with
the testcase which uses uninitialized y to abort(!)

__attribute__ ((noinline)) int
main1 ()
{
  int i;
  s arr[N];
  s *ptr = arr;
  s res[N];
  unsigned char u, t, s, x, y, z, w;

  for (i = 0; i < N; i++)
{
  arr[i].a = i;
  arr[i].b = i * 2;
  arr[i].c = 17;
  arr[i].d = i+34;
  arr[i].e = i * 3 + 5;
  arr[i].f = i * 5;
  arr[i].g = i - 3;
  arr[i].h = 67;
  if (y) /* Avoid vectorization.  */
abort ();
}

probably in the others as well.  I'm going to fix those.

[Bug fortran/68649] [6 Regression] note: code may be misoptimized unless -fno-strict-aliasing is used

2015-12-02 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68649

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever confirmed|0   |1

--- Comment #6 from Dominique d'Humieres  ---
> seems certainly related, but PR68560 doesn't yield the worrying
> 'code may be misoptimized unless -fno-strict-aliasing is used'.
> I'll just add a dependency.

IMO these warnings are false positive (aka bogus). The minimal set of options
to get the warning for the test in comment 1 is '-flto -fstrict-aliasing'.

> I'm thinking the issue is on the Fortran FE side, LTO shouldn't know
> the language involved. I guess some middle end person might need to have
> a look however.

IMO the first step is to understand why LTO is emitting these warning on valid
Fortran code. Then, if this not due to a bug in LTO, it will be time to find
how Fortran intrinsics have to be "decorated" to avoid the warnings.

[Bug rtl-optimization/68641] undefined variables implicitly considered to be zero

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

--- Comment #7 from rguenther at suse dot de  ---
On Wed, 2 Dec 2015, ebotcazou at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68641
> 
> --- Comment #6 from Eric Botcazou  ---
> > OTOH I'd just use it as an excuse to drop init-regs.c ...
> 
> It has a rather big comment explaining why it was needed though.

Handwaving ones w/o testcase and appearantly without making sure
such uses never get re-introduced after it (and the offending
un-named places)

[Bug rtl-optimization/68641] undefined variables implicitly considered to be zero

2015-12-02 Thread Joost.VandeVondele at mat dot ethz.ch
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68641

Joost VandeVondele  changed:

   What|Removed |Added

 CC||Joost.VandeVondele at mat dot 
ethz
   ||.ch

--- Comment #8 from Joost VandeVondele  
---
(In reply to Eric Botcazou from comment #3)
> The whole reasoning looks fairly dubious to me, the optimizer is free to do
> whatever it wants on undefined behavior and requests that the generated code
> behaves identically at all optimization levels on it have little merit IMO.

Of course, I agree that the code has undefined behavior, and that 'all bets are
off'. 

It just makes it more difficult for users to spot this undefined behavior, we
run our testsuite every night under valgrind, but can't move from -O1 to -O0,
since that would add a couple of hours to the test. Admittedly,
-fsanitize=memory would be a better solution, but it is not available with gcc.

[Bug rtl-optimization/68641] undefined variables implicitly considered to be zero

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

--- Comment #9 from rguenther at suse dot de  ---
On Wed, 2 Dec 2015, Joost.VandeVondele at mat dot ethz.ch wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68641
> 
> Joost VandeVondele  changed:
> 
>What|Removed |Added
> 
>  CC||Joost.VandeVondele at mat 
> dot ethz
>||.ch
> 
> --- Comment #8 from Joost VandeVondele  ethz.ch> ---
> (In reply to Eric Botcazou from comment #3)
> > The whole reasoning looks fairly dubious to me, the optimizer is free to do
> > whatever it wants on undefined behavior and requests that the generated code
> > behaves identically at all optimization levels on it have little merit IMO.
> 
> Of course, I agree that the code has undefined behavior, and that 'all bets 
> are
> off'. 
> 
> It just makes it more difficult for users to spot this undefined 
> behavior, we run our testsuite every night under valgrind, but can't 
> move from -O1 to -O0, since that would add a couple of hours to the 
> test. Admittedly, -fsanitize=memory would be a better solution, but it 
> is not available with gcc.

Though with the testcase you gave we warn at both -O0 and -O1:

> gfortran-5 t.f90 -c -Wall -O
t.f90:3:0:

   IF (i/=0) CALL link_error
 ^
Warning: ‘i’ is used uninitialized in this function [-Wuninitialized]
t.f90:4:0:

   IF (ASSOCIATED(foo)) CALL link_error
 ^
Warning: ‘foo’ is used uninitialized in this function [-Wuninitialized]

[Bug rtl-optimization/68304] [6 Regression] FAIL: gcc.c-torture/compile/950612-1.c -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (internal compiler error)

2015-12-02 Thread nickc at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68304

Nick Clifton  changed:

   What|Removed |Added

 CC||nickc at redhat dot com

--- Comment #1 from Nick Clifton  ---
Hi John,

  I just tried to reproduce this using the current (r231159) sources and I
could not.  Ie the test compiled without problems.  Perhaps this bug has
already been fixed ?

Cheers
  Nick

[Bug target/61810] init-regs.c papers over issues elsewhere

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

--- Comment #2 from Richard Biener  ---
vect testsuite is now clean on trunk.

[Bug c++/68653] [6 Regression] ICE: in nonnull_arg_p, at tree.c:13853

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

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |6.0

[Bug rtl-optimization/68641] undefined variables implicitly considered to be zero

2015-12-02 Thread Joost.VandeVondele at mat dot ethz.ch
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68641

--- Comment #10 from Joost VandeVondele  
---
(In reply to rguent...@suse.de from comment #9)
> Though with the testcase you gave we warn at both -O0 and -O1:

yes, but unfortunately, -Wuninitialized, also warns for 'may be used
uninitialized' which are too often false positives, and sometimes even compiler
generated variables as in PR67679. 

A -Wmust-be-uninitialized (which seemingly the compiler could do as the comment
on top of init-regs.c suggests) would be valuable. [I just checked that
-Wuninitialized -Wno-maybe-uninitialized doesn't work]

[Bug c/68193] _Generic -Woverflow false alarm

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

Marek Polacek  changed:

   What|Removed |Added

 CC||mpolacek at gcc dot gnu.org

--- Comment #2 from Marek Polacek  ---
The problem here is that after we've parsed the selector (with warnings
inhibited), we go over all the associations: process the type-name, then parse
assignment-expression of the association also using c_parser_expr_no_commas,
but this time without the warnings inhibited.  We should probably disable
warnings when processing the associations and only warn for matched_assoc.  But
I can't readily conceive how to do that.

[Bug preprocessor/68638] [6 Regression] ICE in linemap_macro_map_lookup

2015-12-02 Thread nickc at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68638

Nick Clifton  changed:

   What|Removed |Added

 CC||nickc at redhat dot com

--- Comment #1 from Nick Clifton  ---
Hi Martin,

  I tried to reproduce this problem using the latest (r231159) sources bug
could not.  I tried both an x86_64-pc-linux-gnu toolchain and an mep-elf
toolchain.  Is it possible that this bug has already been fixed ?

Cheers
  Nick

[Bug rtl-optimization/68641] undefined variables implicitly considered to be zero

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

--- Comment #11 from Marc Glisse  ---
(In reply to Joost VandeVondele from comment #10)
> [I just checked that -Wuninitialized -Wno-maybe-uninitialized doesn't work]

That sounds like a bug. It works for me on a simple C testcase.

[Bug c++/68653] [6 Regression] ICE: in nonnull_arg_p, at tree.c:13853

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

Markus Trippelsdorf  changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-12-02
 Ever confirmed|0   |1

--- Comment #1 from Markus Trippelsdorf  ---
markus@x4 tmp % cat declarationbuilder.ii
struct B;
struct A {
  template  void declareParameters(Node *, int Node::*);
  bool visit(B *);
};
template  void A::declareParameters(Node *, int Node::*p2) {
  p2 ? nullptr : new int;
}
bool A::visit(B *p1) {
  declareParameters(p1, (int B::*)nullptr);
  return true;
}

markus@x4 tmp % g++ -c -Wall declarationbuilder.ii
declarationbuilder.ii: In instantiation of ‘void A::declareParameters(Node*,
int Node::*) [with Node = B]’:
declarationbuilder.ii:10:42:   required from here
declarationbuilder.ii:7:6: internal compiler error: in nonnull_arg_p, at
tree.c:13853

[Bug rtl-optimization/68641] undefined variables implicitly considered to be zero

2015-12-02 Thread Joost.VandeVondele at mat dot ethz.ch
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68641

--- Comment #12 from Joost VandeVondele  
---
(In reply to Marc Glisse from comment #11)
> That sounds like a bug. It works for me on a simple C testcase.

sorry, fat fingers on my side. So, yes, this works

gfortran -c -Werror=uninitialized -Wno-maybe-uninitialized test.f90

I believe this would practically resolve this PR from my point of view.

[Bug tree-optimization/67800] [6 Regression] Missed vectorization opportunity on x86 (DOT_PROD_EXPR in non-reduction)

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

--- Comment #7 from Richard Biener  ---
Ah, so reverting these changes causes

FAIL: gcc.dg/vect/slp-reduc-sad.c scan-tree-dump vect "vectorizing stmts using
SLP"
FAIL: gcc.dg/vect/slp-reduc-sad.c scan-tree-dump-times vect "vectorized 1
loops" 1

with similar testcases using a dot product or widening sum pattern would
need to be added.  Note that the above are in reduction context but only
the first stmt of the reduction chain is marked as such.

Thus we need to amend the check with ! STMT_VINFO_GROUP_FIRST_ELEMENT
(stmt_vinfo).

Testing that now.

[Bug rtl-optimization/68304] [6 Regression] FAIL: gcc.c-torture/compile/950612-1.c -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (internal compiler error)

2015-12-02 Thread danglin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68304

John David Anglin  changed:

   What|Removed |Added

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

--- Comment #2 from John David Anglin  ---
Did not occur in last build.

[Bug tree-optimization/68654] New: [6 Regression] CoreMark Pro performance degradation

2015-12-02 Thread afomin.mailbox at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68654

Bug ID: 68654
   Summary: [6 Regression] CoreMark Pro performance degradation
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: afomin.mailbox at gmail dot com
CC: izamyatin at gmail dot com, law at redhat dot com
  Target Milestone: ---
Target: i686-*-*

After r228668 we can see a performance degradation in CoreMark Pro benchmark
compiled with -m32 -Ofast -funroll-loops for Haswell CPU.

[Bug tree-optimization/68654] [6 Regression] CoreMark Pro performance degradation

2015-12-02 Thread afomin.mailbox at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68654

--- Comment #1 from Alexander Fomin  ---
The degrading test is naturally CoreMark itself.

[Bug testsuite/68643] FAIL: gcc.dg/tree-prof/cold_partition_label.c scan-assembler foo[._]+cold[._]+0

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

--- Comment #2 from dave.anglin at bell dot net ---
On 2015-12-02, at 5:22 AM, rguenth at gcc dot gnu.org wrote:

> so this is set wrongly for your target?  Or rather
> 
> # Return 1 if compilation with -freorder-blocks-and-partition is error-free
> # for trivial code, 0 otherwise.
> 
> proc check_effective_target_freorder {} {
>return [check_no_compiler_messages freorder object {
>void foo (void) { }
>} "-freorder-blocks-and-partition"]
> }
> 
> is not working for some reason?

With gcc-6, foo compiles without error.  With gcc-5,

dave@mx3210:~/gnu/gcc/objdir$ gcc -freorder-blocks-and-partition -S -O2 xxx.c
xxx.c:1:0: note: -freorder-blocks-and-partition does not work on this
architecture
 void foo (void) { }
 ^

We have in pa.c (pa_option_override):

  /* Disable -freorder-blocks-and-partition as we don't support hot and
 cold partitioning.  */
  if (flag_reorder_blocks_and_partition)
{
  inform (input_location,
  "-freorder-blocks-and-partition does not work "
  "on this architecture");
  flag_reorder_blocks_and_partition = 0;
  flag_reorder_blocks = 1;
}

--
John David Anglin   dave.ang...@bell.net

[Bug tree-optimization/66051] can't vectorize reductions inside an SLP group

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

--- Comment #2 from Richard Biener  ---
We now run itno

t.c:4:3: note: Build SLP failed: the number of interleaved loads is greater
than the SLP group size _15 = *_14;

which should be an irrelevant restriction in the form it makes (with only
considering gaps at the end of the group reducing the "number of interleaved
loads").  Whenever this condition triggers the load will be "permuted"
to be of proper size.

Indeed:

t.c:4:3: note: Load permutation 0 1 2 3 4 5 6 7
t.c:4:3: note: unsupported vect permute { 0 1 2 3 8 9 10 11 }
t.c:4:3: note: Build SLP failed: unsupported load permutation *_9 = _22;

which for some reason isn't supported by plain SSE2 while it should
simply able to use movlhps.

[Bug target/68655] New: SSE2 cannot vec_perm of low and high part

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

Bug ID: 68655
   Summary: SSE2 cannot vec_perm of low and high part
   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
CC: uros at gcc dot gnu.org
  Target Milestone: ---
Target: x86_64-*-*, i?86-*-*

typedef unsigned short v8hi __attribute__((vector_size(16)));

v8hi foo (v8hi a, v8hi b)
{
  return __builtin_shuffle (a, b, (v8hi) { 0, 1, 2, 3, 8, 9, 10, 11 });
}

should be able to use

  movlhps %xmm0, %xmm1
  ret

but ends up being lowered by vector lowering because the target says
it cannot can_vec_perm_p (V8HI, false, { 0, 1, 2, 3, 8, 9, 10, 11 })

There are also two-instruction permutes possible with movhl/lhps
like { 0, 1, 2, 3, 12, 13, 14, 15 } can use

  movhlps %xmm1, %xmm1
  movlhps %xmm0, %xmm1

ah, that uses shufpd.  Not sure why the above doesn't use shufpd if that
is available in SSE2.

[Bug target/67383] reload_cse_simplify_operands fails on ARMV7-M

2015-12-02 Thread renlin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67383

Renlin Li  changed:

   What|Removed |Added

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

--- Comment #7 from Renlin Li  ---
Backport committed as r231177. It should fix the ICE in the particular case.

However, this is not the whole story. I just found another problem.

In the test case, there are code structure like this.


uint64_t callee (int a, int b, int c, int d);
uint64_t caller (int a, int b, int c, int d)
{
  uint64_t res;
/*
single BB contains complicated data processing which requires register pair
*/

  res = callee (tmp, b ,c, d);
  return res;
}

CES pass in this case will extend the hard register live range across the whole
BB until the callee. In this case, r1, r2, r3 are excluded from allocatable
registers.


There are places in CES which prevents extending the hard register's live
range, for example for hard register which fullfil
small_register_classes_for_mode_p(), class_likely_spilled_p(). However,
argument registers belong to neither of them.


I tried to stop CES from extending argument registers live range. However,
later, scheduler jumps in and re-orders the instruction to reduce the pseudo
register pressure, which in effect extend the argument register live again.

[Bug tree-optimization/68654] [6 Regression] CoreMark Pro performance degradation

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

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2015-12-02
   Target Milestone|--- |6.0
 Ever confirmed|0   |1

--- Comment #2 from Richard Biener  ---
Can you please produce a testcase from the relevant part of CoreMark?

[Bug c/68656] New: [4.8, 4.9, 5.0, 6.0 Regression] warning about disabled var-tracking uses odd location info

2015-12-02 Thread aldot at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68656

Bug ID: 68656
   Summary: [4.8, 4.9, 5.0, 6.0 Regression] warning about disabled
var-tracking uses odd location info
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: aldot at gcc dot gnu.org
CC: dodji at gcc dot gnu.org
  Target Milestone: ---

echo "/* This is a bugreport about using odd locations.  */" > bug.c
gcc -c bug.c -fvar-tracking -o /dev/null 
bug.c:1:0: warning: variable tracking requested, but useless unless producing
debug info
 /* This is a bugreport about using odd locations.  */
 ^

on stdin this looks like expected:
$ echo "/* This is a bugreport about using odd locations.  */" | gcc -xc -c -
-g -fvar-tracking -gtoggle -o /dev/null
:1:0: warning: variable tracking requested, but useless unless producing
debug info
$ 

Known to work: 4.7.4
$ gcc-4.7 -c bug.c -fvar-tracking -o /dev/null 
bug.c:1:0: warning: variable tracking requested, but useless unless producing
debug info [enabled by default]

Fails: 4.8.5
$ gcc-4.8 -c bug.c -fvar-tracking -o /dev/null 
bug.c:1:0: warning: variable tracking requested, but useless unless producing
debug info [enabled by default]
 /* This is a bugreport about using odd locations.  */
 ^

[Bug tree-optimization/68654] [6 Regression] CoreMark Pro performance degradation

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

--- Comment #3 from Richard Biener  ---
Btw, that revision is unlikely a bisect, correct?  It should have zero effects
on code generation.

[Bug c/68656] [4.9/5/6 Regression] warning about disabled var-tracking uses odd location info

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

Richard Biener  changed:

   What|Removed |Added

Summary|[4.8, 4.9, 5.0, 6.0 |[4.9/5/6 Regression]
   |Regression] warning about   |warning about disabled
   |disabled var-tracking uses  |var-tracking uses odd
   |odd location info   |location info

--- Comment #1 from Richard Biener  ---
Which version worked ok?  I think these warnings should simply not output any
location (well, as we now have per-function optimization settings such warning
may apply only for certain functions...)

[Bug fortran/63861] OpenACC coarray ICE (also with OpenMP?)

2015-12-02 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63861

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|WAITING |NEW

--- Comment #8 from Dominique d'Humieres  ---
Compiling gfortran.dg/goacc/coarray.f95 with '-fcoarray=single -fopenacc' gives
now an ICE

/opt/gcc/_clean/gcc/testsuite/gfortran.dg/goacc/coarray.f95:23:0:

 !$acc parallel loop reduction(+:a)


internal compiler error: in lower_oacc_reductions, at omp-low.c:5437

The change occurred between revisions r231086 (no ICE) and r231131 (ICE).

[Bug tree-optimization/68654] [6 Regression] CoreMark Pro performance degradation

2015-12-02 Thread afomin.mailbox at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68654

--- Comment #4 from Alexander Fomin  ---
It should, but for some reason we see a stable reproducible degradation between
r228667 and r228668...

[Bug libfortran/68652] gamma function hangs on some arguments, returns NaN on other ones

2015-12-02 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68652

Thomas Koenig  changed:

   What|Removed |Added

 CC||tkoenig at gcc dot gnu.org

--- Comment #3 from Thomas Koenig  ---
Also works for me on Linux.

[Bug sanitizer/59009] libsanitizer merge from upstream r191666 breaks bootstrap on powerpc64-linux and aarch64-linux

2015-12-02 Thread clyon at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59009

Christophe Lyon  changed:

   What|Removed |Added

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

--- Comment #59 from Christophe Lyon  ---
I think this can be closed.

[Bug c/68657] New: [6 Regression] "gcc -Werror=sign-conversion test.i" shows invalid: -Wsign-conversion is not an option that controls warnings

2015-12-02 Thread burnus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68657

Bug ID: 68657
   Summary: [6 Regression] "gcc -Werror=sign-conversion test.i"
shows invalid: -Wsign-conversion is not an option that
controls warnings
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: burnus at gcc dot gnu.org
  Target Milestone: ---

Using  touch test.ii test.i  with
  gcc -Werror=sign-conversion test.i
or
  g++ -Werror=sign-conversion test.i
shows:

cc1plus: error: -Werror=sign-conversion: -Wsign-conversion is not an option
that controls warnings


Using GCC 5 it works.

In  gcc/c-family/c.opt, one has:

Wsign-conversion
C ObjC C++ ObjC++ Var(warn_sign_conversion) LangEnabledBy(C ObjC,Wconversion)
Warn for implicit type conversions between signed and unsigned integers.

[Bug target/68655] SSE2 cannot vec_perm of low and high part

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

--- Comment #1 from Richard Biener  ---
typedef int v4si __attribute__((vector_size(16)));

v4si bar (v4si a, v4si b)
{
  return __builtin_shuffle (a, b, (v4si) { 0, 1, 4, 5 });
}

works just fine using shufps.

It might be that the generic optabs code should try using larger element modes
if the permutation allows that.  It already tries QImode as fallback.

OTOH as

v8hi baz (v8hi a, v8hi b)
{
  return __builtin_shuffle (a, b, (v8hi) { 0, 1, 2, 3, 12, 13, 14, 15 });
}

works and uses shufpd the x86 backend seems to be somewhat prepared for
the above.

[Bug c/68656] [4.9/5/6 Regression] warning about disabled var-tracking uses odd location info

2015-12-02 Thread aldot at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68656

--- Comment #2 from Bernhard Reutner-Fischer  ---
(In reply to Richard Biener from comment #1)
> Which version worked ok?  I think these warnings should simply not output

4.7.4 worked ok.
4.8.5 onward behave like current trunk a.k.a 6.0

> any location (well, as we now have per-function optimization settings such
> warning
> may apply only for certain functions...)

If it's per-function, it'd be ok to output the location, i'd say.
For file-scope it doesn't make sense to me.

thanks,

[Bug c/68657] [6 Regression] "gcc -Werror=sign-conversion test.i" shows invalid: -Wsign-conversion is not an option that controls warnings

2015-12-02 Thread burnus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68657

Tobias Burnus  changed:

   What|Removed |Added

   Keywords||diagnostic
   Target Milestone|--- |6.0

--- Comment #1 from Tobias Burnus  ---
Seems as if "Warning" is missing in the second line of the *.opt.

Also affected seem to be:

c-family/c.opt:Wpsabi
c-family/c.opt-C ObjC C++ ObjC++ LTO Var(warn_psabi) Init(1) Undocumented
LangEnabledBy(C ObjC C++ ObjC++,Wabi)

c-family/c.opt:Wfloat-conversion
c-family/c.opt-C ObjC C++ ObjC++ Var(warn_float_conversion) LangEnabledBy(C
ObjC C++ ObjC++,Wconversion)

java/lang.opt:Wdeprecated
java/lang.opt-Java Var(warn_deprecated)

java/lang.opt:Wextraneous-semicolon
java/lang.opt-Java Var(flag_extraneous_semicolon)

java/lang.opt:Wout-of-date
java/lang.opt-Java Var(flag_newer) Init(1)

java/lang.opt:Wredundant-modifiers
java/lang.opt-Java Var(flag_redundant)

[Bug fortran/63861] OpenACC coarray ICE (also with OpenMP?)

2015-12-02 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63861

Dominique d'Humieres  changed:

   What|Removed |Added

 CC||jules at gcc dot gnu.org

--- Comment #9 from Dominique d'Humieres  ---
> The change occurred between revisions r231086 (no ICE) and r231131 (ICE).

Reduced range from https://gcc.gnu.org/ml/gcc-regression/2015-12/

r231109 (no ICE), r231121 (ICE), likely r231112 or r231118.

[Bug gcov-profile/68603] [6 Regression] FAIL: g++.dg/gcov/gcov-1.C

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

Richard Biener  changed:

   What|Removed |Added

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

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

[Bug target/68655] SSE2 cannot vec_perm of low and high part

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

Uroš Bizjak  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #2 from Uroš Bizjak  ---
CC Jakub.

[Bug rtl-optimization/67778] [6 Regression] ICE on valid code at -O3 on x86_64-linux-gnu in maybe_record_trace_start, at dwarf2cfi.c:2297

2015-12-02 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67778

Segher Boessenkool  changed:

   What|Removed |Added

 CC||asolokha at gmx dot com

--- Comment #13 from Segher Boessenkool  ---
*** Bug 68634 has been marked as a duplicate of this bug. ***

[Bug target/68634] [6 Regression] ICE in maybe_record_trace_start, at dwarf2cfi.c:2284 w/ -O2 -fmodulo-sched

2015-12-02 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68634

Segher Boessenkool  changed:

   What|Removed |Added

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

--- Comment #2 from Segher Boessenkool  ---
Yeah, same issue.

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

[Bug libstdc++/56383] error with multiple enable_shared_from_this base classes

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

Jonathan Wakely  changed:

   What|Removed |Added

   Target Milestone|5.3 |4.9.4

--- Comment #3 from Jonathan Wakely  ---
I'm about to fix this on trunk, and will backport to the branches after 5.3 is
released.

[Bug c/68657] [6 Regression] "gcc -Werror=sign-conversion test.i" shows invalid: -Wsign-conversion is not an option that controls warnings

2015-12-02 Thread burnus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68657

Tobias Burnus  changed:

   What|Removed |Added

 CC||manu at gcc dot gnu.org

--- Comment #2 from Tobias Burnus  ---
Due to commit r228094 (2015-09-24), which started checking using CL_WARNING.

[Bug libstdc++/56383] error with multiple enable_shared_from_this base classes

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

--- Comment #4 from Jonathan Wakely  ---
Author: redi
Date: Wed Dec  2 15:08:18 2015
New Revision: 231181

URL: https://gcc.gnu.org/viewcvs?rev=231181&root=gcc&view=rev
Log:
Fix ambiguity with multiple enable_shared_from_this bases

PR libstdc++/56383
* testsuite/20_util/enable_shared_from_this/56383.cc: New.
* include/bits/shared_ptr_base.h (__enable_shared_from_this): Make
friend declaration match previous declaration of
__enable_shared_from_this_helper.
* include/bits/shared_ptr.h (enable_shared_from_this): Likewise.

Added:
trunk/libstdc++-v3/testsuite/20_util/enable_shared_from_this/56383.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/shared_ptr.h
trunk/libstdc++-v3/include/bits/shared_ptr_base.h

[Bug tree-optimization/68654] [6 Regression] CoreMark Pro performance degradation

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

--- Comment #5 from Richard Biener  ---
Interesting the only effect could be different GC allocation pattern because
the non-splice variant may end up re-allocating the target vector multiple
times.  But this alone should never change code generation.

So - can you share a preprocessed file where code generation changes with
this revision?

[Bug lto/68658] New: [6 Regression] LTO - bogus redefinition of warning

2015-12-02 Thread burnus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68658

Bug ID: 68658
   Summary: [6 Regression] LTO - bogus redefinition of warning
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: lto
  Assignee: unassigned at gcc dot gnu.org
  Reporter: burnus at gcc dot gnu.org
  Target Milestone: ---

I have the following three-file program. Compiling it without LTO or with GCC 5
works, but with GCC 6 + LTO, I get:

g++ -O2 -flto one.cc two.cc
one.cc:3:5: error: redefinition of ‘int one::func()’
 int one::func() { return 1;}
 ^~~

one.h:3:15: note: ‘virtual int one::func()’ previously defined here
   virtual int func();
   ^~~~

one.cc: In function ‘int bar(one)’:
one.cc:5:5: error: redefinition of ‘int bar(one)’
 int bar(class one y) {
 ^~~

one.h:6:5: note: ‘int bar(one)’ previously defined here
 int bar(class one y);
 ^~~



==> one.h <==
class one {
 public:
  virtual int func();
};

int bar(class one y);

==> one.cc <==
#include "one.h"

int one::func() { return 1;}

int bar(class one y) {
  return y.func();
}

==> two.cc <==
#include "one.h"

int main() {
  class one x;
  return bar(x);
}

[Bug lto/68658] [6 Regression] LTO - bogus redefinition of warning

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

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |6.0

[Bug fortran/63861] OpenACC coarray ICE (also with OpenMP?)

2015-12-02 Thread cesar at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63861

cesar at gcc dot gnu.org changed:

   What|Removed |Added

 CC||cesar at gcc dot gnu.org

--- Comment #10 from cesar at gcc dot gnu.org ---
Thanks for reducing this Dominique. I'm not sure what caused the ICE yet, I
don't think this test case is valid anymore. 

Basically, this test is trying to preform a reduction on a coarrray. Unlike
openmp, openacc does not support array reductions. In fact, if you convert 'a'
to a regular array, it would also cause an ICE.

One of the solutions I was considering was to error if any array variables are
used in as reduction variables. But I was thinking that would be too
conservative. Consider 'reduction(+:var(1))'. Here var is an array, but the
reduction is specifically operating on var element 1.

The problem I came across here is that reductions on array elements in openmp
are rejected as errors and I not sure why. I spent some time looking at it, but
I kept on getting preempted by other tasks. This may be the case where the
behavior of reductions in openmp diverges from openacc. 

With that in mind, I'm not sure why the ICE was exposed all of the sudden. My
changes mostly updated the way that gang is parsed and how clauses in combined
constructs are split. It looks like a sorry disappeared because the ICE occurs
in omp-low.c.

[Bug c++/68653] [6 Regression] ICE: in nonnull_arg_p, at tree.c:13853

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

Marek Polacek  changed:

   What|Removed |Added

 CC||mpolacek at gcc dot gnu.org

--- Comment #2 from Marek Polacek  ---
We ICE on this assert:
  gcc_assert (TREE_CODE (arg) == PARM_DECL && POINTER_TYPE_P (TREE_TYPE
(arg)));
because the type of arg is OFFSET_TYPE.  Which is--in tree.def--described as "a
pointer relative to an object".  So I guess we should allow OFFSET_TYPEs like
this:
--- gcc/tree.c
+++ gcc/tree.c
@@ -13850,7 +13850,9 @@ nonnull_arg_p (const_tree arg)
   tree t, attrs, fntype;
   unsigned HOST_WIDE_INT arg_num;

-  gcc_assert (TREE_CODE (arg) == PARM_DECL && POINTER_TYPE_P (TREE_TYPE
(arg)));
+  gcc_assert (TREE_CODE (arg) == PARM_DECL
+ && (POINTER_TYPE_P (TREE_TYPE (arg))
+ || TREE_CODE (TREE_TYPE (arg)) == OFFSET_TYPE));

   /* The static chain decl is always non null.  */
   if (arg == cfun->static_chain_decl)

[Bug tree-optimization/68659] New: [6 regression] FAIL: gcc.dg/graphite/id-pr45230-1.c (internal compiler error)

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

Bug ID: 68659
   Summary: [6 regression] FAIL: gcc.dg/graphite/id-pr45230-1.c
(internal compiler error)
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: sch...@linux-m68k.org
CC: amker at gcc dot gnu.org
  Target Milestone: ---
Target: powerpc-*-*

$ gcc/xgcc -Bgcc/ ../gcc/testsuite/gcc.dg/graphite/id-pr45230-1.c -O2
-fgraphite-identity  -S -m32 -o id-pr45230-1.s
../gcc/testsuite/gcc.dg/graphite/id-pr45230-1.c: In function ‘main’:
../gcc/testsuite/gcc.dg/graphite/id-pr45230-1.c:45:1: internal compiler error:
Segmentation fault
 main ()
 ^~~~

0x106e622b crash_signal
../../gcc/toplev.c:334
0x107ec79c copy_prop_visit_phi_node
../../gcc/tree-ssa-copy.c:349
0x10868f2b simulate_stmt
../../gcc/tree-ssa-propagate.c:327
0x1086a327 simulate_block
../../gcc/tree-ssa-propagate.c:483
0x1086a327 ssa_propagate(ssa_prop_result (*)(gimple*, edge_def**, tree_node**),
ssa_prop_result (*)(gphi*))
../../gcc/tree-ssa-propagate.c:926
0x107ebbd3 execute_copy_prop
../../gcc/tree-ssa-copy.c:605
0x107ebbd3 execute
../../gcc/tree-ssa-copy.c:636

a94f1e5b00dee567897c91cdadb16dc46f3911e0 is the first bad commit

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231097
138bc75d-0d04-0410-961f-82ee72b054a4

  1   2   >