[Bug libfortran/67535] write.c sanitizer detects null pointer passed to memcpy

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67535

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek  ---
It is still undefined behavior, so e.g. gcc will happily remove NULL pointer
checks after it sees a pointer used in memcpy, etc.


[Bug sanitizer/67513] ASAN: Not optimal shadow value check (unlikely condition checked in fast path)

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67513

--- Comment #2 from Jakub Jelinek  ---
Note, the asan pass emits the checks in the order of first testing for non-zero
and then doing the sub-quadword comparison (if any), but uses bitwise and in
between the two conditions and the choice to expand it this way is the expander
and backend choice.  To force the behavior you want we'd need to create
explicit conditional jump around the second test in the IL.


[Bug c/67502] ICE with collapsed for simd loop inside of parallel

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67502

--- Comment #1 from Jakub Jelinek  ---
Author: jakub
Date: Thu Sep 10 07:28:27 2015
New Revision: 227605

URL: https://gcc.gnu.org/viewcvs?rev=227605&root=gcc&view=rev
Log:
PR c/67502
* c-parser.c (c_parser_omp_for_loop): Emit DECL_EXPR stmts
into OMP_FOR_PRE_BODY rather than before the loop.

* c-c++-common/gomp/pr67502.c: New test.

Added:
trunk/gcc/testsuite/c-c++-common/gomp/pr67502.c
Modified:
trunk/gcc/c/ChangeLog
trunk/gcc/c/c-parser.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/67514] ICE in omp_add_variable

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67514

--- Comment #1 from Jakub Jelinek  ---
Author: jakub
Date: Thu Sep 10 07:31:14 2015
New Revision: 227607

URL: https://gcc.gnu.org/viewcvs?rev=227607&root=gcc&view=rev
Log:
PR c++/67514
* gimplify.c (gimplify_omp_for): For loop SIMD construct, if
iterator is not explicitly determined, but is defined inside
of the combined workshare region, handle it like if it has
DECL_EXPR in OMP_FOR_PRE_BODY.

* g++.dg/gomp/pr67514.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/gomp/pr67514.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/gimplify.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/67511] ICE with invalid OpenMP random access iterator

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67511

--- Comment #1 from Jakub Jelinek  ---
Author: jakub
Date: Thu Sep 10 07:30:29 2015
New Revision: 227606

URL: https://gcc.gnu.org/viewcvs?rev=227606&root=gcc&view=rev
Log:
PR c++/67511
* semantics.c (handle_omp_for_class_iterator): Don't wrap
error_mark_node into a NOP_EXPR to void_type_node.

* g++.dg/gomp/pr67511.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/gomp/pr67511.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/semantics.c
trunk/gcc/testsuite/ChangeLog


[Bug middle-end/67517] ICE in gimplify_scan_omp_clauses

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67517

--- Comment #2 from Jakub Jelinek  ---
Author: jakub
Date: Thu Sep 10 07:32:13 2015
New Revision: 227608

URL: https://gcc.gnu.org/viewcvs?rev=227608&root=gcc&view=rev
Log:
PR middle-end/67517
* gimplify.c (gimplify_scan_omp_clauses): Instead of
asserting that decl is not specified in octx->variables,
break out of the loop if it is.

* c-c++-common/gomp/pr67517.c: New test.

Added:
trunk/gcc/testsuite/c-c++-common/gomp/pr67517.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/gimplify.c
trunk/gcc/testsuite/ChangeLog


[Bug middle-end/67521] ICE when OpenMP loop expressions mention the IV

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67521

--- Comment #1 from Jakub Jelinek  ---
Author: jakub
Date: Thu Sep 10 07:32:54 2015
New Revision: 227609

URL: https://gcc.gnu.org/viewcvs?rev=227609&root=gcc&view=rev
Log:
PR middle-end/67521
* gimplify.c (gimplify_omp_for): Don't call omp_add_variable
if decl is already in outer->variables.

* c-c++-common/gomp/pr67521.c: New test.

Added:
trunk/gcc/testsuite/c-c++-common/gomp/pr67521.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/gimplify.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/67522] OpenMP ICE in type_dependent_expression_p

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67522

--- Comment #1 from Jakub Jelinek  ---
Author: jakub
Date: Thu Sep 10 07:34:42 2015
New Revision: 227610

URL: https://gcc.gnu.org/viewcvs?rev=227610&root=gcc&view=rev
Log:
PR c++/67522
* semantics.c (handle_omp_array_sections_1): Only run
type_dependent_expression_p on VAR_DECL/PARM_DECLs.
(finish_omp_clauses) : Likewise.
Don't adjust OMP_CLAUSE_LINEAR_STEP if OMP_CLAUSE_DECL
is not a VAR_DECL/PARM_DECL.

* g++.dg/gomp/pr67522.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/gomp/pr67522.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/semantics.c
trunk/gcc/testsuite/ChangeLog


[Bug target/67169] -fstack-check=no doesn't disable stack checking

2015-09-10 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67169

Eric Botcazou  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||ebotcazou at gcc dot gnu.org
 Resolution|--- |INVALID

--- Comment #3 from Eric Botcazou  ---
> If I use '-fstack-check=specific' *that* does seem to do what I want. But
> I'm not sure I should be suggesting that as an upstream fix for the MinGW
> build, because it seems wrong.

No, -fstack-check=specific only changes the stack checking method.  In any
case, stack checking is required by the ABI on Windows so cannot be disabled.


[Bug c++/67523] ICE with invalid combined simd inside of a template

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67523

--- Comment #1 from Jakub Jelinek  ---
Author: jakub
Date: Thu Sep 10 07:35:56 2015
New Revision: 227611

URL: https://gcc.gnu.org/viewcvs?rev=227611&root=gcc&view=rev
Log:
PR c++/67523
* gimplify.c (gimplify_omp_for): If inner stmt is not found
for combined loop, assert seen_error () and return GS_ERROR.

* g++.dg/gomp/pr67523.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/gomp/pr67523.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/gimplify.c
trunk/gcc/testsuite/ChangeLog


[Bug c/67502] ICE with collapsed for simd loop inside of parallel

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67502

--- Comment #2 from Jakub Jelinek  ---
Author: jakub
Date: Thu Sep 10 07:37:00 2015
New Revision: 227612

URL: https://gcc.gnu.org/viewcvs?rev=227612&root=gcc&view=rev
Log:
PR c/67502
* c-parser.c (c_parser_omp_for_loop): Emit DECL_EXPR stmts
into OMP_FOR_PRE_BODY rather than before the loop.

* c-c++-common/gomp/pr67502.c: New test.

Added:
branches/gcc-5-branch/gcc/testsuite/c-c++-common/gomp/pr67502.c
Modified:
branches/gcc-5-branch/gcc/c/ChangeLog
branches/gcc-5-branch/gcc/c/c-parser.c
branches/gcc-5-branch/gcc/testsuite/ChangeLog


[Bug c++/67511] ICE with invalid OpenMP random access iterator

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67511

--- Comment #2 from Jakub Jelinek  ---
Author: jakub
Date: Thu Sep 10 07:37:48 2015
New Revision: 227613

URL: https://gcc.gnu.org/viewcvs?rev=227613&root=gcc&view=rev
Log:
PR c++/67511
* semantics.c (handle_omp_for_class_iterator): Don't wrap
error_mark_node into a NOP_EXPR to void_type_node.

* g++.dg/gomp/pr67511.C: New test.

Added:
branches/gcc-5-branch/gcc/testsuite/g++.dg/gomp/pr67511.C
Modified:
branches/gcc-5-branch/gcc/cp/ChangeLog
branches/gcc-5-branch/gcc/cp/semantics.c
branches/gcc-5-branch/gcc/testsuite/ChangeLog


[Bug c++/67514] ICE in omp_add_variable

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67514

--- Comment #2 from Jakub Jelinek  ---
Author: jakub
Date: Thu Sep 10 07:38:30 2015
New Revision: 227614

URL: https://gcc.gnu.org/viewcvs?rev=227614&root=gcc&view=rev
Log:
PR c++/67514
* gimplify.c (gimplify_omp_for): For loop SIMD construct, if
iterator is not explicitly determined, but is defined inside
of the combined workshare region, handle it like if it has
DECL_EXPR in OMP_FOR_PRE_BODY.

* g++.dg/gomp/pr67514.C: New test.

Added:
branches/gcc-5-branch/gcc/testsuite/g++.dg/gomp/pr67514.C
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/gimplify.c
branches/gcc-5-branch/gcc/testsuite/ChangeLog


