[Bug tree-optimization/93428] [10 Regression] ICE in vect_transform_slp_perm_load since r10-4800-g10a73df76280e128

2020-01-29 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93428

Richard Biener  changed:

   What|Removed |Added

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

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

[Bug tree-optimization/93428] [10 Regression] ICE in vect_transform_slp_perm_load since r10-4800-g10a73df76280e128

2020-01-29 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93428

--- Comment #4 from CVS Commits  ---
The master branch has been updated by Richard Guenther :

https://gcc.gnu.org/g:148018bc3fe7ce47d005a1c5f7b6dd044024a4af

commit r10-6312-g148018bc3fe7ce47d005a1c5f7b6dd044024a4af
Author: Richard Biener 
Date:   Wed Jan 29 09:05:05 2020 +0100

tree-optimization/93428 - avoid load permutation vector clobbering

With SLP now being a graph with shared nodes across instances we have
to make sure to compute the load permutation of nodes once, not
overwriting the result of earlier analysis.

2020-01-28  Richard Biener  

PR tree-optimization/93428
* tree-vect-slp.c (vect_build_slp_tree_2): Compute the load
permutation when the load node is created.
(vect_analyze_slp_instance): Re-use it here.

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

[Bug analyzer/93276] Build error of current trunk indicating "#pragma GCC diagnostic not allowed inside functions"

2020-01-29 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93276

--- Comment #6 from CVS Commits  ---
The master branch has been updated by Jakub Jelinek :

https://gcc.gnu.org/g:7892ff37f407ef47ee852f281a80fa0dba6a5a67

commit r10-6313-g7892ff37f407ef47ee852f281a80fa0dba6a5a67
Author: Jakub Jelinek 
Date:   Wed Jan 29 09:36:19 2020 +0100

analyzer: fix build with gcc 4.4 (PR 93276)

All that is really needed is make sure you #include "diagnostic-core.h"
before including pretty-print.h.  By including
diagnostic-core.h first, you do:
and then pretty-print.h will do:
If instead pretty-print.h is included first, then it will use __gcc_diag__
instead of __gcc_tdiag__ and thus will assume %E/%D etc. can't be handled.

2020-01-29  Jakub Jelinek  

* analyzer.h (PUSH_IGNORE_WFORMAT, POP_IGNORE_WFORMAT): Remove.
* constraint-manager.cc: Include diagnostic-core.h before graphviz.h.
(range::dump, equiv_class::print): Don't use PUSH_IGNORE_WFORMAT or
POP_IGNORE_WFORMAT.
* state-purge.cc: Include diagnostic-core.h before
gimple-pretty-print.h.
(state_purge_annotator::add_node_annotations, print_vec_of_names):
Don't use PUSH_IGNORE_WFORMAT or POP_IGNORE_WFORMAT.
* region-model.cc: Move diagnostic-core.h include before graphviz.h.
(path_var::dump, svalue::print, constant_svalue::print_details,
region::dump_to_pp, region::dump_child_label, region::print_fields,
map_region::print_fields, map_region::dump_dot_to_pp,
map_region::dump_child_label, array_region::print_fields,
array_region::dump_dot_to_pp): Don't use PUSH_IGNORE_WFORMAT or
POP_IGNORE_WFORMAT.

[Bug fortran/93463] ICE in oacc_code_to_statement, at fortran/openmp.c:6007

2020-01-29 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93463

--- Comment #3 from CVS Commits  ---
The master branch has been updated by Jakub Jelinek :

https://gcc.gnu.org/g:aa1b56967d85bfc80d71341395f862ec2b30ca36

commit r10-6314-gaa1b56967d85bfc80d71341395f862ec2b30ca36
Author: Jakub Jelinek 
Date:   Wed Jan 29 09:39:16 2020 +0100

openmp: Handle rest of EXEC_OACC_* in oacc_code_to_statement [PR93463]

As the testcase shows, some EXEC_OACC_* codes weren't handled in
oacc_code_to_statement.  Fixed thusly.

2020-01-29  Jakub Jelinek  

PR fortran/93463
* openmp.c (oacc_code_to_statement): Handle
EXEC_OACC_{ROUTINE,UPDATE,WAIT,CACHE,{ENTER,EXIT}_DATA,DECLARE}.

* gfortran.dg/goacc/pr93463.f90: New test.

[Bug bootstrap/93409] [10 Regression] gcn libgomp plugin fails to build for x32

2020-01-29 Thread burnus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93409

--- Comment #5 from Tobias Burnus  ---
(In reply to Matthias Klose from comment #4)
> your proposed patch fails with:
> 
> checking for suffix of object files... configure: error: in
> `/home/packages/gcc/10/gcc-10-10-202
> 00128/build-gcn/amdgcn-amdhsa/libgcc':
> configure: error: cannot compute suffix of object files: cannot compile
> See `config.log' for more details
> mv -f .deps/findcomp.Tpo .deps/findcomp.Plo

Have you more details?

I find it puzzling that this patch for libgomp/ should cause that the config
fails in libgcc/.

[Bug bootstrap/93409] [10 Regression] gcn libgomp plugin fails to build for x32

2020-01-29 Thread doko at ubuntu dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93409

--- Comment #6 from Matthias Klose  ---
no, it fails earlier in libgcc. using llvm-9 as the linker/assembler

[Bug bootstrap/93409] [10 Regression] gcn libgomp plugin fails to build for x32

2020-01-29 Thread doko at debian dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93409

--- Comment #7 from Matthias Klose  ---
configure:3574: /home/packages/gcc/10/gcc-10-10-20200128/build-gcn/./gcc/xgcc
-B/home/packages/gcc/10/gcc-10-10-20200128/build-gcn/./gcc/ -nostdinc
-B/home/packages/gcc/10/gcc-10-10-20200128/build-gcn/amdgcn-amdhsa/newlib/
-isystem
/home/packages/gcc/10/gcc-10-10-20200128/build-gcn/amdgcn-amdhsa/newlib/targ-include
-isystem /home/packages/gcc/10/gcc-10-10-20200128/src-gcn/newlib/libc/include
-B/usr/amdgcn-amdhsa/bin/ -B/usr/amdgcn-amdhsa/lib/ -isystem
/usr/amdgcn-amdhsa/include -isystem /usr/amdgcn-amdhsa/sys-include -isystem
/home/packages/gcc/10/gcc-10-10-20200128/build-gcn/sys-include-o conftest
-g -O2   conftest.c  >&5   
/tmp/ccCyZnW0.s:2:2: error: unknown directive  
  
.hsa_code_object_version 2,0   
   ^   
 
/tmp/ccCyZnW0.s:3:2: error: unknown directive  
   .hsa_code_object_isa
   
  ^
 /tmp/ccCyZnW0.s:13:2: error: unknown
directive  
  .amdgpu_hsa_kernel  main 
 ^ 
   
/tmp/ccCyZnW0.s:15:2: error: unknown directive 
   .amd_kernel_code_t  
   
  ^
 /tmp/ccCyZnW0.s:84:2: error: unknown
directive  
  .end_amd_kernel_code_t   
 ^ 
   
configure:3577: $? = 1

[Bug c/92326] wrong bound in zero-length array diagnostics

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92326

--- Comment #5 from Martin Liška  ---
> negatives).  Can you clarify how the builds of grub2 and qemu are affected
> by it?

