[Bug tree-optimization/79276] [7 Regression] ICE: Segmentation fault in VRP pass

2017-01-29 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79276

--- Comment #2 from Markus Trippelsdorf  ---
Probably started with Richi's r244974.

[Bug tree-optimization/79276] [7 Regression] ICE: Segmentation fault in VRP pass

2017-01-29 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79276

Markus Trippelsdorf  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-01-30
 CC||trippels at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Markus Trippelsdorf  ---
==24058== Invalid read of size 8
==24058==at 0xE336B0: process_assert_insertions (tree-vrp.c:6535)
==24058==by 0xE336B0: insert_range_assertions (tree-vrp.c:6634)
==24058==by 0xE336B0: execute_vrp (tree-vrp.c:11367)
==24058==by 0xE336B0: (anonymous namespace)::pass_vrp::execute(function*)
(tree-vrp.c:11465)
==24058==by 0xABA382: execute_one_pass(opt_pass*) (passes.c:2465)
==24058==by 0xABAC70: execute_pass_list_1(opt_pass*) (passes.c:2554)
==24058==by 0xABAC82: execute_pass_list_1(opt_pass*) (passes.c:2555)
==24058==by 0xABACCC: execute_pass_list(function*, opt_pass*)
(passes.c:2565)
==24058==by 0x780C8C: cgraph_node::expand() (cgraphunit.c:2036)
==24058==by 0x78243B: expand_all_functions (cgraphunit.c:2172)
==24058==by 0x78243B: symbol_table::compile() [clone .part.51]
(cgraphunit.c:2529)
==24058==by 0x784B64: compile (cgraphunit.c:2622)
==24058==by 0x784B64: symbol_table::finalize_compilation_unit()
(cgraphunit.c:2619)
==24058==by 0xB98CC2: compile_file() (toplev.c:488)
==24058==by 0x5D6919: do_compile (toplev.c:1983)
==24058==by 0x5D6919: toplev::main(int, char**) (toplev.c:2117)
==24058==by 0x5D8B9D: main (main.c:39)
==24058==  Address 0x5585348 is 8 bytes inside a block of size 72 free'd
==24058==at 0x402FE2B: free (vg_replace_malloc.c:530)
==24058==by 0xE34550: process_assert_insertions (tree-vrp.c:6547)
==24058==by 0xE34550: insert_range_assertions (tree-vrp.c:6634)
==24058==by 0xE34550: execute_vrp (tree-vrp.c:11367)
==24058==by 0xE34550: (anonymous namespace)::pass_vrp::execute(function*)
(tree-vrp.c:11465)
==24058==by 0xABA382: execute_one_pass(opt_pass*) (passes.c:2465)
==24058==by 0xABAC70: execute_pass_list_1(opt_pass*) (passes.c:2554)
==24058==by 0xABAC82: execute_pass_list_1(opt_pass*) (passes.c:2555)
==24058==by 0xABACCC: execute_pass_list(function*, opt_pass*)
(passes.c:2565)
==24058==by 0x780C8C: cgraph_node::expand() (cgraphunit.c:2036)
==24058==by 0x78243B: expand_all_functions (cgraphunit.c:2172)
==24058==by 0x78243B: symbol_table::compile() [clone .part.51]
(cgraphunit.c:2529)
==24058==by 0x784B64: compile (cgraphunit.c:2622)
==24058==by 0x784B64: symbol_table::finalize_compilation_unit()
(cgraphunit.c:2619)
==24058==by 0xB98CC2: compile_file() (toplev.c:488)
==24058==by 0x5D6919: do_compile (toplev.c:1983)
==24058==by 0x5D6919: toplev::main(int, char**) (toplev.c:2117)
==24058==by 0x5D8B9D: main (main.c:39)
==24058==  Block was alloc'd at
==24058==at 0x402EBAF: malloc (vg_replace_malloc.c:299)
==24058==by 0x143B3E7: xmalloc (xmalloc.c:147)
==24058==by 0xE1E3B9: register_new_assert_for(tree_node*, tree_node*,
tree_code, tree_node*, basic_block_def*, edge_def*, gimple_stmt_iterator)
(tree-vrp.c:5045)
==24058==by 0xE30E36: register_edge_assert_for_1(tree_node*, tree_code,
edge_def*, gimple_stmt_iterator) (tree-vrp.c:5755)
==24058==by 0xE313E1: register_edge_assert_for(tree_node*, edge_def*,
gimple_stmt_iterator, tree_code, tree_node*, tree_node*) (tree-vrp.c:5885)
==24058==by 0xE32836: find_conditional_asserts (tree-vrp.c:5923)
==24058==by 0xE32836: find_assert_locations_1 (tree-vrp.c:6187)
==24058==by 0xE32836: find_assert_locations() (tree-vrp.c:6348)
==24058==by 0xE333CE: insert_range_assertions (tree-vrp.c:6631)
==24058==by 0xE333CE: execute_vrp (tree-vrp.c:11367)
==24058==by 0xE333CE: (anonymous namespace)::pass_vrp::execute(function*)
(tree-vrp.c:11465)
==24058==by 0xABA382: execute_one_pass(opt_pass*) (passes.c:2465)
==24058==by 0xABAC70: execute_pass_list_1(opt_pass*) (passes.c:2554)
==24058==by 0xABAC82: execute_pass_list_1(opt_pass*) (passes.c:2555)
==24058==by 0xABACCC: execute_pass_list(function*, opt_pass*)
(passes.c:2565)
==24058==by 0x780C8C: cgraph_node::expand() (cgraphunit.c:2036)

[Bug tree-optimization/79276] New: [7 Regression] ICE: Segmentation fault in VRP pass

2017-01-29 Thread asolokha at gmx dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79276

