[Bug bootstrap/67128] Makefile.in, libcc1 and --enable-shared

2019-02-11 Thread szotsaki at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67128

Szőts Ákos  changed:

   What|Removed |Added

 CC||szotsaki at gmail dot com

--- Comment #3 from Szőts Ákos  ---
Option "--with-pic" doesn't work, but the suggested workaround in the original
post does.

However, I ended up disabling libcc1 (as I see most of the distribs do it,
anyway) with --disable-libcc1 which, as well, solved this issue.

Version: 8.2.0

[Bug c++/89297] New: ICE: unexpected expression 'id' of kind overload

2019-02-11 Thread flast at flast dot jp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89297

Bug ID: 89297
   Summary: ICE: unexpected expression 'id' of kind overload
   Product: gcc
   Version: 9.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: flast at flast dot jp
  Target Milestone: ---

ICE caused by list-initializer within template function that contains call of
overloads, like following.

```
int id(int v) { return v; }
float id(float v) { return v; }

template 
int foo(int v)
{
return int{id(v)}; // ICE on here
}
```

https://wandbox.org/permlink/XtHobAXA7lQ1jPTy

I encountered this issue after upgrade from 8 to 9, so I think it's a 9's
regression.

[Bug tree-optimization/89296] New: tree copy-header masking uninitialized warning

2019-02-11 Thread kugan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89296

Bug ID: 89296
   Summary: tree copy-header masking uninitialized warning
   Product: gcc
   Version: 9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: kugan at gcc dot gnu.org
  Target Milestone: ---

void test_func(void) {
  int loop;  // uninitialized and "garbage"
  while (!loop) {
   loop = get_a_value();  // <- must be for this test
   printk("...");
  }
}

from Linaro bug report https://bugs.linaro.org/show_bug.cgi?id=4134
-fno-tree-ch gets the required warning