Despite our rules, these packages use -Werror ;) So it's not a critical issue
this PR.

[Bug c++/91118] ubsan does not work with openmp default (none) directive

2020-01-29 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91118

--- Comment #2 from CVS Commits  ---
The master branch has been updated by Jakub Jelinek :

https://gcc.gnu.org/g:8d7c0bf876fa784101f9ad9e3bba82cc065357da

commit r10-6315-g8d7c0bf876fa784101f9ad9e3bba82cc065357da
Author: Jakub Jelinek 
Date:   Wed Jan 29 09:41:42 2020 +0100

openmp: c++: Consider typeinfo decls to be predetermined shared [PR91118]

If the typeinfo decls appear in OpenMP default(none) regions, as we no
longer
predetermine const with no mutable members, they are diagnosed as errors,
but it isn't something the users can actually provide explicit sharing for
in
the clauses.

2020-01-29  Jakub Jelinek  

PR c++/91118
* cp-gimplify.c (cxx_omp_predetermined_sharing): Return
OMP_CLAUSE_DEFAULT_SHARED for typeinfo decls.

* g++.dg/gomp/pr91118-1.C: New test.
* g++.dg/gomp/pr91118-2.C: New test.

[Bug fortran/93486] ICE on valid with nested submodules and long submodule names

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93486

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #3 from Martin Liška  ---
Confirmed. Just for the record, it started with r6-2289-g3d5dc929f4077f3d.

[Bug fortran/93485] ICE in gfc_trans_array_ctor_element, at fortran/trans-array.c:1682

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93485

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #2 from Martin Liška  ---
Confirmed, it's very old issue (at least GCC 4.8.0+).

[Bug fortran/93463] ICE in oacc_code_to_statement, at fortran/openmp.c:6007

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

--- Comment #4 from Jakub Jelinek  ---
Fixed on the trunk so far.

[Bug c++/91118] ubsan does not work with openmp default (none) directive

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

--- Comment #3 from Jakub Jelinek  ---
Fixed on the trunk so far.

[Bug fortran/93484] [8/9/10 Regression] ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1120 since r7-4028-g87c9fca50cbe7ca9

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93484

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||kargl at gcc dot gnu.org,
   ||marxin at gcc dot gnu.org
Summary|[8/9/10 Regression] ICE in  |[8/9/10 Regression] ICE in
   |gfc_typenode_for_spec, at   |gfc_typenode_for_spec, at
   |fortran/trans-types.c:1120  |fortran/trans-types.c:1120
   ||since
   ||r7-4028-g87c9fca50cbe7ca9
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Confirmed, started with r7-4028-g87c9fca50cbe7ca9.

[Bug fortran/93483] ICE in gfc_constructor_copy, at fortran/constructor.c:103

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93483

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Confirmed, very old (4.8.0+).

[Bug fortran/93473] ICE on valid with long module + submodule names

2020-01-29 Thread clyon at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93473

Christophe Lyon  changed:

   What|Removed |Added

 CC||clyon at gcc dot gnu.org