Bug ID: 79276
   Summary: [7 Regression] ICE: Segmentation fault in VRP pass
   Product: gcc
   Version: 7.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: asolokha at gmx dot com
  Target Milestone: ---

gcc-7.0.0-alpha20170129 snapshot ICEs when compiling the following snippet w/
-O2, -Os, -O3, or -Ofast and glibc malloc()/free() usage checking machinery
enabled:

short int
ix (int *ld, short int oi)
{
  *ld = ((unsigned short int)oi | oi) && !!(*ld);
  return (oi != 0) ? oi : 1;
}

% MALLOC_PERTURB_=1 x86_64-pc-linux-gnu-gcc-7.0.0-alpha20170129 -O2 -c
w7o4f2we.c   
w7o4f2we.c: In function 'ix':
w7o4f2we.c:2:1: internal compiler error: Segmentation fault
 ix (int *ld, short int oi)
 ^~

Program received signal SIGSEGV, Segmentation fault.
0x00e38092 in (anonymous namespace)::pass_vrp::execute(function*) ()
(gdb) where
#0  0x00e38092 in (anonymous namespace)::pass_vrp::execute(function*)
()
#1  0x00ac0811 in execute_one_pass(opt_pass*) ()
#2  0x00ac10e1 in execute_pass_list_1(opt_pass*) ()
#3  0x00ac10f3 in execute_pass_list_1(opt_pass*) ()
#4  0x00ac1135 in execute_pass_list(function*, opt_pass*) ()
#5  0x0078a923 in cgraph_node::expand() ()
#6  0x0078c03a in symbol_table::compile() [clone .part.51] ()
#7  0x0078e747 in symbol_table::finalize_compilation_unit() ()
#8  0x00b9edd5 in compile_file() ()
#9  0x005e293d in toplev::main(int, char**) ()
#10 0x005e4cc7 in main ()

[Bug target/79268] [6/7 Regression] Wrong code generation for vec_xl and vec_xst intrinsics

2017-01-29 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79268

--- Comment #1 from Bill Schmidt  ---
Author: wschmidt
Date: Mon Jan 30 03:32:59 2017
New Revision: 245021

URL: https://gcc.gnu.org/viewcvs?rev=245021&root=gcc&view=rev
Log:
[gcc]

2017-01-29  Bill Schmidt  

PR target/79268
* config/rs6000/altivec.h (vec_xl): Revise #define.
(vec_xst): Likewise.

[gcc/testsuite]

2017-01-29  Bill Schmidt  

PR target/79268
* gcc.target/powerpc/pr79268.c: New file.
* gcc.target/powerpc/vsx-elemrev-1.c: Delete file.
* gcc.target/powerpc/vsx-elemrev-2.c: Likewise.
* gcc.target/powerpc/vsx-elemrev-3.c: Likewise.
* gcc.target/powerpc/vsx-elemrev-4.c: Likewise.


Added:
trunk/gcc/testsuite/gcc.target/powerpc/pr79268.c
Removed:
trunk/gcc/testsuite/gcc.target/powerpc/vsx-elemrev-1.c
trunk/gcc/testsuite/gcc.target/powerpc/vsx-elemrev-2.c
trunk/gcc/testsuite/gcc.target/powerpc/vsx-elemrev-3.c
trunk/gcc/testsuite/gcc.target/powerpc/vsx-elemrev-4.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/altivec.h
trunk/gcc/testsuite/ChangeLog

[Bug middle-end/79275] -Wformat-overflow false positive exceeding INT_MAX in glibc sysdeps/posix/tempname.c

2017-01-29 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79275

Martin Sebor  changed:

   What|Removed |Added

   Keywords||diagnostic
 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2017-01-30
   Assignee|unassigned at gcc dot gnu.org  |msebor at gcc dot 
gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Sebor  ---
The warning is overly aggressive and uses the upper bound of the precision
range as the likely number of bytes output by the directive.

Testing a patch that relaxes the checker to use the lower bound at level 1
instead.

[Bug middle-end/79275] New: -Wformat-overflow false positive exceeding INT_MAX in glibc sysdeps/posix/tempname.c

2017-01-29 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79275

Bug ID: 79275
   Summary: -Wformat-overflow false positive exceeding INT_MAX in
glibc sysdeps/posix/tempname.c
   Product: gcc
   Version: 7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
  Assignee: unassigned at gcc dot gnu.org
  Reporter: msebor at gcc dot gnu.org
  Target Milestone: ---