[Bug middle-end/67521] ICE when OpenMP loop expressions mention the IV

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67521

--- Comment #2 from Jakub Jelinek  ---
Author: jakub
Date: Thu Sep 10 07:39:53 2015
New Revision: 227616

URL: https://gcc.gnu.org/viewcvs?rev=227616&root=gcc&view=rev
Log:
PR middle-end/67521
* gimplify.c (gimplify_omp_for): Don't call omp_add_variable
if decl is already in outer->variables.

* c-c++-common/gomp/pr67521.c: New test.

Added:
branches/gcc-5-branch/gcc/testsuite/c-c++-common/gomp/pr67521.c
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/gimplify.c
branches/gcc-5-branch/gcc/testsuite/ChangeLog


[Bug middle-end/67517] ICE in gimplify_scan_omp_clauses

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67517

--- Comment #3 from Jakub Jelinek  ---
Author: jakub
Date: Thu Sep 10 07:39:20 2015
New Revision: 227615

URL: https://gcc.gnu.org/viewcvs?rev=227615&root=gcc&view=rev
Log:
PR middle-end/67517
* gimplify.c (gimplify_scan_omp_clauses): Instead of
asserting that decl is not specified in octx->variables,
break out of the loop if it is.

* c-c++-common/gomp/pr67517.c: New test.

Added:
branches/gcc-5-branch/gcc/testsuite/c-c++-common/gomp/pr67517.c
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/gimplify.c
branches/gcc-5-branch/gcc/testsuite/ChangeLog


[Bug c++/67522] OpenMP ICE in type_dependent_expression_p

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67522

--- Comment #2 from Jakub Jelinek  ---
Author: jakub
Date: Thu Sep 10 07:40:59 2015
New Revision: 227617

URL: https://gcc.gnu.org/viewcvs?rev=227617&root=gcc&view=rev
Log:
PR c++/67522
* semantics.c (handle_omp_array_sections_1): Only run
type_dependent_expression_p on VAR_DECL/PARM_DECLs.
(finish_omp_clauses) : Likewise.
Don't adjust OMP_CLAUSE_LINEAR_STEP if OMP_CLAUSE_DECL
is not a VAR_DECL/PARM_DECL.

* g++.dg/gomp/pr67522.C: New test.

Added:
branches/gcc-5-branch/gcc/testsuite/g++.dg/gomp/pr67522.C
Modified:
branches/gcc-5-branch/gcc/cp/ChangeLog
branches/gcc-5-branch/gcc/cp/semantics.c
branches/gcc-5-branch/gcc/testsuite/ChangeLog


[Bug c++/67523] ICE with invalid combined simd inside of a template

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67523

--- Comment #2 from Jakub Jelinek  ---
Author: jakub
Date: Thu Sep 10 07:41:34 2015
New Revision: 227618

URL: https://gcc.gnu.org/viewcvs?rev=227618&root=gcc&view=rev
Log:
PR c++/67523
* gimplify.c (gimplify_omp_for): If inner stmt is not found
for combined loop, assert seen_error () and return GS_ERROR.

* g++.dg/gomp/pr67523.C: New test.

Added:
branches/gcc-5-branch/gcc/testsuite/g++.dg/gomp/pr67523.C
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/gimplify.c
branches/gcc-5-branch/gcc/testsuite/ChangeLog


[Bug ada/67205] violation of No_Implicit_Dynamic_Code restriction not reported

2015-09-10 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67205

Eric Botcazou  changed:

   What|Removed |Added

Summary|Unnecessary trampolines for |violation of
   |nested packages |No_Implicit_Dynamic_Code
   ||restriction not reported

--- Comment #2 from Eric Botcazou  ---
> The attached example requires generation of trampolines.  This may be due to
> bug 57999, but I think a front-end fix would be more reliable.

Please clarify "front-end fix".  The language requires pointers to nested
functions in this case and you cannot reasonably change that, nested functions
being first-class citizens in Ada.

More generally, trampolines can indeed be eliminated, but you need changes in
the entire compiler to do it.

> As an additional surprise, pragma Restrictions (No_Implicit_Dynamic_Code)
> does not cause compilation to fail.  The error is only detected at binding
> time, and -Wtrampolines is needed to find the culprit.

Yes, the violation is detected but the error is not issued, probably because
it's the instantiation of a run-time unit.


[Bug sanitizer/67513] ASAN: Not optimal shadow value check (unlikely condition checked in fast path)

2015-09-10 Thread ryabinin.a.a at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67513