diff --git a/gcc/tree-ssa-loop-ch.c b/gcc/tree-ssa-loop-ch.c
index c876d62..d405d00 100644
--- a/gcc/tree-ssa-loop-ch.c
+++ b/gcc/tree-ssa-loop-ch.c
@@ -393,7 +393,7 @@ ch_base::copy_headers (function *fun)
{
  gimple *stmt = gsi_stmt (bsi);
  if (gimple_code (stmt) == GIMPLE_COND)
-   gimple_set_no_warning (stmt, true);
+   ;//gimple_set_no_warning (stmt, true);
  else if (is_gimple_assign (stmt))
{
  enum tree_code rhs_code = gimple_assign_rhs_code (stmt);

also gets the required warning. Looking into it.

[Bug target/88834] [SVE] Poor addressing mode choices for LD2 and ST2

2019-02-11 Thread kugan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88834

--- Comment #4 from kugan at gcc dot gnu.org ---
Created attachment 45661
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45661&action=edit
ivopt patch v1

[Bug target/88834] [SVE] Poor addressing mode choices for LD2 and ST2

2019-02-11 Thread kugan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88834

--- Comment #3 from kugan at gcc dot gnu.org ---
I added iv-use for MASKED_LOAD_LANE and the result is
cmp w3, 0
ble .L1
sub w5, w3, #1
mov x4, 0
lsr w5, w5, 1
add w5, w5, 1
whilelo p0.s, xzr, x5
.p2align 3,,7
.L3:
lsl x3, x4, 3
incwx4
add x7, x1, x3
add x6, x2, x3
ld2w{z4.s - z5.s}, p0/z, [x7]
ld2w{z2.s - z3.s}, p0/z, [x6]
add x3, x0, x3
add z0.s, z4.s, z2.s
sub z1.s, z5.s, z3.s
st2w{z0.s - z1.s}, p0, [x3]
whilelo p0.s, x4, x5
bne .L3
.L1:
ret

No base plus scaled index addressing mode. This is because in ivopt

When called from ivopt:
Breakpoint 4, aarch64_classify_address (info=0x7fffcba0, x=0x76c44f30,
mode=E_DImode, strict_p=false, type=ADDR_QUERY_M)
at
/home/kugan/work/abe/snapshots/gcc.git~origin~aarch64~sve-acle-branch/gcc/config/aarch64/aarch64.c:5689
5689{
(gdb) p debug_rtx (x)
(plus:DI (mult:DI (reg:DI 91)
(const_int 8 [0x8]))
(reg:DI 90))

it accepts it.

When in cfgexpand:
Breakpoint 5, aarch64_classify_address (info=0x7fffcca0, x=0x76c5b840,
mode=E_VNx8SImode, strict_p=false, type=ADDR_QUERY_M)
at
/home/kugan/work/abe/snapshots/gcc.git~origin~aarch64~sve-acle-branch/gcc/config/aarch64/aarch64.c:5689
5689{
(gdb) p debug_rtx (x)
(plus:DI (mult:DI (reg:DI 92 [ ivtmp_28 ])
(const_int 8 [0x8]))
(reg/v/f:DI 110 [ y ]))


This is not accepted because of aarch64_classify_index (info, op1, mode,
strict_p) failing (as it should).

Note the difference in mode for aarch64_classify_address. Not sure if this is
because of the way my patch changes ivopt.

[Bug c/88993] [9 Regression] GCC 9 -Wformat-overflow=2 should reflect real libc limits

2019-02-11 Thread egallager at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88993

Eric Gallager  changed:

   What|Removed |Added

 CC||egallager at gcc dot gnu.org

--- Comment #10 from Eric Gallager  ---
anyone know where/how I'd find out what the real limit is for Darwin's libc?

[Bug middle-end/63793] -mcmodel=medium in gfortran on x86_64 emits references that are RIP relative (instead of using the GOT)

2019-02-11 Thread egallager at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63793

--- Comment #20 from Eric Gallager  ---
Should this really have the middle-end for its component? It seems like this is
more of a target issue...

[Bug target/84626] powerpc toc register is reloaded unnecessarily

2019-02-11 Thread amodra at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84626

Alan Modra  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||amodra at gmail dot com
 Resolution|--- |INVALID

--- Comment #1 from Alan Modra  ---
No, the r2 load can't be moved.  The ppc64 ABIs say the restore of r2 must
occur immediately after the call.  This is necessary for exception unwinding.

[Bug fortran/87689] PowerPC64 ELFv2 function parameter passing violation

2019-02-11 Thread amodra at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87689

--- Comment #12 from Alan Modra  ---
A little more sophisticated.

* fortran/trans-types.c (gfc_get_function_type): Use a varargs decl
unless we have args other than hidden ones.

--- a/gcc/fortran/trans-types.c
+++ b/gcc/fortran/trans-types.c
@@ -3066,6 +3066,7 @@ gfc_get_function_type (gfc_symbol * sym)
 actual parameters for a dummy procedure.  */

  vec_safe_push (typelist, type);
+ is_varargs = false;
}
   else
 {
@@ -3092,8 +3093,7 @@ gfc_get_function_type (gfc_symbol * sym)
}
 }

-  if (!vec_safe_is_empty (typelist)
-  || sym->attr.is_main_program
+  if (sym->attr.is_main_program
   || sym->attr.if_source != IFSRC_UNKNOWN)
 is_varargs = false;

[Bug fortran/87689] PowerPC64 ELFv2 function parameter passing violation

2019-02-11 Thread amodra at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87689

Alan Modra  changed:

   What|Removed |Added

Summary|Memory corruption on Power  |PowerPC64 ELFv2 function
   |8   |parameter passing violation

--- Comment #11 from Alan Modra  ---
This patch avoids the failure.  Be warned, I shouldn't be let loose anywhere
near the gcc fortran support.  I'm just presenting it in the hope that someone
who does know what they're doing can develop a proper fix.

--- a/gcc/fortran/trans-types.c
+++ b/gcc/fortran/trans-types.c
@@ -3092,8 +3092,7 @@ gfc_get_function_type (gfc_symbol * sym)
}
 }

-  if (!vec_safe_is_empty (typelist)
-  || sym->attr.is_main_program
+  if (sym->attr.is_main_program
   || sym->attr.if_source != IFSRC_UNKNOWN)
 is_varargs = false;

[Bug rtl-optimization/87761] [9 regression][MIPS] New FAIL: gcc.target/mips/fix-r4000-10.c -O1 start with r265398

2019-02-11 Thread paul.hua.gm at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87761

--- Comment #5 from Paul Hua  ---
(In reply to Jakub Jelinek from comment #4)
> Can you please recheck with current trunk, many RA improvements related to
> r265398 change went into trunk since then.

all those test still fails on trunk.

[Bug middle-end/89294] [9 regression] ICE in valid_constant_size_p, at tree.c:7524

2019-02-11 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89294

Martin Sebor  changed:

   What|Removed |Added

   Keywords||patch

--- Comment #3 from Martin Sebor  ---
Patch: https://gcc.gnu.org/ml/gcc-patches/2019-02/msg00857.html

[Bug lto/88147] [9 Regression] ICE in linemap_line_start, at libcpp/line-map.c:781 starting from r265875

2019-02-11 Thread dmalcolm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88147

David Malcolm  changed:

   What|Removed |Added

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

--- Comment #22 from David Malcolm  ---
Should be fixed by r268789.

[Bug lto/88147] [9 Regression] ICE in linemap_line_start, at libcpp/line-map.c:781 starting from r265875

2019-02-11 Thread dmalcolm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88147

--- Comment #21 from David Malcolm  ---
Author: dmalcolm
Date: Tue Feb 12 01:09:31 2019
New Revision: 268789

URL: https://gcc.gnu.org/viewcvs?rev=268789&root=gcc&view=rev
Log:
linemap_line_start: protect against location_t overflow (PR lto/88147)

PR lto/88147 reports an assertion failure due to a bogus location_t value
when adding a line to a pre-existing line map, when there's a large
difference between the two line numbers.

For some "large differences", this leads to a location_t value that exceeds
LINE_MAP_MAX_LOCATION, in which case linemap_line_start returns 0.  This
isn't ideal, but at least should lead to safe degradation of location
information.

However, if the difference is very large, it's possible for the line
number offset (relative to the start of the map) to be sufficiently large
that overflow occurs when left-shifted by the column-bits, and hence
the check against the LINE_MAP_MAX_LOCATION limit fails, leading to
a seemingly-valid location_t value, but encoding the wrong location.  This
triggers the assertion failure:
  linemap_assert (SOURCE_LINE (map, r) == to_line);

The fix (thanks to Martin) is to check for overflow when determining
whether to reuse an existing map, and to not reuse it if it would occur.

gcc/ChangeLog: David Malcolm  
PR lto/88147
* input.c (selftest::test_line_offset_overflow): New selftest.
(selftest::input_c_tests): Call it.

libcpp/ChangeLog: Martin Liska  
PR lto/88147
* line-map.c (linemap_line_start): Don't reuse the existing line
map if the line offset is sufficiently large to cause overflow
when computing location_t values.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/input.c
trunk/libcpp/ChangeLog
trunk/libcpp/line-map.c

[Bug middle-end/89294] [9 regression] ICE in valid_constant_size_p, at tree.c:7524

2019-02-11 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89294

Martin Sebor  changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2019-02-12
   Assignee|unassigned at gcc dot gnu.org  |msebor at gcc dot 
gnu.org
 Ever confirmed|0   |1

--- Comment #2 from Martin Sebor  ---
This is due to r268774 introducing the assumption that the
valid_constant_size_p() argument is a constant expression.

I got a new machine recently and apparently didn't install Gnat properly, so
wasn't building it despite configuring with --enable-languages=all.  I think
the Fedora instructions for Ada are wrong:
https://fedoraproject.org/wiki/Features/Ada_developer_tools.

[Bug rtl-optimization/89295] New: [9 regression] compilation of gcc.dg-struct-layout-1/t001_x.c takes 30 times as long after r268404

2019-02-11 Thread seurer at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89295

Bug ID: 89295
   Summary: [9 regression] compilation of
gcc.dg-struct-layout-1/t001_x.c takes 30 times as long
after r268404
   Product: gcc
   Version: 9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: seurer at gcc dot gnu.org
  Target Milestone: ---

Executing on host: /home/seurer/gcc/build/gcc-trunk/gcc/xgcc
-B/home/seurer/gcc/build/gcc-trunk/gcc/-fno-diagnostics-show-caret
-fno-diagnostics-show-line-numbers -fdiagnostics-color=never  -w
-I/home/seurer/gcc/gcc-trunk/gcc/testsuite/gcc.dg/compat -Wno-abi  -c -o
c_compat_x_tst.o
/home/seurer/gcc/build/gcc-trunk/gcc/testsuite/gcc5/gcc.dg-struct-layout-1//t001_x.c
   (timeout = 300)
spawn -ignore SIGHUP /home/seurer/gcc/build/gcc-trunk/gcc/xgcc
-B/home/seurer/gcc/build/gcc-trunk/gcc/ -fno-diagnostics-show-caret
-fno-diagnostics-show-line-numbers -fdiagnostics-color=never -w
-I/home/seurer/gcc/gcc-trunk/gcc/testsuite/gcc.dg/compat -Wno-abi -c -o
c_compat_x_tst.o
/home/seurer/gcc/build/gcc-trunk/gcc/testsuite/gcc5/gcc.dg-struct-layout-1//t001_x.c
WARNING: program timed out
compiler exited with status 1
FAIL: tmpdir-gcc.dg-struct-layout-1/t001 c_compat_x_tst.o compile

I started noticing this occasional timeout issue with this test case recently
on some of our test machines.  Note that the timeout value is 300 seconds when
run during a make check.

Trying the same test with some older revisions showed (when it is compiled
alone) that the compilation finishes in about 2s.  With recent revisions it
takes 60+s.

This may not be the only test that slows down of course.  "make -k check-gcc
RUNTESTFLAGS=struct-layout-1.exp" which runs many tests including the above
test takes about 4m30s at r268403 and about 7m at r268404.

Looking at the ftime-report outputs the big differences are in LRA
Before:
LRA non-specific   :   0.25 ( 10%)   0.01 (  4%)   0.24 (  9%) 
  4168 kB (  5%)
LRA virtuals elimination   :   0.03 (  1%)   0.00 (  0%)   0.05 (  2%) 
   355 kB (  0%)
LRA reload inheritance :   0.03 (  1%)   0.00 (  0%)   0.03 (  1%) 
  1618 kB (  2%)
LRA create live ranges :   0.04 (  2%)   0.00 (  0%)   0.04 (  1%) 
   538 kB (  1%)
LRA hard reg assignment:   0.07 (  3%)   0.00 (  0%)   0.06 (  2%) 
 0 kB (  0%)
After:
LRA non-specific   :   7.34 ( 12%)   0.04 (  9%)   7.59 ( 13%) 
 14335 kB ( 13%)
LRA virtuals elimination   :  26.07 ( 43%)   0.06 ( 13%)  25.26 ( 42%) 
  3613 kB (  3%)
LRA reload inheritance :   0.04 (  0%)   0.00 (  0%)   0.00 (  0%) 
  1618 kB (  2%)
LRA create live ranges :  16.84 ( 28%)   0.06 ( 13%)  17.30 ( 29%) 
  1735 kB (  2%)
LRA hard reg assignment:   7.53 ( 13%)   0.02 (  4%)   7.72 ( 13%) 
 0 kB (  0%)

Note:  I tried this on x86 and did not see the same slowdown between r268403
and r268404.

The trigger revision was 


r268404 | vmakarov | 2019-01-30 15:49:23 -0600 (Wed, 30 Jan 2019) | 12 lines

2019-01-30  Vladimir Makarov  

PR rtl-optimization/87246
* lra-constraints.c (simplify_operand_subreg): Reload memory
in subreg if the address became invalid.

2019-01-30  Vladimir Makarov  

PR rtl-optimization/87246
* gcc.target/i386/pr87246.c: New.

[Bug c++/89144] [9 Regression] GCC emits undefined references when a constexpr initializer_list appears in a template function

2019-02-11 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89144

Jason Merrill  changed:

   What|Removed |Added

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

[Bug c++/89241] [9 Regression] ICE in enclosing_instantiation_of, at cp/pt.c:13380

2019-02-11 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89241

--- Comment #4 from Jason Merrill  ---
Author: jason
Date: Mon Feb 11 23:05:16 2019
New Revision: 268784

URL: https://gcc.gnu.org/viewcvs?rev=268784&root=gcc&view=rev
Log:
PR c++/89241 - ICE with __func__ in lambda in template.

When we're instantiating a generic lambda, its enclosing context will
have already been instantiated, so we need to look for that as well.

* pt.c (enclosing_instantiation_of): Also check
instantiated_lambda_fn_p for the template context.

Added:
trunk/gcc/testsuite/g++.dg/cpp1y/lambda-generic-func1.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c

[Bug c++/89241] [9 Regression] ICE in enclosing_instantiation_of, at cp/pt.c:13380

2019-02-11 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89241

Jason Merrill  changed:

   What|Removed |Added

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

--- Comment #3 from Jason Merrill  ---
Fixed.

[Bug c++/86252] Abstract class in function return type

2019-02-11 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86252

--- Comment #2 from Jonathan Wakely  ---
Another testcase, reduced from Boost.Rational:

template
struct sfinae
{
  static const bool value = false;
  static T zero() { return T(); }
};

template
struct enable_if { typedef T type; }; 
template struct enable_if { };

struct Abstract {
  virtual void f() = 0;
};

struct X {
  template
X(const T&, typename enable_if::value>::type* = 0)
{ }
};

Abstract* a();

int f(const Abstract&);
void f(X);

int i = f(*a());

[Bug c++/86252] Abstract class in function return type

2019-02-11 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86252

Jonathan Wakely  changed:

   What|Removed |Added

   Keywords||rejects-valid
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2019-02-11
 Ever confirmed|0   |1

[Bug fortran/88299] [F18] COMMON in a legacy module produces bogus warnings in dependent code

2019-02-11 Thread anlauf at gmx dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88299

--- Comment #5 from Harald Anlauf  ---
Patch passed regtesting and was submitted:

https://gcc.gnu.org/ml/fortran/2019-02/msg00097.html

[Bug tree-optimization/42970] Missed unused function return value elimination

2019-02-11 Thread jamborm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42970

Martin Jambor  changed:

   What|Removed |Added

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

--- Comment #5 from Martin Jambor  ---
I have posted a WIP patch as:

https://gcc.gnu.org/ml/gcc-patches/2018-12/msg01765.html

I am in the process of cleaning it up for final submission once stage 1 opens
again.

[Bug tree-optimization/85762] [8/9 Regression] range-v3 abstraction overhead not optimized away

2019-02-11 Thread jamborm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85762

--- Comment #4 from Martin Jambor  ---
My apologies, I forgot about this bug.  I will have a look this week.

[Bug fortran/88299] [F18] COMMON in a legacy module produces bogus warnings in dependent code

2019-02-11 Thread anlauf at gmx dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88299

--- Comment #4 from Harald Anlauf  ---
I'm currently regtesting the following patch:

Index: gcc/fortran/resolve.c
===
--- gcc/fortran/resolve.c   (revision 268778)
+++ gcc/fortran/resolve.c   (working copy)
@@ -940,7 +940,11 @@
 have been ignored to continue parsing.
 We do the checks again here.  */
   if (!csym->attr.use_assoc)
-   gfc_add_in_common (&csym->attr, csym->name, &common_block->where);
+   {
+ gfc_add_in_common (&csym->attr, csym->name, &common_block->where);
+ gfc_notify_std (GFC_STD_F2018_OBS, "COMMON block at %L",
+ &common_block->where);
+   }

   if (csym->value || csym->attr.data)
{
@@ -998,10 +1002,6 @@

   resolve_common_vars (common_root->n.common, true);

-  if (!gfc_notify_std (GFC_STD_F2018_OBS, "COMMON block at %L",
-  &common_root->n.common->where))
-return;
-
   /* The common name is a global name - in Fortran 2003 also if it has a
  C binding name, since Fortran 2008 only the C binding name is a global
  identifier.  */

[Bug c++/88752] [8 Regression] ICE in enclosing_instantiation_of, at cp/pt.c:13328

2019-02-11 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88752

--- Comment #9 from Jason Merrill  ---
Author: jason
Date: Mon Feb 11 21:49:37 2019
New Revision: 268783

URL: https://gcc.gnu.org/viewcvs?rev=268783&root=gcc&view=rev
Log:
Revert "PR c++/88752 - ICE with lambda and constexpr if."

This reverts commit 2a97dfc988a695e44f759099f74e4a18c01fa9a5.

Removed:
branches/gcc-8-branch/gcc/testsuite/g++.dg/cpp1z/constexpr-if26.C
Modified:
branches/gcc-8-branch/gcc/cp/ChangeLog
branches/gcc-8-branch/gcc/cp/cp-tree.h
branches/gcc-8-branch/gcc/cp/pt.c

[Bug middle-end/89294] [9 regression] ICE in valid_constant_size_p, at tree.c:7524

2019-02-11 Thread ro at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89294

Rainer Orth  changed:

   What|Removed |Added

 Target|i386-pc-solaris2.11 |i386-pc-solaris2.11,
   ||x86_64-pc-linux-gnu
   Host|i386-pc-solaris2.11 |i386-pc-solaris2.11,
   ||x86_64-pc-linux-gnu
  Build|i386-pc-solaris2.11 |i386-pc-solaris2.11,
   ||x86_64-pc-linux-gnu

--- Comment #1 from Rainer Orth  ---
Seeing the same on Linux/x86_64.

[Bug c++/89241] [9 Regression] ICE in enclosing_instantiation_of, at cp/pt.c:13380

2019-02-11 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89241

Jason Merrill  changed:

   What|Removed |Added

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

[Bug middle-end/89292] [9 regression] test case gcc.target/powerpc/rs6000-fpint.c fails after r268705

2019-02-11 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89292

--- Comment #2 from Bill Schmidt  ---
So, dup of https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89271?

[Bug middle-end/89294] [9 regression] ICE in valid_constant_size_p, at tree.c:7524

2019-02-11 Thread ro at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89294

Rainer Orth  changed:

   What|Removed |Added

   Target Milestone|--- |9.0

[Bug middle-end/89294] New: [9 regression] ICE in valid_constant_size_p, at tree.c:7524

2019-02-11 Thread ro at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89294

Bug ID: 89294
   Summary: [9 regression] ICE in valid_constant_size_p, at
tree.c:7524
   Product: gcc
   Version: 9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ro at gcc dot gnu.org
CC: msebor at gcc dot gnu.org
  Target Milestone: ---
  Host: i386-pc-solaris2.11
Target: i386-pc-solaris2.11
 Build: i386-pc-solaris2.11

Between 20190210 (r268749) and 20190211 (r268774), a couple of Ada testcases
regressed on Solaris/x86 (both 32 and 64-bit):

+FAIL: gnat.dg/vect1.adb (test for excess errors)
+FAIL: gnat.dg/vect1.adb 3 blank line(s) in output
+UNRESOLVED: gnat.dg/vect1.adb scan-tree-dump-times vect "vectorized 1 loops"
15
+FAIL: gnat.dg/vect2.adb (test for excess errors)
+FAIL: gnat.dg/vect2.adb 3 blank line(s) in output
+UNRESOLVED: gnat.dg/vect2.adb scan-tree-dump-times vect "vectorized 1 loops"
15
+FAIL: gnat.dg/vect3.adb (test for excess errors)
+FAIL: gnat.dg/vect3.adb 3 blank line(s) in output
+UNRESOLVED: gnat.dg/vect3.adb scan-tree-dump-times vect "vectorized 1 loops"
15
+FAIL: gnat.dg/vect4.adb (test for excess errors)
+FAIL: gnat.dg/vect4.adb 3 blank line(s) in output
+UNRESOLVED: gnat.dg/vect4.adb scan-tree-dump-times vect "vectorized 1 loops"
15
+FAIL: gnat.dg/vect5.adb (test for excess errors)
+FAIL: gnat.dg/vect5.adb 3 blank line(s) in output
+UNRESOLVED: gnat.dg/vect5.adb scan-tree-dump-times vect "vectorized 1 loops"
15
+FAIL: gnat.dg/vect6.adb (test for excess errors)
+FAIL: gnat.dg/vect6.adb 3 blank line(s) in output
+UNRESOLVED: gnat.dg/vect6.adb scan-tree-dump-times vect "vectorized 1 loops"
15

FAIL: gnat.dg/vect2.adb 3 blank line(s) in output
FAIL: gnat.dg/vect2.adb (test for excess errors)
Excess errors:
+===GNAT BUG DETECTED==+
| 9.0.1 20190211 (experimental) [trunk revision 268774] (i386-pc-solaris2.11)
GCC error:|
| tree check: expected class 'constant', have 'binary' (mult_expr) in  |
| valid_constant_size_p, at tree.c:7524|
| Error detected at vect2.ads:24:51  

I'm not seeing this failure on sparc-sun-solaris2.11.

[Bug c++/89285] [8/9 Regression] ICE after casting the this pointer in the constructor in C++17 mode

2019-02-11 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89285

--- Comment #9 from Jason Merrill  ---
(In reply to Jakub Jelinek from comment #4)
> +  /* Preserve REINTERPRET_CAST_P.  */
> +  if (code == NOP_EXPR && REINTERPRET_CAST_P (org_x))
> + {
> +   if (TREE_CODE (x) == NOP_EXPR && REINTERPRET_CAST_P (x))
> + break;
> +   if (TREE_CODE (x) == NOP_EXPR)
> + {
> +   x = copy_node (x);
> +   REINTERPRET_CAST_P (x) = 1;
> + }
> +   else
> + {
> +   x = build1_loc (loc, code, TREE_TYPE (x), x);
> +   REINTERPRET_CAST_P (x) = 1;
> + }
> + }
>break;

Looks good, though can't we assume that if x != org_x it's a new NOP_EXPR so we
can just set REINTERPRET_CAST_P?

> and with that we reject the testcase again (like we've done in 8.x, so this
> part is [9 Regression] accepts-invalid).
> But that also means we ICE again on the:
> C bar {};

I'm not seeing this.

> So, maybe we want to ignore that:
>   if (REINTERPRET_CAST_P (t))
> {
>   if (!ctx->quiet)
> error_at (cp_expr_loc_or_loc (t, input_location),
>   "a reinterpret_cast is not a constant expression");
>   *non_constant_p = true;
>   return t;
> }
> for perhaps !ctx->manifestly_const_eval , as in when we really don't require
> constant expression.

That should depend on ctx->strict, not manifestly_const_eval.

(In reply to Jakub Jelinek from comment #7)
> Ah, so one problem is that while we save the inline bodies of functions
> before cp_fold_function, cp_fold_function is destructive and clobbers the
> saved copy.
> cp_fold itself is (hopefully) not destructive and creates new trees, but
> cp_fold_function is destructive and happily modifies the trees shared with
> something else (in this case with the constexpr funcdef table).
> 
> Jason, any preferences here?

My theory has been to switch to saving pre-gimplification bodies of constexpr
functions and doing constant evaluation using them.

[Bug c/66970] Add __has_builtin() macro

2019-02-11 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66970

Martin Sebor  changed:

   What|Removed |Added

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

--- Comment #13 from Martin Sebor  ---
Let me look into this request for GCC 10.

[Bug fortran/84135] [8/9 Regression] ICE in gfc_trans_array_cobounds, at fortran/trans-array.c:6033

2019-02-11 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84135

--- Comment #6 from Thomas Koenig  ---
$ cat z1.f90
> program p
>integer :: i
>integer, dimension(3) :: x[2,*]
>data (x(i:i+2:i+1), i=1,2) /1,2,3/

This should be caught, there is no normal dimension
here, just a codimension.

[Bug c++/89285] [8/9 Regression] ICE after casting the this pointer in the constructor in C++17 mode

2019-02-11 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89285

--- Comment #8 from Jakub Jelinek  ---
I'll try to copy & adjust (mostly kill almost everything) copy_tree_body_r and
use that in register_constexpr_fundef.  As we don't need to remap decls or
types, 
I think we just need copy_statement_list for STATEMENT_LIST, remap_save_expr
for SAVE_EXPR/TARGET_EXPR, copy_tree_r for the rest?

[Bug c++/53036] [c++11] trivial class fails std::is_trivial test

2019-02-11 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53036

--- Comment #7 from Jonathan Wakely  ---
Bug 85723 deals with the problem mentioned in comment 5.

[Bug c++/85723] [C++17][DR 1496] __is_trivial intrinsic fails with no trivial non-deleted default c'tor

2019-02-11 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85723

Jonathan Wakely  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2019-02-11
   See Also||https://gcc.gnu.org/bugzill
   ||a/show_bug.cgi?id=53036
 Ever confirmed|0   |1

--- Comment #1 from Jonathan Wakely  ---
Confirmed.

We also don't yet implement the earlier change to that wording, from
https://wg21.link/cwg1363

struct A {
A() = default;
A(int i = 0) { }
};

static_assert(!__is_trivial(A), "");

This fails because G++ considers the class trivial, even though
default-initialization would fail as ambiguous.

[Bug fortran/89266] ICE with TRANSFER of len=0 character array constructor

2019-02-11 Thread anlauf at gmx dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89266

--- Comment #8 from Harald Anlauf  ---
It's not as trivial as I had hoped.

The point is that gfc_element_size() and gfc_target_expr_size()
are returning size 0 for the source expression, which is an entirely
correct value.  However, they also return value 0 also for cases
where the sizes could not be determined to be a constant.

I have a 'half-patch' that tries to change gfc_target_expr_size()
to return a bool which is true for success and false for failure,
and then deal with this return value.

It seems that this also needs to be done for gfc_element_size().
However, there is this occurrence in class.c of gfc_element_size():

  /* Build a minimal expression to make use of
 target-memory.c/gfc_element_size for 'size'.  Special handling
 for character arrays, that are not constant sized: to support
 len (str) * kind, only the kind information is stored in the
 vtab.  */
  e = gfc_get_expr ();
  e->ts = *ts;
  e->expr_type = EXPR_VARIABLE;
  c->initializer = gfc_get_int_expr (gfc_size_kind,
 NULL,
 ts->type == BT_CHARACTER
 ? ts->kind
 : gfc_element_size (e));

I am not yet sure how to safely rewrite this.

[Bug c++/58074] [C++11][DR 1333] __is_trivial intrinsic fails for deleted members and for non-trivial copy-c'tors

2019-02-11 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58074

--- Comment #9 from Jonathan Wakely  ---
(In reply to Daniel Krügler from comment #0)
> The deleted default constructor should not prevent type Trivial of being
> trivial (Maybe this part of the problem is related to bug 52707, but I'm not
> sure).

I think DR 1363 changed that (and DR 1496 reconfirmed it) so the first test is
wrong. But G++ now passes that assertion, so that's also wrong (that is Bug
85723 though).

[Bug d/89293] New: libphobos: core.atomic should have fallback for no atomic library

2019-02-11 Thread ibuclaw at gdcproject dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89293

Bug ID: 89293
   Summary: libphobos: core.atomic should have fallback for no
atomic library
   Product: gcc
   Version: 9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: d
  Assignee: ibuclaw at gdcproject dot org
  Reporter: ibuclaw at gdcproject dot org
  Target Milestone: ---

Currently there's a static assert that fails if GNU_Have_LibAtomic is false.

In the absence of atomics, a statically allocated core.sync.mutex.Mutex could
be used instead to lock/unlock between operations, making sure there's no risk
of using it before D runtime has been initialized.

[Bug middle-end/89292] [9 regression] test case gcc.target/powerpc/rs6000-fpint.c fails after r268705

2019-02-11 Thread seurer at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89292

--- Comment #1 from seurer at gcc dot gnu.org ---
gcc.target/powerpc/vsx-simode2.c also fails after this revision:

# of expected passes2
# of unexpected failures1
FAIL: gcc.target/powerpc/vsx-simode2.c scan-assembler mtvsrwz

[Bug c++/89212] [8 Regression] ICE in fold_convert_loc at fold-const.c:2552

2019-02-11 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89212

Marek Polacek  changed:

   What|Removed |Added

Summary|[8/9 Regression] ICE in |[8 Regression] ICE in
   |fold_convert_loc at |fold_convert_loc at
   |fold-const.c:2552   |fold-const.c:2552

--- Comment #8 from Marek Polacek  ---
Fixed on trunk so far.

[Bug c++/88977] __builtin_is_constant_evaluated() as function template argument causes substitution failure

2019-02-11 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88977

Jakub Jelinek  changed:

   What|Removed |Added

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

--- Comment #5 from Jakub Jelinek  ---
Fixed.

[Bug c++/89212] [8/9 Regression] ICE in fold_convert_loc at fold-const.c:2552

2019-02-11 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89212

--- Comment #7 from Marek Polacek  ---
Author: mpolacek
Date: Mon Feb 11 20:03:43 2019
New Revision: 268781

URL: https://gcc.gnu.org/viewcvs?rev=268781&root=gcc&view=rev
Log:
PR c++/89212 - ICE converting nullptr to pointer-to-member-function.
* pt.c (tsubst_copy_and_build) : Return early for
null member pointer value.

* g++.dg/cpp0x/nullptr40.C: New test.
* g++.dg/cpp0x/nullptr41.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/nullptr40.C
trunk/gcc/testsuite/g++.dg/cpp0x/nullptr41.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog

[Bug c++/88977] __builtin_is_constant_evaluated() as function template argument causes substitution failure

2019-02-11 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88977

--- Comment #4 from Jakub Jelinek  ---
Author: jakub
Date: Mon Feb 11 20:00:16 2019
New Revision: 268780

URL: https://gcc.gnu.org/viewcvs?rev=268780&root=gcc&view=rev
Log:
PR c++/88977
* pt.c (convert_nontype_argument): Pass true as manifestly_const_eval
to maybe_constant_value calls.

* g++.dg/cpp2a/is-constant-evaluated7.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/cpp2a/is-constant-evaluated7.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog

[Bug lto/88147] [9 Regression] ICE in linemap_line_start, at libcpp/line-map.c:781 starting from r265875

2019-02-11 Thread dmalcolm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88147

--- Comment #20 from David Malcolm  ---
(In reply to David Malcolm from comment #19)
> (In reply to David Malcolm from comment #17)
> > Created attachment 45660 [details]
> > Selftest coverage
> > 
> > The attached reproduces the problem via a minimal selftest, and is also
> > fixed by attachment 45653 [details].
> 
> Thanks for creating this patch.  I like that it imposes an upper limit on
> the value of a line number within an ordinary linemap relative to the line
> map's starting line, but I wonder if that upper limit needs to be lower than
> the one in your patch (e.g. what happens if the resulting location_t value
> hit limits like LINE_MAP_MAX_LOCATION etc).

I constructed a selftest that does that, but it doesn't lead to corrupt
location_t values: it hits this check, and returns 0 (aka UNKNOWN_LOCATION):

771   /* Locations of ordinary tokens are always lower than locations of
772  macro tokens.  */
773   if (r >= LINE_MAP_MAX_LOCATION)
774 return 0;

So I think your fix is the one we should use.  I'm testing a combined patch
with your fix + my selftest.

[Bug target/89290] [8/9 Regression] ICE in change_address_1, at emit-rtl.c:2286

2019-02-11 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89290

Jakub Jelinek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2019-02-11
 CC||uros at gcc dot gnu.org
   Target Milestone|--- |8.3
 Ever confirmed|0   |1

[Bug target/89290] [8/9 Regression] ICE in change_address_1, at emit-rtl.c:2286

2019-02-11 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89290

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek  ---
The problem is that adjust_address with
(mem/c:TI (const:DI (unspec:DI [
(symbol_ref:DI ("s") [flags 0x2a] )
] UNSPEC_NTPOFF)) [1 s+0 S16 A64 AS1])
as first argument, E_DImode and 8 as last two doesn't validate.
We have originally:
(insn 7 6 10 2 (set (mem/c:TI (plus:DI (unspec:DI [
(const_int 0 [0])
] UNSPEC_TP)
(const:DI (unspec:DI [
(symbol_ref:DI ("s") [flags 0x2a]  )
] UNSPEC_NTPOFF))) [1 s+0 S16 A64])
(reg:TI 83)) "pr89290.c":7:5 65 {*movti_internal}
 (nil))
then the ix86_rewrite_tls_address splitter rewrites this into:
(insn 12 6 10 2 (set (mem/c:TI (const:DI (unspec:DI [
(symbol_ref:DI ("s") [flags 0x2a]  )
] UNSPEC_NTPOFF)) [1 s+0 S16 A64 AS1])
(reg:TI 83)) "pr89290.c":7:5 -1
 (nil))
and finally we ICE in the split_double_move splitter.

[Bug fortran/89291] internal compiler error: in gfc_trans_use_stmts

2019-02-11 Thread walter.zwieflhofer at ineosteamuk dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89291

--- Comment #2 from zwieflhofer  ---

Installed gcc-5.5.0 and built the identical WRF version.

No ICE encountered with 5.5.0. 

Attempted to extract a reduced test version but this is non-trivial due to the
large source code base and complex make files. I am happy for now that 5.5.0
gives me a working solution. I tried the reproducer attached to bug report
41062 but that one compiled fine under 7.4.0.

Please regard this bug report as a courtesy rather than a request for action
and feel free to close it due to the missing reproducer.

Alternatively, I can forward this report to NCAR to see whether there is any
interest in pre-emptive investigations as part of their regression testing.

Many thanks for the prompt reply.

[Bug middle-end/89292] New: [9 regression] test case gcc.target/powerpc/rs6000-fpint.c fails after r268705

2019-02-11 Thread seurer at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89292

Bug ID: 89292
   Summary: [9 regression] test case
gcc.target/powerpc/rs6000-fpint.c fails after r268705
   Product: gcc
   Version: 9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
  Assignee: unassigned at gcc dot gnu.org
  Reporter: seurer at gcc dot gnu.org
  Target Milestone: ---

Slightly different assembler is generated after r268705


spawn -ignore SIGHUP /home/seurer/gcc/build/gcc-test2/gcc/xgcc
-B/home/seurer/gcc/build/gcc-test2/gcc/
/home/seurer/gcc/gcc-test2/gcc/testsuite/gcc.target/powerpc/rs6000-fpint.c
-fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers
-fdiagnostics-color=never -mno-powerpc-gfxopt -ffat-lto-objects -fno-ident -S
-o rs6000-fpint.s
PASS: gcc.target/powerpc/rs6000-fpint.c (test for excess errors)
FAIL: gcc.target/powerpc/rs6000-fpint.c scan-assembler-not stfiwx
Executing on host: /home/seurer/gcc/build/gcc-test2/gcc/xgcc
-B/home/seurer/gcc/build/gcc-test2/gcc/ vmx_hw_available72259.c   
-fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers
-fdiagnostics-color=never  -mno-vsx  -lm  -o vmx_hw_available72259.exe   
(timeout = 300)
spawn -ignore SIGHUP /home/seurer/gcc/build/gcc-test2/gcc/xgcc
-B/home/seurer/gcc/build/gcc-test2/gcc/ vmx_hw_available72259.c
-fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers
-fdiagnostics-color=never -mno-vsx -lm -o vmx_hw_available72259.exe
Setting LD_LIBRARY_PATH to
:/home/seurer/gcc/build/gcc-test2/gcc::/home/seurer/gcc/build/gcc-test2/gcc:/home/seurer/gcc/build/gcc-test2/./gmp/.libs:/home/seurer/gcc/build/gcc-test2/./prev-gmp/.libs:/home/seurer/gcc/build/gcc-test2/./mpfr/src/.libs:/home/seurer/gcc/build/gcc-test2/./prev-mpfr/src/.libs:/home/seurer/gcc/build/gcc-test2/./mpc/src/.libs:/home/seurer/gcc/build/gcc-test2/./prev-mpc/src/.libs:/home/seurer/gcc/build/gcc-test2/./isl/.libs:/home/seurer/gcc/build/gcc-test2/./prev-isl/.libs:/home/seurer/gcc/install/gcc-7.2.0/lib64
Execution timeout is: 300
spawn [open ...]
testcase
/home/seurer/gcc/gcc-test2/gcc/testsuite/gcc.target/powerpc/powerpc.exp
completed in 0 seconds

=== gcc Summary ===

# of expected passes1
# of unexpected failures1


Comparing the assembler before and after the change:

24,25c24,25
<   mfvsrwz 9,0
<   stw 9,48(31)
---
>   addi 9,31,48
>   stfiwx 0,0,9
28,29c28,29
<   mfvsrwz 9,0
<   stw 9,52(31)
---
>   addi 9,31,52
>   stfiwx 0,0,9

[Bug middle-end/89288] [9 Regression] ICE in tree_code_size, at tree.c:865

2019-02-11 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89288

Martin Sebor  changed:

   What|Removed |Added

   Keywords||ice-on-valid-code, patch
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2019-02-11
 Depends on||88383
 Ever confirmed|0   |1

--- Comment #2 from Martin Sebor  ---
The trivial patch for bug 88383 that you objected to for reasons unrelated to
the fix and that Jeff likewise declined to approve has a solution for this. 
The fix is incomplete so it still ICEs on this test case but that's just a
small oversight.  I have reposted the patch:
https://gcc.gnu.org/ml/gcc-patches/2019-02/msg00793.html


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88383
[Bug 88383] ICE calling _builtin_has_attribute with an expression

[Bug target/89289] ICE in extract_insn, at recog.c:2310

2019-02-11 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89289

Jakub Jelinek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2019-02-11
 CC||ak at gcc dot gnu.org,
   ||jakub at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Jakub Jelinek  ---
So, either we need to make the calls direct (that could be e.g. adding another
predicate and constraint similar to const_call_address_operand/Bz that wouldn't
check flag_force_indirect_call, or do what we do e.g. for -fpic -mcmodel=large
(but we don't have a got pointer), or add completely new patterns for TLS_GD/LD
models.

[Bug fortran/89286] Intrinsic sign and GNU Extension

2019-02-11 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89286

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2019-02-11
 Ever confirmed|0   |1

--- Comment #5 from Dominique d'Humieres  ---
Patch should go to the fort...@gcc.gnu.org and gcc-patc...@gcc.gnu.org mailing
lists for review.

>From a quick look at the patch it does seem that the extension is rejected when
compiling with -std=f*.

I don't see the need to add this extension (read: I am opposed to this
extension).

[Bug fortran/89291] internal compiler error: in gfc_trans_use_stmts

2019-02-11 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89291

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2019-02-11
 Ever confirmed|0   |1

--- Comment #1 from Dominique d'Humieres  ---
Please provide a reproducer.

[Bug middle-end/89288] [9 Regression] ICE in tree_code_size, at tree.c:865

2019-02-11 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89288

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org,
   ||msebor at gcc dot gnu.org
   Target Milestone|--- |9.0

--- Comment #1 from Jakub Jelinek  ---
4033  if (TYPE_P (oper))
4034tmpdecl = build_decl (atloc, TYPE_DECL, tmpid, oper);
4035  else
4036tmpdecl = build_decl (atloc, TREE_CODE (oper), tmpid, TREE_TYPE
(oper));

when oper is INTEGER_CST (or any expression other than TYPE_P or DECL_P) is not
going to work at all.  Other issues:

/* An alias cannot be a defintion so declare the symbol extern.  */
s/defintion/definition/

  if (has_attribute (atloc, oper, attr, default_conversion))
result.value = boolean_true_node;
  else
result.value =  boolean_false_node;
too large whitespace between = and boolean.

[Bug fortran/89291] New: internal compiler error: in gfc_trans_use_stmts

2019-02-11 Thread walter.zwieflhofer at ineosteamuk dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89291

Bug ID: 89291
   Summary: internal compiler error: in gfc_trans_use_stmts
   Product: gcc
   Version: 7.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: walter.zwieflhofer at ineosteamuk dot com
  Target Milestone: ---

Internal compiler error when compiling WRF 4.0.3 from NCAR

Standard compile of gcc 7.4.0 

uname -a: Linux ws2bar 2.6.32-696.18.7.el6.x86_64 #1 SMP Thu Jan 4 17:31:22 UTC
2018 x86_64 x86_64 x86_64 GNU/Linux

Processor type: Intel(R) Xeon(R) CPU E5-2643 v2 @ 3.50GHz

Backtrace:

module_ra_rrtmg_lw.f90:7870:0:

   use rrlw_tbl, only: ntbl, tblint, pade, bpade, tau_tbl, exp_tbl, tfn_tbl

internal compiler error: in gfc_trans_use_stmts, at fortran/trans-decl.c:4959
0x6bb88e gfc_trans_use_stmts
../../gcc-7.4.0-src/gcc/fortran/trans-decl.c:4958
0x6bbe92 gfc_generate_function_code(gfc_namespace*)
../../gcc-7.4.0-src/gcc/fortran/trans-decl.c:6528
0x69a0f9 gfc_generate_module_code(gfc_namespace*)
../../gcc-7.4.0-src/gcc/fortran/trans.c:2202
0x64f75b translate_all_program_units
../../gcc-7.4.0-src/gcc/fortran/parse.c:6062
0x64f75b gfc_parse_file()
../../gcc-7.4.0-src/gcc/fortran/parse.c:6275
0x692eaf gfc_be_parse_file
../../gcc-7.4.0-src/gcc/fortran/f95-lang.c:204
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.


Possible code regression - see bug report 41062 from 13 Aug 2009

[Bug libbacktrace/81983] libbacktrace calls bsearch with NULL base

2019-02-11 Thread ian at airs dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81983

--- Comment #5 from Ian Lance Taylor  ---
I would be inclined to just skip the bsearch when the count is zero.

[Bug c++/89267] [8 Regression] FAIL: g++.dg/cpp1z/constexpr-lambda8.C (test for excess errors)

2019-02-11 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89267

Jason Merrill  changed:

   What|Removed |Added

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

--- Comment #4 from Jason Merrill  ---
Fixed.

[Bug tree-optimization/86637] [9 Regression] ICE: tree check: expected block, have in inlining_chain_to_json, at optinfo-emit-json.cc:293

2019-02-11 Thread wilco at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86637

--- Comment #14 from Wilco  ---
Author: wilco
Date: Mon Feb 11 18:14:37 2019
New Revision: 268777

URL: https://gcc.gnu.org/viewcvs?rev=268777&root=gcc&view=rev
Log:
[COMMITTED] Fix pthread errors in pr86637-2.c

Fix test errors on targets which do not support pthreads.

Committed as obvious.

testsuite/
PR tree-optimization/86637
* gcc.c-torture/compile/pr86637-2.c: Test pthread and graphite target.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.c-torture/compile/pr86637-2.c

[Bug c++/53036] [c++11] trivial class fails std::is_trivial test

2019-02-11 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53036

Martin Sebor  changed:

   What|Removed |Added

   Keywords||rejects-valid
 Status|NEW |RESOLVED
 CC||msebor at gcc dot gnu.org
  Known to work||6.3.0, 7.4.0, 8.2.0, 9.0
 Resolution|--- |FIXED
  Known to fail||4.7.4, 4.8.5, 4.9.4

--- Comment #6 from Martin Sebor  ---
This bug has been fixed since GCC 5.  If there are outstanding issues as
comment #5 suggests that aren't being tracked by any open bugs let's open new
issues for them.  I'm going to resolve this as fixed.

r215771 | jason | 2014-10-01 13:21:01 -0400 (Wed, 01 Oct 2014) | 11 lines

PR c++/63362
* class.c (type_has_non_user_provided_default_constructor): Rename
from type_has_user_provided_default_constructor, reverse sense.
(default_init_uninitialized_part, explain_non_literal_class): Adjust.
(check_bases_and_members): Set TYPE_HAS_COMPLEX_DFLT.
* call.c (build_new_method_call_1): Adjust.
* cp-tree.h: Adjust.
* decl.c (grok_special_member_properties): Don't set
TYPE_HAS_COMPLEX_DFLT.
* init.c (build_value_init_noctor): Don't use
type_has_user_provided_default_constructor.

[Bug c++/89285] [8/9 Regression] ICE after casting the this pointer in the constructor in C++17 mode

2019-02-11 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89285

--- Comment #7 from Jakub Jelinek  ---
Ah, so one problem is that while we save the inline bodies of functions before
cp_fold_function, cp_fold_function is destructive and clobbers the saved copy.
cp_fold itself is (hopefully) not destructive and creates new trees, but
cp_fold_function is destructive and happily modifies the trees shared with
something else (in this case with the constexpr funcdef table).

One way out of this is throwing away cp_fold_r/cp_fold_function and teaching
cp_fold to handle all the trees that cp_walk_tree can walk (dunno if we want to
cache everything or not).  That means handling e.g. STATEMENT_LIST, BIND_EXPR,
*_STMT etc.
Another possibility is to use cp_fold_r the way it is for non-constexpr
functions, and for constexpr functions use instead a hand written walker that
will handle everything that can appear in constexpr functions with copy on
write behavior, say if it is processing a STATEMENT_LIST and determines a
recursive call wants to fold one of the statements, unshare the whole
STATEMENT_LIST, modify it on the copy (and the parent would notice and unshare
etc.).
Yet another possibility is to use the inliner's copy_tree_body_r for this in
register_constexpr_fundef, but in a way that we don't create new decls.  I'm
afraid it would still create new VLA types, can those appear in constexpr
functions?

Jason, any preferences here?

Note, the above would fix the [9 Regression] part of this PR, that we don't
reject that #c4 testcase.  We'd still need to figure out a fix for the [8
Regression] part that once this [9 Regression] part is fixed would become [8/9
Regression].  I guess it could fix various other accepts-invalid cases where
the cp_folding which modifies the saved tree makes us accept invalid constexpr
code.

[Bug c++/53181] static_assert sees as non constant the comparison between a constexpr and a template argument

2019-02-11 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53181

Martin Sebor  changed:

   What|Removed |Added

  Known to fail|6.0 |6.3.0, 7.3.0, 8.2.0, 9.0

--- Comment #5 from Martin Sebor  ---
No change in GCC 9.

[Bug c++/89267] [8 Regression] FAIL: g++.dg/cpp1z/constexpr-lambda8.C (test for excess errors)

2019-02-11 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89267

--- Comment #3 from Jason Merrill  ---
Author: jason
Date: Mon Feb 11 17:57:41 2019
New Revision: 268776

URL: https://gcc.gnu.org/viewcvs?rev=268776&root=gcc&view=rev
Log:
PR c++/89267 - change of error location.

* pt.c (tsubst_copy_and_build): Do still clear expr location
for instantiated thunk calls.

Modified:
branches/gcc-8-branch/gcc/cp/ChangeLog
branches/gcc-8-branch/gcc/cp/pt.c

[Bug tree-optimization/88771] [9 Regression] Misleading -Werror=array-bounds error

2019-02-11 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88771

Martin Sebor  changed:

   What|Removed |Added

 Status|ASSIGNED|NEW

--- Comment #20 from Martin Sebor  ---
The patch to make the warning less misleading has been committed in r268775. 
With the test case from comment #0 cleaned up a bit, the warning looks like
this:

$ cat pr88771.c && gcc -O2 -S -Wall pr88771.c
int f (char *d, const char *s, int n)
{
  int i = n + 1 ? n + 1 : 1;

  __builtin_strncpy (d, s, n);

  if (i)
return 1;

  return 0;
}
pr88771.c: In function ‘f’:
pr88771.c:5:3: warning: ‘__builtin_strncpy’ specified bound
18446744073709551615 exceeds maximum object size 9223372036854775807
[-Wstringop-overflow=]
5 |   __builtin_strncpy (d, s, n);
  |   ^~~


It's interesting to note that the test after the (n + 1) addition relies on
signed integer overflow having wrapping semantics.  With that invalid
assumption removed by making n's and i's type unsigned the warning is gone
because doing so prevents jump threading from inserting the additional strncpy
call.  (But there are other, valid cases where the invalid call still is
introduced and the warning triggers.)

[Bug tree-optimization/88771] [9 Regression] Misleading -Werror=array-bounds error

2019-02-11 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88771

--- Comment #19 from Martin Sebor  ---
Author: msebor
Date: Mon Feb 11 17:44:05 2019
New Revision: 268775

URL: https://gcc.gnu.org/viewcvs?rev=268775&root=gcc&view=rev
Log:
PR tree-optimization/88771 - Misleading -Werror=array-bounds error

gcc/ChangeLog:

PR tree-optimization/88771
* gimple-ssa-warn-restrict.c (pass_wrestrict::gate): Also enable
when -Wstringop-overflow is set.
(builtin_memref::builtin_memref): Adjust excessive upper bound
only when lower bound is not excessive.
(maybe_diag_overlap): Detect and diagnose excessive bounds via
-Wstringop-ovefflow.
(maybe_diag_offset_bounds): Rename...
(maybe_diag_access_bounds): ...to this.
(check_bounds_or_overlap): Adjust for name change above.

gcc/testsuite/ChangeLog:

PR tree-optimization/88771
* gcc.dg/Wstringop-overflow-8.c: New test.
* gcc.dg/Wstringop-overflow-9.c: New test.
* gcc.dg/Warray-bounds-40.c: New test.
* gcc.dg/builtin-stpncpy.c: Adjust.
* gcc.dg/builtin-stringop-chk-4.c: Adjust.
* g++.dg/opt/memcpy1.C: Adjust.


Added:
trunk/gcc/testsuite/gcc.dg/Warray-bounds-40.c
trunk/gcc/testsuite/gcc.dg/Wstringop-overflow-8.c
trunk/gcc/testsuite/gcc.dg/Wstringop-overflow-9.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/gimple-ssa-warn-restrict.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/opt/memcpy1.C
trunk/gcc/testsuite/gcc.dg/builtin-stpncpy.c
trunk/gcc/testsuite/gcc.dg/builtin-stringop-chk-4.c

[Bug c++/89267] [8 Regression] FAIL: g++.dg/cpp1z/constexpr-lambda8.C (test for excess errors)

2019-02-11 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89267

Jason Merrill  changed:

   What|Removed |Added

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

[Bug target/89222] [7/8/9 regression] ARM thumb-2 misoptimisation of func ptr call with -O2 or -Os

2019-02-11 Thread wilco at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89222

--- Comment #7 from Wilco  ---
Patch: https://gcc.gnu.org/ml/gcc-patches/2019-02/msg00780.html

[Bug c++/89287] Array declaration fails to use template conversion operator

2019-02-11 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89287

--- Comment #1 from Marek Polacek  ---
This doesn't seem to ever work with G++ (even 4.8 rejects it).

[Bug c++/87996] [8 Regression] "size of array is negative" error when SIZE_MAX/2 < sizeof(array) <= SIZE_MAX

2019-02-11 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87996

Martin Sebor  changed:

   What|Removed |Added

  Known to work||9.0
Summary|[8/9 Regression] "size of   |[8 Regression] "size of
   |array is negative" error|array is negative" error
   |when SIZE_MAX/2 <   |when SIZE_MAX/2 <
   |sizeof(array) <= SIZE_MAX   |sizeof(array) <= SIZE_MAX
  Known to fail|9.0 |

--- Comment #6 from Martin Sebor  ---
Fixed via r268774 in GCC 9.0.

[Bug c++/87996] [8/9 Regression] "size of array is negative" error when SIZE_MAX/2 < sizeof(array) <= SIZE_MAX

2019-02-11 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87996

--- Comment #5 from Martin Sebor  ---
Author: msebor
Date: Mon Feb 11 17:35:17 2019
New Revision: 268774

URL: https://gcc.gnu.org/viewcvs?rev=268774&root=gcc&view=rev
Log:
PR c++/87996 - size of array is negative error when SIZE_MAX/2 < sizeof(array)
<= SIZE_MAX

gcc/ChangeLog:

PR c++/87996
* builtins.c (max_object_size): Move from here...
* builtins.h (max_object_size): ...and here...
* tree.c (max_object_size): ...to here...
* tree.h (max_object_size): ...and here.

gcc/c-family/ChangeLog:

PR c++/87996
* c-common.c (invalid_array_size_error): New function.
(valid_array_size_p): Call it.  Handle size as well as type.
* c-common.h (valid_constant_size_p): New function.
(enum cst_size_error): New type.

gcc/cp/ChangeLog:

PR c++/87996
* decl.c (compute_array_index_type_loc): Preserve signed sizes
for diagnostics.  Call valid_array_size_p instead of error.
* init.c (build_new_1): Compute size for diagnostic.  Call
invalid_array_size_error
(build_new): Call valid_array_size_p instead of error.

gcc/testsuite/ChangeLog:

PR c++/87996
* c-c++-common/array-5.c: New test.
* c-c++-common/pr68107.c: Adjust text of diagnostics.
* g++.dg/init/new38.C: Same.
* g++.dg/init/new43.C: Same.
* g++.dg/init/new44.C: Same.
* g++.dg/init/new46.C: Same.
* g++.dg/other/large-size-array.C: Same.
* g++.dg/other/new-size-type.C: Same.
* g++.dg/template/array30.C: Same.
* g++.dg/template/array32.C: New test.
* g++.dg/template/dependent-name3.C: Adjust.
* gcc.dg/large-size-array-3.c: Same.
* gcc.dg/large-size-array-5.c: Same.
* gcc.dg/large-size-array.c: Same.
* g++.old-deja/g++.brendan/array1.C: Same.
* g++.old-deja/g++.mike/p6149.C: Same.


Added:
trunk/gcc/testsuite/c-c++-common/array-5.c
trunk/gcc/testsuite/g++.dg/template/array32.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/builtins.c
trunk/gcc/builtins.h
trunk/gcc/c-family/ChangeLog
trunk/gcc/c-family/c-common.c
trunk/gcc/c-family/c-common.h
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl.c
trunk/gcc/cp/init.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/c-c++-common/pr68107.c
trunk/gcc/testsuite/g++.dg/init/new38.C
trunk/gcc/testsuite/g++.dg/init/new43.C
trunk/gcc/testsuite/g++.dg/init/new44.C
trunk/gcc/testsuite/g++.dg/init/new46.C
trunk/gcc/testsuite/g++.dg/other/large-size-array.C
trunk/gcc/testsuite/g++.dg/other/new-size-type.C
trunk/gcc/testsuite/g++.dg/template/array30.C
trunk/gcc/testsuite/g++.dg/template/dependent-name3.C
trunk/gcc/testsuite/g++.dg/ubsan/pr81530.C
trunk/gcc/testsuite/g++.old-deja/g++.brendan/array1.C
trunk/gcc/testsuite/g++.old-deja/g++.mike/p6149.C
trunk/gcc/testsuite/gcc.dg/large-size-array-3.c
trunk/gcc/testsuite/gcc.dg/large-size-array-5.c
trunk/gcc/testsuite/gcc.dg/large-size-array.c
trunk/gcc/tree.c
trunk/gcc/tree.h

[Bug c/89290] New: [8/9 Regression] ICE in change_address_1, at emit-rtl.c:2286

2019-02-11 Thread gs...@t-online.de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89290

Bug ID: 89290
   Summary: [8/9 Regression] ICE in change_address_1, at
emit-rtl.c:2286
   Product: gcc
   Version: 9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: gs...@t-online.de
  Target Milestone: ---

With options -O0 -mcmodel=large on x86_64-pc-linux-gnu :


$ cat pr56847.c
struct S { long int a, b; } e;
__thread struct S s;

void
foo (void)
{
  s = e;
}


$ gcc-7  -c pr56847.c -O0 -mcmodel=large
$ gcc-9-20190210 -c pr56847.c -O2 -mcmodel=large
$ gcc-9-20190210 -c pr56847.c -O0
$
$ gcc-9-20190210 -c pr56847.c -O0 -mcmodel=large
during RTL pass: split2
pr56847.c: In function 'foo':
pr56847.c:8:1: internal compiler error: in change_address_1, at emit-rtl.c:2286
8 | }
  | ^
0x7a18d0 change_address_1
../../gcc/emit-rtl.c:2286
0x7a4896 adjust_address_1(rtx_def*, machine_mode, poly_int<1u, long>, int, int,
int, poly_int<1u, long>)
../../gcc/emit-rtl.c:2420
0xd5c619 split_double_mode(machine_mode, rtx_def**, int, rtx_def**, rtx_def**)
../../gcc/config/i386/i386.c:18661
0xd5ca5b ix86_split_to_parts
../../gcc/config/i386/i386.c:25393
0xd671cd ix86_split_long_move(rtx_def**)
../../gcc/config/i386/i386.c:25483
0xf88d20 gen_split_8(rtx_insn*, rtx_def**)
../../gcc/config/i386/i386.md:2267
0x10ccd04 split_10
../../gcc/config/i386/i386.md:9883
0x112b377 split_insns(rtx_def*, rtx_insn*)
../../gcc/config/i386/i386.md:13184
0x7a6331 try_split(rtx_def*, rtx_insn*, int)
../../gcc/emit-rtl.c:3851
0xa00281 split_insn
../../gcc/recog.c:2901
0xa043a2 split_all_insns()
../../gcc/recog.c:3005
0xa044a8 execute
../../gcc/recog.c:3905

[Bug c/89289] New: ICE in extract_insn, at recog.c:2310

2019-02-11 Thread gs...@t-online.de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89289

Bug ID: 89289
   Summary: ICE in extract_insn, at recog.c:2310
   Product: gcc
   Version: 9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: gs...@t-online.de
  Target Milestone: ---

A combination of __thread with option -mforce-indirect-call
and -fpic or -fPIC gives an ICE starting with early gcc-8
for pr24428, pr47715, pr68986 and others :


$ cat z1.c
extern __thread int a;
int f ()
{
  return a;
}


$ gcc-9-20190210 -c z1.c -fpic
$ gcc-9-20190210 -c z1.c -fpic -mforce-indirect-call
z1.c: In function 'f':
z1.c:5:1: error: unrecognizable insn:
5 | }
  | ^
(call_insn/u 5 2 6 2 (parallel [
(set (reg:DI 0 ax)
(call:DI (mem:QI (symbol_ref:DI ("__tls_get_addr")) [0  S1 A8])
(const_int 0 [0])))
(unspec:DI [
(symbol_ref:DI ("a") [flags 0x50] )
(reg/f:DI 7 sp)
] UNSPEC_TLS_GD)
]) "z1.c":4:10 -1
 (expr_list:REG_EH_REGION (const_int -2147483648 [0x8000])
(nil))
(nil))
during RTL pass: vregs
z1.c:5:1: internal compiler error: in extract_insn, at recog.c:2310
0x5aa7c0 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
../../gcc/rtl-error.c:108
0x5aa7df _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
../../gcc/rtl-error.c:116
0xa020e7 extract_insn(rtx_insn*)
../../gcc/recog.c:2310
0x817525 instantiate_virtual_regs_in_insn
../../gcc/function.c:1654
0x817525 instantiate_virtual_regs
../../gcc/function.c:1975
0x817525 execute
../../gcc/function.c:2024

[Bug lto/88147] [9 Regression] ICE in linemap_line_start, at libcpp/line-map.c:781 starting from r265875

2019-02-11 Thread dmalcolm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88147

--- Comment #19 from David Malcolm  ---
(In reply to David Malcolm from comment #17)
> Created attachment 45660 [details]
> Selftest coverage
> 
> The attached reproduces the problem via a minimal selftest, and is also
> fixed by attachment 45653 [details].

Thanks for creating this patch.  I like that it imposes an upper limit on the
value of a line number within an ordinary linemap relative to the line map's
starting line, but I wonder if that upper limit needs to be lower than the one
in your patch (e.g. what happens if the resulting location_t value hit limits
like LINE_MAP_MAX_LOCATION etc).

[Bug tree-optimization/80936] bcmp, bcopy, and bzero not declared nonnull

2019-02-11 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80936

Martin Sebor  changed:

   What|Removed |Added

 Status|RESOLVED|NEW
 Resolution|INVALID |---
  Known to fail||7.3.0, 8.2.0, 9.0

--- Comment #4 from Martin Sebor  ---
POSIX says this about bcopy:

  For maximum portability, it is recommended to replace the function call to
bcopy() as follows:

  #define bcopy(b1,b2,len) (memmove((b2), (b1), (len)), (void) 0)

GCC lowers bcopy calls to memmove (and similarly for other bxxx calls), which I
think makes it even more important that the non-null attribute be applied to
their declarations, to detect bugs due to legacy code making the assumption
that   bcopy et al are null-safe (e.g., on a target where they really are).

$ cat t.c && gcc -O0 -S -Wall -fdump-tree-lower=/dev/stdout t.c
void f (void *d, const void *s, __SIZE_TYPE__ n)
{
  __builtin_bcopy (s, 0, n);
}

;; Function f (f, funcdef_no=0, decl_uid=1908, cgraph_uid=1, symbol_order=0)

f (void * d, const void * s, long unsigned int n)
{
  __builtin_memmove (0B, s, n);
  return;
}

[Bug c/89288] New: [9 Regression] ICE in tree_code_size, at tree.c:865

2019-02-11 Thread gs...@t-online.de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89288

Bug ID: 89288
   Summary: [9 Regression] ICE in tree_code_size, at tree.c:865
   Product: gcc
   Version: 9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: gs...@t-online.de
  Target Milestone: ---

Changed between 20181118 and 20181125 :


$ cat z1.c
typedef int Assert [(__builtin_has_attribute (1, target("sse")) == 1)];


$ gcc-9-20190210 -c z1.c
z1.c:1:1: internal compiler error: in tree_code_size, at tree.c:865
1 | typedef int Assert [(__builtin_has_attribute (1, target("sse")) == 1)];
  | ^~~
0xcbace1 tree_code_size(tree_code)
../../gcc/tree.c:865
0xcbae2c make_node(tree_code)
../../gcc/tree.c:1038
0xcbdd2b build_decl(unsigned int, tree_code, tree_node*, tree_node*)
../../gcc/tree.c:5023
0x692278 validate_attribute
../../gcc/c-family/c-attribs.c:4036
0x692278 has_attribute(unsigned int, tree_node*, tree_node*, tree_node*
(*)(tree_node*))
../../gcc/c-family/c-attribs.c:4069
0x61d28d c_parser_has_attribute_expression
../../gcc/c/c-parser.c:7665
0x61d28d c_parser_unary_expression
../../gcc/c/c-parser.c:7356
0x61d537 c_parser_cast_expression
../../gcc/c/c-parser.c:7222
0x61d7e3 c_parser_binary_expression
../../gcc/c/c-parser.c:7025
0x61e695 c_parser_conditional_expression
../../gcc/c/c-parser.c:6759
0x61ebe0 c_parser_expr_no_commas
../../gcc/c/c-parser.c:6676
0x61ee42 c_parser_expression
../../gcc/c/c-parser.c:9727
0x611c33 c_parser_postfix_expression
../../gcc/c/c-parser.c:8200
0x61c512 c_parser_unary_expression
../../gcc/c/c-parser.c:7380
0x61d537 c_parser_cast_expression
../../gcc/c/c-parser.c:7222
0x61d7e3 c_parser_binary_expression
../../gcc/c/c-parser.c:7025
0x61e695 c_parser_conditional_expression
../../gcc/c/c-parser.c:6759
0x61ebe0 c_parser_expr_no_commas
../../gcc/c/c-parser.c:6676
0x61b7c1 c_parser_direct_declarator_inner
../../gcc/c/c-parser.c:3844
0x62fbe1 c_parser_declaration_or_fndef
../../gcc/c/c-parser.c:1999

[Bug lto/88147] [9 Regression] ICE in linemap_line_start, at libcpp/line-map.c:781 starting from r265875

2019-02-11 Thread dmalcolm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88147

--- Comment #18 from David Malcolm  ---
(In reply to Martin Liška from comment #15)
> During the bug investigation I noticed a strange thing in line-map.c:
> 
>700if (line_delta < 0
>701|| (line_delta > 10
>702&& line_delta * map->m_column_and_range_bits > 1000)
>703|| (max_column_hint >= (1U << effective_column_bits))
>704|| (max_column_hint <= 80 && effective_column_bits >= 10)
>705|| (highest > LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES
>706&& map->m_range_bits > 0)
>707|| (highest > LINE_MAP_MAX_LOCATION_WITH_COLS
>708&& (set->max_column_hint || highest >=
> LINE_MAP_MAX_LOCATION)))
>709  add_map = true;
> 
> m_column_and_range_bits > 1000 is always false as:
> 
>   /* Number of the low-order source_location bits used for column numbers
>  and ranges.  */
>   unsigned int m_column_and_range_bits : 8;
> 
> and the sub-expression on lines 701 and 702 is ugly as well.
> What's the purpose of the check?

It's not:
  m_column_and_range_bits > 1000
it's:
  line_delta * map->m_column_and_range_bits > 1000

where line_delta is an int; presumably the 8 bits of the field get widened.

The purpose of the check is impose a limit on the size of the jumps that occur
within the location_t representation, so that if there's a big jump in line
numbers, we start a linemap, where big is "> 1000" within the location_t value.
 The idea is to avoid wasting location_t values, without creating too many
linemap instances.

[Bug lto/88147] [9 Regression] ICE in linemap_line_start, at libcpp/line-map.c:781 starting from r265875

2019-02-11 Thread dmalcolm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88147

--- Comment #17 from David Malcolm  ---
Created attachment 45660
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45660&action=edit
Selftest coverage

The attached reproduces the problem via a minimal selftest, and is also fixed
by attachment 45653.

[Bug c++/89285] [8/9 Regression] ICE after casting the this pointer in the constructor in C++17 mode

2019-02-11 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89285

--- Comment #6 from Jakub Jelinek  ---
Bisected that to the finish_id_expression change, reverting the penultimate and
antepenultimate hunk of
https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/cp/semantics.c?limit_changes=0&r1=267272&r2=267271&pathrev=267272
makes gcc trunk reject the #c4 testcase again and ICE again with C bar {} which
should be valid.  Ah, and likely that is the reason why the #c4 patch makes a
difference, previously it was just a REINTERPRET_CAST_P NOP_EXPR around
PARM_DECL, but now it is REINTERPRET_CAST_P NOP_EXPR around the location
wrapper nop and cp_fold optimizes that away.

[Bug middle-end/88560] [9 Regression] armv8_2-fp16-move-1.c and related regressions after r266385

2019-02-11 Thread tnfchris at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88560

--- Comment #15 from Tamar Christina  ---
Author: tnfchris
Date: Mon Feb 11 16:54:18 2019
New Revision: 268772

URL: https://gcc.gnu.org/viewcvs?rev=268772&root=gcc&view=rev
Log:
Arm: Update tests after register allocation changes. (PR/target 88560)


After the register allocator changes of r268705 we need to update a few tests
with new output.

In all cases the compiler is now generating the expected code, since the tests
are all float16 testcases using a hard-floar abi, we expect that actual fp16
instructions are used rather than using integer loads and stores.  Because of
we also save on some mov.f16s that were being emitted before to move between
the two.

The aapcs cases now match the f32 cases in using floating point operations.

gcc/testsuite/Changelog

PR middle-end/88560
* gcc.target/arm/armv8_2-fp16-move-1.c: Update assembler scans.
* gcc.target/arm/fp16-aapcs-1.c: Likewise.
* gcc.target/arm/fp16-aapcs-3.c: Likewise.



Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.target/arm/armv8_2-fp16-move-1.c
trunk/gcc/testsuite/gcc.target/arm/fp16-aapcs-1.c
trunk/gcc/testsuite/gcc.target/arm/fp16-aapcs-3.c

[Bug c++/89287] New: Array declaration fails to use template conversion operator

2019-02-11 Thread raphael.kubo.da.costa at intel dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89287

Bug ID: 89287
   Summary: Array declaration fails to use template conversion
operator
   Product: gcc
   Version: 8.2.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: raphael.kubo.da.costa at intel dot com
  Target Milestone: ---

(This is a reduction from a GCC + Chromium build issue)

Building the following excerpt with -std=gnu++14 causes GCC to fail, while
MSVC, clang and ICC work fine:

struct S {
  template 
  constexpr operator U() const {
return static_cast(42);
  }
};

void frob() {
  new char[S()];
}

x.cc: In function ‘void frob()’:
x.cc:9:14: error: default type conversion can't deduce template argument for
‘template constexpr S::operator U() const’ 
   new char[S()];
  ^

C++14 says in 8.3.4 Arrays that "If the constant-expression (5.20) is present,
it shall be a converted constant expression of type std::size_t and its value
shall be greater than zero", so I was expecting `new char[S()]' to end up
invoking S::operator size_t().

[Bug lto/88147] [9 Regression] ICE in linemap_line_start, at libcpp/line-map.c:781 starting from r265875

2019-02-11 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88147

--- Comment #16 from Martin Liška  ---
(In reply to Martin Liška from comment #14)
> Created attachment 45653 [details]
> Patch candidate
> 
> Patch candidate that survives both reduced and not reduced test-cases.
> David does the patch make sense?

It survives regression tests and bootstrap on x86_64-linux-gnu.

[Bug c++/89285] [8/9 Regression] ICE after casting the this pointer in the constructor in C++17 mode

2019-02-11 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89285

--- Comment #5 from Jakub Jelinek  ---
Though, I wonder if something isn't wrong with the r267272 commit, I'd have
thought that constexpr evaluation should be done on the pre-cp_folded bodies
and cp_fold could be removing REINTERPRET_CAST_Ps.

[Bug testsuite/88920] [9 regression] GCC is not configured to support amdgcn-unknown-amdhsa as offload target

2019-02-11 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88920

--- Comment #24 from Bill Schmidt  ---
Why does this end up showing up after a test is run, rather than early like all
the other target-supports checks?  It would be less surprising if it acted like
the others (and I would probably not have noticed to complain :).

[Bug c++/89285] [8/9 Regression] ICE after casting the this pointer in the constructor in C++17 mode

2019-02-11 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89285

Jakub Jelinek  changed:

   What|Removed |Added

   Keywords||accepts-invalid
 CC||jason at gcc dot gnu.org
Summary|[8 Regression] ICE after|[8/9 Regression] ICE after
   |casting the this pointer in |casting the this pointer in
   |the constructor in C++17|the constructor in C++17
   |mode|mode

--- Comment #4 from Jakub Jelinek  ---
Ok, so:
struct A {
  int a {};
};
struct B {
  int b {};
  constexpr B (A *x) {
int *c = &x->a;
while (*c)
  c = reinterpret_cast((reinterpret_cast(c) + *c));
*c = reinterpret_cast(this) - reinterpret_cast(c);
  }
};
struct C : A {
  B bar {this};
};

constexpr C foo {};

would then be accepts-invalid.

I've tried to fix that by doing:
--- gcc/cp/cp-gimplify.c(revision 268765)
+++ gcc/cp/cp-gimplify.c(working copy)
@@ -2307,6 +2307,22 @@ cp_fold (tree x)
  && TREE_OVERFLOW_P (x) && !TREE_OVERFLOW_P (op0))
TREE_OVERFLOW (x) = false;

+  /* Preserve REINTERPRET_CAST_P.  */
+  if (code == NOP_EXPR && REINTERPRET_CAST_P (org_x))
+   {
+ if (TREE_CODE (x) == NOP_EXPR && REINTERPRET_CAST_P (x))
+   break;
+ if (TREE_CODE (x) == NOP_EXPR)
+   {
+ x = copy_node (x);
+ REINTERPRET_CAST_P (x) = 1;
+   }
+ else
+   {
+ x = build1_loc (loc, code, TREE_TYPE (x), x);
+ REINTERPRET_CAST_P (x) = 1;
+   }
+   }
   break;

 case INDIRECT_REF:
and with that we reject the testcase again (like we've done in 8.x, so this
part is [9 Regression] accepts-invalid).
But that also means we ICE again on the:
C bar {};

So, maybe we want to ignore that:
  if (REINTERPRET_CAST_P (t))
{
  if (!ctx->quiet)
error_at (cp_expr_loc_or_loc (t, input_location),
  "a reinterpret_cast is not a constant expression");
  *non_constant_p = true;
  return t;
}
for perhaps !ctx->manifestly_const_eval , as in when we really don't require
constant expression.  But we don't really call constexpr with zero
manifestly_const_eval anyway.

[Bug c++/89285] [8 Regression] ICE after casting the this pointer in the constructor in C++17 mode

2019-02-11 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89285

--- Comment #3 from Jonathan Wakely  ---
I think it's valid (but the constructor can't be used in a constant
expression).

[Bug testsuite/88920] [9 regression] GCC is not configured to support amdgcn-unknown-amdhsa as offload target

2019-02-11 Thread ams at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88920

--- Comment #23 from Andrew Stubbs  ---
It's caused by the llvm_binutils check, which is used by pretty much every test
to determine whether to complain about blank lines in compile output, or not.

Right now the easiest way to determine if it's using that toolchain is to check
if the target is amdgcn (that being the only target that needs it). I suppose
llvm could also be detected by inspecting the --version output from
-as, or some such.

Your configuration isn't to blame.

[Bug fortran/89286] Intrinsic sign and GNU Extension

2019-02-11 Thread mark.eggleston at codethink dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89286

--- Comment #4 from MarkEggleston  ---
Missed some changes that should've gone in the change log. These included a
couple of line that shouldn't have been there.

Fixing patch and change log and will replace attachments when done.

[Bug fortran/89286] Intrinsic sign and GNU Extension

2019-02-11 Thread mark.eggleston at codethink dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89286

--- Comment #3 from MarkEggleston  ---
Created attachment 45659
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45659&action=edit
Change Log for gcc/testsuite for patch

Date to added later.

[Bug fortran/89286] Intrinsic sign and GNU Extension

2019-02-11 Thread mark.eggleston at codethink dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89286

--- Comment #2 from MarkEggleston  ---
Created attachment 45658
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45658&action=edit
Change log for gcc/fortran for patch

Date to added later.

[Bug testsuite/88920] [9 regression] GCC is not configured to support amdgcn-unknown-amdhsa as offload target

2019-02-11 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88920

--- Comment #22 from Bill Schmidt  ---
It also seems odd to me that all the other checks happen when reading
powerpc.exp, prior to running my tests, but this one happens late:

Running
/home/wschmidt/gcc/gcc-mainline-test2/gcc/testsuite/gcc.target/powerpc/powerpc.exp
...

[Test for linker_plugin]
[Test for vsx_hw_available]

Run my test

[Test for offload_gcn]

[Bug c++/89285] [8 Regression] ICE after casting the this pointer in the constructor in C++17 mode

2019-02-11 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89285

Jakub Jelinek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2019-02-11
 CC||dmalcolm at gcc dot gnu.org,
   ||jakub at gcc dot gnu.org,
   ||redi at gcc dot gnu.org
   Target Milestone|--- |8.3
Summary|ICE after casting the this  |[8 Regression] ICE after
   |pointer in the constructor  |casting the this pointer in
   |in C++17 mode   |the constructor in C++17
   ||mode
 Ever confirmed|0   |1

--- Comment #2 from Jakub Jelinek  ---
This started to ICE with r259629 and stopped ICEing with r267272.
Not really sure if this is ice-on-invalid (and thus accepts-invalid) on the
trunk or just ice-on-valid on the branch, given the reinterpret_casts in the
constexpr body.

[Bug fortran/87689] Memory corruption on Power 8

2019-02-11 Thread amodra at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87689

--- Comment #10 from Alan Modra  ---
Replying to comment #4, yes, the function decl is wrong.  It should have the
full  parameter list, or have none (ie. tree.c:prototype_p return false).  The
powerpc ELFv2 ABI works fine with non-prototyped function calls, but not with
lying prototypes..

[Bug testsuite/88920] [9 regression] GCC is not configured to support amdgcn-unknown-amdhsa as offload target

2019-02-11 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88920

--- Comment #21 from Bill Schmidt  ---
Well, perhaps this is business as usual, but I'd still like to understand this
a little better.

What causes us to run the effective-target check for this thing in the first
place?  

I've restricted my query with RUNTESTFLAGS to directories that contain
powerpc.exp.  To my knowledge, there's nothing in any such directory that cares
about GPU offloading.  So what causes the effective-target check?

I'm okay with closing this, but would very much like to understand if we have
an inefficiency here where we're running all sorts of checks that aren't needed
for the tests being run.  Or if we have something wrong in powerpc.exp that is
causing this unnecessary effective-target check.

[Bug fortran/89286] Intrinsic sign and GNU Extension

2019-02-11 Thread mark.eggleston at codethink dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89286

--- Comment #1 from MarkEggleston  ---
Created attachment 45657
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45657&action=edit
GNU extension to intrinsic SIGN

Includes change to Intrinsic documentation.

[Bug fortran/89286] New: Intrinsic sign and GNU Extension

2019-02-11 Thread mark.eggleston at codethink dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89286

Bug ID: 89286
   Summary: Intrinsic sign and GNU Extension
   Product: gcc
   Version: 9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: mark.eggleston at codethink dot com
  Target Milestone: ---

The GNU extension allows different kinds to used in the actual arguments to
DIM, MOD, MODULO, MAX and MIN. The description of the arguments for SIGN are
the same as for DIM, MOD and MODULO.

I asked on this e-mail thread
https://gcc.gnu.org/ml/fortran/2019-01/msg00301.html whether SIGN should also
be covered by the GNU extension. Specifically in
https://gcc.gnu.org/ml/fortran/2019-01/msg00303.html.

I think it should hence this PR.

Patch to follow.

[Bug fortran/87689] Memory corruption on Power 8

2019-02-11 Thread amodra at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87689

Alan Modra  changed:

   What|Removed |Added

 CC||amodra at gmail dot com

--- Comment #9 from Alan Modra  ---
The call in main is wrong.  From comment #3
> Tree dump looks reasonable with 8.1:
> 
> static integer(kind=4) C.2183 = 1;
> static integer(kind=4) C.2184 = 2;
> static integer(kind=4) C.2185 = 3;
> static integer(kind=4) C.2186 = 4;
> static integer(kind=4) C.2187 = 5;
> static integer(kind=4) C.2188 = 6;
> character(kind=1) str.0[20];
> 
> doesntwork_p8 ((character(kind=1)[1:20] *) &str.0, 20, &c, &C.2183, 
> &C.2184, &C.2185, &C.2186, &C.2187, &C.2188, 1);

Looking at the assembly, I see r3 is &str.0, r4 is 20, r5 is &c, and so on up
to r10 which is &C.2187.  That's all good.  The next arg, &C.2188 is stored on
the stack at 32(1).  That's wrong.  It should be 96(1), ie. leaving 64 bytes of
parameter save area.  Similarly for the final "1", which is stored at 40(1)
instead of 104(1).

Debugging a little, it seems that the cause is that the fndecl found in
expand_call is missing args.  These lines in expand_call

#ifdef REG_PARM_STACK_SPACE
  reg_parm_stack_space = REG_PARM_STACK_SPACE (!fndecl ? fntype : fndecl);
#endif

then calculate 0 for reg_parm_stack_space, which is correct for the given bogus
fndecl.

 >
SI
size 
unit-size 
align:32 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x768c19d8
attributes 
value >>
arg-types 
chain 
chain >>>
pointer_to_this >
addressable used public external SI /home/alan/src/tmp/pr87689_main.f:7:0
align:32 warn_if_not_align:0 context  chain >

[Bug testsuite/88920] [9 regression] GCC is not configured to support amdgcn-unknown-amdhsa as offload target

2019-02-11 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88920

--- Comment #20 from Jakub Jelinek  ---
Various effective targets are checked already in the initialization of various
*.exp, etc.  E.g. struct-layout-1.exp checks
check_effective_target_short_enums, gomp.exp checks
check_effective_target_fopenmp, dfp.exp checks dfp effective target, lto.exp
lto, sso.exp int32, ubsan.exp that -fsanitize=undefined works, many others.
That is again normal and happens a lot.  I really don't understand why you care
about this.  The log file is indeed verbose and prints everything that has been
executed.  Are you upset that there is fatal error: in there, or even error:
would upset you (as I said above, that happens e.g. with ilp32 or lp64 etc. if
those fail).

[Bug testsuite/88920] [9 regression] GCC is not configured to support amdgcn-unknown-amdhsa as offload target

2019-02-11 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88920

--- Comment #19 from Bill Schmidt  ---
Specifially, I asked to compile only srad-modulo.c, but I end up with a
compilation of offload_gcn7262.c in my log when I do not configure in any way
to test for this.

[Bug testsuite/88920] [9 regression] GCC is not configured to support amdgcn-unknown-amdhsa as offload target

2019-02-11 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88920

--- Comment #18 from Bill Schmidt  ---
(In reply to Jakub Jelinek from comment #16)
> I don't see why this should be reopened.  Many of the effective target
> procedures leave some output in the log files, that is completely normal. 
> Why should this one be an exception?

This is running a test that nobody asked for.  I don't understand why the
effective target is even being checked!!

[Bug testsuite/88920] [9 regression] GCC is not configured to support amdgcn-unknown-amdhsa as offload target

2019-02-11 Thread ams at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88920

--- Comment #17 from Andrew Stubbs  ---
If this is going to annoy a lot of people then I suppose I could add an
additional message stating that the error can safely be ignored?

Or, maybe there's a way to silence/hide the output from
check_no_compiler_messages?

  1   2   >