--- Comment #9 from Christophe Lyon  ---
(In reply to Rainer Orth from comment #7)
> The new testcase ICEs on i386-pc-solaris2.11 and sparc-sun-solaris2.11 (both
> 32
> and 64-bit) as well as powerpc64-unknown-linux-gnu and
> powerpc64le-unknown-linux-gnu:
> 
> +FAIL: gfortran.dg/pr93473.f90   -O  (internal compiler error)
> +FAIL: gfortran.dg/pr93473.f90   -O  (test for excess errors)
> 

Fails on arm and aarch64 too.

[Bug fortran/93482] ICE in gfc_resolve_character_array_constructor, at fortran/array.c:2096

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93482

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Confirmed, it's at least as old as GCC 4.8.0.

[Bug fortran/93484] [8/9/10 Regression] ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1120 since r7-4028-g87c9fca50cbe7ca9

2020-01-29 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93484

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P4
   Target Milestone|--- |8.4

[Bug c++/91343] Spurious strict-aliasing warning with template class inheritance.

2020-01-29 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91343

Richard Biener  changed:

   What|Removed |Added

   Keywords||wrong-code
 CC||jason at gcc dot gnu.org

--- Comment #2 from Richard Biener  ---
The reason we are warning is a C++ FE one - the C++ FE emits the warning during
the parsing of func() at which point it has not yet placed a field for 'Parent'
in Child.

But for some reason it _did_ lay out the type already (TYPE_SIZE is zero,
not NULL_TREE).

This also causes wrong-code since we set TYPE_ALIAS_SET too early and
fail to record all subsets.

OK, it doesn't call layout_type but

Old value = 
New value = 
finish_struct (t=, attributes=)
at /space/rguenther/src/gcc/gcc/cp/class.c:7456
7456  TYPE_SIZE_UNIT (t) = size_zero_node;
(gdb) l
7451  DECL_ARTIFICIAL (ass_op) = true;
7452  DECL_CHAIN (ass_op) = TYPE_FIELDS (t);
7453  TYPE_FIELDS (t) = ass_op;
7454
7455  TYPE_SIZE (t) = bitsize_zero_node;
7456  TYPE_SIZE_UNIT (t) = size_zero_node;
7457  /* COMPLETE_TYPE_P is now true.  */

and that size is never changed.  Guess that's because it's a template.
Maybe we should fend off this diagnostic based on processing_template_decl?

We don't warn when it's not a template and the explicit instantiation
isn't necessary.  The function in question is static but 'Child'
in this context is dependent? (does it inherit the template param?  I guess
so?)

Anyhow, a fix could be put, for example, in C++ get_alias_set langhook
as well.  Not sure if we ever end up calling get_alias_set on a type
that isn't complete but was marked as such like

struct Foo {
   int i;
   void bar() { Foo *p; *p; }
   float j;
};

as said this can result in bougs alias-set subset representation.

C++ FE folks, please have a look.

[Bug c++/93477] [10 Regression] __atribute__((weak)) variables sharing the same name in two named namespaces cause a multiple definition error

2020-01-29 Thread dimhen at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93477

--- Comment #6 from Dmitry G. Dyachenko  ---
r10-6310 PASS for me both reduced and unreduced cases.

Thanks

[Bug bootstrap/93409] [10 Regression] gcn libgomp plugin fails to build for x32

2020-01-29 Thread burnus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93409

--- Comment #8 from Tobias Burnus  ---
(In reply to Matthias Klose from comment #7)
> /home/packages/gcc/10/gcc-10-10-20200128/build-gcn/./gcc/xgcc […]
> -isystem /home/packages/gcc/10/gcc-10-10-20200128/src-gcn/newlib/libc/include

This looks as if you are currently compiling the compiler targetting GCN –

> /tmp/ccCyZnW0.s:2:2: error: unknown directive   
> .hsa_code_object_version 2,0

And this is valid for the GCN/HSA assembler, the assembler should know this
directive ; I wonder whether the code is run by the wrong assembler? ("llvm-9
as the linker/assembler")

In principle, this code should be handled by LLVM,
cf. for LLVM 7 (identical for 8):
https://releases.llvm.org/7.0.0/docs/AMDGPUUsage.html#hsa-code-object-version-major-minor
and the current version (identical to LLVM 9):
https://llvm.org/docs/AMDGPUUsage.html#code-object-v2-directives-mattr-code-object-v3

However, while LLVM 7+8 simply list .hsa_code_object_version, LLVM 9 and
current have it under a section "Code Object V2 (-mattr=-code-object-v3)",
stating that Code Object V2 is not the default emitted by LLVM. [V3 uses
-mattr=+code-object-v3, note the "+" after the "=".]

I am not sure in how far this affects assembly rather than LLVM assembly
generation, but you could try to pass "-Wa,-mattr=-code-object-v3"
to GCC, e.g. by adding it to the CFLAGS.

[Bug c/93487] New: Missed tail-call optimizations

2020-01-29 Thread pskocik at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93487

Bug ID: 93487
   Summary: Missed tail-call optimizations
   Product: gcc
   Version: 9.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: pskocik at gmail dot com
  Target Milestone: ---

Given, for example:

#include 
typedef union lp_tp {
long l;
void *p;
} lp_tp ;
typedef union ilp_tp{
int i;
long l;
void *p;
lp_tp lp;
} ilp_tp;

long lcallee(void);
int icallee(void);
void *pcallee(void);
lp_tp lpcallee(void);

//tail calls on clang but not on gcc
int l2i(void){ return lcallee(); }
ilp_tp l_caller(void) { long rc = lcallee(); return (ilp_tp){.l=rc}; }
ilp_tp p_caller(void) { void *rc= pcallee(); return (ilp_tp){.p=rc}; }
ilp_tp lp_caller(void) { lp_tp rc = lpcallee(); return (ilp_tp){.lp =
rc}; }
ilp_tp lp_caller2(void) { lp_tp rc = lpcallee(); return (ilp_tp){.p =
rc.p}; }

struct foo* p2p_caller(void) { return pcallee(); } //optimized on both
uintptr_t p2up_caller(void) { return (uintptr_t)pcallee(); }
//optimized on both

//not optimized by either
ilp_tp i_caller(void) { int rc = icallee(); ilp_tp r; r.i=rc; return r;
}

clang (x86_64) is able to turn all of these calls except the last one into tail
calls but gcc tailcall-optimizes only the pointer-to-pointer conversions.

https://gcc.godbolt.org/z/Lw9-D2

[Bug testsuite/93393] [10 regression] gcc.dg/torture/pr93133.c fails

2020-01-29 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93393

--- Comment #7 from CVS Commits  ---
The master branch has been updated by Richard Sandiford :

https://gcc.gnu.org/g:f57ccb55cdaeabd099618622b6ddee3d03cc4fbf

commit r10-6316-gf57ccb55cdaeabd099618622b6ddee3d03cc4fbf
Author: Richard Sandiford 
Date:   Tue Jan 28 10:05:29 2020 +

testsuite: XFAIL gcc.dg/torture/pr93133.c for powerpc*-*-* [PR93393]

2020-01-29  Richard Sandiford  

gcc/testsuite/
PR testsuite/93393
* gcc.dg/torture/pr93133.c: XFAIL for powerpc*-*-*.

[Bug debug/90946] gcc generates wrong debug information at -O2

2020-01-29 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90946

Richard Biener  changed:

   What|Removed |Added

 CC||aoliva at gcc dot gnu.org
Summary|gcc generates wrong debug   |gcc generates wrong debug
   |information at -O3  |information at -O2

--- Comment #2 from Richard Biener  ---
There isn't really much we can do - l_756 is memory for quite a bit of the
compilation and there the dead-store removal "issue" with debug info
pops up and we elide the last *l = 105487; store without leaving debug
footprint.  Then at some point we are able to rewrite l_756 to a register
and only after that we elide even the first "store" leaving the only
debug footprint but with the outdated value.

So there's something that pops up in my mind we could do - mark everything
that was memory at some point and avoid generating debug stmts for it.
That's of course quite a big hammer

There's missed optimization that could have made the optimized value
, namely a pass ordering issue between DSE and DCE during
early opts where we have after CSE

   :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  l_756 = 40369;
  # DEBUG i => 0
  # DEBUG BEGIN_STMT
  l = &l_756;
  # DEBUG BEGIN_STMT
  goto ; [INV]

...

   :
  # DEBUG BEGIN_STMT
  l.8_17 = (long int) &l;
  o_37 = (int) l.8_17;
  # DEBUG o => o_37
  l_756 ={v} {CLOBBER};
  l ={v} {CLOBBER};
  return;

where you can see that 'l' is dead and thus we could have written l_756
into SSA much earlier (or eliminated all stores to it).  It shows
us not "quickly" eliminating zero-use SSA defs can lead to such delayed
optimizations.  into-SSA already could see it, doing

:
   # DEBUG BEGIN_STMT
   l.8_17 = (long int) &l;
-  o = (int) l.8_17;
-  l_756 = {CLOBBER};
-  l = {CLOBBER};
+  o_37 = (int) l.8_17;
+  # DEBUG o => o_37
+  l_756 ={v} {CLOBBER};
+  l ={v} {CLOBBER};
   return;

of course it's a bit premature there and tailored to this particular
testcase.

[Bug c++/91402] PowerPC unecessary -Wignored-attriubte warnings on template specialization with -mlongcall

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91402

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org,
   ||segher at gcc dot gnu.org
 Ever confirmed|0   |1

[Bug debug/90946] gcc generates wrong debug information at -O2

2020-01-29 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90946

--- Comment #3 from Richard Biener  ---
What might also cure the issue somewhat is putting down debug stmts at
definitions of register typed (but not yet register) defs.  So much like
into-SSA does when rewriting a LHS to SSA do it also for those
would-be "registers" that are not because they are address-taken.  You'd
then end up with

   l_756 = 40369;
   # DEBUG l_756 = 40369;

and

   l = &l_756;
   # DEBUG l = &l_756

the number of extra debug stmts should be limited (I hope).  It doesn't
solve the issue for indirect accesses like

  *l = ...

of course (we'd not want to emit debug resets for all possible pointed-to
vars there...).  Such indirect access can still be turned into a direct
register write later (which would be fine) or eliminated directly (not fine,
same issue as in this bug).

[Bug c++/91405] [concepts] internal compiler error: in synthesize_implicit_template_parm, at cp/parser.c:41206

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91405

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org,
   ||redi at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #3 from Martin Liška  ---
@Jonathan: Can you please attach the updated test-case so that I can bisect it?

[Bug c++/91407] Wnon-virtual-dtor should't fire for classes with operator delete=delete

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91407

Martin Liška  changed:

   What|Removed |Added

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

--- Comment #5 from Martin Liška  ---
Then closing as invalid.

[Bug c++/91423] address-of-packed-member when taking packed struct member by value

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91423

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

[Bug c++/91448] FAIL: g++.dg/opt/flifetime-dse2.C -std=gnu++98 execution test

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91448

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

[Bug middle-end/91462] [8/9/10 Regression] missing -Warray-bounds writing to an empty flexible array member in a ctor

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91462

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

[Bug c++/91405] [concepts] internal compiler error: in synthesize_implicit_template_parm, at cp/parser.c:41206

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

Jonathan Wakely  changed:

   What|Removed |Added

 Status|WAITING |NEW

--- Comment #4 from Jonathan Wakely  ---
Something like:

template
constexpr bool is_void_v = false;
template<>
constexpr bool is_void_v = true;

template
concept Void = is_void_v;

template
concept DatabaseTransaction = requires(T a) {
{ a.commit() } -> Void;
};

template
concept UserRepository = requires(T a, DatabaseTransaction auto transaction) {
{ a.insert_user_if_not_exists(transaction) } -> Void;
};

which correctly says:

91405.cc:15:60: error: placeholder type not allowed in this context
   15 | concept UserRepository = requires(T a, DatabaseTransaction auto
transaction) {
  |^~~~

[Bug c++/91405] [concepts] internal compiler error: in synthesize_implicit_template_parm, at cp/parser.c:41206

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

--- Comment #5 from Jonathan Wakely  ---
Or simpler:

template
concept DatabaseTransaction = requires(T a) {
  a.commit();
};

template
concept UserRepository = requires(T a, DatabaseTransaction auto transaction) {
  a.insert_user_if_not_exists(transaction);
};

[Bug c++/91466] [concepts] indicates "used in its own initializer" when not, constraint order change passes compilation.

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91466

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org,
   ||redi at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #2 from Martin Liška  ---
@Jonathan: Can we close this?

[Bug c++/91467] [concepts] ICE: in tsubst_copy, at cp/pt.c:15545

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91467

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org,
   ||redi at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #2 from Martin Liška  ---
@Jonathan: Can we close this?

[Bug c++/91405] [concepts] internal compiler error: in synthesize_implicit_template_parm, at cp/parser.c:41206

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

--- Comment #6 from Jonathan Wakely  ---
It was fixed by r276764

[Bug preprocessor/91477] error messages do not show column numbers for large source files

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91477

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org,
   ||rguenth at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #2 from Martin Liška  ---
Can we close this is invalid?

[Bug target/91489] misplaced stack pointer when __ms_hook_prologue__ attribute is used

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91489

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #2 from Martin Liška  ---
@Paul: Can you please send the patch to GCC patches mailing list?

[Bug testsuite/93393] [10 regression] gcc.dg/torture/pr93133.c fails

2020-01-29 Thread rsandifo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93393

rsandifo at gcc dot gnu.org  changed:

   What|Removed |Added

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

--- Comment #8 from rsandifo at gcc dot gnu.org  
---
Fixed on trunk.

[Bug c++/91499] Compile error when trying to aggregate-initialize a member array of non-movable objects with user-defined destructor

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91499

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

[Bug preprocessor/91477] error messages do not show column numbers for large source files

2020-01-29 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91477

Richard Biener  changed:

   What|Removed |Added

 Status|WAITING |SUSPENDED

--- Comment #3 from Richard Biener  ---
Let's suspend it.  We could in theory throw memory at the issue but currently
it works as designed and thus isn't really a bug but an implementation
limitation.

[Bug rtl-optimization/91509] -fprefetch-loop-arrays and LTO causes memory usage compiling wrf to go through the roof

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91509

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Blocks||26163
 Ever confirmed|0   |1


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26163
[Bug 26163] [meta-bug] missed optimization in SPEC (2k17, 2k and 2k6 and 95)

[Bug c++/91466] [concepts] indicates "used in its own initializer" when not, constraint order change passes compilation.

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

Jonathan Wakely  changed:

   What|Removed |Added

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

--- Comment #3 from Jonathan Wakely  ---
Yes, this was also fixed at r276764

[Bug c++/67491] [meta-bug] concepts issues

2020-01-29 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67491
Bug 67491 depends on bug 91466, which changed state.

Bug 91466 Summary: [concepts] indicates "used in its own initializer" when not, 
constraint order change passes compilation.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91466

   What|Removed |Added

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

[Bug c++/67491] [meta-bug] concepts issues

2020-01-29 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67491
Bug 67491 depends on bug 91467, which changed state.

Bug 91467 Summary: [concepts] ICE: in tsubst_copy, at cp/pt.c:15545
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91467

   What|Removed |Added

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

[Bug c++/91467] [concepts] ICE: in tsubst_copy, at cp/pt.c:15545

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

Jonathan Wakely  changed:

   What|Removed |Added

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

--- Comment #3 from Jonathan Wakely  ---
The ICE was fixed with r276764 and now gives an error as expected.

[Bug middle-end/91515] missed optimization: no tailcall for types of class MEMORY

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91515

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

[Bug preprocessor/91517] Pragma expansion in variadic macro reorders pragmas and breaks code

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91517

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

[Bug libgomp/91530] Several libgomp.*/scan-* tests FAIL without avx_runtime

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91530

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
   Assignee|unassigned at gcc dot gnu.org  |jakub at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #9 from Martin Liška  ---
@Jakub: Can we close this?

[Bug middle-end/91535] missing warning on strchr reading from an empty constant array

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91535

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

[Bug libgomp/91530] Several libgomp.*/scan-* tests FAIL without avx_runtime

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

Jakub Jelinek  changed:

   What|Removed |Added

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

--- Comment #10 from Jakub Jelinek  ---
Yes.

[Bug c/91542] internal representation of pointer reference shown in error message

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91542

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

[Bug libquadmath/91559] math/x2y2m1q.c assumes FE_TONEAREST defined

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91559

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Sorry, but can you please explain what's expected from GCC in this situation?

[Bug d/91561] [Regression] Internal Compiler Error: type ‘ubyte[]’ can not be mapped to C++

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91561

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2020-01-29
 CC||ibuclaw at gcc dot gnu.org,
   ||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Confirmed.

[Bug target/91602] GCC fails to build for riscv in a combined tree due to misconfigured leb128 support

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91602

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #9 from Martin Liška  ---
Can we resolve it as moved?

[Bug ipa/91596] IPA cdtor merging should preserve link file ordering

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91596

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 Ever confirmed|0   |1

[Bug middle-end/91603] Unaligned access in expand_assignment

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91603

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
   Assignee|unassigned at gcc dot gnu.org  |edlinger at gcc dot 
gnu.org
 Ever confirmed|0   |1

[Bug debug/91610] fvar-tracking degrades -O0 debug info

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91610

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||jakub at gcc dot gnu.org,
   ||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

[Bug debug/91611] debug info for register keyword variables at O0

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91611

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||jakub at gcc dot gnu.org,
   ||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

[Bug target/91614] [10 regression][arm] gcc.target/arm/unaligned-memcpy-2.c FAIL since r274986

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91614

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
   Assignee|unassigned at gcc dot gnu.org  |edlinger at gcc dot 
gnu.org
 Ever confirmed|0   |1

[Bug driver/91629] gcc-ar assumes that GCC_EXEC_PREFIX is ${bindir}, but it is ${libdir}/gcc

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91629

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||jsm28 at gcc dot gnu.org,
   ||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
@Joseph: Can you please write an opinion about this?

[Bug target/91638] powerpc -mlong-double-NN (documentation) issues

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91638

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
I see a documentation:

$ powerpc64le-suse-linux-gcc --help=target | grep long-do
  -mlong-double-[64,128]  Specify size of long double.

[Bug libstdc++/91653] ostream::operator<<(streambuf*) should fail the ostream when write output stream error but not

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91653

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org,
   ||redi at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #6 from Martin Liška  ---
@Jonathan: Can we close this as invalid?

[Bug tree-optimization/91663] split function can be re-inlined, leaving bad stack trace

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91663

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #2 from Martin Liška  ---
@Ian: Can we close this?

[Bug d/91666] _builtin function no work with GDC

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91666

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

[Bug lto/93384] [10 Regression] Python 3.9.0a3 fails to build on ppc64le with GCC 10.0.1: redefined symbol cannot be used on reloc

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

--- Comment #17 from Jakub Jelinek  ---
So, it seems
#0  symtab_node::noninterposable_alias (this=) at
../../gcc/symtab.c:1878
#1  0x10f6e5a0 in function_and_variable_visibility
(whole_program=) at ../../gcc/ipa-visibility.c:772
#2  0x111d1ff4 in (anonymous
namespace)::whole_program_function_and_variable_visibility () at
../../gcc/ipa-visibility.c:969
#3  (anonymous namespace)::pass_ipa_whole_program_visibility::execute
(this=) at ../../gcc/ipa-visibility.c:969
#4  0x109f38c4 in execute_one_pass (pass=pass@entry=0x11896850) at
../../gcc/passes.c:2500
#5  0x109f3578 in execute_ipa_pass_list (pass=0x11896850) at
../../gcc/passes.c:2927
#6  0x11057524 in ipa_passes () at ../../gcc/cgraphunit.c:2660
#7  symbol_table::compile (this=0x75a3) at ../../gcc/cgraphunit.c:2737
#8  0x1102c318 in lto_main () at ../../gcc/lto/lto.c:658
#9  0x110e7838 in compile_file () at ../../gcc/toplev.c:459
#10 0x1073b6fc in do_compile () at ../../gcc/toplev.c:2274
#11 toplev::main (this=0x7fffdd76, argc=, argv=) at ../../gcc/toplev.c:2413
#12 0x1073de34 in main (argc=, argv=0x7fffe1a8) at
../../gcc/main.c:39
is called just once in lto1 for the _PyObject_AssertFailed node, so my guess is
that it has been previously created in cc1plus and streamed out and in.
The reason why
  node->call_for_symbol_and_aliases (symtab_node::noninterposable_alias,
   (void *)&new_node, true);
doesn't find the already existing alias is that while _PyObject_AssertFailed
and 
_PyObject_AssertFailed.localalias have the same TREE_TYPE, DECL_CONTEXT and
DECL_ATTRIBUTES, the _PyObject_AssertFailed node has TREE_THIS_VOLATILE set on
it, while the alias doesn't, so flags_from_type_or_decl (node->decl) returns 0,
while flags_from_type_or_decl (fn->decl) returns ECF_NORETURN.

During symtab_node::noninterposable_alias (void) it uses copy_node and so
should copy even TREE_THIS_VOLATILE, so my guess is that the function isn't
marked noreturn explicitly, but it was later on that ipa-pure-const or whatever
determined the function is noreturn, and didn't update the aliases (I guess
such updating would be dangerous).

[Bug gcov-profile/93401] [9/10 regression] It is no longer possible to use -fprofile-generate= on setups with different instrumentation and feedback directories

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93401

--- Comment #2 from Martin Liška  ---
Confirmed. I would suggest to either an option that will tell which prefix
should be stripped from the .gcda files, or how many path components to skip.
Will it work for FF and HHVM? I'm not sure FF uses a prefix map?

[Bug c/91669] #pragma's and _Pragma's work but _Pragma's used in an equivalent macro don't

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91669

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

[Bug c++/91693] Comparing addresses of templated inline vars gets bogus "not a constant expression" error

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91693

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||jason at gcc dot gnu.org,
   ||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #2 from Martin Liška  ---
Confirmed. Clang accepts the code.

[Bug libstdc++/91653] ostream::operator<<(streambuf*) should fail the ostream when write output stream error but not

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

Jonathan Wakely  changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution|--- |INVALID

--- Comment #7 from Jonathan Wakely  ---
Yes, closing.

[Bug libgcc/91695] [X86] get_available_features only sets FEATURE_GFNI and FEATURE_VPCLMULQDQ when avx512_usable is true

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91695

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 Ever confirmed|0   |1

[Bug lto/91724] [8 Regression] profiled lto bootstrap fails on arm-linux-gnueabihf

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91724

Martin Liška  changed:

   What|Removed |Added

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

[Bug lto/93384] [10 Regression] Python 3.9.0a3 fails to build on ppc64le with GCC 10.0.1: redefined symbol cannot be used on reloc

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

--- Comment #18 from Jakub Jelinek  ---
Perhaps if we want to really make sure all the flags are what we expect them,
we should call clone_function_name_numbered instead of clone_function_name,
though I'm afraid I have no idea how well that works across LTO, because I see
nothing in the LTO dumping or restoring that would try to maintain clone_fn_ids
hash_map.
Or we could for each name we try look it up among the aliases and if we find
such an alias, retry with another number or punt after trying a few.

[Bug tree-optimization/92706] SRA confuses FRE

2020-01-29 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92706

--- Comment #6 from CVS Commits  ---
The master branch has been updated by Martin Jambor :

https://gcc.gnu.org/g:6693911f069b1ada7c04aa1d00c3653ba694958a

commit r10-6322-g6693911f069b1ada7c04aa1d00c3653ba694958a
Author: Martin Jambor 
Date:   Wed Jan 29 13:13:13 2020 +0100

SRA: Also propagate accesses from LHS to RHS [PR92706]

2020-01-29  Martin Jambor  

PR tree-optimization/92706
* tree-sra.c (struct access): Fields first_link, last_link,
next_queued and grp_queued renamed to first_rhs_link, last_rhs_link,
next_rhs_queued and grp_rhs_queued respectively, new fields
first_lhs_link, last_lhs_link, next_lhs_queued and grp_lhs_queued.
(struct assign_link): Field next renamed to next_rhs, new field
next_lhs.  Updated comment.
(work_queue_head): Renamed to rhs_work_queue_head.
(lhs_work_queue_head): New variable.
(add_link_to_lhs): New function.
(relink_to_new_repr): Also relink LHS lists.
(add_access_to_work_queue): Renamed to add_access_to_rhs_work_queue.
(add_access_to_lhs_work_queue): New function.
(pop_access_from_work_queue): Renamed to
pop_access_from_rhs_work_queue.
(pop_access_from_lhs_work_queue): New function.
(build_accesses_from_assign): Also add links to LHS lists and to LHS
work_queue.
(child_would_conflict_in_lacc): Renamed to
child_would_conflict_in_acc.  Adjusted parameter names.
(create_artificial_child_access): New parameter set_grp_read, use it.
(subtree_mark_written_and_enqueue): Renamed to
subtree_mark_written_and_rhs_enqueue.
(propagate_subaccesses_across_link): Renamed to
propagate_subaccesses_from_rhs.
(propagate_subaccesses_from_lhs): New function.
(propagate_all_subaccesses): Also propagate subaccesses from LHSs to
RHSs.

testsuite/
* gcc.dg/tree-ssa/pr92706-1.c: New test.

[Bug tree-optimization/92706] SRA confuses FRE

2020-01-29 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92706

--- Comment #5 from CVS Commits  ---
The master branch has been updated by Martin Jambor :

https://gcc.gnu.org/g:636e80eea24b780f1d5f4c14c58fc1df8508

commit r10-6321-g636e80eea24b780f1d5f4c14c58fc1df8508
Author: Martin Jambor 
Date:   Wed Jan 29 13:13:13 2020 +0100

SRA: Total scalarization after access propagation [PR92706]

2020-01-29  Martin Jambor  

PR tree-optimization/92706
* tree-sra.c (struct access): Adjust comment of
grp_total_scalarization.
(find_access_in_subtree): Look for single children spanning an entire
access.
(scalarizable_type_p): Allow register accesses, adjust callers.
(completely_scalarize): Remove function.
(scalarize_elem): Likewise.
(create_total_scalarization_access): Likewise.
(sort_and_splice_var_accesses): Do not track total scalarization
flags.
(analyze_access_subtree): New parameter totally, adjust to new meaning
of grp_total_scalarization.
(analyze_access_trees): Pass new parameter to analyze_access_subtree.
(can_totally_scalarize_forest_p): New function.
(create_total_scalarization_access): Likewise.
(create_total_access_and_reshape): Likewise.
(total_should_skip_creating_access): Likewise.
(totally_scalarize_subtree): Likewise.
(analyze_all_variable_accesses): Perform total scalarization after
subaccess propagation using the new functions above.
(initialize_constant_pool_replacements): Output initializers by
traversing the access tree.

testsuite/
* gcc.dg/tree-ssa/pr92706-2.c: New test.
* gcc.dg/guality/pr59776.c: Xfail tests for s2.g.

[Bug preprocessor/91733] No longer treat carriage return as an end-of-line

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91733

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org,
   ||pinskia at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #2 from Martin Liška  ---
@Andrew: Can we close this as invalid?

[Bug c++/91742] User defined conversion references

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91742

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

[Bug c++/91754] [c++2a] Defining member function outside of class body fails to compile when containing class is templated on class-type NTTP

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91754

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Is it really a valid code? Clang also rejects the code.

[Bug c++/91755] C++ handling of extended characters is not 100% correct

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91755

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Confirmed. Clang also rejects the code:

pr91755.cc:2:1: error: static_assert failed due to requirement 'sizeof
("\"\317\200\"") == sizeof ("\"\\U03C0\"")' "oops"
static_assert(sizeof(stringize("π")) == sizeof(stringize("\U03C0")),
"oops");
^ ~

[Bug lto/93384] [10 Regression] Python 3.9.0a3 fails to build on ppc64le with GCC 10.0.1: redefined symbol cannot be used on reloc

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

--- Comment #19 from Jakub Jelinek  ---
Perhaps a workaround (and probably the right thing in any case) would be to
add _Py_NO_RETURN to _PyObject_AssertFailed declaration in
Include/cpython/object.h
because it will always call Py_FatalError which is already _Py_NO_RETURN
marked.

[Bug preprocessor/91733] No longer treat carriage return as an end-of-line

2020-01-29 Thread akim.demaille at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91733

--- Comment #3 from Akim Demaille  ---
That you want to still support \r is one thing.  That you discard my point
about the fact that as a consequence GCC fails to generate proper diagnostics
is something entirely different.

[Bug c++/91759] [8/9/10 Regression] g++ accepts ill-formed deduction guides in wrong scope since r7-6608-ga56c0ac08242269b

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91759

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||jason at gcc dot gnu.org,
   ||marxin at gcc dot gnu.org
  Known to work||6.4.0
Summary|g++ accepts ill-formed  |[8/9/10 Regression] g++
   |deduction guides in wrong   |accepts ill-formed
   |scope   |deduction guides in wrong
   ||scope since
   ||r7-6608-ga56c0ac08242269b
 Ever confirmed|0   |1
  Known to fail||10.0, 7.4.0, 8.3.0, 9.2.0

--- Comment #1 from Martin Liška  ---
Confirmed, started with r7-6608-ga56c0ac08242269b. We rejected the code before
the revision:

pr91759.cc:8:1: error: deduction guide ‘N::X(int)-> N::X’ must be declared
in the same scope as ‘N::X’
 X(int) -> X;
 ^
pr91759.cc:3:12: note:   declared here
 struct X{ X(int); };
^

[Bug c++/91760] Trailing return type breaks final specifier

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91760

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||jason at gcc dot gnu.org,
   ||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Confirmed.

[Bug libgomp/91762] OpenMP omp target exit data directive not working with gfortran

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91762

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
@Jakub: Can you please take a look?

[Bug c/91765] -Wredundant-decls conflicts with __attribute__((alias))

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91765

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

[Bug target/91569] Optimisation test case and unnecessary XOR-OR pair instead of MOV.

2020-01-29 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91569

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
  Component|rtl-optimization|target
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener  ---
(In reply to cubitect from comment #0)
> I wasn't entirely sure where to post this, but I have a very simple test 
> problem that shows some missed optimisation potential. The task is to cast 
> an integer to a long and replace the second lowest byte of the result with 
> a constant (4). Below are three ways to achieve this:
> 
> 
> long opt_test1(int num) //  opt_test1:
> {   //  movslq  %edi, %rax
> union { //  mmovb   $4, %ah
> long q; //  ret
> struct { char l,h; };
> } a;
> a.q = num;
> a.h = 4;
> return a.q;
> }
> 
> The union here is modelled after the structure of a r?x register which 
> contains the low and high byte registers: ?l and ?h. The cast and second 
> byte assignment can be done in one instruction each. The optimiser manages 
> to understand this and gives the optimal instructions.
> 
> 
> long opt_test2(int num) //  opt_test2:
> {   //  movl%edi, %eax
> long a = num;   //  xor %ah, %ah
> a &= (-1UL ^ 0xff00);   //  orb $4, %ah
> a |= (4 << 8);  //  cltq
> return a;   //  ret
> }
> 
> This solution, based on a bitwise AND and OR, is interesting. The optimiser 
> recognised that I am interested in the second byte and makes use of the 'ah' 
> register, but why is there a XOR and an OR rather than an a single, 
> equivalent MOV? Similarly the (MOV + CLTQ) can be replaced outright with 
> MOVSLQ. Notable here is that some older versions (such as "gcc-4.8.5 -O3") 
> give results that correspond more to the C code:
> andl$-65281, %edi
> orl $1024, %edi
> movslq  %edi, %rax
> ret
> which is actually better than the output for gcc-9.2.

This one looks like a target issue to me.  We end up using

(insn 20 18 21 2 (parallel [
(set (zero_extract:SI (reg:SI 0 ax [89])
(const_int 8 [0x8])
(const_int 8 [0x8]))
(subreg:SI (xor:QI (subreg:QI (zero_extract:SI (reg:SI 0 ax
[89])   
(const_int 8 [0x8])
(const_int 8 [0x8])) 0)
(subreg:QI (zero_extract:SI (reg:SI 0 ax [89])
(const_int 8 [0x8])
(const_int 8 [0x8])) 0)) 0))
(clobber (reg:CC 17 flags))
]) "t2.c":5:7 520 {*xorqi_ext_2}
 (expr_list:REG_UNUSED (reg:CC 17 flags)
(nil)))

via split2

> long opt_test3(int num) //  opt_test3:
> {   //  movslq  %edi, %rdi
> long a = num;   //  movq%rdi, -8(%rsp)
> ((char*)&a)[1] = 4; //  movb$4, -7(%rsp)
> return a;   //  movq-8(%rsp), %rax
> }   //  ret

Here we could (and fail to) rewrite the store to a BIT_INSERT_EXPR
in update_address_taken.  The stack approach suffers from STLF issues
on modern CPUs.

This one could be split out (it would be tree-optimization).  Keeping this
issue for the weird splitter.

[Bug c++/91768] gcc try to resolve member of dependent type too soon

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91768

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||jason at gcc dot gnu.org,
   ||marxin at gcc dot gnu.org,
   ||mpolacek at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Confirmed.

[Bug middle-end/93488] New: [OpenACC] ICE in type-cast 'async', 'wait' clauses

2020-01-29 Thread tschwinge at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93488

Bug ID: 93488
   Summary: [OpenACC] ICE in type-cast 'async', 'wait' clauses
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Keywords: ice-on-valid-code, openacc
  Severity: normal
  Priority: P3
 Component: middle-end
  Assignee: unassigned at gcc dot gnu.org
  Reporter: tschwinge at gcc dot gnu.org
CC: ams at gcc dot gnu.org
  Target Milestone: ---

Created attachment 47727
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47727&action=edit
'gcc/testsuite/c-c++-common/goacc/prN.c'

Similar to the OpenMP 'device' clause PR71758.  See
.

[Bug libgomp/91762] OpenMP omp target exit data directive not working with gfortran

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

Jakub Jelinek  changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek  ---
The OpenMP 4.5 support is still unfinished; though, this isn't a regression and
therefore will need to wait for GCC 11.

[Bug middle-end/93488] [OpenACC] ICE in type-cast 'async', 'wait' clauses

2020-01-29 Thread tschwinge at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93488

Thomas Schwinge  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2020-01-29
   Assignee|unassigned at gcc dot gnu.org  |ams at gcc dot gnu.org
 Ever confirmed|0   |1

[Bug c++/91780] Discrepancy between gcc 7.4, through 9.2, compared to clang.

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91780

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org,
   ||redi at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #2 from Martin Liška  ---
Confirmed, Jonathan can you please take a look?

[Bug c++/91793] [8/9/10 Regression] ICE on unexpanded parameter pack in lambda

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91793

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||jason at gcc dot gnu.org,
   ||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #3 from Martin Liška  ---
Confirmed.

[Bug target/91796] Sub-optimal YMM register allocation.

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91796

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

[Bug c++/91798] Compiler rejects code due to template specialization of auto parameter value.

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91798

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||jason at gcc dot gnu.org,
   ||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Confirmed.

[Bug c++/91803] statement-expressions are not allowed in template arguments

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91803

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

[Bug libstdc++/91807] [9/10 Regression] std::variant with multiple identical types assignment fail to compile

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91807

Martin Liška  changed:

   What|Removed |Added

   Keywords||needs-bisection
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||jason at gcc dot gnu.org,
   ||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

[Bug lto/93384] [10 Regression] Python 3.9.0a3 fails to build on ppc64le with GCC 10.0.1: redefined symbol cannot be used on reloc

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

--- Comment #20 from Jakub Jelinek  ---
I've tried to create small testcase for this:
__attribute__((noipa, noreturn)) void foo (void) { while (1) ; }
__attribute__((noinline)) void bar (void) { asm (""); foo (); }
void baz (int x) { if (x) bar (); }
and
extern void bar (void);
void qux (int x) { if (!x) bar (); }

./xgcc -B ./ -O2 -flto -ffat-lto-objects pr93384_0.c -S -fpic
-fno-semantic-interposition
./xgcc -B ./ -O2 -flto -ffat-lto-objects pr93384_1.c -S -fpic
-fno-semantic-interposition
as -o pr93384_0.{o,s}
as -o pr93384_1.{o,s}
./xgcc -B ./ -O2 -flto -shared -fpic -fno-semantic-interposition -o pr93384.so
pr93384_{0,1}.o -save-temps -v -flto-partition=one

but unfortunately (at least on x86_64-linux) it doesn't reproduce this, the
bar.localalias gets suffixed in one case to bar.localalias.lto_priv.0 and in
another one (though it didn't exist in the assembly at that point) to
bar.localalias.lto_priv.1.

[Bug c++/91840] Support for #pragma unroll (N)

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91840

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

[Bug middle-end/91848] missing warning on strcpy past the end of a member of an array with variable index

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91848

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

[Bug c++/91849] Misleading diagnostic message when binding reference to unrelated type

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91849

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-29
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Clang provides:

$ clang++ pr91849.cc -c
pr91849.cc:5:8: error: non-const lvalue reference to type 'int' cannot bind to
a value of unrelated type 'float'
  int &r = f;
   ^   ~
pr91849.cc:11:8: error: non-const lvalue reference to type 'int' cannot bind to
a temporary of type 'float'
  int &r = 1.f;
   ^   ~~~
2 errors generated.

  1   2   3   4   >