--- Comment #3 from Andrey Ryabinin  ---
(In reply to Yury Gribov from comment #1)
> (In reply to Andrey Ryabinin from comment #0)
> > (shadow value is usually zero).
> 
> What makes you think so? AFAIU for less-than-8-byte scalars it's always
> non-zero.

If 'a' is a pointer to an individual stack/global variable then yes, shadow
will be non-zero.
But if it's part of some array or a struct field, more likely shadow will be
zero.
So I'm not saying that we should blindly switch to non-zero test first, but it
definitely worth trying.

> I vaguely remember than Kostya did something like this in Clang
> case and it resulted in negligeable improvement.

clang (version 3.7.0 (tags/RELEASE_370/final))
tests for non-zero first:

foo:# @foo
.cfi_startproc
# BB#0:
pushq   %rax
.Ltmp0:
.cfi_def_cfa_offset 16
testl   %esi, %esi
je  .LBB0_4
# BB#1: # %.lr.ph
movq%rdi, %rax
shrq$3, %rax
movb2147450880(%rax), %al
testb   %al, %al
jne .LBB0_2
.LBB0_3:
movl$0, (%rdi)
.LBB0_4:
popq%rax
retq
.LBB0_2:
movl%edi, %ecx
andl$7, %ecx
addl$3, %ecx
movsbl  %al, %eax
cmpl%eax, %ecx
jl  .LBB0_3
# BB#5:
callq   __asan_report_store4
#APP
#NO_APP
.Lfunc_end0:
.size   foo, .Lfunc_end0-foo
.cfi_endproc


[Bug fortran/66993] Spurious ambiguous symbol error with submodules

2015-09-10 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66993

Paul Thomas  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-09-10
 CC||paul.richard.thomas at gmail 
dot c
   ||om, pault at gcc dot gnu.org
   Assignee|unassigned at gcc dot gnu.org  |pault at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Paul Thomas  ---
Dear Mikael,

By golly, you are correct!

I'll take it.

Thanks for pointing this out.

Cheers

Paul


[Bug target/67169] -fstack-check=no doesn't disable stack checking

2015-09-10 Thread dwmw2 at infradead dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67169

--- Comment #4 from David Woodhouse  ---
It's required by Windows but not by UEFI, which otherwise has the same ABI. We
had previously been able to build UEFI firmware with MinGW.


[Bug sanitizer/67513] ASAN: Not optimal shadow value check (unlikely condition checked in fast path)

2015-09-10 Thread ryabinin.a.a at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67513

--- Comment #4 from Andrey Ryabinin  ---
(In reply to Andrey Ryabinin from comment #3)
> (In reply to Yury Gribov from comment #1)
> > (In reply to Andrey Ryabinin from comment #0)
> > > (shadow value is usually zero).
> > 
> > What makes you think so? AFAIU for less-than-8-byte scalars it's always
> > non-zero.
> 
> If 'a' is a pointer to an individual stack/global variable then yes, shadow
> will be non-zero.
> But if it's part of some array or a struct field, more likely shadow will be
> zero.
> So I'm not saying that we should blindly switch to non-zero test first, but
> it definitely worth trying.
> 
> > I vaguely remember than Kostya did something like this in Clang
> > case and it resulted in negligeable improvement.
> 
> clang (version 3.7.0 (tags/RELEASE_370/final))
> tests for non-zero first:
> 
this was a dump from slightly different test-case, here is correct one:

foo:# @foo
.cfi_startproc
# BB#0:
pushq   %rax
.Ltmp0:
.cfi_def_cfa_offset 16
movq%rdi, %rax
shrq$3, %rax
movb2147450880(%rax), %al
testb   %al, %al
jne .LBB0_1
.LBB0_3:
movb$0, (%rdi)
popq%rax
retq
.LBB0_1:
movl%edi, %ecx
andl$7, %ecx
movsbl  %al, %eax
cmpl%eax, %ecx
jl  .LBB0_3
# BB#2:
callq   __asan_report_store1
#APP
#NO_APP
.Lfunc_end0:
.size   foo, .Lfunc_end0-foo
.cfi_endproc


[Bug fortran/63570] [F2015] Implement 13.7.137 RANDOM INIT (REPEATABLE, IMAGE DISTINCT)

2015-09-10 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63570

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-09-10
 Ever confirmed|0   |1

--- Comment #1 from Dominique d'Humieres  ---
Marked as NEW.


[Bug target/67169] add an option to disable stack checking on x86 for UEFI

2015-09-10 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67169

Eric Botcazou  changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
   Last reconfirmed||2015-09-10
 Resolution|INVALID |---
Summary|-fstack-check=no doesn't|add an option to disable
   |disable stack checking  |stack checking on x86 for
   ||UEFI
 Ever confirmed|0   |1
   Severity|normal  |enhancement

--- Comment #5 from Eric Botcazou  ---
> It's required by Windows but not by UEFI, which otherwise has the same ABI.

OK.  Let's reopen it as a target-specific enhancement request then.

> We had previously been able to build UEFI firmware with MinGW.

Presumably because you had only small frames?


[Bug libfortran/67535] write.c sanitizer detects null pointer passed to memcpy

2015-09-10 Thread zeccav at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67535

--- Comment #3 from Vittorio Zecca  ---
(In reply to kargl from comment #1)

> What happens to performance?  Simply making changes to
> make sanitizer happy seems rather questionable.  It's clear
> from context that if base_name == NULL, then base_name_len
> == 0, and the memcpy should be a NOP.

How costly is that NOP compared to if(base_name_len)?

How costly is to let go an undefined behaviour?


[Bug fortran/66707] Endless compilation on wrong usage of common

2015-09-10 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66707

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-09-10
 CC||manu at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Dominique d'Humieres  ---
Confirmed with 4.9.3 and 5.2. This seems to have been fixed on trunk between
revision r226476 (2015-08-02, endless compilation) and r227016 (2015-08-19,
tests compiled in a fraction of second).


[Bug fortran/67524] ICE on using implicit character instead of implicit none etc.

2015-09-10 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67524

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-09-10
 Ever confirmed|0   |1

--- Comment #3 from Dominique d'Humieres  ---
Confirmed from 4.8 up to trunk (6.0).


[Bug c++/67523] ICE with invalid combined simd inside of a template

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67523

Jakub Jelinek  changed:

   What|Removed |Added

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

--- Comment #3 from Jakub Jelinek  ---
Fixed for 5.3+.


[Bug tree-optimization/67476] Add --param parloops-schedule=

2015-09-10 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67476

--- Comment #3 from vries at gcc dot gnu.org ---
Created attachment 36318
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36318&action=edit
Tentative patch


[Bug bootstrap/66038] [5 regression] (stage 2) build/genmatch issue (gcc/hash-table.h|c) with --disable-checking [ introduced by r218976 ]

2015-09-10 Thread dougmencken at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66038

--- Comment #29 from Douglas Mencken  ---
Vanilla GCC 5.2 bootstraps perfectly (without --disable-checking) on my side


[Bug fortran/60110] ICE in gfc_get_symbol_decl, at fortran/trans-decl.c:1266

2015-09-10 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60110

Dominique d'Humieres  changed:

   What|Removed |Added

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

--- Comment #9 from Dominique d'Humieres  ---
>From comment 5

> > It could be a duplicate of pr52332 (ICE at the same place).
> 
> It might be. ...

and comment 8

> The tests in this PR compile when the patch at
> https://gcc.gnu.org/ml/fortran/2015-09/msg00042.html is applied.

Marked as duplicate.

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


[Bug fortran/52332] Internal compiler error in in gfc_get_symbol_decl

2015-09-10 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52332

Dominique d'Humieres  changed:

   What|Removed |Added

 CC||walt.brainerd at gmail dot com

--- Comment #4 from Dominique d'Humieres  ---
*** Bug 60110 has been marked as a duplicate of this bug. ***


[Bug fortran/62246] internal compiler error: in gfc_get_symbol_decl, at fortran/trans-decl.c

2015-09-10 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62246

Dominique d'Humieres  changed:

   What|Removed |Added

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

--- Comment #2 from Dominique d'Humieres  ---
The tests in this PR compile when the patch at
https://gcc.gnu.org/ml/fortran/2015-09/msg00042.html is applied. Marked as
duplicate of pr52332.

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


[Bug fortran/52332] Internal compiler error in in gfc_get_symbol_decl

2015-09-10 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52332

Dominique d'Humieres  changed:

   What|Removed |Added

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

--- Comment #5 from Dominique d'Humieres  ---
*** Bug 62246 has been marked as a duplicate of this bug. ***


[Bug bootstrap/67363] [6 Regression] r227188 breaks build for mingw-w64

2015-09-10 Thread sebastian.hu...@embedded-brains.de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67363

Sebastian Huber  changed:

   What|Removed |Added

 CC||sebastian.huber@embedded-br
   ||ains.de

--- Comment #11 from Sebastian Huber  ---
Yes, the mingw build is still broken.

Git has compatibility functions for setenv() and unsetenv():

https://github.com/git/git/blob/master/compat/setenv.c
https://github.com/git/git/blob/master/compat/unsetenv.c

Maybe something like this can be used in GCC as well.


[Bug fortran/65766] gFortran Compiler SEGFAULTING on compiling simple program

2015-09-10 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65766

--- Comment #5 from Dominique d'Humieres  ---
Fixed by the patch at https://gcc.gnu.org/ml/fortran/2015-07/msg00166.html.


[Bug fortran/61676] Allocatable string as type component causes compile time segmentation fault

2015-09-10 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61676

Dominique d'Humieres  changed:

   What|Removed |Added

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

--- Comment #2 from Dominique d'Humieres  ---
Fixed by the patch at https://gcc.gnu.org/ml/fortran/2015-07/msg00166.html.
Marked as duplicate of pr65766.

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


[Bug fortran/65766] gFortran Compiler SEGFAULTING on compiling simple program

2015-09-10 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65766

Dominique d'Humieres  changed:

   What|Removed |Added

 CC||ian.thompson at liv dot ac.uk

--- Comment #6 from Dominique d'Humieres  ---
*** Bug 61676 has been marked as a duplicate of this bug. ***


[Bug fortran/63494] ICE with deferred-character-length component

2015-09-10 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63494

Dominique d'Humieres  changed:

   What|Removed |Added

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

--- Comment #7 from Dominique d'Humieres  ---
Fixed by the patch at https://gcc.gnu.org/ml/fortran/2015-07/msg00166.html.
Marked as duplicate of pr65766.

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


[Bug fortran/65766] gFortran Compiler SEGFAULTING on compiling simple program

2015-09-10 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65766

Dominique d'Humieres  changed:

   What|Removed |Added

 CC||jwmwalrus at gmail dot com

--- Comment #7 from Dominique d'Humieres  ---
*** Bug 63494 has been marked as a duplicate of this bug. ***


[Bug middle-end/61118] Spurious -Wclobbered warning generated by gcc 4.9.0 for pthread_cleanup_push

2015-09-10 Thread lambertarthur22 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61118

Arthur LAMBERT  changed:

   What|Removed |Added

 CC||lambertarthur22 at gmail dot 
com

--- Comment #3 from Arthur LAMBERT  ---
Same problem for me after updating my gcc version from 4.8.4 to 4.9.3.

I have a piece of code using pthread_clean_push/pop which lead to the same
warning :

error: variable ‘x’ might be clobbered by ‘longjmp’ or ‘vfork’
[-Werror=clobbered]
error: variable ‘y’ might be clobbered by ‘longjmp’ or ‘vfork’
[-Werror=clobbered]
error: variable ‘__cancel_routine’ might be clobbered by ‘longjmp’ or ‘vfork’
[-Werror=clobbered]

Just need to comment the pthread_clean_X call to remove the warning.

Any update on this ?

[Bug target/67506] [5/6 Regression][SH]: error: unrecognizable insn when compiling texlive-binaries

2015-09-10 Thread kkojima at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67506

--- Comment #5 from Kazumoto Kojima  ---
(In reply to Oleg Endo from comment #4)
> Could you please test it?

It fixes all test cases for the cross trunk sh4-unknown-linux-gnu compiler.
There is no new failures with the top level "make -k check".


[Bug target/67506] [5/6 Regression][SH]: error: unrecognizable insn when compiling texlive-binaries

2015-09-10 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67506

--- Comment #6 from Oleg Endo  ---
(In reply to Kazumoto Kojima from comment #5)
> (In reply to Oleg Endo from comment #4)
> > Could you please test it?
> 
> It fixes all test cases for the cross trunk sh4-unknown-linux-gnu compiler.
> There is no new failures with the top level "make -k check".

Thanks.  I will commit it and add attachment 36309 as a c-torture test.


[Bug target/67480] AVX512 bitwise logic operations pattern is incorrect

2015-09-10 Thread afomin.mailbox at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67480

--- Comment #3 from Alexander Fomin  ---
There is another problem with the same pattern.
Suppose an V16SF insn mode and AVX512F target (e.g. KNL).
We'll emit something like vandps %zmm1, %zmm2, %zmm3; however, vps
family requires AVX512VL and/or AVX512DQ CPUID.


[Bug middle-end/67421] gcc.dg/wide-shift-64.c FAILs

2015-09-10 Thread jiwang at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67421

--- Comment #5 from Jiong Wang  ---
Author: jiwang
Date: Thu Sep 10 10:37:17 2015
New Revision: 227629

URL: https://gcc.gnu.org/viewcvs?rev=227629&root=gcc&view=rev
Log:
[Patch/expand] Cost instruction sequences when doing left wide shift

Patch background details:

https://gcc.gnu.org/ml/gcc-patches/2015-08/msg01147.html

gcc/
  PR rtl-optimization/67421
  * expr.c (expand_expr_real_2): Cost instrcution sequences when doing left
wide
  shift tranformation.


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


[Bug target/67439] [4.9/5/6 Regression]ICE: unrecognizable insn compiling arm-fp16 testcases with -march=armv7-a and -mrestrict-it

2015-09-10 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67439

--- Comment #6 from ktkachov at gcc dot gnu.org ---
Author: ktkachov
Date: Thu Sep 10 10:43:43 2015
New Revision: 227630

URL: https://gcc.gnu.org/viewcvs?rev=227630&root=gcc&view=rev
Log:
[ARM] PR 67439: Allow matching of *arm32_movhf when -mrestrict-it is on

PR target/67439
* config/arm/arm.md (*arm32_movhf): Remove !arm_restrict_it from
predicate.  Set predicable_short_it attr to "no".

* gcc.target/arm/pr67439_1.c: New test.


Added:
trunk/gcc/testsuite/gcc.target/arm/pr67439_1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/arm.md
trunk/gcc/testsuite/ChangeLog


[Bug middle-end/67421] gcc.dg/wide-shift-64.c FAILs

2015-09-10 Thread jiwang at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67421

Jiong Wang  changed:

   What|Removed |Added

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

--- Comment #6 from Jiong Wang  ---
fixed


[Bug target/67439] [4.9/5/6 Regression]ICE: unrecognizable insn compiling arm-fp16 testcases with -march=armv7-a and -mrestrict-it

2015-09-10 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67439

--- Comment #7 from ktkachov at gcc dot gnu.org ---
Fixed for trunk.
Will backport to 5 and 4.9 in a few days


[Bug ada/67205] violation of No_Implicit_Dynamic_Code restriction not reported

2015-09-10 Thread fweimer at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67205

--- Comment #3 from Florian Weimer  ---
(In reply to Eric Botcazou from comment #2)
> > The attached example requires generation of trampolines.  This may be due to
> > bug 57999, but I think a front-end fix would be more reliable.
> 
> Please clarify "front-end fix".  The language requires pointers to nested
> functions in this case and you cannot reasonably change that, nested
> functions being first-class citizens in Ada.
> 
> More generally, trampolines can indeed be eliminated, but you need changes
> in the entire compiler to do it.

Couldn't you put the static chain for the dispatching subprograms into the
vtable of the tagged type?

In some examples (including this one, and those I recently submitted as a GNAT
tools patch), it seems rather straightforward to float the generic
instantiation out of the nested subprogram.  Some care is necessary to make
sure the transformation is in fact valid, but I had hoped this would be a more
localized change in the compiler.


[Bug ada/67205] violation of No_Implicit_Dynamic_Code restriction not reported

2015-09-10 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67205

--- Comment #4 from Eric Botcazou  ---
> Couldn't you put the static chain for the dispatching subprograms into the
> vtable of the tagged type?

Presumably not, the vtable layout is constrained by the C++ compatibility and
this extends to local tagged types since Ada 2005.  In any case, see below.

> In some examples (including this one, and those I recently submitted as a
> GNAT tools patch), it seems rather straightforward to float the generic
> instantiation out of the nested subprogram.  Some care is necessary to make
> sure the transformation is in fact valid, but I had hoped this would be a
> more localized change in the compiler.

The truth is, the versions of GNAT released by AdaCore use a general scheme to
eliminate (almost) all trampolines, at least on native platforms, so there is
no incentive for small tricks like this.  We could submit the scheme if there
is some interest from the community.


[Bug ada/67205] violation of No_Implicit_Dynamic_Code restriction not reported

2015-09-10 Thread fweimer at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67205

--- Comment #5 from Florian Weimer  ---
(In reply to Eric Botcazou from comment #4)
> The truth is, the versions of GNAT released by AdaCore use a general scheme
> to eliminate (almost) all trampolines, at least on native platforms, so
> there is no incentive for small tricks like this.  We could submit the
> scheme if there is some interest from the community.

Fedora has policies against executable stack, and fewer off them are always
welcome.  Are your changes restricted to gcc/ada, or would you need reviewers
frm other parts of GCC?


[Bug libstdc++/67537] New: [6 Regression] r225189 breaks building boost hana

2015-09-10 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67537

Bug ID: 67537
   Summary: [6 Regression] r225189 breaks building boost hana
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: trippels at gcc dot gnu.org
CC: ville.voutilainen at gmail dot com
  Target Milestone: ---

Created attachment 36319
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36319&action=edit
failing testcase for clang

Starting with r225189 I get many errors like:

(gcc-5 libstdc++ is fine)
trippels@gcc2-power8 test % clang++ -gcc-toolchain ~/gcc_5/usr/local/
-DBOOST_HANA_CONFIG_ENABLE_STRING_UDL -DBOOST_HANA_TEST_PART=7 -O2
-I/home/trippels/hana/include -I/home/trippels/hana/test/include
-I/home/trippels/hana/test -Wno-gnu-string-literal-operator-template
-ftemplate-backtrace-limit=0 -pedantic -std=c++1y -W -Wall -Wextra
-Wno-unused-local-typedefs -Wwrite-strings -o
CMakeFiles/test.ext.std.tuple.part7.dir/ext/std/tuple.cpp.o -c
/home/trippels/hana/test/ext/std/tuple.cpp 

trippels@gcc2-power8 test % clang++ -gcc-toolchain ~/gcc_6/usr/local/
-ferror-limit=1 -DBOOST_HANA_CONFIG_ENABLE_STRING_UDL -DBOOST_HANA_TEST_PART=7
-O2 -I/home/trippels/hana/include -I/home/trippels/hana/test/include
-I/home/trippels/hana/test -Wno-gnu-string-literal-operator-template
-ftemplate-backtrace-limit=0 -pedantic -std=c++1y -W -Wall -Wextra
-Wno-unused-local-typedefs -Wwrite-strings -o
CMakeFiles/test.ext.std.tuple.part7.dir/ext/std/tuple.cpp.o -c
/home/trippels/hana/test/ext/std/tuple.cpp
In file included from /home/trippels/hana/test/ext/std/tuple.cpp:7:
In file included from
/home/trippels/hana/include/boost/hana/ext/std/tuple.hpp:27:
/home/trippels/gcc_6/usr/local/lib/gcc/powerpc64le-unknown-linux-gnu/6.0.0/../../../../include/c++/6.0.0/tuple:481:62:
error: pack expansion contains parameter packs
  '_Elements' and '_UElements' that have different lengths (1 vs. 0)
  return __and_...>::value;
 ~  ~~   ^
/home/trippels/gcc_6/usr/local/lib/gcc/powerpc64le-unknown-linux-gnu/6.0.0/../../../../include/c++/6.0.0/tuple:580:21:
note: in instantiation of function template
  specialization 'std::_TC
>::_MoveConstructibleTuple<>' requested here
_MoveConstructibleTuple<_UElements...>()
^
/home/trippels/gcc_6/usr/local/lib/gcc/powerpc64le-unknown-linux-gnu/6.0.0/../../../../include/c++/6.0.0/tuple:585:19:
note: while substituting prior template arguments into
  non-type template parameter [with _UElements = <>]
constexpr tuple(_UElements&&... __elements)
  ^
/home/trippels/gcc_6/usr/local/lib/gcc/powerpc64le-unknown-linux-gnu/6.0.0/../../../../include/c++/6.0.0/tuple:521:11:
note: while substituting deduced template arguments
  into function template 'tuple' [with _UElements = <>, $1 = (no value)]
class tuple : public _Tuple_impl<0, _Elements...>
  ^
/home/trippels/hana/include/boost/hana/basic_tuple.hpp:86:15: note: in
instantiation of template class 'boost::hana::detail::elt<1,
std::tuple >, false>' requested here
: detail::elt...
  ^
/home/trippels/hana/include/boost/hana/basic_tuple.hpp:103:11: note: in
instantiation of template class
'boost::hana::detail::basic_tuple_impl, std::tuple<>,
std::tuple >,
std::tuple,
  boost::hana::test::integer<1, 17, void> >,
std::tuple,
boost::hana::test::integer<1, 17, void>, boost::hana::test::integer<2,
  17, void> >, std::tuple,
boost::hana::test::integer<1, 17, void>, boost::hana::test::integer<2, 17,
void>,
  boost::hana::test::integer<3, 17, void>, boost::hana::test::integer<4,
17, void> > >' requested here
: detail::basic_tuple_impl,
Xn...>
  ^
/home/trippels/hana/include/boost/hana/tuple.hpp:63:28: note: in instantiation
of template class 'boost::hana::basic_tuple,
  std::tuple >,
std::tuple,
boost::hana::test::integer<1, 17, void> >,
  std::tuple,
boost::hana::test::integer<1, 17, void>, boost::hana::test::integer<2, 17,
void> >,
  std::tuple,
boost::hana::test::integer<1, 17, void>, boost::hana::test::integer<2, 17,
void>, boost::hana::test::integer<3, 17,
  void>, boost::hana::test::integer<4, 17, void> > >' requested here
basic_tuple storage_;
   ^
/home/trippels/hana/include/boost/hana/tuple.hpp:270:49: note: in instantiation
of template class 'boost::hana::tuple,
std::tuple >, std::tuple,
boost::hana::test::integer<1, 17, void> >,
std::tuple,
  boost::hana::test::integer<1, 17, void>, boost::hana::test::integer<2,
17, void> >, std::tuple,
boost::hana::test::integer<1,
  17, void>, boost::hana::test::integer<2, 17, void>,
boost::hana::test::integer<3, 17, void>, boost::hana::test::integer<4, 17,
void> > >' requested here
tuple::type...> app

[Bug ada/67205] violation of No_Implicit_Dynamic_Code restriction not reported

2015-09-10 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67205

--- Comment #6 from Eric Botcazou  ---
> Fedora has policies against executable stack, and fewer off them are always
> welcome.  Are your changes restricted to gcc/ada, or would you need
> reviewers frm other parts of GCC?

The latter, although the changes are localized (nested functions decomposition
pass, RTL expander and bits in a few back-ends).  Mostly straightforward, but
only helps Ada and we already have a slew of such patches pending review, so we
have started to prioritize.  I'll give it a try though.


[Bug fortran/67538] New: ICE with invalid source allocation

2015-09-10 Thread mrestelli at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67538

Bug ID: 67538
   Summary: ICE with invalid source allocation
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: mrestelli at gmail dot com
  Target Milestone: ---

The following code is invalid since the array dimension is missing,
but since it is an ICE I am reporting it.

$ gfortran --version
GNU Fortran (GCC) 6.0.0 20150910 (experimental)


$ gfortran -c ice.f90
ice.f90:10:0:

allocate( x , source=y )
1
internal compiler error: in gfc_conv_expr_descriptor, bei
fortran/trans-array.c:6656
0x68059b gfc_conv_expr_descriptor(gfc_se*, gfc_expr*)
trans-array.c:6656
0x6d003a gfc_trans_allocate(gfc_code*)
trans-stmt.c:5175
0x66e2a7 trans_code
trans.c:1798
0x6911b3 gfc_generate_function_code(gfc_namespace*)
trans-decl.c:5900
0x671611 gfc_generate_module_code(gfc_namespace*)
trans.c:2014
0x62ac1d translate_all_program_units
parse.c:5513
0x62ac1d gfc_parse_file()
parse.c:5731
0x66b662 gfc_be_parse_file
f95-lang.c:209


module m
 implicit none
contains

 subroutine s()
  real, allocatable :: x(:)
  real :: y

   y = 5.0
   allocate( x , source=y )

 end subroutine s

end module m


[Bug ada/67416] raised TYPES.UNRECOVERABLE_ERROR : comperr.adb:428

2015-09-10 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67416

Eric Botcazou  changed:

   What|Removed |Added

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

--- Comment #1 from Eric Botcazou  ---
This works with GCC 5 and above.


[Bug libstdc++/67537] [6 Regression] r225189 breaks building boost hana

2015-09-10 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67537

--- Comment #1 from Jonathan Wakely  ---
My first impression is that this is a clang bug.

This:

  template using _TMC =
  _TC<(sizeof...(_Elements) == sizeof...(_UElements)),
  _Elements...>;

should make it impossible to get:

/home/trippels/gcc_6/usr/local/lib/gcc/powerpc64le-unknown-linux-gnu/6.0.0/../../../../include/c++/6.0.0/tuple:481:62:
error: pack expansion contains parameter packs
  '_Elements' and '_UElements' that have different lengths (1 vs. 0)
  return __and_...>::value;
 ~  ~~   ^
/home/trippels/gcc_6/usr/local/lib/gcc/powerpc64le-unknown-linux-gnu/6.0.0/../../../../include/c++/6.0.0/tuple:580:21:
note: in instantiation of function template
  specialization 'std::_TC
>::_MoveConstructibleTuple<>' requested here
_MoveConstructibleTuple<_UElements...>()
^

because it should not be possible for _Elements and _UElements to have
different lengths inside _TC, it should have gone to _TC
instead.


[Bug ada/67473] init.c undefined behaviour referencing misaligned pointer

2015-09-10 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67473

Eric Botcazou  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||ebotcazou at gcc dot gnu.org
 Resolution|--- |WORKSFORME

--- Comment #1 from Eric Botcazou  ---
This code is specific to x86-64.


[Bug fortran/67539] New: Segmentation fault with elemental defined assignment and scalar function at the RHS

2015-09-10 Thread mrestelli at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67539

Bug ID: 67539
   Summary: Segmentation fault with elemental defined assignment
and scalar function at the RHS
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: mrestelli at gmail dot com
  Target Milestone: ---

The attached code produces a segmentation fault:

$ gfortran --version
GNU Fortran (GCC) 6.0.0 20150910 (experimental)

$ ./test 

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

Backtrace for this error:
#0  0x7FD288EF6757
#1  0x7FD288EF6D5E
#2  0x7FD28842EE8F
#3  0x400B69 in __m_MOD_copy_t_a at test.f90:17 (discriminator 3)
#4  0x400D15 in p at test.f90:40 (discriminator 2)


Notice that both workarounds a) using a scalar temporary tmp and b)
assigning to each element separately work.




module m
 implicit none

 type :: t_a
  real, allocatable :: x
 end type t_a

 interface assignment(=)
  module procedure copy_t_a
 end interface

contains

 elemental subroutine copy_t_a(y,x)
  type(t_a), intent(in)  :: x
  type(t_a), intent(out) :: y
   allocate( y%x , source=x%x )
 end subroutine copy_t_a

 elemental function new_t_a(x) result(res)
  real, intent(in) :: x
  type(t_a) :: res
   allocate( res%x )
   res%x = x
 end function new_t_a

end module m


program p
 use m
 implicit none

 integer :: i
 type(t_a) :: tmp
 type(t_a), allocatable :: v(:)

 allocate( v(2) )

 v = new_t_a(1.5)   ! -> segmentation fault

 !tmp = new_t_a(1.5) ! -> OK
 !v = tmp

 !do i=1,size(v) ! -> also OK
 !  v(i) = new_t_a(1.5)
 !enddo

 do i=1,size(v)
   write(*,*) " i = ",i
   write(*,*) allocated(v(i)%x)
   write(*,*) v(i)%x
 enddo

end program p


[Bug libfortran/67540] New: string_intrinsics_inc.c sanitizer detects null pointer passed to memcpy

2015-09-10 Thread zeccav at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67540

Bug ID: 67540
   Summary: string_intrinsics_inc.c sanitizer detects null pointer
passed to memcpy
   Product: gcc
   Version: 5.2.0
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: libfortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: zeccav at gmail dot com
  Target Milestone: ---

During make check-fortran in gcc build the sanitizer complains
that a null pointer is passed to memcpy in string_intrinsics_inc.c:89

res = MEMCMP (s1, s2, ((len1 < len2) ? len1 : len2));

string_intrinsics_inc.c:90:7: runtime error: null pointer passed as argument 1,
which is declared to never be null

because s1 == NULL

My fix is

int lvz=len1 < len2 ? len1 : len2;
if(lvz) res = MEMCMP (s1, s2, lvz); else res=0;


[Bug libstdc++/67537] [6 Regression] r225189 breaks building boost hana

2015-09-10 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67537

--- Comment #2 from Jonathan Wakely  ---
Reduced:

template
struct pair { };

template
void sink(_Elements&&...);

template
struct _TC
{
  template
  static constexpr bool _MoveConstructibleTuple()
  {
sink( pair<_Elements, _UElements>{} ... );
return true;
  }
};

template
struct _TC
{
  template
  static constexpr bool _MoveConstructibleTuple()
  {
return false;
  }
};

template
struct enable_if { using type = bool; };

template<>
struct enable_if { };

template
struct tuple
{
  template using _TMC =
_TC<(sizeof...(_Elements) == sizeof...(_UElements)), _Elements...>;

  template::template
_MoveConstructibleTuple<_UElements...>()>::type=true>
  constexpr tuple(_UElements&&...) { }

  constexpr tuple() { }
};

struct X { };

constexpr tuple t{};


This compiles with GCC but Clang gives:

c.cc:13:41: error: pack expansion contains parameter packs '_Elements' and
'_UElements' that have different lengths (1 vs. 0)
sink( pair<_Elements, _UElements>{} ... );
   ~  ~~^
c.cc:41:52: note: in instantiation of function template specialization
'_TC::_MoveConstructibleTuple<>' requested here
   enable_if<_TMC<_UElements...>::template
_MoveConstructibleTuple<_UElements...>()>::type=true>
   ^
c.cc:42:17: note: while substituting prior template arguments into non-type
template parameter [with _UElements = <>]
  constexpr tuple(_UElements&&...) { }
^
c.cc:35:8: note: while substituting deduced template arguments into function
template 'tuple' [with _UElements = <>, $1 = (no value)]
struct tuple
   ^
1 error generated.

Here we get an error inside _TC even though the true specialization
should be unreachable.


[Bug libfortran/67535] write.c sanitizer detects null pointer passed to memcpy

2015-09-10 Thread sgk at troutmask dot apl.washington.edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67535

--- Comment #4 from Steve Kargl  ---
On Thu, Sep 10, 2015 at 09:00:06AM +, zeccav at gmail dot com wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67535
> 
> --- Comment #3 from Vittorio Zecca  ---
> (In reply to kargl from comment #1)
> 
> > What happens to performance?  Simply making changes to
> > make sanitizer happy seems rather questionable.  It's clear
> > from context that if base_name == NULL, then base_name_len
> > == 0, and the memcpy should be a NOP.
> 
> How costly is that NOP compared to if(base_name_len)?

I don't know.  Of course, I'm not the one purposing a
change.

> 
> How costly is to let go an undefined behaviour?
> 

It's undefined behavior to pass a NULL pointer into a function?


[Bug libstdc++/67537] [6 Regression] r225189 breaks building boost hana

2015-09-10 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67537

Markus Trippelsdorf  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |INVALID

--- Comment #3 from Markus Trippelsdorf  ---
OK, thank you. Closing.


[Bug libstdc++/67537] [6 Regression] r225189 breaks building boost hana

2015-09-10 Thread ville.voutilainen at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67537

--- Comment #4 from Ville Voutilainen  ---
I'll see if I can do a reasonable library fix, even if the problem is
caused by a buggy front-end.


[Bug libfortran/67535] write.c sanitizer detects null pointer passed to memcpy

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67535

--- Comment #5 from Jakub Jelinek  ---
(In reply to Steve Kargl from comment #4)
> It's undefined behavior to pass a NULL pointer into a function?

To a function that does not allow it?  Yes.

Citing the C standard:
7.21.2.1/2:
"The memcpy function copies n characters from the object pointed to by s2 into
the object pointed to by s1."
(NULL pointer does not point to any object).
7.1.4/1:
"If a function argument is
described as being an array, the pointer actually passed to the function shall
have a value
such that all address computations and accesses to objects (that would be valid
if the
pointer did point to the first element of such an array) are in fact valid."
7.21.1:
"Where an argument declared as size_t n specifies the length of the array for a
function, n can have the value zero on a call to that function. Unless
explicitly stated
otherwise in the description of a particular function in this subclause,
pointer arguments
on such a call shall still have valid values, as described in 7.1.4."


[Bug libstdc++/67537] [6 Regression] r225189 breaks building boost hana

2015-09-10 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67537

--- Comment #5 from Jonathan Wakely  ---
Reported as https://llvm.org/bugs/show_bug.cgi?id=24770


[Bug rtl-optimization/66790] Invalid uninitialized register handling in REE

2015-09-10 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66790

Eric Botcazou  changed:

   What|Removed |Added

 CC||ebotcazou at gcc dot gnu.org

--- Comment #10 from Eric Botcazou  ---
Just to mention that we have really thought hard about this bug at AdaCore and
the current patch seems (unfortunately) to be the only plausible way out, if we
don't want to pessimize the common case.  But suggestions are of course
welcome.

We have also discussed papering over it in the Ada front-end by initializing
the Out parameter to zero.  The problem is that you can write an equivalent Ada
testcase with an explicitly uninitialized variable and trigger the bug
(Pierre-Marie, could you attach it to the PR?  Concatenate the files though and
mention that it needs to be gnatchop'ed) so we cannot paper over it in all
cases.

But the fundamental thing to keep in mind here is that this is a valid Ada
program and that it could be translated into a valid C program: there is indeed
an uninitialized variable but the run-time behavior of the program doesn't
depend on its value.  The bug in REE effectively propagates the
uninitializedness of this variable to another, perfectly initialized variable,
because the latter initialization is done with a zero-extension that is
eliminated.


[Bug rtl-optimization/66790] Invalid uninitialized register handling in REE

2015-09-10 Thread derodat at adacore dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66790

--- Comment #11 from Pierre-Marie de Rodat  ---
Created attachment 36320
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36320&action=edit
Reproducer with an uninitialized variable (no OUT parameter)


[Bug rtl-optimization/66790] Invalid uninitialized register handling in REE

2015-09-10 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66790

--- Comment #12 from Eric Botcazou  ---
Thanks.  I misremembered, the testcase has a single variable with two fields,
one uninitialized and one initialized, instead of two variables, but it's
exactly the same reasoning (and it would be trivial to add the two variables
anyway).


[Bug rtl-optimization/66790] Invalid uninitialized register handling in REE

2015-09-10 Thread derodat at adacore dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66790

--- Comment #13 from Pierre-Marie de Rodat  ---
(In reply to Eric Botcazou from comment #12)
> Thanks.  I misremembered, the testcase has a single variable with two
> fields, one uninitialized and one initialized, instead of two variables, but
> it's exactly the same reasoning (and it would be trivial to add the two
> variables anyway).

Thank you for your involvement into this! :-)


[Bug target/67506] [5/6 Regression][SH]: error: unrecognizable insn when compiling texlive-binaries

2015-09-10 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67506

--- Comment #7 from Oleg Endo  ---
Author: olegendo
Date: Thu Sep 10 14:53:48 2015
New Revision: 227646

URL: https://gcc.gnu.org/viewcvs?rev=227646&root=gcc&view=rev
Log:
gcc/
PR target/67506
* config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Add
missing simplify_gen_subreg.

gcc/testsuite/
PR target/67506
* gcc.c-torture/compile/pr67506.c: New test.

Added:
trunk/gcc/testsuite/gcc.c-torture/compile/pr67506.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/sh/sh.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/67522] OpenMP ICE in type_dependent_expression_p

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67522

Jakub Jelinek  changed:

   What|Removed |Added

   Keywords||ice-on-invalid-code, openmp
 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED
   Assignee|unassigned at gcc dot gnu.org  |jakub at gcc dot gnu.org
   Target Milestone|--- |5.3

--- Comment #3 from Jakub Jelinek  ---
Fixed for 5.3+.


[Bug middle-end/67517] ICE in gimplify_scan_omp_clauses

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67517

Jakub Jelinek  changed:

   What|Removed |Added

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

--- Comment #4 from Jakub Jelinek  ---
Fixed for 5.3+.


[Bug c++/67511] ICE with invalid OpenMP random access iterator

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67511

Jakub Jelinek  changed:

   What|Removed |Added

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

--- Comment #3 from Jakub Jelinek  ---
Fixed for 5.3+.


[Bug c/67502] ICE with collapsed for simd loop inside of parallel

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67502

Jakub Jelinek  changed:

   What|Removed |Added

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

--- Comment #3 from Jakub Jelinek  ---
Fixed for 5.3+.


[Bug middle-end/67521] ICE when OpenMP loop expressions mention the IV

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67521

Jakub Jelinek  changed:

   What|Removed |Added

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

--- Comment #3 from Jakub Jelinek  ---
Fixed for 5.3+.


[Bug c++/67514] ICE in omp_add_variable

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67514

Jakub Jelinek  changed:

   What|Removed |Added

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

--- Comment #3 from Jakub Jelinek  ---
Fixed for 5.3+.


[Bug target/67506] [5/6 Regression][SH]: error: unrecognizable insn when compiling texlive-binaries

2015-09-10 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67506

--- Comment #8 from Oleg Endo  ---
Author: olegendo
Date: Thu Sep 10 15:07:02 2015
New Revision: 227647

URL: https://gcc.gnu.org/viewcvs?rev=227647&root=gcc&view=rev
Log:
gcc/
Backport from mainline
2015-09-10  Oleg Endo  

PR target/67506
* config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Add
missing simplify_gen_subreg.

gcc/testsuite/
Backport from mainline
PR target/67506
* gcc.c-torture/compile/pr67506.c: New test.

Added:
branches/gcc-5-branch/gcc/testsuite/gcc.c-torture/compile/pr67506.c
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/config/sh/sh.c
branches/gcc-5-branch/gcc/testsuite/ChangeLog


[Bug c++/67504] ICE with type dependent collapse argument

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67504

Jakub Jelinek  changed:

   What|Removed |Added

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

--- Comment #3 from Jakub Jelinek  ---
Fixed for 5.3+.


[Bug c/67501] Bad error recovery for invalid OpenMP clauses in C FE

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67501

Jakub Jelinek  changed:

   What|Removed |Added

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

--- Comment #3 from Jakub Jelinek  ---
Fixed for 5.3+.


[Bug c/67500] OpenMP ICE with invalid safelen/simdlen/alignment expressions

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67500

Jakub Jelinek  changed:

   What|Removed |Added

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

--- Comment #3 from Jakub Jelinek  ---
Fixed for 5.3+.


[Bug c/67495] #pragma omp atomic ICEs

2015-09-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67495

Jakub Jelinek  changed:

   What|Removed |Added

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

--- Comment #4 from Jakub Jelinek  ---
Fixed for 5.3+.


[Bug fortran/66993] Spurious ambiguous symbol error with submodules

2015-09-10 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66993

--- Comment #2 from Paul Thomas  ---
Author: pault
Date: Thu Sep 10 15:22:20 2015
New Revision: 227648

URL: https://gcc.gnu.org/viewcvs?rev=227648&root=gcc&view=rev
Log:
2015-09-10  Paul Thomas  

PR fortran/66993
* module.c (read_module): If a symtree exists and the symbol has
been associated in a submodule from a parent (sub)module, attach
the symbol to a 'unique symtree' and the new symbol to the
existing symtree.

2015-09-10  Paul Thomas  

PR fortran/66993
* gfortran.dg/submodule_11.f08: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/submodule_11.f08
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/module.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/67318] [6 regression] Parsing error when using abbreviated integral type names in template parameter pack declaration

2015-09-10 Thread paolo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67318

--- Comment #4 from paolo at gcc dot gnu.org  ---
Author: paolo
Date: Thu Sep 10 15:36:54 2015
New Revision: 227650

URL: https://gcc.gnu.org/viewcvs?rev=227650&root=gcc&view=rev
Log:
/cp
2015-09-10  Paolo Carlini  

PR c++/67318
* parser.c (cp_parser_parameter_declaration): Consume the ellipsis
and set template_parameter_pack_p also when the type is null.

/testsuite
2015-09-10  Paolo Carlini  

PR c++/67318
* g++.dg/cpp0x/variadic166.C: New.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/variadic166.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/parser.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/67318] [6 regression] Parsing error when using abbreviated integral type names in template parameter pack declaration

2015-09-10 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67318

Paolo Carlini  changed:

   What|Removed |Added

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

--- Comment #5 from Paolo Carlini  ---
Fixed.


[Bug tree-optimization/67055] [5 Regression] Segmentation fault in fold_builtin_alloca_with_align in tree-ssa-ccp.c

2015-09-10 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67055

--- Comment #14 from Markus Trippelsdorf  ---
Still happens on gcc-5 branch. 
(This breaks building the Linux kernel with -O3 with my config)
-fno-ipa-icf "fixes" the issue.


[Bug bootstrap/67363] [6 Regression] r227188 breaks build for mingw-w64

2015-09-10 Thread danglin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67363

--- Comment #12 from John David Anglin  ---
Created attachment 36321
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36321&action=edit
Patch

I sent this change this morning to gcc-patches but it seems to have
disappeared.


[Bug middle-end/66332] goacc/acc_on_device-2.c scan-rtl-dump-times expand testsuite failure

2015-09-10 Thread sje at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66332

Steve Ellcey  changed:

   What|Removed |Added

 CC||sje at gcc dot gnu.org

--- Comment #7 from Steve Ellcey  ---
I think the patch checked in on August 10 broke my MIPS build.  The install
dies with:

/usr/bin/install: cannot create regular file
`/scratch/sellcey/repos/nightly/install-mips-mti-linux-gnu/lib/gcc/mips-mti-linux-gnu/6.0.0/finclude/omp_lib_kinds.mod':
File exists


Note that I am building a multilib cross compiler with parallel make.

See https://gcc.gnu.org/ml/gcc/2015-09/msg00161.html


[Bug fortran/67541] New: -Wconversion-extra no warning on double = double + single

2015-09-10 Thread jamiebayne at hotmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67541

Bug ID: 67541
   Summary: -Wconversion-extra no warning on double = double +
single
   Product: gcc
   Version: 5.2.1
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: jamiebayne at hotmail dot com
  Target Milestone: ---

It is my belief (or at least desire) that every assignment in the following
program should emit a warning  with the -Wconversion{,-extra} flags (GCC
5.2.1):

PROGRAM conversion_test
INTEGER, PARAMETER :: sp = KIND(1.0)
INTEGER, PARAMETER :: dp = KIND(1.d0)
REAL(sp) :: single
REAL(dp) :: double  
double = 4.0_sp! -Wconversion-extra: Warning: Conversion from 
   ! REAL(4) to REAL(8) at (1)
double = single! -Wconversion-extra: Warning: Conversion from 
   ! REAL(4) to REAL(8) at (1)
single = double! -Wconversion: Warning: Possible change of 
   ! value in conversion from REAL(8) to 
   ! REAL(4) at (1)
   ! -Wconversion-extra: Warning: Conversion from 
   ! REAL(8) to REAL(4)
single = double + single  ! -Wconversion: Warning: Possible change
  ! of value in conversion from REAL(8)
  ! to REAL(4) at (1)
  ! -Wconversion-extra: Conversion from
  ! REAL(8) to REAL(4) at (1)

! no warnings
single = 7.0_dp 
double = double + single
END PROGRAM conversion_test

Is this intended behaviour, or am I right in thinking that particularly the
double = double + single line should give a warning?

(For my purposes, I'm specifically interested in any expression which results
in a cvtss2sd on x86-64.)


[Bug fortran/67541] -Wconversion-extra no warning on double = double + single

2015-09-10 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67541

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2015-09-10
 Ever confirmed|0   |1

--- Comment #1 from Dominique d'Humieres  ---
With 5.2 I get

pr67541.f90:6:17:

 double = 4.0_sp! -Wconversion-extra: Warning: Conversion from 
 1
Warning: Conversion from 'REAL(4)' to 'REAL(8)' at (1) [-Wconversion-extra]
pr67541.f90:8:17:

 double = single! -Wconversion-extra: Warning: Conversion from 
 1
Warning: Conversion from REAL(4) to REAL(8) at (1) [-Wconversion-extra]
pr67541.f90:10:17:

 single = double! -Wconversion: Warning: Possible change of 
 1
Warning: Possible change of value in conversion from REAL(8) to REAL(4) at (1)
[-Wconversion]
pr67541.f90:15:17:

 single = double + single  ! -Wconversion: Warning: Possible change
 1
Warning: Possible change of value in conversion from REAL(8) to REAL(4) at (1)
[-Wconversion]

With trunk (6.0) I get

pr67541.f90:15:32:

 single = double + single  ! -Wconversion: Warning: Possible change
1
Warning: Conversion from REAL(4) to REAL(8) at (1) [-Wconversion-extra]
pr67541.f90:23:32:

 double = double + single
1
Warning: Conversion from REAL(4) to REAL(8) at (1) [-Wconversion-extra]
pr67541.f90:6:17:

 double = 4.0_sp! -Wconversion-extra: Warning: Conversion from 
 1
Warning: Conversion from 'REAL(4)' to 'REAL(8)' at (1) [-Wconversion-extra]
pr67541.f90:8:17:

 double = single! -Wconversion-extra: Warning: Conversion from 
 1
Warning: Conversion from REAL(4) to REAL(8) at (1) [-Wconversion-extra]
pr67541.f90:10:17:

 single = double! -Wconversion: Warning: Possible change of 
 1
Warning: Possible change of value in conversion from REAL(8) to REAL(4) at (1)
[-Wconversion]
pr67541.f90:15:17:

 single = double + single  ! -Wconversion: Warning: Possible change
 1
Warning: Possible change of value in conversion from REAL(8) to REAL(4) at (1)
[-Wconversion]
pr67541.f90:22:17:

 single = 7.0_dp 
 1
Warning: Conversion from 'REAL(8)' to 'REAL(4)' at (1) [-Wconversion-extra]

IMO warnings for

double = single

double = 4.0_sp

and

double = double + single

does not make sense.


[Bug fortran/67542] New: ICE on initializing type variable with a longer array

2015-09-10 Thread gerhard.steinmetz.fort...@t-online.de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67542

Bug ID: 67542
   Summary: ICE on initializing type variable with a longer array
   Product: gcc
   Version: 5.2.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: gerhard.steinmetz.fort...@t-online.de
  Target Milestone: ---

This test case with a longer array in initializer of y :

$ cat z1.f90
program p
   type t
  integer :: n
  character(8) :: c(1)
   end type
   type(t) :: x = t(1, ['a'])
   type(t) :: y = t(1, ['a', 'b'])
end


Yields with gfortran 5.2.1 and 4.9.0 :
internal compiler error: in native_encode_initializer, at dwarf2out.c:16210


Compiles with no error using gfortran 4.8.3


[Bug fortran/67542] ICE on initializing type variable with a longer array

2015-09-10 Thread gerhard.steinmetz.fort...@t-online.de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67542

--- Comment #1 from Gerhard Steinmetz  
---

The ICE disappears if some prints are added :

$ cat z2.f90
program p
   type t
  integer :: n
  character(8) :: c(1)
   end type
   type(t) :: x = t(1, ['a'])
   type(t) :: y = t(1, ['a', 'b'])
   print *, x
   print *, y
end

$ gfortran -g -O0 -Wall -fcheck=all -fno-frontend-optimize z2.f90
$ a.out
   1 a
   1 a


[Bug fortran/67541] -Wconversion-extra no warning on double = double + single

2015-09-10 Thread jamiebayne at hotmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67541

--- Comment #2 from Jamie Bayne  ---
Ah, so it's fixed in trunk. Thanks for the info.

RE the warnings making sense: floating-point promotions may not lose data, but
they do have an associated runtime cost (about equivalent to an add on recent
Intel architectures), which can be important for code optimisation.


[Bug fortran/67543] New: ICE on associate with improper association

2015-09-10 Thread gerhard.steinmetz.fort...@t-online.de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67543

Bug ID: 67543
   Summary: ICE on associate with improper association
   Product: gcc
   Version: 5.2.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: gerhard.steinmetz.fort...@t-online.de
  Target Milestone: ---

This construct with an improper association with null ...
   subroutine s
  associate (x => null())
  end associate
   end subroutine


or this variation ...
   subroutine s
  associate (x => [null()])
  end associate
   end subroutine


yields :
f951: internal compiler error: in resolve_assoc_var, at fortran/resolve.c:7987


[Bug fortran/67541] -Wconversion-extra no warning on double = double + single

2015-09-10 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67541

Dominique d'Humieres  changed:

   What|Removed |Added

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

--- Comment #3 from Dominique d'Humieres  ---
So FIXED (such enhancements are not back ported).


[Bug bootstrap/67363] [6 Regression] r227188 breaks build for mingw-w64

2015-09-10 Thread ismail at i10z dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67363

--- Comment #13 from İsmail Dönmez  ---
(In reply to John David Anglin from comment #12)
> Created attachment 36321 [details]
> Patch
> 
> I sent this change this morning to gcc-patches but it seems to have
> disappeared.

The patch declares the functions but those functions do not exist on mingw-w64,
seems to be this will just fail with an undefined symbol error.

[Bug fortran/67526] ICE on missing end parenthesis in substring construct

2015-09-10 Thread kargl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67526

--- Comment #4 from kargl at gcc dot gnu.org ---
Author: kargl
Date: Thu Sep 10 17:13:11 2015
New Revision: 227651

URL: https://gcc.gnu.org/viewcvs?rev=227651&root=gcc&view=rev
Log:
2015-09-09  Steven G. Kargl  

PR fortran/67526
* gfortran.dg/pr67526.f90: New test.

2015-09-09  Steven G. Kargl  

PR fortran/67526
* expr.c (gfc_check_init_expr): Do not dereference a NULL pointer.

Added:
trunk/gcc/testsuite/gfortran.dg/pr67526.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/expr.c
trunk/gcc/testsuite/ChangeLog


[Bug sanitizer/67513] ASAN: Not optimal shadow value check (unlikely condition checked in fast path)

2015-09-10 Thread kcc at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67513

--- Comment #5 from Kostya Serebryany  ---
(In reply to Yury Gribov from comment #1)
> (In reply to Andrey Ryabinin from comment #0)
> > (shadow value is usually zero).
> 
> What makes you think so? AFAIU for less-than-8-byte scalars it's always
> non-zero. I vaguely remember than Kostya did something like this in Clang
> case and it resulted in negligeable improvement.

The code in llvm uses branch weights to indicate that the slow path
is rarely taken. 

  if (ClAlwaysSlowPath || (TypeSize < 8 * Granularity)) {
// We use branch weights for the slow path check, to indicate that the slow
// path is rarely taken. This seems to be the case for SPEC benchmarks.
TerminatorInst *CheckTerm = SplitBlockAndInsertIfThen(
Cmp, InsertBefore, false, MDBuilder(*C).createBranchWeights(1,
10));

The measurements were done on SPEC 2016 lng ago, 
I have no idea whether this is still a good heuristic.

I remember that the difference was not huge, but enough to justify 
one extra parameter.


[Bug bootstrap/67363] [6 Regression] r227188 breaks build for mingw-w64

2015-09-10 Thread dave.anglin at bell dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67363

--- Comment #14 from dave.anglin at bell dot net ---
On 2015-09-10 1:01 PM, ismail at i10z dot com wrote:
> The patch declares the functions but those functions do not exist on 
> mingw-w64,
> seems to be this will just fail with an undefined symbol error.
The routines are in liberty and the patch assumes that that they are 
built.  If that's not the
case on mingw-w64, then they will have to be provided by some other means.

Dave


[Bug bootstrap/67363] [6 Regression] r227188 breaks build for mingw-w64

2015-09-10 Thread ismail at i10z dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67363

--- Comment #15 from İsmail Dönmez  ---
(In reply to dave.anglin from comment #14)
> On 2015-09-10 1:01 PM, ismail at i10z dot com wrote:
> > The patch declares the functions but those functions do not exist on 
> > mingw-w64,
> > seems to be this will just fail with an undefined symbol error.
> The routines are in liberty and the patch assumes that that they are 
> built.  If that's not the
> case on mingw-w64, then they will have to be provided by some other means.

Ah that makes sense, thanks!

[Bug fortran/67526] ICE on missing end parenthesis in substring construct

2015-09-10 Thread kargl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67526

--- Comment #5 from kargl at gcc dot gnu.org ---
Author: kargl
Date: Thu Sep 10 18:07:07 2015
New Revision: 227655

URL: https://gcc.gnu.org/viewcvs?rev=227655&root=gcc&view=rev
Log:
2015-09-09  Steven G. Kargl  

PR fortran/67526
* gfortran.dg/pr67526.f90: New test.

2015-09-09  Steven G. Kargl  

PR fortran/67526
* expr.c (gfc_check_init_expr): Do not dereference a NULL pointer.

Added:
branches/gcc-5-branch/gcc/testsuite/gfortran.dg/pr67526.f90
Modified:
branches/gcc-5-branch/gcc/fortran/ChangeLog
branches/gcc-5-branch/gcc/fortran/expr.c
branches/gcc-5-branch/gcc/testsuite/ChangeLog


  1   2   >