As reported on libc-alpha
(https://sourceware.org/ml/libc-alpha/2017-01/msg00541.html) the following test
case triggers a false positive -Wformat-overflow warning:

$ cat a.c && gcc -O2 -S -Wall -m32 a.c
typedef __SIZE_TYPE__ size_t;

void f (char *dst, size_t n, const char *s)
{
  if (n < 2 || __INT_MAX__ - 2 < n)
n = 2;

  __builtin_sprintf (dst, "%.*s %.*s", (int)n, s, (int)n, s);
}
a.c: In function ‘f’:
a.c:8:33: warning: ‘%.*s’ directive output between 0 and 2147483645 bytes may
cause result to exceed ‘INT_MAX’ [-Wformat-overflow=]
   __builtin_sprintf (dst, "%.*s %.*s", (int)n, s, (int)n, s);
 ^~~~

[Bug c++/58798] class with a class reference member generates unjustified warning

2017-01-29 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58798

--- Comment #4 from Jonathan Wakely  ---
(In reply to Szikra from comment #3)
> The warning is still there if I use the -Wno-packed option:
> g++  -std=gnu++11 -fpack-struct -Wno-packed eeprom.cpp -o eeprom
> Why?

Because the warning isn't controlled by the -Wpacked option. If it was, it
would say [-Wpacked] after the warning. I think that's a bug, every warning
should be controlled by some -Wxxx option.

If the warning was controlled by an option you could suppress it with -Wno-xxx
or a #pragma.

[Bug c/79269] Calculate size of struct with flexible array at compile time

2017-01-29 Thread mojo at world3 dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79269

--- Comment #2 from mojo at world3 dot net ---
Thanks. __builtin_object_size() works well at runtime and solves me immediate
need, which spurred me to suggest this enhancement.

After giving it some thought I agree with you, I can't see any easy way to
handle incomplete objects.

[Bug c/79269] Calculate size of struct with flexible array at compile time

2017-01-29 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79269

Martin Sebor  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-01-29
 CC||msebor at gcc dot gnu.org
 Ever confirmed|0   |1
   Severity|normal  |enhancement

--- Comment #1 from Martin Sebor  ---
__builtin_object_size() returns the size of an object with a flexible array
member but it doesn't evaluate to a constant expression.  I don't see why it
couldn't evaluate to one in the simple cases so I'll confirm this as an
enhancement request.

In your second example, though, I doubt it will be feasible to extend the
builtin so as to let it obtain the size of an incomplete object.  I.e., the
object's initializer will need to have been fully evaluated before the object's
size can be computed, just like it isn't possible to use sizeof to compute the
size of an array with an unspecified bound in its initialized:

  char a[] = { sizeof a, 2, 3, 4 };

$ cat c.c && gcc -S -Wall -fdump-tree-optimized=/dev/stdout c.c
struct {
char a;
char b[];
} test = { 10, { 0, 1, 2, 3 } };

unsigned size (void)
{
  return __builtin_object_size (&test, 0);
}


;; Function size (size, funcdef_no=0, decl_uid=1799, cgraph_uid=0,
symbol_order=1)

size ()
{
  unsigned int D.1802;
  unsigned int _1;

   [0.00%]:
  _1 = 5;

 [0.00%]:
  return _1;

}

[Bug c++/79274] New: FAIL: g++.dg/tls/pr77285-2.C -std=c++11 scan-assembler _ZTH4var1B3tag

2017-01-29 Thread danglin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79274

Bug ID: 79274
   Summary: FAIL: g++.dg/tls/pr77285-2.C  -std=c++11
scan-assembler _ZTH4var1B3tag
   Product: gcc
   Version: 7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: danglin at gcc dot gnu.org
  Target Milestone: ---
  Host: hppa2.0w-hp-hpux11.11
Target: hppa2.0w-hp-hpux11.11
 Build: hppa2.0w-hp-hpux11.11

Created attachment 40618
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40618&action=edit
.s file

spawn /test/gnu/gcc/objdir/gcc/testsuite/g++/../../xg++
-B/test/gnu/gcc/objdir/gcc/testsuite/g++/../../
/test/gnu/gcc/gcc/gcc/testsuite/g++.dg/tls/pr77285-2.C
-fno-diagnostics-show-caret -fdiagnostics-color=never -nostdinc++
-I/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/include/hppa2.0w-hp-hpux11.11
-I/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/include
-I/test/gnu/gcc/gcc/libstdc++-v3/libsupc++
-I/test/gnu/gcc/gcc/libstdc++-v3/include/backward
-I/test/gnu/gcc/gcc/libstdc++-v3/testsuite/util -fmessage-length=0 -std=c++11
-pedantic-errors -Wno-long-long -S -o pr77285-2.sPASS: g++.dg/tls/pr77285-2.C 
-std=c++11 (test for excess errors)PASS: g++.dg/tls/pr77285-2.C  -std=c++11 
scan-assembler _Z4var1B3tagPASS: g++.dg/tls/pr77285-2.C  -std=c++11 
scan-assembler _Z4var2B3tagFAIL: g++.dg/tls/pr77285-2.C  -std=c++11 
scan-assembler _ZTH4var1B3tag
PASS: g++.dg/tls/pr77285-2.C  -std=c++11  scan-assembler _ZTW4var1B3tag

Think this is a result of emutls.

[Bug testsuite/79273] New: FAIL: c-c++-common/Wduplicated-branches-13.c -std=gnu++98 (test for excess errors)

2017-01-29 Thread danglin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79273

Bug ID: 79273
   Summary: FAIL: c-c++-common/Wduplicated-branches-13.c
-std=gnu++98 (test for excess errors)
   Product: gcc
   Version: 7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
  Assignee: unassigned at gcc dot gnu.org
  Reporter: danglin at gcc dot gnu.org
  Target Milestone: ---
  Host: hppa2.0w-hp-hpux11.11
Target: hppa2.0w-hp-hpux11.11
 Build: hppa2.0w-hp-hpux11.11

spawn /test/gnu/gcc/objdir/gcc/testsuite/g++/../../xg++
-B/test/gnu/gcc/objdir/gcc/testsuite/g++/../../
/test/gnu/gcc/gcc/gcc/testsuite/c-c++-common/Wduplicate
d-branches-13.c -fno-diagnostics-show-caret -fdiagnostics-color=never
-nostdinc++
-I/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/include/hppa2.0w-hp
-hpux11.11 -I/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/include
-I/test/gnu/gcc/gcc/libstdc++-v3/libsupc++
-I/test/gnu/gcc/gcc/libstdc++-v3/includ
e/b
ackward -I/test/gnu/gcc/gcc/libstdc++-v3/testsuite/util -fmessage-length=0
-std=gnu++98 -Wduplicated-branches -S -o Wduplicated-branches-13.s
/test/gnu/gcc/gcc/gcc/testsuite/c-c++-common/Wduplicated-branches-13.c:11:7:
warning: this decimal constant is unsigned only in ISO C90
/test/gnu/gcc/gcc/gcc/testsuite/c-c++-common/Wduplicated-branches-13.c:18:7:
warning: this decimal constant is unsigned only in ISO C90
/test/gnu/gcc/gcc/gcc/testsuite/c-c++-common/Wduplicated-branches-13.c: In
function 'void fn1()':
/test/gnu/gcc/gcc/gcc/testsuite/c-c++-common/Wduplicated-branches-13.c:9:3:
warning: this condition has identical branches [-Wduplicated-branches]
output is:
/test/gnu/gcc/gcc/gcc/testsuite/c-c++-common/Wduplicated-branches-13.c:11:7:
warning: this decimal constant is unsigned only in ISO C90
/test/gnu/gcc/gcc/gcc/testsuite/c-c++-common/Wduplicated-branches-13.c:18:7:
warning: this decimal constant is unsigned only in ISO C90
/test/gnu/gcc/gcc/gcc/testsuite/c-c++-common/Wduplicated-branches-13.c: In
function 'void fn1()':
/test/gnu/gcc/gcc/gcc/testsuite/c-c++-common/Wduplicated-branches-13.c:9:3:
warning: this condition has identical branches [-Wduplicated-branches]

PASS: c-c++-common/Wduplicated-branches-13.c  -std=gnu++98  (test for warnings,
line 9)FAIL: c-c++-common/Wduplicated-branches-13.c  -std=gnu++98 (test for
excess errors)Excess
errors:/test/gnu/gcc/gcc/gcc/testsuite/c-c++-common/Wduplicated-branches-13.c:11:7:
warning: this decimal constant is unsigned only in ISO
C90/test/gnu/gcc/gcc/gcc/testsuite/c-c++-common/Wduplicated-branches-13.c:18:7:
warning: this decimal constant is unsigned only in ISO C90

[Bug testsuite/79272] New: FAIL: gcc.dg/ipa/pr77653.c scan-ipa-dump icf "Not unifying; alias cannot be created; target is discardable"

2017-01-29 Thread danglin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79272

Bug ID: 79272
   Summary: FAIL: gcc.dg/ipa/pr77653.c scan-ipa-dump icf "Not
unifying; alias cannot be created; target is
discardable"
   Product: gcc
   Version: 7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
  Assignee: unassigned at gcc dot gnu.org
  Reporter: danglin at gcc dot gnu.org
  Target Milestone: ---
  Host: hppa2.0w-hp-hpux11.11
Target: hppa2.0w-hp-hpux11.11
 Build: hppa2.0w-hp-hpux11.11

Executing on host: /test/gnu/gcc/objdir/gcc/xgcc -B/test/gnu/gcc/objdir/gcc/
/test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/ipa/pr77653.c 
-fno-diagnostics-show-caret -
fdiagnostics-color=never   -O2 -fdump-ipa-icf-details -S   -o pr77653.s   
(timeout = 300)spawn /test/gnu/gcc/objdir/gcc/xgcc -B/test/gnu/gcc/objdir/gcc/
/test/gnu/gcc/gcc/gcc/testsuite/gcc.dg/ipa/pr77653.c
-fno-diagnostics-show-caret -fdiagnostics-c
olor=never -O2 -fdump-ipa-icf-details -S -o pr77653.sPASS: gcc.dg/ipa/pr77653.c
(test for excess errors)PASS: gcc.dg/ipa/pr77653.c scan-ipa-dump icf "Equal
symbols: 1"
FAIL: gcc.dg/ipa/pr77653.c scan-ipa-dump icf "Not unifying; alias cannot be
crea
ted; target is discardable"

Test needs to be xfailed on 32-bit hpux.

[Bug testsuite/79270] FAIL: obj-c++.dg/property/at-property-23.mm -fgnu-runtime (test for excess errors)

2017-01-29 Thread dave.anglin at bell dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79270

--- Comment #2 from dave.anglin at bell dot net ---
On 2017-01-29, at 1:48 PM, dominiq at lps dot ens.fr wrote:

> On darwin this has been fixed by revision r244990.

Maybe it's fixed then.  Report was for revision 244960.

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

[Bug fortran/78958] FAIL: gfortran.dg/alloc_comp_class_5.f03 - Segmentation fault

2017-01-29 Thread danglin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78958

John David Anglin  changed:

   What|Removed |Added

 Target|hppa64-hp-hpux11.11 |hppa*-*-hpux*
   Host|hppa64-hp-hpux11.11 |hppa*-*-hpux*
  Build|hppa64-hp-hpux11.11 |hppa*-*-hpux*

--- Comment #2 from John David Anglin  ---
On hppa2.0w-hp-hpux11.11, the test has a segmentation fault in _sigfillset:

Program received signal SIGSEGV, Segmentation fault.
0x7af9a2a4 in _sigfillset () from /usr/lib/libc.2

It is called with a NULL pointer argument:

Breakpoint 2, 0x7af99400 in _sigfillset () from /usr/lib/libc.2
(gdb) p/x $r26
$1 = 0x0
(gdb) bt
Python Exception  Failed to load
/home/gnu/lib/python2.7/lib-dynload/itertools.sl: 
#0  0x7af99400 in _sigfillset () from /usr/lib/libc.2
#1  0x7af9739c in _sscanf () from /usr/lib/libc.2
#2  0x7af9cba4 in malloc () from /usr/lib/libc.2
#3  0x559c in __array_list_MOD_add_item (a=..., e=...)
at /test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/alloc_comp_class_5.f03:26

Breakpoint 4, 0x7af9ca18 in malloc () from /usr/lib/libc.2
(gdb) p/x $r26
$2 = 0x3
(gdb) bt
Python Exception  Failed to load
/home/gnu/lib/python2.7/lib-dynload/itertools.sl: 
#0  0x7af9ca18 in malloc () from /usr/lib/libc.2
#1  0x559c in __array_list_MOD_add_item (a=..., e=...)
at /test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/alloc_comp_class_5.f03:26
#2  0x6778 in MAIN__ ()
at /test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/alloc_comp_class_5.f03:42
#3  0x7370 in main (argc=1, argv=0x7eff07a4)
at /test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/alloc_comp_class_5.f03:34

A malloc failure typically indicates that the program has written to memory
that it doesn't own.

[Bug fortran/79230] [7 Regression] [OOP] Run time error: double free or corruption

2017-01-29 Thread vehre at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79230

vehre at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #19 from vehre at gcc dot gnu.org ---
Created attachment 40616
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40616&action=edit
Preliminary patch

With the attached patch the rt_error executable compiles and runs without
error. I haven't checked yet, whether there are regression in gfortran's
testsuite.

[Bug testsuite/79270] FAIL: obj-c++.dg/property/at-property-23.mm -fgnu-runtime (test for excess errors)

2017-01-29 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79270

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2017-01-29
 Ever confirmed|0   |1

--- Comment #1 from Dominique d'Humieres  ---
On darwin this has been fixed by revision r244990.

[Bug target/53659] ARM: Using -mcpu=cortex-a9 option results in bad performance for Cortex-A9 processor in C-Ray phoronix benchmark

2017-01-29 Thread tulipawn at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53659

--- Comment #9 from PeteVine  ---
@jgreenhalgh Please have a look at the profiled assembly for both fast and slow
codegen. (attached)

According to @aldyh's bisection in #68664 this probably isn't the same issue.

[Bug testsuite/79270] New: FAIL: obj-c++.dg/property/at-property-23.mm -fgnu-runtime (test for excess errors)

2017-01-29 Thread danglin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79270

Bug ID: 79270
   Summary: FAIL: obj-c++.dg/property/at-property-23.mm
-fgnu-runtime (test for excess errors)
   Product: gcc
   Version: 7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
  Assignee: unassigned at gcc dot gnu.org
  Reporter: danglin at gcc dot gnu.org
  Target Milestone: ---
  Host: hppa2.0w-hp-hpux11.11
Target: hppa2.0w-hp-hpux11.11
 Build: hppa2.0w-hp-hpux11.11

spawn /test/gnu/gcc/objdir/gcc/testsuite/obj-c++/../../xg++
-B/test/gnu/gcc/objd
ir/gcc/testsuite/obj-c++/../../
/test/gnu/gcc/gcc/gcc/testsuite/obj-c++.dg/prope
rty/at-property-23.mm -fno-diagnostics-show-caret -fdiagnostics-color=never
-nostdinc++
-I/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/include/hppa2.
0w-hp-hpux11.11
-I/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/includ
e -I/test/gnu/gcc/gcc/libstdc++-v3/libsupc++
-I/test/gnu/gcc/gcc/libstdc++-v3/include/backward
-I/test/gnu/gcc/gcc/libstdc++-v3/testsuite/util -fmessage-length=0
-fgnu-runtime -ansi -pedantic-errors -Wno-long-long
-I/test/gnu/gcc/gcc/gcc/testsuite/../../libobjc -S -o
at-property-23.s/test/gnu/gcc/gcc/gcc/testsuite/obj-c++.dg/property/at-property-23.mm:14:1:
error: property can not be an
array/test/gnu/gcc/gcc/gcc/testsuite/obj-c++.dg/property/at-property-23.mm:15:16:
error: expected ';' before ':'
token/test/gnu/gcc/gcc/gcc/testsuite/obj-c++.dg/property/at-property-23.mm:16:17:
error: ISO C++ forbids flexible array member 'c'
[-Wpedantic]/test/gnu/gcc/gcc/gcc/testsuite/obj-c++.dg/property/at-property-23.mm:16:1:
error: property can not be an array
compiler exited with status 1
output is:
/test/gnu/gcc/gcc/gcc/testsuite/obj-c++.dg/property/at-property-23.mm:14:1:
error: property can not be an array
/test/gnu/gcc/gcc/gcc/testsuite/obj-c++.dg/property/at-property-23.mm:15:16:
error: expected ';' before ':' token
/test/gnu/gcc/gcc/gcc/testsuite/obj-c++.dg/property/at-property-23.mm:16:17:
error: ISO C++ forbids flexible array member 'c' [-Wpedantic]
/test/gnu/gcc/gcc/gcc/testsuite/obj-c++.dg/property/at-property-23.mm:16:1:
error: property can not be an array

PASS: obj-c++.dg/property/at-property-23.mm -fgnu-runtime  (test for errors,
line 14)
PASS: obj-c++.dg/property/at-property-23.mm -fgnu-runtime  (test for errors,
line 15)
PASS: obj-c++.dg/property/at-property-23.mm -fgnu-runtime  (test for errors,
line 16)
FAIL: obj-c++.dg/property/at-property-23.mm -fgnu-runtime (test for excess
errors)
Excess errors:
/test/gnu/gcc/gcc/gcc/testsuite/obj-c++.dg/property/at-property-23.mm:16:17:
error: ISO C++ forbids flexible array member 'c' [-Wpedantic]

[Bug c/79269] New: Calculate size of struct with flexible array at compile time

2017-01-29 Thread mojo at world3 dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79269

Bug ID: 79269
   Summary: Calculate size of struct with flexible array at
compile time
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: mojo at world3 dot net
  Target Milestone: ---

As per the C99 standard, GCC treats structs with flexible arrays as if the
array had a size of 0. GCC offers an extension to allow such structs to be
initialized. For example:

struct {
char a;
char b[];
} test = { 10, { 0, 1, 2, 3 } };

In this case sizeof(test) will return 1, because b[] is considered to have a
size of zero even though GCC will correctly allocate 4 bytes and initialize
them.

To compliment this extension, a new builtin similar to sizeof() could be
created that returns the actual size of the struct (5 in this example).

This would be extremely useful for embedded systems in particular. For example,
one could:

struct {
char length;
char array[];
} test = { __new_sizeof(test) - 1, { 0, 1, 2, 3 } };

[Bug c++/58798] class with a class reference member generates unjustified warning

2017-01-29 Thread steven.spark at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58798

--- Comment #3 from Szikra  ---
The warning is still there if I use the -Wno-packed option:
g++  -std=gnu++11 -fpack-struct -Wno-packed eeprom.cpp -o eeprom
Why?

I have found a suggestion to hide warning about ignored attributes:
#pragma clang diagnostic ignored "-Wignored-attributes"
which doesn't seem to have a GCC equivalent. :(

[Bug target/79268] [6/7 Regression] Wrong code generation for vec_xl and vec_xst intrinsics

2017-01-29 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79268

Bill Schmidt  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-01-29
Version|6.3.1   |6.3.0
   Target Milestone|--- |6.4
 Ever confirmed|0   |1
  Known to fail||6.3.0, 7.0

[Bug target/79268] New: [6/7 Regression] Wrong code generation for vec_xl and vec_xst intrinsics

2017-01-29 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79268

Bug ID: 79268
   Summary: [6/7 Regression] Wrong code generation for vec_xl and
vec_xst intrinsics
   Product: gcc
   Version: 6.3.1
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: major
  Priority: P3
 Component: target
  Assignee: wschmidt at gcc dot gnu.org
  Reporter: wschmidt at gcc dot gnu.org
CC: segher at gcc dot gnu.org
  Target Milestone: ---
Target: powerpc64*-*-*

I had a thinko when adding the new element-reversing vector load and store
instructions, tying them to vec_xl and vec_xst rather than vec_xl_be and
vec_xst_be.  This regresses these intrinsics both by generating wrong code for
them, but also by rejecting legitimate parameter combinations that vec_xl/xst
should support (such as vector pixel).  This has been encountered building at
least one debian package.

I plan to attack this in two stages.  First we'll need an emergency patch that
just reverts the #define of these to match vec_vsx_ld and vec_vsx_st as they
should, which we can submit to the various distros for immediate use.  Later
I'll fix up the rest so that vec_xl_be and vec_xst_be make use of the new
instructions.

[Bug c++/58798] class with a class reference member generates unjustified warning

2017-01-29 Thread steven.spark at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58798

--- Comment #2 from Szikra  ---
Created attachment 40615
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40615&action=edit
preprocessed test case

Compiled with 
g++  --save-temps -std=gnu++11 -fpack-struct eeprom.cpp -o eeprom 
eeprom.cpp: In instantiation of 'class EepromAccessor':
eeprom.cpp:29:16:   required from here
eeprom.cpp:16:8: warning: ignoring packed attribute because of unpacked non-POD
field 'unsigned int& EepromAccessor::data_'
 T& data_;
^

[Bug c++/58798] class with a class reference member generates unjustified warning

2017-01-29 Thread steven.spark at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58798

Szikra  changed:

   What|Removed |Added

 CC||steven.spark at gmail dot com

--- Comment #1 from Szikra  ---
I'm having a similar issue.

Got here from here:
http://stackoverflow.com/questions/35152877/ignoring-packed-attribute-because-of-unpacked-non-pod-field

I'm not sure if this is a bug or not, I'm looking ways to get rid of the
warning message. (without removing -fpack-struct from the command line)

How can I do that?
Any '#pragma GCC diagnostic ignored' I can use?

My compiler output looks something like this:
...common/eeprom.hpp: In instantiation of 'class
FromEeprom::EepromAccessor':
../src/test.cpp:193:29:   required from here
…common/eeprom.hpp:119:8: warning: ignoring packed attribute because of
unpacked non-POD field 'long unsigned int& FromEeprom::EepromAccessor::data_' [enabled by default]

GCC Versions:
AVR8/GNU C Compiler : 4.8.1, 4.9.2 (latest I could find for AVR on Windows)

similar result with MinGW 5.3:
g++  -std=gnu++11 -fpack-struct eeprom.cpp -o eeprom

 from test/eeprom.cpp:19:
./common/eeprom.hpp: In instantiation of 'class
FromEeprom::EepromAccessor':
test/eeprom.cpp:30:16:   required from here
./common/eeprom.hpp:119:8: warning: ignoring packed attribute because of
unpacked non-POD field 'unsigned int& FromEeprom::EepromAccessor::data_'
 T& data_;

But with the added errors:
In file included from
C:/mingw-w64/x86_64-5.3.0-posix-seh-rt_v4-rev0/mingw64/x86_64-w64-mingw32/include/c++/ios:42:0,
 from
C:/mingw-w64/x86_64-5.3.0-posix-seh-rt_v4-rev0/mingw64/x86_64-w64-mingw32/include/c++/ostream:38,
 from
C:/mingw-w64/x86_64-5.3.0-posix-seh-rt_v4-rev0/mingw64/x86_64-w64-mingw32/include/c++/iostream:39,
 from test/eeprom.cpp:23:
C:/mingw-w64/x86_64-5.3.0-posix-seh-rt_v4-rev0/mingw64/x86_64-w64-mingw32/include/c++/bits/ios_base.h:
In member function 'std::ios_base::fmtflags
std::ios_base::setf(std::ios_base::fmtflags)':
C:/mingw-w64/x86_64-5.3.0-posix-seh-rt_v4-rev0/mingw64/x86_64-w64-mingw32/include/c++/bits/ios_base.h:649:7:
error: cannot bind packed field
'((std::ios_base*)this)->std::ios_base::_M_flags' to 'std::_Ios_Fmtflags&'
   _M_flags |= __fmtfl;
   ^
C:/mingw-w64/x86_64-5.3.0-posix-seh-rt_v4-rev0/mingw64/x86_64-w64-mingw32/include/c++/bits/ios_base.h:
In member function 'std::ios_base::fmtflags
std::ios_base::setf(std::ios_base::fmtflags, std::ios_base::fmtflags)':
C:/mingw-w64/x86_64-5.3.0-posix-seh-rt_v4-rev0/mingw64/x86_64-w64-mingw32/include/c++/bits/ios_base.h:666:7:
error: cannot bind packed field
'((std::ios_base*)this)->std::ios_base::_M_flags' to 'std::_Ios_Fmtflags&'
   _M_flags &= ~__mask;
   ^
C:/mingw-w64/x86_64-5.3.0-posix-seh-rt_v4-rev0/mingw64/x86_64-w64-mingw32/include/c++/bits/ios_base.h:667:7:
error: cannot bind packed field
'((std::ios_base*)this)->std::ios_base::_M_flags' to 'std::_Ios_Fmtflags&'
   _M_flags |= (__fmtfl & __mask);
   ^
C:/mingw-w64/x86_64-5.3.0-posix-seh-rt_v4-rev0/mingw64/x86_64-w64-mingw32/include/c++/bits/ios_base.h:
In member function 'void std::ios_base::unsetf(std::ios_base::fmtflags)':
C:/mingw-w64/x86_64-5.3.0-posix-seh-rt_v4-rev0/mingw64/x86_64-w64-mingw32/include/c++/bits/ios_base.h:679:7:
error: cannot bind packed field
'((std::ios_base*)this)->std::ios_base::_M_flags' to 'std::_Ios_Fmtflags&'
 { _M_flags &= ~__mask; }
   ^
C:/mingw-w64/x86_64-5.3.0-posix-seh-rt_v4-rev0/mingw64/x86_64-w64-mingw32/include/c++/bits/ios_base.h:
In member function 'long int& std::ios_base::iword(int)':
C:/mingw-w64/x86_64-5.3.0-posix-seh-rt_v4-rev0/mingw64/x86_64-w64-mingw32/include/c++/bits/ios_base.h:813:21:
error: cannot bind packed field '__word.std::ios_base::_Words::_M_iword' to
'long int&'
   return __word._M_iword;
 ^
C:/mingw-w64/x86_64-5.3.0-posix-seh-rt_v4-rev0/mingw64/x86_64-w64-mingw32/include/c++/bits/ios_base.h:
In member function 'void*& std::ios_base::pword(int)':
C:/mingw-w64/x86_64-5.3.0-posix-seh-rt_v4-rev0/mingw64/x86_64-w64-mingw32/include/c++/bits/ios_base.h:834:21:
error: cannot bind packed field '__word.std::ios_base::_Words::_M_pword' to
'void*&'
   return __word._M_pword;
 ^
Here is a code to reproduce:
//#include 
//using namespace std;

#define EEMEM /// fake

template
class EepromAccessor {
public:
EepromAccessor(T& data) : data_(data) {};
inline operator T() {   return (data_);} /// fake Get
inline EepromAccessor& operator=(const T& val) { /// fake Set
data_= val;return *this;
}
private:
T& data_;
};

template
inline EepromAccessor Eeprom(T& data)
{
EepromAccessor eepromdata(data);
return eepromdata;
}

unsigned int EEMEM test;
int main()
{
Eeprom(test) = 32;
unsigned int r = Eeprom(test);

//cout << " eeprom: " 

[Bug fortran/70696] [Coarray] ICE on EVENT POST of host-associated EVENT_TYPE coarray

2017-01-29 Thread vehre at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70696

--- Comment #15 from vehre at gcc dot gnu.org ---
Author: vehre
Date: Sun Jan 29 15:14:41 2017
New Revision: 245016

URL: https://gcc.gnu.org/viewcvs?rev=245016&root=gcc&view=rev
Log:
libgfortran/ChangeLog:

2017-01-29  Andre Vehreschild  

Backport from trunk
2017-01-13  Andre Vehreschild  

PR fortran/68887
PR fortran/70696
* caf/single.c (_gfortran_caf_register): Allocate enough memory for
the event counter.



Modified:
branches/gcc-6-branch/libgfortran/caf/single.c

[Bug fortran/68887] [6 regression] gfortran.dg/coarray/event_[12].f90 -fcoarray=lib -O2 -lcaf_single -latomic fails

2017-01-29 Thread vehre at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68887

--- Comment #15 from vehre at gcc dot gnu.org ---
Author: vehre
Date: Sun Jan 29 15:14:41 2017
New Revision: 245016

URL: https://gcc.gnu.org/viewcvs?rev=245016&root=gcc&view=rev
Log:
libgfortran/ChangeLog:

2017-01-29  Andre Vehreschild  

Backport from trunk
2017-01-13  Andre Vehreschild  

PR fortran/68887
PR fortran/70696
* caf/single.c (_gfortran_caf_register): Allocate enough memory for
the event counter.



Modified:
branches/gcc-6-branch/libgfortran/caf/single.c

[Bug fortran/70697] [Coarray] ICE on EVENT WAIT with array element UNTIL_COUNT argument

2017-01-29 Thread vehre at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70697

--- Comment #6 from vehre at gcc dot gnu.org ---
Backported to gcc-6. Waiting on week for regression before closing.

[Bug fortran/70697] [Coarray] ICE on EVENT WAIT with array element UNTIL_COUNT argument

2017-01-29 Thread vehre at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70697

--- Comment #5 from vehre at gcc dot gnu.org ---
Author: vehre
Date: Sun Jan 29 14:47:28 2017
New Revision: 245015

URL: https://gcc.gnu.org/viewcvs?rev=245015&root=gcc&view=rev
Log:
gcc/testsuite/ChangeLog:

2017-01-29  Andre Vehreschild  

Backport from trunk
2017-01-13  Andre Vehreschild  

PR fortran/70697
* gfortran.dg/coarray/event_4.f08: New test.


gcc/fortran/ChangeLog:

2017-01-29  Andre Vehreschild  

Backport from trunk
2017-01-13  Andre Vehreschild  

PR fortran/70697
* resolve.c (resolve_lock_unlock_event): Resolve the expression for
event's until_count.


Added:
branches/gcc-6-branch/gcc/testsuite/gfortran.dg/coarray/event_4.f08
Modified:
branches/gcc-6-branch/gcc/fortran/ChangeLog
branches/gcc-6-branch/gcc/fortran/resolve.c
branches/gcc-6-branch/gcc/testsuite/ChangeLog

[Bug c++/79267] New: internal compiler error with -O3 or -O2 -finline-functions

2017-01-29 Thread g.chauvat at laposte dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79267

Bug ID: 79267
   Summary: internal compiler error with -O3 or -O2
-finline-functions
   Product: gcc
   Version: 6.3.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: g.chauvat at laposte dot net
  Target Milestone: ---

Created attachment 40614
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40614&action=edit
reduced preprocessed file

Hi,

The compilation of Nektar++ fails with an internal compiler error when using
-O3 or -O2 -finline-functions with g++ 6.3.1 on Arch Linux. It compiles well
with -O2.

- The full preprocessed file weighs 5 MB:
https://fichiers.fschhh.net/fichiers1/Interp.ii
a version reduced with creduce is attached, I hope it triggers the same
problem.


- compiler options:
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/6.3.1/lto-wrapper
Cible : x86_64-pc-linux-gnu
Configuré avec: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib
--libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info
--with-bugurl=https://bugs.archlinux.org/
--enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared
--enable-threads=posix --enable-libmpx --with-system-zlib --with-isl
--enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu
--disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object
--enable-linker-build-id --enable-lto --enable-plugin
--enable-install-libiberty --with-linker-hash-style=gnu
--enable-gnu-indirect-function --disable-multilib --disable-werror
--enable-checking=release
Modèle de thread: posix
gcc version 6.3.1 20170109 (GCC)

- log:
/home/guillaume/local/src/nektar++/library/LibUtilities/Foundations/Interp.cpp:
Dans la fonction « void Nektar::LibUtilities::Interp2D(const
Nektar::LibUtilities::PointsKey&, const Nektar::LibUtilities::PointsKey&, const
NekDouble*, const Nektar::LibUtilities::PointsKey&, const
Nektar::LibUtilities::PointsKey&, Nektar::NekDouble*) »:
/home/guillaume/local/src/nektar++/library/LibUtilities/Foundations/Interp.cpp:166:53:
erreur interne du compilateur : dans assign_temp, à function.c:961
 I1 = PointsManager()[fpoints1]->GetI(tpoints1);
  ~~~^~

[Bug fortran/70696] [Coarray] ICE on EVENT POST of host-associated EVENT_TYPE coarray

2017-01-29 Thread vehre at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70696

--- Comment #14 from vehre at gcc dot gnu.org ---
Backported to gcc-6. Waiting one week for regressions before closing.

[Bug fortran/70696] [Coarray] ICE on EVENT POST of host-associated EVENT_TYPE coarray

2017-01-29 Thread vehre at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70696

--- Comment #13 from vehre at gcc dot gnu.org ---
Author: vehre
Date: Sun Jan 29 13:50:23 2017
New Revision: 245014

URL: https://gcc.gnu.org/viewcvs?rev=245014&root=gcc&view=rev
Log:
2017-01-29  Andre Vehreschild  

Backport from trunk
PR fortran/70696
* trans-expr.c (gfc_get_tree_for_caf_expr): Ensure the backend_decl
is valid before accessing it.  Remove unnecessary assert.
* trans-decl.c (gfc_build_qualified_array): Add static tokens to the
parent function's scope only, when the decl-context is not the
translation unit.

2017-01-29  Andre Vehreschild  

Backport from trunk
2017-01-19  Andre Vehreschild  

PR fortran/70696
* gfortran.dg/coarray_43.f90: New test.

2017-01-18  Andre Vehreschild  

PR fortran/70696
* gfortran.dg/coarray_event_1.f08: New test.

2017-01-13  Andre Vehreschild  

PR fortran/70696
* gfortran.dg/coarray/event_3.f08: New test.


Added:
branches/gcc-6-branch/gcc/testsuite/gfortran.dg/coarray/event_3.f08
branches/gcc-6-branch/gcc/testsuite/gfortran.dg/coarray_43.f90
branches/gcc-6-branch/gcc/testsuite/gfortran.dg/coarray_event_1.f08
Modified:
branches/gcc-6-branch/gcc/fortran/ChangeLog
branches/gcc-6-branch/gcc/fortran/trans-decl.c
branches/gcc-6-branch/gcc/fortran/trans-expr.c
branches/gcc-6-branch/gcc/testsuite/ChangeLog

[Bug rtl-optimization/78580] [6 Regression] Segfault in gcc with multilib (-m32) and -ffixed-*

2017-01-29 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78580

Jakub Jelinek  changed:

   What|Removed |Added

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

--- Comment #9 from Jakub Jelinek  ---
.

[Bug rtl-optimization/78580] [6 Regression] Segfault in gcc with multilib (-m32) and -ffixed-*

2017-01-29 Thread bunk at stusta dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78580

Adrian Bunk  changed:

   What|Removed |Added

 CC||bunk at stusta dot de

--- Comment #8 from Adrian Bunk  ---
Could you also fix this in the gcc 6 branch?

This is a gcc 6 regression that is part of the reason why gprolog in Debian
cannot be compiled with gcc 6 on i686.

Thanks