[Bug tree-optimization/54779] split FRAME variables back into pieces

2017-09-12 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54779

Eric Botcazou  changed:

   What|Removed |Added

  Attachment #34016|0   |1
is obsolete||

--- Comment #9 from Eric Botcazou  ---
Created attachment 42158
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42158&action=edit
Updated implementation

For a 7-based compiler.

[Bug c++/81474] out of memory on constexpr calculation

2017-09-12 Thread bobk-off at yandex dot ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81474

--- Comment #2 from Fedor Bobkov  ---
Thread-starting example is intended only for demonstration of out of memory
error on simply example. In real projects out of memory error occurs with much
smaller loops which just use bigger amount of data.

I had got this error on compile-time bilinear downscaling of signed distance
field image. May be it is not proper way to use constexprs but it is very
useful in embedded applications (with small RAM and big ROM (flash) memory).

[Bug c++/81474] out of memory on constexpr calculation

2017-09-12 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81474

--- Comment #3 from Martin Liška  ---
(In reply to Fedor Bobkov from comment #2)
> Thread-starting example is intended only for demonstration of out of memory
> error on simply example. In real projects out of memory error occurs with
> much smaller loops which just use bigger amount of data.
> 
> I had got this error on compile-time bilinear downscaling of signed distance
> field image. May be it is not proper way to use constexprs but it is very
> useful in embedded applications (with small RAM and big ROM (flash) memory).

Can you please elaborate it more? We're interested in a test-case for that ;)

[Bug bootstrap/81315] powerpc64 vs building lang/gcc7-devel (on FreeBSD head): xgcc gets segmentation fault

2017-09-12 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81315

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2017-09-12
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Any chance to reproduce with a cross compiler on Linux?

[Bug c++/81474] out of memory on constexpr calculation

2017-09-12 Thread bobk-off at yandex dot ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81474

--- Comment #4 from Fedor Bobkov  ---
> Can you please elaborate it more? We're interested in a test-case for that ;)

I'll try to make simplified code of this app as soon as possible.

[Bug c/80942] -Woverlength-strings should no longer be implied by -Wpedantic

2017-09-12 Thread vincent-gcc at vinc17 dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80942

--- Comment #4 from Vincent Lefèvre  ---
(In reply to jos...@codesourcery.com from comment #2)
> The documentation explicitly says -Wpedantic includes some warnings about 
> things outside of ISO C, beyond those that violate syntax rules or 
> constraints.

This is not what is documented:

Issue all the warnings demanded by strict ISO C and ISO C++; reject
all programs that use forbidden extensions, and some other programs
that do not follow ISO C and ISO C++.  For ISO C, follows the
version of the ISO C standard specified by any -std option used.
[...]
Some users try to use -Wpedantic to check programs for strict ISO C
conformance.  They soon find that it does not do quite what they
want: it finds some non-ISO practices, but not all---only those for
which ISO C requires a diagnostic, and some others for which
diagnostics have been added.

Here, long strings are still valid C code, they are not even an extension (they
just depend on implementation limits). It does not make much sense to reject
them while still allowing some real extensions.

[Bug c/82187] New: missing optimization pointer to char*

2017-09-12 Thread loader2x at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82187

Bug ID: 82187
   Summary: missing optimization pointer to char*
   Product: gcc
   Version: 7.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: loader2x at gmail dot com
  Target Milestone: ---

I have this code: main.c:

int main(int c, char **v){
char *s = v[0];
while (*s++ != 0) {
if ((*s == 'a') && (*s != 'b')) {
return 1;
}
}
return 0;
}

which I compile generating the assembly code:

gcc -S -masm=intel -O3 main.c


main:
.LFB0:
.cfi_startproc
mov rax, QWORD PTR [rsi]
jmp .L2
.p2align 4,,10
.p2align 3
.L4:
cmp BYTE PTR [rax], 97
je  .L5
.L2:
add rax, 1
cmp BYTE PTR -1[rax], 0
jne .L4
xor eax, eax
ret
.L5:
mov eax, 1
ret


There are two accesses to the memory, it could be optimized to one access to
the memory.

When I set 'volatile char *s = v[0];', there are 3 accesses to the memory which
is good.

[Bug tree-optimization/82186] [7/8 Regression] ICE (segfault), VLA type with inlining

2017-09-12 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82186

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-09-12
 CC||marxin at gcc dot gnu.org,
   ||rguenth at gcc dot gnu.org
   Target Milestone|--- |7.3
Summary|ICE (segfault), VLA type|[7/8 Regression] ICE
   |with inlining   |(segfault), VLA type with
   ||inlining
 Ever confirmed|0   |1
  Known to fail||7.2.0, 8.0

--- Comment #1 from Martin Liška  ---
Confirmed, started with r235817.

[Bug testsuite/82132] FAIL: gcc.dg/vect/vect-tail-nomask-1.c (test for excess errors) due to missing posix_memalign

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82132

Richard Biener  changed:

   What|Removed |Added

  Component|target  |testsuite

--- Comment #1 from Richard Biener  ---
There is no "builtin" for this, the link fail will not go away.

Other testcases simply restrict the testcase to *-*-linux *-*-gnu*

[Bug tree-optimization/82133] [7/8 Regression] unroll-loops too aggressive

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82133

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Keywords||wrong-code
   Last reconfirmed||2017-09-12
  Component|c   |tree-optimization
 CC||rguenth at gcc dot gnu.org
 Ever confirmed|0   |1
Summary|unroll-loops too aggressive |[7/8 Regression]
   ||unroll-loops too aggressive
   Target Milestone|--- |7.3
  Known to fail||7.1.0, 7.2.0

--- Comment #2 from Richard Biener  ---
Can you isolate the affected function by isolating a testcase that fails that
way and compiling openblas file-by-file with different optimization?  (I
suppose -O0 works)

[Bug target/82185] ICE: Segmentation fault in expand_binop gcc/optabs.c:1137

2017-09-12 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82185

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2017-09-12
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #2 from Martin Liška  ---
Can't reproduce with x86_64-linux-gnu cross compiler:

../configure --enable-languages=c,c++ --disable-multilib --disable-libsanitizer
--prefix=/home/marxin/bin/gcc --disable-bootstrap --target=xtensa-linux-gnu

Can you help me how to reproduce?

[Bug tree-optimization/82135] Missed constant propagation through possible unsigned wraparound, with std::align() variable pointer, constant everything else.

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82135

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-09-12
 Ever confirmed|0   |1

--- Comment #3 from Richard Biener  ---
Thus confirmed.

[Bug target/82136] x86: -mavx256-split-unaligned-load should try to fold other shuffles into the load/vinsertf128

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82136

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-09-12
 CC||rguenth at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #2 from Richard Biener  ---
GCC just applies the general interleaving strategy here which for existing
groups can be indeed quite bad.  And it gets worse because of the splitting
which isn't exposed to the vectorizer.

In the end the GIMPLE IL more nicely explains what the vectorizer tries to
do -- extract even/odd, mult/add and then interleave high/low:

  vect_x_13.2_26 = MEM[base: _2, offset: 0B];
  vect_x_13.3_22 = MEM[base: _2, offset: 32B];
  vect_perm_even_21 = VEC_PERM_EXPR ;
  vect_perm_odd_20 = VEC_PERM_EXPR ;
  vect__7.4_19 = vect_perm_odd_20 * vect_perm_even_21;
  vect__8.5_18 = vect_perm_odd_20 + vect_perm_even_21;
  vect_inter_high_34 = VEC_PERM_EXPR ;
  vect_inter_low_29 = VEC_PERM_EXPR ;
  MEM[base: _2, offset: 0B] = vect_inter_high_34;
  MEM[base: _2, offset: 32B] = vect_inter_low_29;

not sure what ends up messing things up here (I guess AVX256 doesn't have
full width extract even/odd and interleave high/low ...).

Looks like with -mprefer-avx128 we never try the larger vector size (Oops?).
At least we figure vectorization isn't profitable.

So all this probably boils down to costs of permutes not being modeled.

[Bug target/81800] [8 regression] on aarch64 ilp32 lrint should not be inlined as two instructions

2017-09-12 Thread tnfchris at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81800

--- Comment #7 from Tamar Christina  ---
Yes, sorry I neglected to update the assignee. The bug itself is simple to fix
but it highlighted a different related problem. That's what's delayed the fix.

[Bug rtl-optimization/82180] assign_spill_hard_regs spills to unaligned register pair

2017-09-12 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82180

--- Comment #2 from Tom de Vries  ---
> However, I'm running into spills being generated by lra using an unaligned
> register pair (in this case, it's (r67, r77)):

Sorry, that's a mistake, that's supposed to be (r67, r68).

> ...
> ;(insn 53501 58177 3793 633 (set (reg:DI 67 s67)
> ;(reg:DI 42 s42 [4460])) "minlocval_3.f90":59 16 {*movdi_insn}
> ; (nil))
> ...

[Bug tree-optimization/82137] auto-vectorizing shuffles way to much to avoid duplicate work

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82137

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-09-12
 CC||rguenth at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener  ---
Interesting idea.  It's probably a bit hard to make the vectorizer do this
though given it's current structure and the fact that it would have to
cost the extra ops against the saved suffling (the extra cost of the ops
would depent on availability of spare execution resources for example).

In general the interleaving strategy looks like a bit of a dead end with
AVX (and possibly worse on AVX512).  This is how extract even gets expanded:

;; vect_perm_even_21 = VEC_PERM_EXPR ;

(insn 18 16 17 (set (reg:V4DF 103)
(vec_select:V4DF (vec_concat:V8DF (reg:V4DF 95 [ vect_x_13.2 ])
(reg:V4DF 93 [ vect_x_13.3 ]))
(parallel [
(const_int 0 [0])
(const_int 4 [0x4])
(const_int 2 [0x2])
(const_int 6 [0x6])
]))) "t2.c":6 {*avx_unpcklpd256}
 (nil))

(insn 17 18 0 (set (reg:V4DF 92 [ vect_perm_even_21 ])
(vec_select:V4DF (reg:V4DF 103)
(parallel [
(const_int 0 [0])
(const_int 2 [0x2])
(const_int 1 [0x1])
(const_int 3 [0x3])
]))) "t2.c":6 4183 {avx2_permv4df_1}
 (nil))

[Bug target/82138] [8 Regression] Assembler messages: Error: can't resolve `.got2' {.got2 section} - `.LCF0' {.text.unlikely section}

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82138

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |8.0

[Bug ada/82141] [8 Regression] raised RTSFIND.RE_NOT_AVAILABLE : rtsfind.adb:851 on darwin

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82141

Richard Biener  changed:

   What|Removed |Added

   Keywords||build
  Component|bootstrap   |ada
   Target Milestone|--- |8.0

[Bug tree-optimization/82188] New: Missed optimization opportunity for constant folding

2017-09-12 Thread ishiura-compiler at ml dot kwansei.ac.jp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82188

Bug ID: 82188
   Summary: Missed optimization opportunity for constant folding
   Product: gcc
   Version: 8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ishiura-compiler at ml dot kwansei.ac.jp
  Target Milestone: ---

We compiled two programs (A1.c, A2.c) by GCC-8.0.0 with -O3 option.
Though the two programs are equivalent, GCC outputs different assembly codes.


+-+-+
| A1.c| A2.c|
+-+-+
|int main (void)  |int main (void)  |
|{|{|
|  volatile int x = 1;|  volatile int x = 1;|
| | |
|  long t1 = 1/(2U-x);|  long t1 = 1/(2U-x);|
|  int t2 = 0!=(((int)(2%(2+t1)))/2); |  int t2 = 0!=(int)t1;   |
| | |
|  if (t1 != 1) __builtin_abort();|  if (t1 != 1) __builtin_abort();|
|  if (t2 != 1) __builtin_abort();|  if (t2 != 1) __builtin_abort();|
| | |
|  return 0;  |  return 0;  |
|}|}|
+-+-+

+-+-+
|A1.s (gcc-8.0.0 A1.c -O3 -S) |A2.s (gcc-8.0.0 A2.c -O3 -S) |
+-+-+
|main:|main:|
|.LFB0:   |.LFB0:   |
|   .cfi_startproc|   .cfi_startproc|
|   subq   $24, %rsp  |   subq   $24, %rsp  |
|   .cfi_def_cfa_offset 32|   .cfi_def_cfa_offset 32|
|   movl   $2, %esi   |   movl   $2, %ecx   |
|   xorl   %edx, %edx |   xorl   %edx, %edx |
|   movl   $1, 12(%rsp)   |   movl   $1, 12(%rsp)   |
|   movl   12(%rsp), %eax |   movl   12(%rsp), %eax |
|   subl   %eax, %esi |   subl   %eax, %ecx |
|   movl   $1, %eax   |   movl   $1, %eax   |
|   divl   %esi   |   divl   %ecx   |
|   movl   %eax, %esi |   testl  %eax, %eax |
|   movl   $2, %eax   |   je .L3|
|   movq   %rsi, %rcx | |
|   cqto  | |
|   addq   $2, %rsi   | |
|   idivq  %rsi   | |
|   cmpl   $1, %ecx   | |
|   jne.L3| |
|   cmpq   $2, %rdx   | |
|   jne.L3| |
|   xorl   %eax, %eax |   xorl   %eax, %eax |
|   addq   $24, %rsp  |   addq   $24, %rsp  |
|   .cfi_def_cfa_offset 8 |   .cfi_def_cfa_offset 8 |
|   ret   |   ret   |
|   .cfi_endproc  |   .cfi_endproc  |
|   .section   .text.unlikely |   .section   .text.unlikely |
|   .cfi_startproc|   .cfi_startproc|
|   .type   main.cold.0, @function|   .type   main.cold.0, @function|
|main.cold.0: |main.cold.0: |
|.L3: |.L3: |
|   .cfi_def_cfa_offset 32|   .cfi_def_cfa_offset 32|
|   call   abort  |   call   abort  |
|   .cfi_endproc  |   .cfi_endproc  |
|.LFE0:   |.LFE0:   |
|   .section   .text.startup  |   .section   .text.startup  |
|   .size   main, .-main  |   .size   main, .-main  |
|   .section 

[Bug fortran/82184] [8 Regression] 187.facerec in SPEC CPU 2000 miscompares

2017-09-12 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82184

--- Comment #2 from Thomas Koenig  ---
Richard, I think you have access to the SPEC
sources (which no gfortran maintainer has).

Could you give us a hint of what goes wrong?

[Bug tree-optimization/82133] [7/8 Regression] unroll-loops too aggressive

2017-09-12 Thread nickpapior at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82133

--- Comment #3 from Nick  ---
According to
https://github.com/xianyi/OpenBLAS/issues/1292#issuecomment-327788223, it is in
the kernel/x86_64/dgemv_n_microk_haswell-4.c source where the loop-unrolling
has caused the parent function call which is kernel/x86_64/dgemv_n_4.c. I.e.
the unrolling is too aggressive in dgemv_n_4.c.

However, I am no expert in the OpenBLAS source code to be able to extract the
relevant sources and make a functioning C-program to try and reproduce it.

All I can see is that the use of the loop counter in dgemv_n_4.c is a
relatively complex method.

And yes, OpenBLAS works fine without any of the mentioned flags (it also works
for much more aggressive optimizations, but just not with the -funroll-loops
-fipa-ra flags.

[Bug tree-optimization/82142] struct zeroing should use wide stores instead of avoiding overwriting padding

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82142

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-09-12
 CC||jamborm at gcc dot gnu.org,
   ||rguenth at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener  ---
I believe this is SRAs fault to expose the padding in the first place.  Later
we do try to merge the stores "back" but obviously we can't do that.

Eventually we could make SRA emit CLOBBERs for the padding but not sure if
that alone would help.

I think we may have duplicates for this SRA "issue".  W/o vectorization
we end up with

assignzero (struct foo * p)
{
   [100.00%] [count: INV]:
  MEM[(struct foo *)p_2(D)] = 0;
  MEM[(struct foo *)p_2(D) + 8B] = 0;
  MEM[(struct foo *)p_2(D) + 12B] = 0;
  MEM[(struct foo *)p_2(D) + 14B] = 0;
  MEM[(struct foo *)p_2(D) + 16B] = 0;
  MEM[(struct foo *)p_2(D) + 24B] = 0;
  MEM[(struct foo *)p_2(D) + 32B] = 0;
  MEM[(struct foo *)p_2(D) + 40B] = 0;
  MEM[(struct foo *)p_2(D) + 48B] = 0;
  MEM[(struct foo *)p_2(D) + 56B] = 0;
  return;

with vectorization:

assignzero (struct foo * p)
{
   [100.00%] [count: INV]:
  MEM[(struct foo *)p_2(D)] = 0;
  MEM[(struct foo *)p_2(D) + 8B] = 0;
  MEM[(struct foo *)p_2(D) + 12B] = 0;
  MEM[(struct foo *)p_2(D) + 14B] = 0;
  MEM[(struct foo *)p_2(D) + 16B] = { 0, 0, 0, 0, 0, 0, 0, 0 };
  MEM[(struct foo *)p_2(D) + 48B] = 0;
  MEM[(struct foo *)p_2(D) + 56B] = 0;

I think store-merging could make use of

  MEM[(...)p_2(D) + CST] = CLOBBER;

for the holes.

Note that strictly speaking as we optimize memset(.., 0, ..) to = {} SRA
cannot simply replace = {} with setting only non-padding members to zero.
Likewise we optimize memcpy (A, B,...) to *A = *B, same arguments for
padding apply.  Ok, so we don't actually fold that aggressive.

[Bug debug/82144] [8 Regression] ICE in add_dwarf_attr with alignas

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82144

Richard Biener  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org
   Target Milestone|--- |8.0

--- Comment #2 from Richard Biener  ---
I will investigate.

[Bug tree-optimization/82189] New: Two level SLP needed

2017-09-12 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82189

Bug ID: 82189
   Summary: Two level SLP needed
   Product: gcc
   Version: 8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: pinskia at gcc dot gnu.org
  Target Milestone: ---
Target: aarch64

Take:
void f(float *restrict a, float * restrict b, float * restrict c, float t)
{
  int i = 0 ;
  a[i] = b[i]/t;
  a[i+1] = b[i+1]/t;
  a[i+2] = c[i]/t;
  a[i+3] = c[i+1]/t;
}

Right now we do SLP once (at -O3) and produce:
f:
dup v2.2s, v0.s[0]
ldr d1, [x1]
ldr d0, [x2]
fdivv1.2s, v1.2s, v2.2s
fdivv0.2s, v0.2s, v2.2s
stp d1, d0, [x0]
ret

But it might be better do:
f:
dup v2.4s, v0.s[0]
ldr d0, [x1]
ldr d1, [x2]
ins v0.2d[1], v1.2d[0]
fdivv0.4s, v0.4s, v2.4s
str q0, [x0]
ret

Mainly because two div is usually not pipelined.

[Bug fortran/56818] [meta-bug] fortran-dev bugs

2017-09-12 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56818
Bug 56818 depends on bug 34640, which changed state.

Bug 34640 Summary: ICE when assigning item of a derived-component to a pointer
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=34640

   What|Removed |Added

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

[Bug tree-optimization/82189] Two stage SLP needed

2017-09-12 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82189

Andrew Pinski  changed:

   What|Removed |Added

   Severity|normal  |enhancement

[Bug fortran/32834] [Meta-bug] 'Fortran 95'-only failures

2017-09-12 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=32834
Bug 32834 depends on bug 34640, which changed state.

Bug 34640 Summary: ICE when assigning item of a derived-component to a pointer
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=34640

   What|Removed |Added

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

[Bug fortran/34640] ICE when assigning item of a derived-component to a pointer

2017-09-12 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=34640

Dominique d'Humieres  changed:

   What|Removed |Added

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

--- Comment #41 from Dominique d'Humieres  ---
Most of the tests give an ICE after r251949:

pr34640.f90:32:0:

 values => d(:)%value

internal compiler error: Segmentation fault: 11

pr34640_5.f90:1:0:

 type var_tables

internal compiler error: Segmentation fault: 11

These ICEs were fixed by the latest patch in the mailing list.

[Bug fortran/39304] ICE with MATMUL, specific/generic functions and rank checking

2017-09-12 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39304
Bug 39304 depends on bug 34640, which changed state.

Bug 34640 Summary: ICE when assigning item of a derived-component to a pointer
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=34640

   What|Removed |Added

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

[Bug fortran/82184] [8 Regression] 187.facerec in SPEC CPU 2000 miscompares

2017-09-12 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82184

--- Comment #3 from Dominique d'Humieres  ---
I have reopened pr34640 due to ICEs that were not present in the latest patch I
have tested.

I don't know if this PR is the same issue.

[Bug ada/82141] [8 Regression] raised RTSFIND.RE_NOT_AVAILABLE : rtsfind.adb:851 on darwin

2017-09-12 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82141

--- Comment #13 from Dominique d'Humieres  ---
> I have been able to bootstrap with the commit for ada/sem_ch7.adb reverted.

Unfortunately this does not survive the following changes (probably expected),
i.e., r251975 is still broken.

[Bug target/82147] Autovectorization for extraction is slower than done manually

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82147

--- Comment #2 from Richard Biener  ---
The vectorizer performs interleaving for this kind of loop, your manual one
isn't really vectorized (you only vectorize the load).

[Bug c++/82148] [7/8 Regression] ICE in assign_temp, at function.c:968

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82148

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug middle-end/82149] match.pd: 2919: bad if test ?

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82149

Richard Biener  changed:

   What|Removed |Added

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

--- Comment #4 from Richard Biener  ---
Will test/commit a fix.

[Bug middle-end/82153] missed optimization: double rounding

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82153

Richard Biener  changed:

   What|Removed |Added

   Keywords||missed-optimization
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-09-12
  Component|rtl-optimization|middle-end
 Ever confirmed|0   |1

--- Comment #5 from Richard Biener  ---
thus

(simplify (fix_trunc (TRUNC @0)) (fix_trunc @0))

with appropriate condition.

[Bug middle-end/82154] [8 Regression] ICE in fold_binary_loc, at fold-const.c:9088 in 32-bit mingw32

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82154

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |8.0

[Bug tree-optimization/82157] [8 Regression] ICE on valid code at -O2 and -O3: cannot update SSA form

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82157

Richard Biener  changed:

   What|Removed |Added

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

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


[Bug c++/82159] [6/7/8 Regression] ICE: in assign_temp, at function.c:961

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82159

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug c++/82165] Operator overloading doesn't work with enum bit fields

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82165

--- Comment #1 from Richard Biener  ---
IIRC bitfield rvalues get promoted to 'int' before overload resolution applies
but I may be wrong.  enum bitfields may also be a GNU extension.

[Bug target/82175] [8 Regression] -march=native fails on armv7 big/little system armv7l-unknown-linux-gnueabihf with gcc 8.0.0

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82175

Richard Biener  changed:

   What|Removed |Added

   Keywords||wrong-code
   Target Milestone|--- |8.0
Summary|-march=native fails on  |[8 Regression]
   |armv7 big/little system |-march=native fails on
   |armv7l-unknown-linux-gnueab |armv7 big/little system
   |ihf with gcc 8.0.0  |armv7l-unknown-linux-gnueab
   ||ihf with gcc 8.0.0

[Bug tree-optimization/82188] Missed optimization opportunity for constant folding

2017-09-12 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82188

Andrew Pinski  changed:

   What|Removed |Added

   Keywords||missed-optimization

--- Comment #1 from Andrew Pinski  ---
There are a few different missed optimizations here that GCC does not do but
LLVM does:

* 1/(2U-x) != 0 is the same as x != 1

* 0!=x/2 is the same as x >= -1 && x <= 1

[Bug middle-end/82177] Alias analysis too aggressive with integer-to-pointer cast

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82177

Richard Biener  changed:

   What|Removed |Added

   Keywords||alias
 CC||rguenth at gcc dot gnu.org

--- Comment #4 from Richard Biener  ---
This is a dup of another PR which I can't find right now.  GCC handles
pointer-to-integer casts just fine.  What it doesn't is creating alias
relationship
by relational tests (! n) but at the same time it sometimes propagates
conditional equivalences (that's not the issue in your case I think).

As said in that PR an incomplete fix would be to do sth like

Index: gcc/tree-ssa-structalias.c
===
--- gcc/tree-ssa-structalias.c  (revision 251997)
+++ gcc/tree-ssa-structalias.c  (working copy)
@@ -4954,6 +4954,19 @@ find_func_aliases (struct function *fn,
make_escape_constraint (rhsop);
}
 }
+  else if (gcond *cond = dyn_cast  (t))
+{
+  if ((gimple_cond_code (cond) == EQ_EXPR
+  || gimple_cond_code (cond) == NE_EXPR)
+ && TREE_CODE (gimple_cond_rhs (cond)) == SSA_NAME)
+   {
+ auto_vec rhs1c;
+ auto_vec rhs2c;
+ get_constraint_for_rhs (gimple_cond_lhs (cond), &rhs1c);
+ get_constraint_for_rhs (gimple_cond_rhs (cond), &rhs2c);
+ process_all_all_constraints (rhs1c, rhs2c);
+   }
+}
   /* Handle escapes through return.  */
   else if (gimple_code (t) == GIMPLE_RETURN
   && gimple_return_retval (as_a  (t)) != NULL_TREE)

the effect on the number of constraints and optimization is unknown.

Incomplete because the above doesn't handle other ways of relating things.
The compare might be in an external function and thus not visible to GCC
at all.  Which means we must assume that all pointers that escaped the
current function might actually point to the same thing if a function
call happens (and the result is in any way used in a conditional).

You can workaround GCCs "deficiency" by using -fno-tree-pta.

[Bug fortran/82184] [8 Regression] 187.facerec in SPEC CPU 2000 miscompares

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82184

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |8.0

[Bug c/82186] [7/8 Regression] ICE (segfault), VLA type with inlining

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82186

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2
  Component|tree-optimization   |c

--- Comment #2 from Richard Biener  ---
Another instance of the C FE missing a DECL_EXPR.

[Bug tree-optimization/82187] missed PRE at -O3

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82187

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-09-12
 CC||rguenth at gcc dot gnu.org
Summary|missing optimization|missed PRE at -O3
   |pointer to char*|
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener  ---
I see with -O2:
.L4:
movzbl  (%rax), %edx
cmpb$97, %dl
je  .L5
.L2:
addq$1, %rax
testb   %dl, %dl
jne .L4
xorl%eax, %eax
ret
.L5:
movl$1, %eax
ret

so a single load in the loop.  Something messes up at -O3.

[Bug tree-optimization/82188] Missed optimization opportunity for constant folding

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82188

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-09-12
 Ever confirmed|0   |1

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

[Bug tree-optimization/82189] Two stage SLP needed

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82189

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-09-12
 CC||rguenth at gcc dot gnu.org
 Blocks||53947
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener  ---
I think what is missing is merging of two "vectors", aka, permutations of
different load chains:

  /* Grouped store or load.  */
  if (STMT_VINFO_GROUPED_ACCESS (vinfo_for_stmt (stmt)))
{
  if (REFERENCE_CLASS_P (lhs))
{
  /* Store.  */
  ;
}
  else
{
  /* Load.  */
  first_load = GROUP_FIRST_ELEMENT (vinfo_for_stmt (stmt));
  if (prev_first_load)
{
  /* Check that there are no loads from different interleaving
 chains in the same node.  */
  if (prev_first_load != first_load)
{
  if (dump_enabled_p ())
{
  dump_printf_loc (MSG_MISSED_OPTIMIZATION,
   vect_location,
   "Build SLP failed: different "
   "interleaving chains in one node ");
  dump_gimple_stmt (MSG_MISSED_OPTIMIZATION, TDF_SLIM,
stmt, 0);
}
  /* Mismatch.  */
  continue;

this is because we do not have a suitable way to represent those at the
moment.  So we split the store group and get the two element vectorization.

As we don't have a good intermediate representation for SLP at the moment
we can't really perfomr post-detection "optimization" on the SLP tree.

unified autovect to the rescue...


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53947
[Bug 53947] [meta-bug] vectorizer missed-optimizations

[Bug target/82190] New: Possibly latent miscompilation issue on ppc64le-linux-gnu for memcpy-bi.c with -fweb -fno-optimize-strlen

2017-09-12 Thread prathamesh3492 at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82190

Bug ID: 82190
   Summary: Possibly latent miscompilation issue on
ppc64le-linux-gnu for memcpy-bi.c with -fweb
-fno-optimize-strlen
   Product: gcc
   Version: 8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: prathamesh3492 at gcc dot gnu.org
  Target Milestone: ---

Created attachment 42159
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42159&action=edit
Reduced from memcpy-bi.c

Hi,
I am working on type-promotion patch
(https://gcc.gnu.org/ml/gcc/2017-09/msg00024.html), which miscompiles
memcpy-bi.c on ppc64le-linux-gnu.
After some investigation it seems this is possibly a latent issue on the
target.

It can be reproduced for the attached test-case on pristine trunk (tested with
r250395) with following options: -fno-optimize-strlen -fweb 

The issue seems to be that strlen pass transforms
__builtin_memcmp (dst, src, n) != 0
to __builtin_memcmp_eq(dst, src, n) != 0.
Inhibiting the above transform by disabling strlen pass, somehow interferes
with web pass, which ends up calling abort() while executing
the test-case.

$ ../bootstrap-build/gcc/xgcc -B ../bootstrap-build/gcc -O2
-fno-optimize-strlen -fweb foo.c
$ ./a.out 
Aborted

The test-case is compiled correctly if strlen pass is enabled with web
pass.

Thanks,
Prathamesh

[Bug sanitizer/82116] "nested bug in the same thread" when a bug is found while reporting another one

2017-09-12 Thread dvyukov at google dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82116

Dmitry Vyukov  changed:

   What|Removed |Added

 CC||dvyukov at google dot com

--- Comment #2 from Dmitry Vyukov  ---
Filed upstream bug:
https://github.com/google/sanitizers/issues/858
We can close this (or leave to track fix backport).

[Bug target/82150] Produces a branch prefetch which causes a hang

2017-09-12 Thread david.welch at netronome dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82150

--- Comment #3 from david.welch at netronome dot com ---
The problem exists as well with ldr pc,[something].  I have not dug through gcc
but did some compilation experiments, not nearly enough to be 100% sure, but
for switch statements the code generated always appears to do a comparison
(perhaps after a subtract or other modification, an ldrls pc,[], then an
unconditional branch to deal with the last item (or a default).  If that is
always the rule that is safe.  And for a function table, an array of function
pointers, it did the math using gprs and then a mov lr,pc ; bx rn.

an 

ldr pc,[]
literal pool data

will cause this undesired prefetch.

[Bug target/81325] -fcompare-debug failure on ppc64le

2017-09-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81325

Jakub Jelinek  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC||aoliva at gcc dot gnu.org
   Assignee|unassigned at gcc dot gnu.org  |jakub at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek  ---
I believe this is a bug in find_many_sub_basic_blocks.  When looking at say:
int i;
int bar (void);

void
foo (int x)
{
 l1:
  i += 2;
  if (bar ())
goto l1;
  int a = x + 5;
  int b = x + 10;
 l2:
  i += 2;
  if (bar ())
goto l2;
}
where before cddce1 we have at -O2 -g:
...
goto ; [INV] [count: INV]
...
   [0.00%] [count: INV]:
  a_13 = x_12(D) + 5;
  # DEBUG a => a_13
  b_14 = x_12(D) + 10;
  # DEBUG b => b_14

   [0.00%] [count: INV]:
l2:
and cddce1 decides to remove the unused a_13 and b_14, we just kill the
forwarder block bb 5 and the debug stmts are dropped on the floor (which is
unfortunate and on this testcase actually it wouldn't be impossible to move the
debug stmts to the following block if the underlying vars are not mentioned in
that loop and there are no debug stmts for that either, but we don't go that
far).
CCing Alex, because this is a nice example where debug stmts as well as
frontier stmts are dropped on the floor.
Anyway, I believe at least for now find_many_sub_basic_blocks should just throw
away sequences of debug stmts in between an instruction that must end a basic
block and instruction that must start a basic block.

[Bug tree-optimization/82128] [8 Regression] ICE on valid code

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82128

--- Comment #2 from Richard Biener  ---
Latent issue in gimple-fold.c:

Index: gcc/gimple-fold.c
===
--- gcc/gimple-fold.c   (revision 252002)
+++ gcc/gimple-fold.c   (working copy)
@@ -3872,7 +3872,7 @@ gimple_fold_call (gimple_stmt_iterator *
 we need to preserve GIMPLE_CALL statement
 at position of GSI iterator.  */
  update_call_from_tree (gsi, def);
- gsi_insert_before (gsi, new_stmt, GSI_NEW_STMT);
+ gsi_insert_before (gsi, new_stmt, GSI_SAME_STMT);
}
  else
{

[Bug target/82112] internal compiler error: in fold_convert_loc, at fold-const.c:2262

2017-09-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82112

--- Comment #2 from Jakub Jelinek  ---
Author: jakub
Date: Tue Sep 12 11:49:29 2017
New Revision: 252003

URL: https://gcc.gnu.org/viewcvs?rev=252003&root=gcc&view=rev
Log:
PR target/82112
* c-common.c (sync_resolve_size): Instead of c_dialect_cxx ()
assertion check that in the condition.
(get_atomic_generic_size): Likewise.  Before testing if parameter
has pointer type, if it has array type, call for C++
default_conversion to perform array-to-pointer conversion.

* c-c++-common/pr82112.c: New test.
* gcc.dg/pr82112.c: New test.

Added:
trunk/gcc/testsuite/c-c++-common/pr82112.c
trunk/gcc/testsuite/gcc.dg/pr82112.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-family/c-common.c
trunk/gcc/testsuite/ChangeLog

[Bug debug/82144] [8 Regression] ICE in add_dwarf_attr with alignas

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82144

Richard Biener  changed:

   What|Removed |Added

   Assignee|rguenth at gcc dot gnu.org |aoliva at gcc dot 
gnu.org

--- Comment #3 from Richard Biener  ---
Hmm, we do it twice:

static dw_die_ref
gen_enumeration_type_die (tree type, dw_die_ref context_die)
{
...
  if (TYPE_SIZE (type))
{
  tree link;

  TREE_ASM_WRITTEN (type) = 1;
  add_byte_size_attribute (type_die, type);
  add_alignment_attribute (type_die, type);
...
}
  else
add_AT_flag (type_die, DW_AT_declaration, 1);

  add_alignment_attribute (type_die, type);

  add_pubtype (type, type_die);

  return type_die;
}

not sure which one to keep.  Alex, this is now yours.

[Bug tree-optimization/82191] New: [8 Regression] ICE: Segmentation fault (in verify_use)

2017-09-12 Thread asolokha at gmx dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82191

Bug ID: 82191
   Summary: [8 Regression] ICE: Segmentation fault (in verify_use)
   Product: gcc
   Version: 8.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-8.0.0-alpha20170910 snapshot (r251952) ICEs when compiling the following
snippet w/ -O2, -O3, or -Ofast:

int
w5 (void);

int
cg (int *tc, int y2)
{
  int vf = 0;

  if (w5 () / ((y2 == 0) ? 1 : 2))
tc = &vf;

  return *tc / vf;
}

% gcc-8.0.0-alpha20170910 -O2 -c apmo3uzv.c
during GIMPLE pass: pre
apmo3uzv.c: In function 'cg':
apmo3uzv.c:5:1: internal compiler error: Segmentation fault
 cg (int *tc, int y2)
 ^~

[Bug c++/78269] FAIL: FAIL: g++.dg/cpp1z/noexcept-type11.C and FAIL: g++.dg/cpp1z/noexcept-type9.C

2017-09-12 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78269

--- Comment #11 from Paolo Carlini  ---
Thanks Thomas.

[Bug tree-optimization/82129] [8 Regression] ICE in compute_antic, at tree-ssa-pre.c:2447

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82129

--- Comment #3 from Richard Biener  ---
Not yet analyzed but I see LIM performs store-motion on

[0.00%] [count: INV] [loop 5 header]:
-  *h5_26(D) = tv_24(D);
+  h5__lsm.7_18 = tv_24(D);

where I think stores from undefined SSA names could be turned into CLOBBERs.

"Fixes" the testcase.

Index: gcc/gimple-fold.c
===
--- gcc/gimple-fold.c   (revision 252002)
+++ gcc/gimple-fold.c   (working copy)
@@ -410,6 +410,16 @@ fold_gimple_assign (gimple_stmt_iterator

else if (DECL_P (rhs))
  return get_symbol_constant_value (rhs);
+
+   else if (TREE_CODE (rhs) == SSA_NAME
+&& SSA_NAME_IS_DEFAULT_DEF (rhs)
+&& ! ssa_defined_default_def_p (rhs)
+&& gimple_store_p (stmt))
+ {
+   tree clobber = build_constructor (TREE_TYPE (rhs), NULL);
+   TREE_THIS_VOLATILE (clobber) = true;
+   return clobber;
+ }
   }
   break;

[Bug fortran/56818] [meta-bug] fortran-dev bugs

2017-09-12 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56818
Bug 56818 depends on bug 34640, which changed state.

Bug 34640 Summary: ICE when assigning item of a derived-component to a pointer
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=34640

   What|Removed |Added

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

[Bug fortran/39304] ICE with MATMUL, specific/generic functions and rank checking

2017-09-12 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39304
Bug 39304 depends on bug 34640, which changed state.

Bug 34640 Summary: ICE when assigning item of a derived-component to a pointer
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=34640

   What|Removed |Added

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

[Bug fortran/34640] ICE when assigning item of a derived-component to a pointer

2017-09-12 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=34640

Dominique d'Humieres  changed:

   What|Removed |Added

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

--- Comment #42 from Dominique d'Humieres  ---
> Most of the tests give an ICE after r251949:
> ...

Looking more carefully to what I did, it turns out that I saw the ICEs on
r251946!-(

Sorry for the noise.

[Bug fortran/32834] [Meta-bug] 'Fortran 95'-only failures

2017-09-12 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=32834
Bug 32834 depends on bug 34640, which changed state.

Bug 34640 Summary: ICE when assigning item of a derived-component to a pointer
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=34640

   What|Removed |Added

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

[Bug middle-end/82004] [8 Regression] SPEC CPU2017 628.pop2_s miscompare

2017-09-12 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82004

--- Comment #11 from rguenther at suse dot de  ---
On Mon, 11 Sep 2017, wilco at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82004
> 
> Wilco  changed:
> 
>What|Removed |Added
> 
>  CC||wilco at gcc dot gnu.org
> 
> --- Comment #10 from Wilco  ---
> Using latest GLIBC, exp(log(10),-3) is only 3ULP different from 0.001. Since
> (double)0.001 is rounded up, any <1ULP POW implementation could round down and
> fail the test. So yes the first element in chlcnc really needs to be fixed to
> 0.00099 to allow for a few ULP of error in POW.
> 
> > As a last resort we can always choose to not touch 10**x
> 
> Unfortunately almost all useful cases are 10**x... So it would be great if we
> can allow use of exp10 and exp2 to get more accurate results. This requires a
> real implementation in GLIBC, and a way to disable it. Would it be feasible to
> add a exp10 symbol to libgcc/libgfortran in case the math libraries don't
> support it?

Not sure, it depends on whether we can make sure libm is prefered over
libgfortran.  Maybe we have existing cases in libgfortran already.

[Bug tree-optimization/82042] signed integer overflow in ao_ref_init_from_ptr_and_size

2017-09-12 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82042

--- Comment #3 from rguenther at suse dot de  ---
On Mon, 11 Sep 2017, marxin at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82042
> 
> Martin Liška  changed:
> 
>What|Removed |Added
> 
>  Status|UNCONFIRMED |NEW
>Last reconfirmed||2017-09-11
>  CC||marxin at gcc dot gnu.org,
>||rguenth at gcc dot gnu.org
>Assignee|unassigned at gcc dot gnu.org  |marxin at gcc dot 
> gnu.org
>  Ever confirmed|0   |1
> 
> --- Comment #2 from Martin Liška  ---
> Confirmed, I've got patch for 3/4 of ubsan errors.
> 
> The only one which is remaining is:
> 
>679  void
>680  ao_ref_init_from_ptr_and_size (ao_ref *ref, tree ptr, tree size)
>681  {
>682HOST_WIDE_INT t, size_hwi, extra_offset = 0;
>683ref->ref = NULL_TREE;
>684if (TREE_CODE (ptr) == SSA_NAME)
>685  {
>686gimple *stmt = SSA_NAME_DEF_STMT (ptr);
>687if (gimple_assign_single_p (stmt)
>688&& gimple_assign_rhs_code (stmt) == ADDR_EXPR)
>689  ptr = gimple_assign_rhs1 (stmt);
>690else if (is_gimple_assign (stmt)
>691 && gimple_assign_rhs_code (stmt) == POINTER_PLUS_EXPR
>692 && TREE_CODE (gimple_assign_rhs2 (stmt)) == 
> INTEGER_CST)
>693  {
>694ptr = gimple_assign_rhs1 (stmt);
>695extra_offset = BITS_PER_UNIT
>696   * int_cst_value (gimple_assign_rhs2 (stmt));
>697  }
>698  }
>699  
>700if (TREE_CODE (ptr) == ADDR_EXPR)
>701  {
>702ref->base = get_addr_base_and_unit_offset (TREE_OPERAND (ptr, 
> 0),
> &t);
>703if (ref->base)
>704  ref->offset = BITS_PER_UNIT * t;
>705else
> 
> Where offset should be probably offset_int type, which is not for free.
> Or do we have a special value for such case Richi?

Yeah, this is a know deficiency in ao_ref 'offset' (and also size and
maxsize).  Blowing up to offset_int isn't really a good idea.  size
and max_size have -1 as "unknown" but offset doesn't really have
such value and "failing" isn't an option for the alias machinery.

I've long thought about making ao_ref byte precision but that loses
bit-level disambiguation we get into with bitfield stores/loads so
I "postponed" that to until we (finally) get bitfield load/store 
lowering...

The issue is long-standing so I think we can just leave it that way...

[Bug middle-end/82149] match.pd: 2919: bad if test ?

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82149

--- Comment #6 from Richard Biener  ---
Author: rguenth
Date: Tue Sep 12 13:21:52 2017
New Revision: 252007

URL: https://gcc.gnu.org/viewcvs?rev=252007&root=gcc&view=rev
Log:
2017-09-12  Richard Biener  

PR middle-end/82149
* match.pd ((FTYPE) N CMP CST): Fix typo.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/match.pd

[Bug middle-end/82149] match.pd: 2919: bad if test ?

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82149

Richard Biener  changed:

   What|Removed |Added

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

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

[Bug target/82185] ICE: Segmentation fault in expand_binop gcc/optabs.c:1137

2017-09-12 Thread rsandifo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82185

--- Comment #3 from rsandifo at gcc dot gnu.org  
---
Author: rsandifo
Date: Tue Sep 12 13:27:13 2017
New Revision: 252008

URL: https://gcc.gnu.org/viewcvs?rev=252008&root=gcc&view=rev
Log:
PR81285: Fix uninitialised variable in emit_store_flag_int

2017-09-12  Richard Sandiford  

gcc/
PR rtl-optimization/82185
* expmed.c (emit_store_flag_int): Only test tem if it has been
initialized.

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

[Bug libstdc++/70483] string_view::compare and coparision operators are not constexpr

2017-09-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70483

--- Comment #3 from Jonathan Wakely  ---
Author: redi
Date: Tue Sep 12 13:31:20 2017
New Revision: 252017

URL: https://gcc.gnu.org/viewcvs?rev=252017&root=gcc&view=rev
Log:
PR libstdc++/70483 make std::experimental::string_view fully constexpr

PR libstdc++/70483
* include/experimental/bits/string_view.tcc (basic_string_view::find)
(basic_string_view::rfind, basic_string_view::find_first_of)
(basic_string_view::find_last_of, basic_string_view::find_first_not_of)
(basic_string_view::find_last_not_of): Add constexpr specifier.
* include/experimental/string_view (basic_string_view::remove_prefix)
(basic_string_view::remove_suffix, basic_string_view::swap)
(basic_string_view::compare, basic_string_view::find)
(basic_string_view::rfind, basic_string_view::find_first_of)
(basic_string_view::find_last_of, basic_string_view::find_first_not_of)
(basic_string_view::find_last_not_of, operator==, operator!=)
(operator<, operator>, operator<=, operator>=): Likewise.
* testsuite/experimental/string_view/operations/compare/char/70483.cc:
New.

Added:
   
trunk/libstdc++-v3/testsuite/experimental/string_view/operations/compare/char/70483.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/experimental/bits/string_view.tcc
trunk/libstdc++-v3/include/experimental/string_view

[Bug libstdc++/70483] string_view::compare and coparision operators are not constexpr

2017-09-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70483

Jonathan Wakely  changed:

   What|Removed |Added

   Target Milestone|--- |7.3

--- Comment #4 from Jonathan Wakely  ---
Fixed on trunk for both std::experimental::basic_string_view and
std::basic_string_view

[Bug testsuite/82132] FAIL: gcc.dg/vect/vect-tail-nomask-1.c (test for excess errors) due to missing posix_memalign

2017-09-12 Thread egallager at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82132

--- Comment #2 from Eric Gallager  ---
(In reply to Richard Biener from comment #1)
> There is no "builtin" for this, the link fail will not go away.
> 

Really? You did  r207595 yourself, which is the revision that bug 65244 comment
11 said added it...

[Bug target/82185] ICE: Segmentation fault in expand_binop gcc/optabs.c:1137

2017-09-12 Thread rsandifo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82185

rsandifo at gcc dot gnu.org  changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 CC||rsandifo at gcc dot gnu.org
 Resolution|--- |FIXED

--- Comment #4 from rsandifo at gcc dot gnu.org  
---
Patch applied.  Thanks for tracking down the problem and sorry for the
breakage.

[Bug libstdc++/79433] __has_include() is true but #include gives #error when -std=old

2017-09-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79433

--- Comment #25 from Jonathan Wakely  ---
Author: redi
Date: Tue Sep 12 14:02:59 2017
New Revision: 252018

URL: https://gcc.gnu.org/viewcvs?rev=252018&root=gcc&view=rev
Log:
PR libstdc++/79433 no #error for including headers with wrong -std

PR libstdc++/79433
* doc/xml/manual/status_cxx2017.xml: Update feature-test macros.
* doc/html/*: Regenerate.
* include/Makefile.am: Remove .
* include/Makefile.in: Regenerate.
* include/bits/c++17_warning.h: Remove.
* include/bits/string_view.tcc: Do not include 
for pre-C++17 modes.
* include/std/any: Likewise.
(__cpp_lib_any): Define.
* include/std/mutex (__cpp_lib_scoped_lock): Adjust value as per new
SD-6 draft.
* include/std/numeric (__cpp_lib_gcd_lcm): Define as per new SD-6
draft.
* include/std/optional: Do not include .
(__cpp_lib_optional): Define.
* include/std/shared_mutex: Do not include .
* include/std/string_view: Do not include .
(__cpp_lib_string_view): Define.
* include/std/variant: Do not include .
(__cpp_lib_variant): Define.
* testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error line
numbers.
* testsuite/26_numerics/gcd/1.cc: Test for __cpp_lib_gcd_lcm.
* testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error line
numbers.
* testsuite/26_numerics/lcm/1.cc: Test for __cpp_lib_gcd_lcm.
* testsuite/26_numerics/lcm/lcm_neg.cc: Adjust dg-error line
numbers.
* testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Adjust
expected value of __cpp_lib_scoped_lock.

Removed:
trunk/libstdc++-v3/include/bits/c++17_warning.h
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/doc/xml/manual/status_cxx2017.xml
trunk/libstdc++-v3/include/Makefile.am
trunk/libstdc++-v3/include/Makefile.in
trunk/libstdc++-v3/include/bits/string_view.tcc
trunk/libstdc++-v3/include/std/any
trunk/libstdc++-v3/include/std/mutex
trunk/libstdc++-v3/include/std/numeric
trunk/libstdc++-v3/include/std/optional
trunk/libstdc++-v3/include/std/shared_mutex
trunk/libstdc++-v3/include/std/string_view
trunk/libstdc++-v3/include/std/variant
trunk/libstdc++-v3/testsuite/20_util/optional/cons/value_neg.cc
trunk/libstdc++-v3/testsuite/26_numerics/gcd/1.cc
trunk/libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc
trunk/libstdc++-v3/testsuite/26_numerics/lcm/1.cc
trunk/libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc
   
trunk/libstdc++-v3/testsuite/30_threads/scoped_lock/requirements/typedefs.cc

[Bug libstdc++/79433] __has_include() is true but #include gives #error when -std=old

2017-09-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79433

--- Comment #26 from Jonathan Wakely  ---
Author: redi
Date: Tue Sep 12 14:03:06 2017
New Revision: 252019

URL: https://gcc.gnu.org/viewcvs?rev=252019&root=gcc&view=rev
Log:
PR libstdc++/79433 no #error for including TS headers with wrong -std

PR libstdc++/79433
* include/Makefile.am: Remove .
* include/Makefile.in: Regenerate.
* include/bits/c++14_warning.h: Remove.
* include/experimental/algorithm: Do not include .
* include/experimental/any: Likewise.
* include/experimental/array: Likewise.
* include/experimental/bits/erase_if.h: Likewise.
* include/experimental/bits/lfts_config.h: Likewise.
* include/experimental/bits/shared_ptr.h: Likewise.
* include/experimental/bits/string_view.tcc: Likewise.
* include/experimental/chrono: Likewise.
* include/experimental/deque: Likewise.
* include/experimental/filesystem: Do not include .
* include/experimental/forward_list: Do not include .
* include/experimental/functional: Likewise.
* include/experimental/iterator: Likewise.
* include/experimental/list: Likewise.
* include/experimental/map: Likewise.
* include/experimental/memory: Likewise.
* include/experimental/numeric: Likewise.
* include/experimental/optional: Likewise.
* include/experimental/propagate_const: Likewise.
* include/experimental/ratio: Likewise.
* include/experimental/regex: Likewise.
* include/experimental/set: Likewise.
* include/experimental/string: Likewise.
* include/experimental/string_view: Likewise.
* include/experimental/system_error: Likewise.
* include/experimental/tuple: Likewise.
* include/experimental/type_traits: Likewise.
* include/experimental/unordered_map: Likewise.
* include/experimental/unordered_set: Likewise.
* include/experimental/vector: Likewise.
* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error
line number.
* testsuite/experimental/array/neg.cc: Likewise.
* testsuite/experimental/propagate_const/assignment/move_neg.cc:
Likewise.
* testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
* testsuite/experimental/propagate_const/requirements2.cc: Likewise.
* testsuite/experimental/propagate_const/requirements3.cc: Likewise.
* testsuite/experimental/propagate_const/requirements4.cc: Likewise.
* testsuite/experimental/propagate_const/requirements5.cc: Likewise.

Removed:
trunk/libstdc++-v3/include/bits/c++14_warning.h
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/Makefile.am
trunk/libstdc++-v3/include/Makefile.in
trunk/libstdc++-v3/include/experimental/algorithm
trunk/libstdc++-v3/include/experimental/any
trunk/libstdc++-v3/include/experimental/array
trunk/libstdc++-v3/include/experimental/bits/erase_if.h
trunk/libstdc++-v3/include/experimental/bits/lfts_config.h
trunk/libstdc++-v3/include/experimental/bits/shared_ptr.h
trunk/libstdc++-v3/include/experimental/bits/string_view.tcc
trunk/libstdc++-v3/include/experimental/chrono
trunk/libstdc++-v3/include/experimental/deque
trunk/libstdc++-v3/include/experimental/filesystem
trunk/libstdc++-v3/include/experimental/forward_list
trunk/libstdc++-v3/include/experimental/functional
trunk/libstdc++-v3/include/experimental/iterator
trunk/libstdc++-v3/include/experimental/list
trunk/libstdc++-v3/include/experimental/map
trunk/libstdc++-v3/include/experimental/memory
trunk/libstdc++-v3/include/experimental/numeric
trunk/libstdc++-v3/include/experimental/optional
trunk/libstdc++-v3/include/experimental/propagate_const
trunk/libstdc++-v3/include/experimental/ratio
trunk/libstdc++-v3/include/experimental/regex
trunk/libstdc++-v3/include/experimental/set
trunk/libstdc++-v3/include/experimental/string
trunk/libstdc++-v3/include/experimental/string_view
trunk/libstdc++-v3/include/experimental/system_error
trunk/libstdc++-v3/include/experimental/tuple
trunk/libstdc++-v3/include/experimental/type_traits
trunk/libstdc++-v3/include/experimental/unordered_map
trunk/libstdc++-v3/include/experimental/unordered_set
trunk/libstdc++-v3/include/experimental/vector
trunk/libstdc++-v3/testsuite/experimental/any/misc/any_cast_neg.cc
trunk/libstdc++-v3/testsuite/experimental/array/neg.cc
   
trunk/libstdc++-v3/testsuite/experimental/propagate_const/assignment/move_neg.cc
trunk/libstdc++-v3/testsuite/experimental/propagate_const/cons/move_neg.cc
trunk/libstdc++-v3/testsuite/experimental/propagate_const/requirements2.cc
trunk/libstdc++-v3/testsuite/experimental/propagate_const/requirements3.cc
trunk/libstdc++-v3/testsuite/experimental/propagate_const/requir

[Bug sanitizer/77631] no symbols in backtrace shown by ASan when debug info is split

2017-09-12 Thread ian at airs dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77631

--- Comment #12 from Ian Lance Taylor  ---
I don't think this is a dup of 67165, which is about compressed debug sections.
 This PR is about debug info in separate files.

[Bug tree-optimization/82157] [8 Regression] ICE on valid code at -O2 and -O3: cannot update SSA form

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82157

--- Comment #4 from Richard Biener  ---
Author: rguenth
Date: Tue Sep 12 14:15:37 2017
New Revision: 252020

URL: https://gcc.gnu.org/viewcvs?rev=252020&root=gcc&view=rev
Log:
2017-09-12  Richard Biener  

PR tree-optimization/82157
* tree-ssa-pre.c (remove_dead_inserted_code): Do not remove
stmts with side-effects.

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

Added:
trunk/gcc/testsuite/gcc.dg/torture/pr82157.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-pre.c

[Bug tree-optimization/82157] [8 Regression] ICE on valid code at -O2 and -O3: cannot update SSA form

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82157

Richard Biener  changed:

   What|Removed |Added

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

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

[Bug tree-optimization/82042] signed integer overflow in ao_ref_init_from_ptr_and_size

2017-09-12 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82042

--- Comment #4 from Martin Liška  ---
I see, thanks for clarification. I'm going to send patch for the remaining
bits, hopefully I made it in a right way.

[Bug tree-optimization/82191] [8 Regression] ICE: Segmentation fault (in verify_use)

2017-09-12 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82191

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-09-12
 CC||marxin at gcc dot gnu.org,
   ||rguenth at gcc dot gnu.org
   Target Milestone|--- |8.0
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Started with r251798.

BT:
gcc pr82191.c -O2 -c
during GIMPLE pass: pre
pr82191.c: In function ‘cg’:
pr82191.c:5:1: internal compiler error: Segmentation fault
 cg (int *tc, int y2)
 ^~
0xc2d05b crash_signal
../../gcc/toplev.c:341
0xe66288 gimple_code
../../gcc/gimple.h:1678
0xe67281 gimple_nop_p
../../gcc/gimple.h:6276
0xe6a51d verify_use
../../gcc/tree-ssa.c:863
0xe6b2dc verify_ssa(bool, bool)
../../gcc/tree-ssa.c:1141
0xb495c7 execute_function_todo
../../gcc/passes.c:1999
0xb4a4f2 execute_todo
../../gcc/passes.c:2046

[Bug tree-optimization/82128] [8 Regression] ICE on valid code

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82128

--- Comment #3 from Richard Biener  ---
Hmm, causes

Running /tmp/trunk/gcc/testsuite/g++.dg/dg.exp ...
FAIL: g++.dg/ipa/pr65263.C  -std=gnu++98 (internal compiler error)
FAIL: g++.dg/ipa/pr65263.C  -std=gnu++98 (test for excess errors)
FAIL: g++.dg/ipa/pr65263.C  -std=gnu++11 (internal compiler error)
FAIL: g++.dg/ipa/pr65263.C  -std=gnu++11 (test for excess errors)
FAIL: g++.dg/ipa/pr65263.C  -std=gnu++14 (internal compiler error)
FAIL: g++.dg/ipa/pr65263.C  -std=gnu++14 (test for excess errors)

=== g++ Summary ===

# of unexpected failures6

/tmp/trunk/gcc/testsuite/g++.dg/ipa/pr65263.C: In member function 'int
D::F::operator()() const':^M
/tmp/trunk/gcc/testsuite/g++.dg/ipa/pr65263.C:42:5: internal compiler error:
Segmentation fault^M
0x11cea13 crash_signal^M
/tmp/trunk/gcc/toplev.c:341^M
0xc6da67 compute_call_stmt_bb_frequency(tree_node*, basic_block_def*)^M
/tmp/trunk/gcc/cgraphbuild.c:195^M
0xc677e4 cgraph_node::verify_node()^M
/tmp/trunk/gcc/cgraph.c:3244^M
0xc564a9 symtab_node::verify()^M
/tmp/trunk/gcc/symtab.c:1204^M

where a callgraph edge references a removed stmt (the folded call).  Because

static void
cgraph_update_edges_for_call_stmt_node (cgraph_node *node,
gimple *old_stmt, tree old_call,
gimple *new_stmt)
{
  tree new_call = (new_stmt && is_gimple_call (new_stmt))
  ? gimple_call_fndecl (new_stmt) : 0;

  /* We are seeing indirect calls, then there is nothing to update.  */
  if (!new_call && !old_call)
return;

we turned an indirect call into a non-call (the LHS effect of it after
a __builtin_unreachable ()).

Testing an updated patch.

[Bug testsuite/82114] gcc.dg/gimplefe-14.c for bare metal and argc is 0

2017-09-12 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82114

--- Comment #2 from Martin Liška  ---
Author: marxin
Date: Tue Sep 12 14:32:39 2017
New Revision: 252024

URL: https://gcc.gnu.org/viewcvs?rev=252024&root=gcc&view=rev
Log:
Fix GIMPLE FE test (PR testsuite/82114)

2017-09-12  Martin Liska  

PR testsuite/82114
* gcc.dg/gimplefe-14.c (main): Add handling of case 0.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/gimplefe-14.c

[Bug testsuite/82114] gcc.dg/gimplefe-14.c for bare metal and argc is 0

2017-09-12 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82114

Martin Liška  changed:

   What|Removed |Added

  Known to work||8.0
  Known to fail||7.2.0

--- Comment #3 from Martin Liška  ---
Fixed on trunk so far.

[Bug tree-optimization/82128] [8 Regression] ICE on valid code

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82128

Richard Biener  changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu.org

--- Comment #4 from Richard Biener  ---
Testing the attached but I expect it'll not work as the updating in
cgraph_update_edges_for_call_stmt_node seems to expect a 1:1 "folding".

It does look fragile as hell...

I guess I'll finally go and make SSA_NAME_DEFAULT_DEF possible on anon
SSA names which means we can avoid that extra stmt in folding...

[Bug tree-optimization/82191] [8 Regression] ICE: Segmentation fault (in verify_use)

2017-09-12 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82191

--- Comment #2 from rguenther at suse dot de  ---
On Tue, 12 Sep 2017, marxin at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82191
> 
> Martin Liška  changed:
> 
>What|Removed |Added
> 
>  Status|UNCONFIRMED |NEW
>Last reconfirmed||2017-09-12
>  CC||marxin at gcc dot gnu.org,
>||rguenth at gcc dot gnu.org
>Target Milestone|--- |8.0
>  Ever confirmed|0   |1
> 
> --- Comment #1 from Martin Liška  ---
> Started with r251798.

Likely dup of PR82157

> BT:
> gcc pr82191.c -O2 -c
> during GIMPLE pass: pre
> pr82191.c: In function ‘cg’:
> pr82191.c:5:1: internal compiler error: Segmentation fault
>  cg (int *tc, int y2)
>  ^~
> 0xc2d05b crash_signal
> ../../gcc/toplev.c:341
> 0xe66288 gimple_code
> ../../gcc/gimple.h:1678
> 0xe67281 gimple_nop_p
> ../../gcc/gimple.h:6276
> 0xe6a51d verify_use
> ../../gcc/tree-ssa.c:863
> 0xe6b2dc verify_ssa(bool, bool)
> ../../gcc/tree-ssa.c:1141
> 0xb495c7 execute_function_todo
> ../../gcc/passes.c:1999
> 0xb4a4f2 execute_todo
> ../../gcc/passes.c:2046
> 
>

[Bug tree-optimization/82128] [8 Regression] ICE on valid code

2017-09-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82128

--- Comment #5 from Richard Biener  ---
Trying

Index: gcc/gimple-fold.c
===
--- gcc/gimple-fold.c   (revision 252006)
+++ gcc/gimple-fold.c   (working copy)
@@ -3862,24 +3862,18 @@ gimple_fold_call (gimple_stmt_iterator *
  tree fndecl = builtin_decl_implicit (BUILT_IN_UNREACHABLE);
  gimple *new_stmt = gimple_build_call (fndecl, 0);
  gimple_set_location (new_stmt, gimple_location (stmt));
+ /* If the call had a SSA name as lhs morph that into
+an uninitialized value.  */
  if (lhs && TREE_CODE (lhs) == SSA_NAME)
{
  tree var = create_tmp_var (TREE_TYPE (lhs));
- tree def = get_or_create_ssa_default_def (cfun, var);
-
- /* To satisfy condition for
-cgraph_update_edges_for_call_stmt_node,
-we need to preserve GIMPLE_CALL statement
-at position of GSI iterator.  */
- update_call_from_tree (gsi, def);
- gsi_insert_before (gsi, new_stmt, GSI_NEW_STMT);
-   }
- else
-   {
- gimple_set_vuse (new_stmt, gimple_vuse (stmt));
- gimple_set_vdef (new_stmt, gimple_vdef (stmt));
- gsi_replace (gsi, new_stmt, false);
+ SET_SSA_NAME_VAR_OR_IDENTIFIER (lhs, var);
+ SSA_NAME_DEF_STMT (lhs) = gimple_build_nop ();
+ set_ssa_default_def (cfun, var, lhs);
}
+ gimple_set_vuse (new_stmt, gimple_vuse (stmt));
+ gimple_set_vdef (new_stmt, gimple_vdef (stmt));
+ gsi_replace (gsi, new_stmt, false);
  return true;
}
}

[Bug tree-optimization/82192] New: gcc produces incorrect code with -O2 and bit-field

2017-09-12 Thread vsevolod.livinskij at frtk dot ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82192

Bug ID: 82192
   Summary: gcc produces incorrect code with -O2 and bit-field
   Product: gcc
   Version: 8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: vsevolod.livinskij at frtk dot ru
  Target Milestone: ---

gcc produces incorrect code with -O2 and higher and unsigned int : 13 bit-field

>$ g++ -O2 driver.cpp func.cpp ; ./a.out 
6930

>$ g++ -O0 driver.cpp func.cpp ; ./a.out 
0

>$ cat init.h 
extern const unsigned long int a;

struct struct_t {
unsigned int memb : 13;
};

extern struct_t b;

>$ cat driver.cpp 
#include 
#include "init.h"

const unsigned long int a = 10798855141994013410UL;

struct_t b;

extern void foo ();

int main () {
foo ();
printf("%llu\n", b.memb);
return 0;
}

>$ cat func.cpp 
#include "init.h"
void foo() {
  b.memb = unsigned(a) >> (7227976781724269559 | a & ~3739384568U) -
7227976781724531672;
}

>$ g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/gcc-dev/bin-trunk/libexec/gcc/x86_64-pc-linux-gnu/8.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /gcc-dev/trunk/configure --prefix=/gcc-dev/bin-trunk
--disable-bootstrap
Thread model: posix
gcc version 8.0.0 20170912 (Rev. 252003) (GCC)

[Bug tree-optimization/82192] gcc produces incorrect code with -O2 and bit-field

2017-09-12 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82192

--- Comment #1 from Andrew Pinski  ---
Does -fsantize=undefined show anything?

I am suspecting you have undefined behavior with respect to the shift.

[Bug target/82112] internal compiler error: in fold_convert_loc, at fold-const.c:2262

2017-09-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82112

--- Comment #3 from Jakub Jelinek  ---
Author: jakub
Date: Tue Sep 12 15:25:15 2017
New Revision: 252028

URL: https://gcc.gnu.org/viewcvs?rev=252028&root=gcc&view=rev
Log:
PR target/82112
* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): For
ALTIVEC_BUILTIN_VEC_LD if arg1 has array type call default_conversion
on it early, rather than manual conversion late.  For
ALTIVEC_BUILTIN_VEC_ST if arg2 has array type call default_conversion
instead of performing manual conversion.

* gcc.target/powerpc/pr82112.c: New test.
* g++.dg/ext/altivec-18.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/ext/altivec-18.C
trunk/gcc/testsuite/gcc.target/powerpc/pr82112.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000-c.c
trunk/gcc/testsuite/ChangeLog

[Bug target/80204] macosx-version-min wrong for macOS Sierra 10.12.3

2017-09-12 Thread law at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80204

--- Comment #4 from Jeffrey A. Law  ---
Author: law
Date: Tue Sep 12 15:29:16 2017
New Revision: 252029

URL: https://gcc.gnu.org/viewcvs?rev=252029&root=gcc&view=rev
Log:
PR target/80204
* config/darwin-driver.c (darwin_find_version_from_kernel): Eliminate
calculation of the minor version, always output as 0.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/darwin-driver.c

[Bug tree-optimization/82192] gcc produces incorrect code with -O2 and bit-field

2017-09-12 Thread vsevolod.livinskij at frtk dot ru
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82192

--- Comment #2 from Vsevolod Livinskiy  ---
(In reply to Andrew Pinski from comment #1)
> Does -fsantize=undefined show anything?
> 
> I am suspecting you have undefined behavior with respect to the shift.

Test doesn't contain undefined behavior, and sanitizer verifies it.
(7227976781724269559 | a & ~3739384568U) gives 7227976781724531703, and
(7227976781724269559 | a & ~3739384568U) - 7227976781724531672 gives 31, 
so shift is OK.

[Bug c/80942] -Woverlength-strings should no longer be implied by -Wpedantic

2017-09-12 Thread joseph at codesourcery dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80942

--- Comment #5 from joseph at codesourcery dot com  ---
On Tue, 12 Sep 2017, vincent-gcc at vinc17 dot net wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80942
> 
> --- Comment #4 from Vincent Lefèvre  ---
> (In reply to jos...@codesourcery.com from comment #2)
> > The documentation explicitly says -Wpedantic includes some warnings about 
> > things outside of ISO C, beyond those that violate syntax rules or 
> > constraints.
> 
> This is not what is documented:
> 
> Issue all the warnings demanded by strict ISO C and ISO C++; reject
> all programs that use forbidden extensions, and some other programs
> that do not follow ISO C and ISO C++.  For ISO C, follows the
> version of the ISO C standard specified by any -std option used.

I consider this to be within the "some other programs".  The question, I 
suppose, is whether implementation limits should be moved out of the scope 
of -Wpedantic.

[Bug tree-optimization/82192] gcc produces incorrect code with -O2 and bit-field

2017-09-12 Thread joseph at codesourcery dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82192

--- Comment #3 from joseph at codesourcery dot com  ---
On Tue, 12 Sep 2017, vsevolod.livinskij at frtk dot ru wrote:

> struct struct_t {
> unsigned int memb : 13;
> };
> 
> extern struct_t b;

> printf("%llu\n", b.memb);

unsigned int : 13 (promoted to int - I think C++ promotes 
narrower-than-int bit-fields to int, though for C++ the bit-field width is 
not considered part of the type) is not valid for printf %llu.  You need 
to explicitly cast to unsigned long long.

[Bug target/81422] [aarch64] internal compiler error: in update_equiv_regs, at ira.c:3425

2017-09-12 Thread qing.zhao at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81422

Qing Zhao  changed:

   What|Removed |Added

 CC||qing.zhao at oracle dot com

--- Comment #2 from Qing Zhao  ---
I can repeat this bug on aarch64 machine with the latest gcc.
I am taking a deeper study on this one now. let me know if you are currently
working on the fix of this one.

[Bug libstdc++/80704] Error while invoking `string_view::string_view(const char*)` in a `constexpr` context

2017-09-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80704

Jonathan Wakely  changed:

   What|Removed |Added

   Target Milestone|8.0 |7.3

--- Comment #2 from Jonathan Wakely  ---
Now also fixed for 7.3

[Bug c++/80265] __builtin_{memcmp,memchr,strlen} are not usable in constexpr functions

2017-09-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80265

--- Comment #20 from Jonathan Wakely  ---
Author: redi
Date: Tue Sep 12 16:27:01 2017
New Revision: 252030

URL: https://gcc.gnu.org/viewcvs?rev=252030&root=gcc&view=rev
Log:
Finish implementing P0426R1 "Constexpr for std::char_traits" for C++17

As discussed in PR c++/80265 ("__builtin_{memcmp,memchr,strlen} are
not usable in constexpr functions"), use __builtin_constant_p to tell
whether we can defer to a constexpr algorithm.

I used __always_inline__ just to be thorough.  It isn't really really
necessary as far as I could determine.

Changes like these:

 if (__n == 0)
   return 0;
 -  return wmemcmp(__s1, __s2, __n);
 +  else
 +return wmemcmp(__s1, __s2, __n);

are necessary otherwise G++ complains that we're calling a
non-constexpr function, which looks like a a manifestation of PR67026
to me.

libstdc++-v3:
2017-06-12  Pedro Alves  

* doc/xml/manual/status_cxx2017.xml: Update C++17 constexpr
char_traits status.
* doc/html/*: Regenerate.

* include/bits/char_traits.h (_GLIBCXX_ALWAYS_INLINE): Define if
not already defined.
(__cpp_lib_constexpr_char_traits): Uncomment.
(__constant_string_p, __constant_char_array_p): New.
(std::char_traits, std::char_traits): Add
_GLIBCXX17_CONSTEXPR on compare, length and find and use
__constant_string_p, __constant_char_array_p and
__builtin_constant_p to defer to __gnu_cxx::char_traits at compile
time.

* testsuite/21_strings/char_traits/requirements/
constexpr_functions_c++17.cc: Uncomment
__cpp_lib_constexpr_char_traits tests.  Uncomment
test_compare, test_length, test_find,
test_compare, test_length and test_find
static_assert tests.

Modified:
branches/gcc-7-branch/libstdc++-v3/ChangeLog
branches/gcc-7-branch/libstdc++-v3/doc/html/manual/status.html
branches/gcc-7-branch/libstdc++-v3/doc/xml/manual/status_cxx2017.xml
branches/gcc-7-branch/libstdc++-v3/include/bits/char_traits.h
   
branches/gcc-7-branch/libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc

[Bug libstdc++/70483] string_view::compare and coparision operators are not constexpr

2017-09-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70483

--- Comment #6 from Jonathan Wakely  ---
Author: redi
Date: Tue Sep 12 16:27:14 2017
New Revision: 252032

URL: https://gcc.gnu.org/viewcvs?rev=252032&root=gcc&view=rev
Log:
PR libstdc++/70483 make std::experimental::string_view fully constexpr

Backport from mainline
2017-09-12  Jonathan Wakely  

PR libstdc++/70483
* include/experimental/bits/string_view.tcc (basic_string_view::find)
(basic_string_view::rfind, basic_string_view::find_first_of)
(basic_string_view::find_last_of, basic_string_view::find_first_not_of)
(basic_string_view::find_last_not_of): Add constexpr specifier.
* include/experimental/string_view (basic_string_view::remove_prefix)
(basic_string_view::remove_suffix, basic_string_view::swap)
(basic_string_view::compare, basic_string_view::find)
(basic_string_view::rfind, basic_string_view::find_first_of)
(basic_string_view::find_last_of, basic_string_view::find_first_not_of)
(basic_string_view::find_last_not_of, operator==, operator!=)
(operator<, operator>, operator<=, operator>=): Likewise.
* testsuite/experimental/string_view/operations/compare/char/70483.cc:
New.

Added:
   
branches/gcc-7-branch/libstdc++-v3/testsuite/experimental/string_view/operations/compare/char/70483.cc
Modified:
branches/gcc-7-branch/libstdc++-v3/ChangeLog
   
branches/gcc-7-branch/libstdc++-v3/include/experimental/bits/string_view.tcc
branches/gcc-7-branch/libstdc++-v3/include/experimental/string_view

[Bug libstdc++/70483] string_view::compare and coparision operators are not constexpr

2017-09-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70483

--- Comment #5 from Jonathan Wakely  ---
Author: redi
Date: Tue Sep 12 16:27:09 2017
New Revision: 252031

URL: https://gcc.gnu.org/viewcvs?rev=252031&root=gcc&view=rev
Log:
PR libstdc++/70483 make std::string_view fully constexpr

Backport from mainline
2017-09-11  Jonathan Wakely  

PR libstdc++/70483
* include/bits/string_view.tcc (basic_string_view::find)
(basic_string_view::rfind, basic_string_view::find_first_of)
(basic_string_view::find_last_of, basic_string_view::find_first_not_of)
(basic_string_view::find_last_not_of): Add constexpr specifier.
* include/std/string_view (basic_string_view::operator=)
(basic_string_view::rbegin, basic_string_view::rend)
(basic_string_view::crbegin, basic_string_view::crend)
(basic_string_view::remove_prefix, basic_string_view::remove_suffix)
(basic_string_view::swap, basic_string_view::compare)
(basic_string_view::find, basic_string_view::rfind)
(basic_string_view::find_first_of, basic_string_view::find_last_of)
(basic_string_view::find_first_not_of)
(basic_string_view::find_last_not_of, basic_string_view::_M_check)
(basic_string_view::_M_limit, operator==, operator!=, operator<)
(operator>, operator<=, operator>=): Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
char/1.cc: Repeat tests in constexpr context.
* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
wchar_t/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
char/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
wchar_t/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operators/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/range_access/char/1.cc: Test
cbegin, cend, rbegin, rend, crbegin and crend.
* testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
Remove trailing whitespace.
* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
1.cc: Likewise.
* testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc:
New.
* testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc:
New.
* testsuite/21_strings/basic_string_view/operations/compare/char/2.cc:
New.
* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
2.cc: New.

Added:
   
branches/gcc-7-branch/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/swap/
   
branches/gcc-7-branch/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/swap/char/
   
branches/gcc-7-branch/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc
  - copied, changed from r252030,
branches/gcc-7-branch/libstdc++-v3/testsuite/21_strings/basic_string_view/range_access/char/1.cc
   
branches/gcc-7-branch/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/
   
branches/gcc-7-branch/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc
  - copied, changed from r252030,
branches/gcc-7-branch/libstdc++-v3/testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc
   
branches/gcc-7-branch/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/2.cc
  - copied, changed from r252030,
branches/gcc-7-branch/libstdc++-v3/testsuite/21_strings/basic_string_view/range_access/char/1.cc
   
branches/gcc-7-branch/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/70483.cc
   
branches/gcc-7-branch/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/wchar_t/2.cc
  - copied, changed from r252030,
branches/gcc-7-branch/libstdc++-v3/testsuite/21_strings/basic_string_view/range_access/char/1.cc
Modified:
branches/gcc-7-branch/libstdc++-v3/ChangeLog
branches/gcc-7-branch/libstdc++-v3/include/bits/string_view.tcc
branches/gcc-7-branch/libstdc++-v3/include/std/string_view
   
branches/gcc-7-branch/libstdc++-v3/testsuite/21_stri

[Bug libstdc++/70483] string_view::compare and coparision operators are not constexpr

2017-09-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70483

Jonathan Wakely  changed:

   What|Removed |Added

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

--- Comment #7 from Jonathan Wakely  ---
And now for 7.3 as well.

[Bug driver/81498] Support creating static PIE

2017-09-12 Thread hjl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81498

--- Comment #1 from hjl at gcc dot gnu.org  ---
Author: hjl
Date: Tue Sep 12 16:30:28 2017
New Revision: 252034

URL: https://gcc.gnu.org/viewcvs?rev=252034&root=gcc&view=rev
Log:
Add -static-pie to GCC driver to create static PIE

This patch adds -static-pie to GCC driver to create static PIE.  A static
position independent executable (PIE) is similar to static executable,
but can be loaded at any address without a dynamic linker.  All linker
input files must be compiled with -fpie or -fPIE and linker must support
--no-dynamic-linker to avoid linking with dynamic linker.  "-z text" is
also needed to prevent dynamic relocations in read-only segments.

PR driver/81498
* common.opt (-static-pie): New alias.
(shared): Negate static-pie.
(-no-pie): Update help text.
(-pie): Likewise.
(static-pie): New option.
* config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Add
-static-pie support.
(GNU_USER_TARGET_ENDFILE_SPEC): Likewise.
(LINK_EH_SPEC): Likewise.
(LINK_GCC_C_SEQUENCE_SPEC): Likewise.
* config/i386/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): Likewise.
* config/i386/gnu-user64.h (GNU_USER_TARGET_LINK_SPEC): Likewise.
* gcc.c (LINK_COMMAND_SPEC): Likewise.
(init_gcc_specs): Likewise.
(init_spec): Likewise.
(display_help): Update help message for -pie.
* doc/invoke.texi: Update -pie, -no-pie and -static.  Document
-static-pie.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/common.opt
trunk/gcc/config/gnu-user.h
trunk/gcc/config/i386/gnu-user.h
trunk/gcc/config/i386/gnu-user64.h
trunk/gcc/doc/invoke.texi
trunk/gcc/gcc.c

[Bug target/81325] -fcompare-debug failure on ppc64le

2017-09-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81325

--- Comment #4 from Jakub Jelinek  ---
Created attachment 42160
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42160&action=edit
gcc8-pr81325.patch

Untested fix.

[Bug other/81096] [8 regression] test case ttest in libbacktrace fails starting with its introduction in r249111

2017-09-12 Thread sje at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81096

--- Comment #5 from Steve Ellcey  ---
Author: sje
Date: Tue Sep 12 16:33:31 2017
New Revision: 252035

URL: https://gcc.gnu.org/viewcvs?rev=252035&root=gcc&view=rev
Log:
2017-09-12  Steve Ellcey  

PR other/81096
* libbacktrace/Makefile.in
(HAVE_PTHREAD_TRUE@@NATIVE_TRUE@ttest_CFLAGS): Add $(AM_CFLAGS)

Modified:
trunk/libbacktrace/ChangeLog
trunk/libbacktrace/Makefile.in

[Bug driver/81498] Support creating static PIE

2017-09-12 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81498

H.J. Lu  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |8.0

--- Comment #2 from H.J. Lu  ---
Fixed for GCC 8.

  1   2   >