[Bug c++/108080] ICE: in core_vals, at cp/module.cc:6262 with -fmodule-header

2022-12-12 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108080

--- Comment #2 from Andrew Pinski  ---
(In reply to Andrew Pinski from comment #1)
> Most likely exactly the same:
> #pragma GCC optimize("Og")

That is from the other bug report.

[Bug c++/108080] ICE: in core_vals, at cp/module.cc:6262 with -fmodule-header

2022-12-12 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108080

--- Comment #1 from Andrew Pinski  ---
Most likely exactly the same:
#pragma GCC optimize("Og")

[Bug c++/108080] New: ICE: in core_vals, at cp/module.cc:6262 with -fmodule-header

2022-12-12 Thread zsojka at seznam dot cz via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108080

Bug ID: 108080
   Summary: ICE: in core_vals, at cp/module.cc:6262 with
-fmodule-header
   Product: gcc
   Version: 13.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: zsojka at seznam dot cz
  Target Milestone: ---
  Host: x86_64-pc-linux-gnu
Target: x86_64-pc-linux-gnu

Created attachment 54077
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54077=edit
reduced testcase

Maybe related to PR107083

Compiler output:
$ x86_64-pc-linux-gnu-g++ -fmodule-header testcase.C 
testcase.C: internal compiler error: in core_vals, at cp/module.cc:6262
0x7083ca trees_out::core_vals(tree_node*)
/repo/gcc-trunk/gcc/cp/module.cc:6262
0xf3ea44 trees_out::tree_node_vals(tree_node*)
/repo/gcc-trunk/gcc/cp/module.cc:7216
0xf3ea44 trees_out::tree_value(tree_node*)
/repo/gcc-trunk/gcc/cp/module.cc:9081
0xf3a8b1 trees_out::tree_node(tree_node*)
/repo/gcc-trunk/gcc/cp/module.cc:9279
0xf3bba0 trees_out::core_vals(tree_node*)
/repo/gcc-trunk/gcc/cp/module.cc:6170
0xf3939a trees_out::tree_node_vals(tree_node*)
/repo/gcc-trunk/gcc/cp/module.cc:7216
0xf3939a trees_out::decl_value(tree_node*, depset*)
/repo/gcc-trunk/gcc/cp/module.cc:7795
0xf409e2 depset::hash::find_dependencies(module_state*)
/repo/gcc-trunk/gcc/cp/module.cc:13326
0xf41171 module_state::write_begin(elf_out*, cpp_reader*, module_state_config&,
unsigned int&)
/repo/gcc-trunk/gcc/cp/module.cc:17893
0xf42574 finish_module_processing(cpp_reader*)
/repo/gcc-trunk/gcc/cp/module.cc:20235
0xed1912 c_parse_final_cleanups()
/repo/gcc-trunk/gcc/cp/decl2.cc:5148
0x10fd190 c_common_parse_file()
/repo/gcc-trunk/gcc/c-family/c-opts.cc:1266
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

$ x86_64-pc-linux-gnu-g++ -v
Using built-in specs.
COLLECT_GCC=/repo/gcc-trunk/binary-latest/bin/x86_64-pc-linux-gnu-g++
COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-r13-4610-20221212132425-g14d0f82cab3-checking-yes-rtl-df-extra-amd64/bin/../libexec/gcc/x86_64-pc-linux-gnu/13.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++
--enable-valgrind-annotations --disable-nls --enable-checking=yes,rtl,df,extra
--with-cloog --with-ppl --with-isl --build=x86_64-pc-linux-gnu
--host=x86_64-pc-linux-gnu --target=x86_64-pc-linux-gnu
--with-ld=/usr/bin/x86_64-pc-linux-gnu-ld
--with-as=/usr/bin/x86_64-pc-linux-gnu-as --disable-libstdcxx-pch
--prefix=/repo/gcc-trunk//binary-trunk-r13-4610-20221212132425-g14d0f82cab3-checking-yes-rtl-df-extra-amd64
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 13.0.0 20221212 (experimental) (GCC)

[Bug tree-optimization/107617] SCC-VN with len_store and big endian

2022-12-12 Thread rdapp at linux dot ibm.com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107617

rdapp at linux dot ibm.com changed:

   What|Removed |Added

 CC||rdapp at linux dot ibm.com

--- Comment #6 from rdapp at linux dot ibm.com ---
Thank you and sorry for the delay, I was out on vacation. Will test it soon.

[Bug c/108079] New: -Wunused-variable gives misleading duplicate warning for unused static local variable

2022-12-12 Thread stephenheumann at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108079

Bug ID: 108079
   Summary: -Wunused-variable gives misleading duplicate warning
for unused static local variable
   Product: gcc
   Version: 13.0
Status: UNCONFIRMED
  Keywords: diagnostic
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: stephenheumann at gmail dot com
  Target Milestone: ---

For this program:

int main(void) {
static int x;
}

gcc -Wunused-variable reports:

: In function 'main':
:2:20: warning: unused variable 'x' [-Wunused-variable]
2 | static int x;
  |^
: At top level:
:2:20: warning: 'x' defined but not used [-Wunused-variable]

These two warnings are about the same thing, except the second one is
incorrectly labeled "At top level." There should just be one warning, without
"At top level."

C++ does the same thing, except it says "At global scope" instead of "At top
level."

This seems to be a regression that occurred in GCC 6: 5.4 just gives one
warning, but 6.1 also gives the extra one with "At top level."

[Bug jit/108078] New: Canot compare vector types

2022-12-12 Thread bouanto at zoho dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108078

Bug ID: 108078
   Summary: Canot compare vector types
   Product: gcc
   Version: 12.2.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: jit
  Assignee: dmalcolm at gcc dot gnu.org
  Reporter: bouanto at zoho dot com
  Target Milestone: ---

I'll soon post a patch to fix this.

[Bug c/108043] [13 Regression] ICE: in fold_convert_loc, at fold-const.cc:2618 on invalid function braced initializer since r13-2205-g14cfa01755a66afb

2022-12-12 Thread joseph at codesourcery dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108043

--- Comment #3 from joseph at codesourcery dot com  ---
Probably the same as bug 107682.

[Bug c/108054] C2X auto with struct defined in statement expression

2022-12-12 Thread joseph at codesourcery dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108054

--- Comment #2 from joseph at codesourcery dot com  ---
The basic principle is that auto declarations should always be writable in 
a form without auto, so they should never result in a type escaping to a 
larger scope (but a rule expressed in that form would be very complicated 
to check, as discussed in the context of earlier drafts of the auto 
proposal with a rule expressed in such terms, hence the current version).  
Thus examples like these, where the type declared in a statement 
expression does escape via the type of that expression, are entirely 
appropriately rejected.

For cases of non-ordinary identifiers declared in code using only standard 
constructs (not all of which are properly detected by GCC at present), and 
related issues for some cases other than auto, I provided BSI with a 
document c2x-declaration-context.pdf to include when submitting the NB 
comments I provided on the C2X CD to ISO, which gives 16 examples of code 
using such corner cases and discusses what general principles might be 
consistent with the interpretations previously applied by WG14 in some of 
those cases.  So hopefully that will be included with the CD ballot 
results, if BSI includes that document as requested.

[Bug middle-end/93644] [10/11/12/13 Regression] spurious -Wreturn-local-addr with PHI of PHI

2022-12-12 Thread egallager at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93644

--- Comment #22 from Eric Gallager  ---
(In reply to George R. Goffe from comment #20)
> Hi,
> 
> I'm seeing this message from the "current" findutils.
>

Likewise with libiconv.

> What is the solution?

One hasn't been figured out yet; just use -Wno-cpp and -Wno-return-local-addr
for now, I guess...

[Bug go/108057] [13 Regression] libgo21 not ABI compatible gcc12 vs gcc13?

2022-12-12 Thread ian at airs dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108057

Ian Lance Taylor  changed:

   What|Removed |Added

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

--- Comment #3 from Ian Lance Taylor  ---
Fixed by bumping the major version.  Thanks.

[Bug c++/108071] [13 Regression] Build failure in Libreoffice since r13-4565

2022-12-12 Thread jason at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108071

Jason Merrill  changed:

   What|Removed |Added

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

--- Comment #9 from Jason Merrill  ---
Reverted the offending commit for now.

[Bug go/108057] [13 Regression] libgo21 not ABI compatible gcc12 vs gcc13?

2022-12-12 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108057

--- Comment #2 from CVS Commits  ---
The master branch has been updated by Ian Lance Taylor :

https://gcc.gnu.org/g:11c72cd3c8b06f057ce16c95966331ded692fd4e

commit r13-4624-g11c72cd3c8b06f057ce16c95966331ded692fd4e
Author: Ian Lance Taylor 
Date:   Mon Dec 12 12:46:40 2022 -0800

libgo: bump major version

PR go/108057

The current version is the same as for the previous GCC release,
but there have been minor changes like new type descriptors that
make it impossible to run Go programs built with the previous GCC
release with the current libgo.

Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/456976

[Bug fortran/107995] ICE: Segmentation fault, without backtrace

2022-12-12 Thread anlauf at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107995

anlauf at gcc dot gnu.org changed:

   What|Removed |Added

 Resolution|--- |FIXED
   Target Milestone|--- |13.0
 Status|ASSIGNED|RESOLVED

--- Comment #8 from anlauf at gcc dot gnu.org ---
Fixed for gcc-13.  Closing.

Thanks for the report, and to Steve for the patch!

[Bug fortran/107995] ICE: Segmentation fault, without backtrace

2022-12-12 Thread sgk at troutmask dot apl.washington.edu via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107995

--- Comment #7 from Steve Kargl  ---
On Mon, Dec 12, 2022 at 08:23:39PM +, anlauf at gcc dot gnu.org wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107995
> 
> --- Comment #6 from anlauf at gcc dot gnu.org ---
> Can we close this one?  (Target milestone 13)?
> 

Yes, I think so.  The code surely is a corner case.

[Bug libstdc++/108062] Test spdlog c++20 std::format

2022-12-12 Thread lukaszcz18 at wp dot pl via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108062

--- Comment #8 from Jamaika  ---
Thanks for tips std::formatter
Something has improved. GCC notices that there isn't  for TIFFFormat.cpp

[Bug fortran/107995] ICE: Segmentation fault, without backtrace

2022-12-12 Thread anlauf at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107995

--- Comment #6 from anlauf at gcc dot gnu.org ---
Can we close this one?  (Target milestone 13)?

[Bug tree-optimization/64622] convoluted loop codegen for __strcspn_c1

2022-12-12 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64622

Andrew Pinski  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Severity|normal  |enhancement
   Last reconfirmed||2022-12-12
 Ever confirmed|0   |1

--- Comment #4 from Andrew Pinski  ---
Confirmed.

I wonder if they see the body has no side effects except on the IV trans form
the IV to start one before ...

[Bug libstdc++/108062] Test spdlog c++20 std::format

2022-12-12 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108062

--- Comment #7 from Jonathan Wakely  ---
You still aren't showing the code that gives this error, so I'm just not going
to bother reading your big reports in future 

PNM_COLOUR_SPACE cannot be formatted because there is no
std::formatter specialization.

[Bug sanitizer/108072] [13 Regression] gcc/libbacktrace/elf.c:5144: multiple definition of `backtrace_uncompress_zstd' with --with-build-config=bootstrap-asan since r13-4547-g9df1ba9a35b86e

2022-12-12 Thread ian at airs dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108072

Ian Lance Taylor  changed:

   What|Removed |Added

 CC||ian at airs dot com

--- Comment #3 from Ian Lance Taylor  ---
That patch looks right to me.  Thanks.

[Bug tree-optimization/108017] ptr+v >= ptr + d should converted into (long)v >= CST(/sizeof(*ptr))

2022-12-12 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108017

Andrew Pinski  changed:

   What|Removed |Added

   See Also||https://gcc.gnu.org/bugzill
   ||a/show_bug.cgi?id=94356

--- Comment #2 from Andrew Pinski  ---
I think this is the more generialized form of bug 94356.

[Bug fortran/102180] Improve checking of assume size array spec

2022-12-12 Thread anlauf at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102180

anlauf at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |13.0

--- Comment #3 from anlauf at gcc dot gnu.org ---
Fixed.

[Bug fortran/102180] Improve checking of assume size array spec

2022-12-12 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102180

--- Comment #2 from CVS Commits  ---
The master branch has been updated by Harald Anlauf :

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

commit r13-4623-gcf5327b89ab610649c5faab78ea7907bb74b103c
Author: Harald Anlauf 
Date:   Sun Dec 11 23:24:03 2022 +0100

Fortran: improve checking of assumed-size array spec [PR102180]

gcc/fortran/ChangeLog:

PR fortran/102180
* array.cc (match_array_element_spec): Add check for bad
assumed-implied-spec.
(gfc_match_array_spec): Reorder logic so that the first bad array
element spec may trigger an error.

gcc/testsuite/ChangeLog:

PR fortran/102180
* gfortran.dg/pr102180.f90: New test.

[Bug d/108055] d: Undefined reference to nested lambda in template

2022-12-12 Thread ibuclaw at gdcproject dot org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108055

Iain Buclaw  changed:

   What|Removed |Added

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

--- Comment #3 from Iain Buclaw  ---
Fix committed and backported.

[Bug d/108055] d: Undefined reference to nested lambda in template

2022-12-12 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108055

--- Comment #2 from CVS Commits  ---
The releases/gcc-12 branch has been updated by Iain Buclaw
:

https://gcc.gnu.org/g:3b8b42f32627ca5ad029fe418a5839b9fc4512e9

commit r12-8980-g3b8b42f32627ca5ad029fe418a5839b9fc4512e9
Author: Iain Buclaw 
Date:   Sat Dec 10 22:11:41 2022 +0100

d: Fix undefined reference to nested lambda in template (PR108055)

Sometimes, nested lambdas of templated functions get no code generation
due to them being marked as instantianted outside of all modules being
compiled in the current compilation unit.  This despite enclosing
template instances being marked as instantiated inside the current
compilation unit.  To fix, all enclosing templates are now checked in
`function_defined_in_root_p'.

Because of this change, `function_needs_inline_definition_p' has also
been fixed up to only check whether the regular function definition
itself is to be emitted in the current compilation unit.

PR d/108055

gcc/d/ChangeLog:

* decl.cc (function_defined_in_root_p): Check all enclosing
template
instances for definition in a root module.
(function_needs_inline_definition_p): Replace call to
function_defined_in_root_p with test for outer module `isRoot'.

gcc/testsuite/ChangeLog:

* gdc.dg/torture/imports/pr108055conv.d: New.
* gdc.dg/torture/imports/pr108055spec.d: New.
* gdc.dg/torture/imports/pr108055write.d: New.
* gdc.dg/torture/pr108055.d: New test.

(cherry picked from commit 9fe7d3debbf60ed9fef8053123ad542a99d62100)

[Bug d/108055] d: Undefined reference to nested lambda in template

2022-12-12 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108055

--- Comment #1 from CVS Commits  ---
The master branch has been updated by Iain Buclaw :

https://gcc.gnu.org/g:9fe7d3debbf60ed9fef8053123ad542a99d62100

commit r13-4622-g9fe7d3debbf60ed9fef8053123ad542a99d62100
Author: Iain Buclaw 
Date:   Sat Dec 10 22:11:41 2022 +0100

d: Fix undefined reference to nested lambda in template (PR108055)

Sometimes, nested lambdas of templated functions get no code generation
due to them being marked as instantianted outside of all modules being
compiled in the current compilation unit.  This despite enclosing
template instances being marked as instantiated inside the current
compilation unit.  To fix, all enclosing templates are now checked in
`function_defined_in_root_p'.

Because of this change, `function_needs_inline_definition_p' has also
been fixed up to only check whether the regular function definition
itself is to be emitted in the current compilation unit.

PR d/108055

gcc/d/ChangeLog:

* decl.cc (function_defined_in_root_p): Check all enclosing
template
instances for definition in a root module.
(function_needs_inline_definition_p): Replace call to
function_defined_in_root_p with test for outer module `isRoot'.

gcc/testsuite/ChangeLog:

* gdc.dg/torture/imports/pr108055conv.d: New.
* gdc.dg/torture/imports/pr108055spec.d: New.
* gdc.dg/torture/imports/pr108055write.d: New.
* gdc.dg/torture/pr108055.d: New test.

[Bug c++/83264] std::initializer_list with a single element selects the wrong overload

2022-12-12 Thread jason at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83264

--- Comment #12 from Jason Merrill  ---
Created attachment 54076
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54076=edit
patch to follow other implementations

Here's the patch if we do want to go that way.

[Bug c++/83264] std::initializer_list with a single element selects the wrong overload

2022-12-12 Thread jason at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83264

Jason Merrill  changed:

   What|Removed |Added

   Assignee|unassigned at gcc dot gnu.org  |jason at gcc dot gnu.org
   See Also||https://gcc.gnu.org/bugzill
   ||a/show_bug.cgi?id=64665

--- Comment #11 from Jason Merrill  ---
I agree with comment #7 that this is DR1467, not 2137.  Both deal with the
relative priority of single-element initialization and initializer_list
initialization; 1467 is overload resolution between initializer_list and
something else, 2137 is at a higher level determining how to initialize a class
from a braced-init-list.  In this testcase the extra () mean that we aren't
dealing with list-initialization of obj, but rather of the constructor
parameter, so 1467 is the relevant DR.

This is also the same issue as PR64665, where a 2015 comment from Richard Smith
of Clang agrees with my understanding at the time that the initializer_list
tiebreaker takes precedence over everything else.  This is consistent with the
effect of 2137--which no other compiler seems to implement yet.

However, I now see that this isn't what the standard actually says: as comment
#9 points out, [over.ics.rank] talks about comparing forms first, and the
initializer_list tiebreaker only applies to conversions of the same form.  I
thought of list-initialization as its own form, but the standard doesn't say
that; the three forms are still standard, user-defined, or ellipsis.

I've asked the CWG reflector for input.

[Bug c++/108077] [13 Regression] Can't brace initialize container of llvm::opt::OptSpecifier

2022-12-12 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108077

--- Comment #1 from Jonathan Wakely  ---
This is Bug 108071 comment 7.

[Bug c++/108077] [13 Regression] Can't brace initialize container of llvm::opt::OptSpecifier

2022-12-12 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108077

Andrew Pinski  changed:

   What|Removed |Added

   Keywords||rejects-valid
   See Also||https://gcc.gnu.org/bugzill
   ||a/show_bug.cgi?id=108071,
   ||https://gcc.gnu.org/bugzill
   ||a/show_bug.cgi?id=108047
   Target Milestone|--- |13.0

[Bug c++/108077] New: [13 Regression] Can't brace initialize container of llvm::opt::OptSpecifier

2022-12-12 Thread romain.geissler at amadeus dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108077

Bug ID: 108077
   Summary: [13 Regression] Can't brace initialize container of
llvm::opt::OptSpecifier
   Product: gcc
   Version: 13.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: romain.geissler at amadeus dot com
  Target Milestone: ---

Hi,

I can't build llvm 15 with the current gcc 13, while it was working a few weeks
ago.

I tried to reduce a bit, and I have ended up with this snippet (compiled with
-std=gnu++17):

<

class OptSpecifier {
  unsigned ID = 0;

public:
  explicit OptSpecifier(bool) = delete; // Works if this is commented
  OptSpecifier(unsigned ID) : ID(ID) {}
};

//void f(llvm::ArrayRef) {}
void f(std::list) {}

int main()
{
f({1U, 2U, 3U}); // Works
f({1, 2, 3}); // Fails with gcc 13
}
END_OF_FILE

According to Compiler Explorer, this seems to build fine with any clang
version, and any gcc <= 12, but not with current gcc 13 trunk. The error is the
following:

In file included from
/opt/compiler-explorer/gcc-trunk-20221212/include/c++/13.0.0/x86_64-linux-gnu/bits/c++allocator.h:33,
 from
/opt/compiler-explorer/gcc-trunk-20221212/include/c++/13.0.0/bits/allocator.h:46,
 from
/opt/compiler-explorer/gcc-trunk-20221212/include/c++/13.0.0/list:63,
 from :1:
/opt/compiler-explorer/gcc-trunk-20221212/include/c++/13.0.0/bits/new_allocator.h:
In instantiation of 'void std::__new_allocator<_Tp>::construct(_Up*, _Args&&
...) [with _Up = OptSpecifier; _Args = {const int&}; _Tp =
std::_List_node]':
/opt/compiler-explorer/gcc-trunk-20221212/include/c++/13.0.0/bits/alloc_traits.h:524:17:
  required from 'static void std::allocator_traits
>::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = OptSpecifier;
_Args = {const int&}; _Tp = std::_List_node; allocator_type =
std::allocator >]'
/opt/compiler-explorer/gcc-trunk-20221212/include/c++/13.0.0/bits/stl_list.h:713:33:
  required from 'std::__cxx11::list<_Tp, _Alloc>::_Node*
std::__cxx11::list<_Tp, _Alloc>::_M_create_node(_Args&& ...) [with _Args =
{const int&}; _Tp = OptSpecifier; _Alloc = std::allocator; _Node
= std::__cxx11::list::_Node]'
/opt/compiler-explorer/gcc-trunk-20221212/include/c++/13.0.0/bits/stl_list.h:2005:32:
  required from 'void std::__cxx11::list<_Tp, _Alloc>::_M_insert(iterator,
_Args&& ...) [with _Args = {const int&}; _Tp = OptSpecifier; _Alloc =
std::allocator; iterator =
std::__cxx11::list::iterator]'
/opt/compiler-explorer/gcc-trunk-20221212/include/c++/13.0.0/bits/stl_list.h:1321:19:
  required from 'std::__cxx11::list<_Tp, _Alloc>::reference
std::__cxx11::list<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {const
int&}; _Tp = OptSpecifier; _Alloc = std::allocator; reference =
OptSpecifier&]'
/opt/compiler-explorer/gcc-trunk-20221212/include/c++/13.0.0/bits/stl_list.h:1934:18:
  required from 'void std::__cxx11::list<_Tp,
_Alloc>::_M_initialize_dispatch(_InputIterator, _InputIterator,
std::__false_type) [with _InputIterator = const int*; _Tp = OptSpecifier;
_Alloc = std::allocator]'
/opt/compiler-explorer/gcc-trunk-20221212/include/c++/13.0.0/bits/stl_list.h:882:26:
  required from 'std::__cxx11::list<_Tp, _Alloc>::list(_InputIterator,
_InputIterator, const allocator_type&) [with _InputIterator = const int*;
 = void; _Tp = OptSpecifier; _Alloc =
std::allocator; allocator_type = std::allocator]'
:17:6:   required from here
/opt/compiler-explorer/gcc-trunk-20221212/include/c++/13.0.0/bits/new_allocator.h:187:11:
error: call of overloaded 'OptSpecifier(const int&)' is ambiguous
  187 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
  |   ^~
:8:3: note: candidate: 'OptSpecifier::OptSpecifier(unsigned int)'
8 |   OptSpecifier(unsigned ID) : ID(ID) {}
  |   ^~~~
:7:12: note: candidate: 'OptSpecifier::OptSpecifier(bool)' (deleted)
7 |   explicit OptSpecifier(bool) = delete; // Works if this is commented
  |^~~~
:3:7: note: candidate: 'constexpr OptSpecifier::OptSpecifier(const
OptSpecifier&)'
3 | class OptSpecifier {
  |   ^~~~
:3:7: note: candidate: 'constexpr
OptSpecifier::OptSpecifier(OptSpecifier&&)'
Compiler returned: 1

[Bug driver/93371] -ffile-prefix-map ignored with assembly files

2022-12-12 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93371

Andrew Pinski  changed:

   What|Removed |Added

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

--- Comment #4 from Andrew Pinski  ---
Fixed for GCC 13.

[Bug libstdc++/108062] Test spdlog c++20 std::format

2022-12-12 Thread lukaszcz18 at wp dot pl via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108062

--- Comment #6 from Jamaika  ---
Thanks Jonathan

Thanks for the quick fix of the given errors. I realize that there may be other
errors not necessarily from gcc.


Test new codecs HTJPEG2000 C++20 Grok with spdlog 1.11.0 for Windows 10

In file included from
c:\gcc1300\x86_64-w64-mingw32\include\spdlog\fmt\fmt.h:14,
 from c:\gcc1300\x86_64-w64-mingw32\include\spdlog\common.h:50,
 from c:\gcc1300\x86_64-w64-mingw32\include\spdlog\spdlog.h:12,
 from common.h:40,
 from PNMFormat.cpp:29:
c:\gcc1300\include\c++\13.0.0\format: In instantiation of 'static
std::basic_format_args<_Context>::_Store<_Args>::_Element_t
std::basic_format_args<_Context>::_Store<_Args>::_S_make_elt(_Tp&) [with _Tp =
PNM_COLOUR_SPACE; _Args =
{std::basic_format_arg,
char> >::handle,
std::basic_format_arg,
char> >::handle}; _Context =
std::basic_format_context, char>; _Element_t =
std::basic_format_args,
char>
>::_Store,
char> >::handle,
std::basic_format_arg,
char> >::handle>::_Element_t]':
c:\gcc1300\include\c++\13.0.0\format:3248:25:   required from
'std::basic_format_args<_Context>::_Store<_Args>::_Store(_Tp& ...) [with _Tp =
{PNM_COLOUR_SPACE, PNM_COLOUR_SPACE}; _Args =
{std::basic_format_arg,
char> >::handle,
std::basic_format_arg,
char> >::handle}; _Context =
std::basic_format_context, char>]'
c:\gcc1300\include\c++\13.0.0\format:3300:14:   required from 'auto
std::make_format_args(_Args&& ...) [with _Context =
basic_format_context<__format::_Sink_iter, char>; _Args =
{PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}]'
c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:372:88:   required from
'void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum,
spdlog::string_view_t, Args&& ...) [with Args = {PNM_COLOUR_SPACE&,
PNM_COLOUR_SPACE&}; spdlog::string_view_t = std::basic_string_view]'
c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:90:13:   required from
'void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum,
spdlog::format_string_t, Args&& ...) [with Args = {PNM_COLOUR_SPACE&,
PNM_COLOUR_SPACE&}; spdlog::format_string_t =
std::basic_string_view]'
c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:96:12:   required from
'void spdlog::logger::log(spdlog::level::level_enum,
spdlog::format_string_t, Args&& ...) [with Args = {PNM_COLOUR_SPACE&,
PNM_COLOUR_SPACE&}; spdlog::format_string_t =
std::basic_string_view]'
c:\gcc1300\x86_64-w64-mingw32\include\spdlog\logger.h:164:12:   required from
'void spdlog::logger::warn(spdlog::format_string_t, Args&& ...) [with
Args = {PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}; spdlog::format_string_t = std::basic_string_view]'
c:\gcc1300\x86_64-w64-mingw32\include\spdlog\spdlog.h:167:31:   required from
'void spdlog::warn(format_string_t, Args&& ...) [with Args =
{PNM_COLOUR_SPACE&, PNM_COLOUR_SPACE&}; format_string_t =
std::basic_string_view]'
PNMFormat.cpp:600:16:   required from here
c:\gcc1300\include\c++\13.0.0\format:3237:40: error: no matching function for
call to
'std::basic_format_arg,
char> >::basic_format_arg(PNM_COLOUR_SPACE&)'
 3237 | basic_format_arg<_Context> __arg(__v);
  |^
c:\gcc1300\include\c++\13.0.0\format:3005:9: note: candidate: 'template  requires  __formattable_with<_Tp, _Context, typename
_Context::formatter_type::type>,
std::basic_format_parse_context >
std::basic_format_arg<_Context>::basic_format_arg(_Tp&) [with _Context =
std::basic_format_context, char>]'
 3005 | basic_format_arg(_Tp& __v) noexcept
  | ^~~~
c:\gcc1300\include\c++\13.0.0\format:3005:9: note:   template argument
deduction/substitution failed:
c:\gcc1300\include\c++\13.0.0\format:3005:9: note: constraints not satisfied
In file included from c:\gcc1300\include\c++\13.0.0\compare:37,
 from c:\gcc1300\include\c++\13.0.0\bits\char_traits.h:48,
 from c:\gcc1300\include\c++\13.0.0\string:42,
 from IImageFormat.h:21,
 from ImageFormat.h:20,
 from PNMFormat.h:19,
 from PNMFormat.cpp:26:
c:\gcc1300\include\c++\13.0.0\concepts: In substitution of 'template
 requires  __formattable_with<_Tp, _Context, typename
_Context::formatter_type::type>,
std::basic_format_parse_context >
std::basic_format_arg,
char> >::basic_format_arg(_Tp&) [with _Tp =
std::basic_format_context, char>]':
c:\gcc1300\include\c++\13.0.0\format:3237:33:   required from 'static
std::basic_format_args<_Context>::_Store<_Args>::_Element_t
std::basic_format_args<_Context>::_Store<_Args>::_S_make_elt(_Tp&) [with _Tp =
PNM_COLOUR_SPACE; _Args =
{std::basic_format_arg,
char> >::handle,
std::basic_format_arg,
char> >::handle}; _Context =
std::basic_format_context, char>; _Element_t =
std::basic_format_args,
char>
>::_Store,
char> >::handle,
std::basic_format_arg,
char> >::handle>::_Element_t]'

[Bug driver/93371] -ffile-prefix-map ignored with assembly files

2022-12-12 Thread rockdrilla at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93371

Konstantin Demin  changed:

   What|Removed |Added

 CC||rockdrilla at gmail dot com

--- Comment #3 from Konstantin Demin  ---
Test case:

Let's consider having file "empty.S" with following contents:

// -- cut --
.text
ret
// -- cut --

$ gcc -c -o empty.S.o empty.S -O2 -g && strings -f empty.S.o | grep -F ${PWD}
&& echo NOT OK || echo OK

empty.S.o: /home/krd/gcc-prefix-case
empty.S.o: /home/krd/gcc-prefix-case
NOT OK

$ gcc -c -o empty.S.o empty.S -O2 -g -fdebug-prefix-map=${PWD}=. && strings -f
empty.S.o | grep -F ${PWD} && echo NOT OK || echo OK

OK

$ gcc -c -o empty.S.o empty.S -O2 -g -ffile-prefix-map=${PWD}=. && strings -f
empty.S.o | grep -F ${PWD} && echo NOT OK || echo OK

empty.S.o: /home/krd/gcc-prefix-case
empty.S.o: /home/krd/gcc-prefix-case
NOT OK

$ gcc -c -o empty.S.o empty.S -O2 -g -ffile-prefix-map=${PWD}=.
-Wa,--debug-prefix-map,${PWD}=. && strings -f empty.S.o | grep -F ${PWD} &&
echo NOT OK || echo OK

OK

$ lsb_release -a

No LSB modules are available.
Distributor ID: Debian
Description:Debian GNU/Linux bookworm/sid
Release:n/a
Codename:   bookworm

$ dpkg-query -W -f='${Version}\n' gcc-12

12.2.0-10

$ gcc -v

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-10'
--with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs
--enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr
--with-gcc-major-version-only --program-suffix=-12
--program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug
--enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new
--enable-gnu-unique-object --disable-vtable-verify --enable-plugin
--enable-default-pie --with-system-zlib --enable-libphobos-checking=release
--with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch
--disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64
--with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic
--enable-offload-targets=nvptx-none=/build/gcc-12-w47ffq/gcc-12-12.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-12-w47ffq/gcc-12-12.2.0/debian/tmp-gcn/usr
--enable-offload-defaulted --without-cuda-driver --enable-checking=release
--build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 12.2.0 (Debian 12.2.0-10)

[Bug c++/108067] Miscompilation with friend function with parameter pack: mismatched argument pack lengths

2022-12-12 Thread ppalka at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108067

Patrick Palka  changed:

   What|Removed |Added

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

[Bug c++/108066] [13 Regression] ICE in use_pack_expansion_extra_args_p, at cp/pt.cc:12661 since r12-1094-gdb79713150f4f8b6

2022-12-12 Thread ppalka at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108066

Patrick Palka  changed:

   What|Removed |Added

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

[Bug tree-optimization/102805] at -O2, spurious stringop-overflow warning writing to std::vector::back()

2022-12-12 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102805

--- Comment #4 from Andrew Pinski  ---
Looks to be fixed in GCC 12.

[Bug tree-optimization/105751] std::array comparision does not inline memcmp

2022-12-12 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105751

Andrew Pinski  changed:

   What|Removed |Added

 Resolution|--- |FIXED
   Target Milestone|--- |13.0
 Status|NEW |RESOLVED

--- Comment #3 from Andrew Pinski  ---
Fixed for GCC 13 by r13-4600-gd13b86f932ff7b .

[Bug tree-optimization/108068] [10/11/12/13 Regression] decimal floating point signed zero is not honored

2022-12-12 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108068

Andrew Pinski  changed:

   What|Removed |Added

 Ever confirmed|0   |1
   Target Milestone|--- |10.5
  Known to fail||4.9.0, 6.1.0, 7.1.0, 8.1.0
Summary|decimal signed zero is not  |[10/11/12/13 Regression]
   |honored |decimal floating point
   ||signed zero is not honored
  Known to work||4.7.4, 4.8.1
  Component|middle-end  |tree-optimization
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2022-12-12

--- Comment #1 from Andrew Pinski  ---
Confirmed.
Introduced between 4.8 and 4.9. DOM is doing the 0.0 proping.

[Bug c++/108047] [13 Regression] ICE: unexpected expression of kind implicit_conv_expr since r13-4564-gd081807d8d70e3e8

2022-12-12 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108047

Andrew Pinski  changed:

   What|Removed |Added

   Target Milestone|--- |13.0
   Keywords||ice-on-valid-code

[Bug tree-optimization/108076] [10/11/12/13 Regression] GCC with -O3 produces code which fails to link

2022-12-12 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108076

Richard Biener  changed:

   What|Removed |Added

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

--- Comment #5 from Richard Biener  ---
I will have a look.

[Bug target/103698] [12 regression] Code assigned to __attribute__((section(".data"))) generates invalid dwarf: leb128 operand is an undefined symbol

2022-12-12 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103698

--- Comment #3 from Andrew Pinski  ---
The change for binutils came from 
https://sourceware.org/bugzilla/show_bug.cgi?id=26850

[Bug tree-optimization/107107] [10/11 Regression] Wrong codegen from TBAA when stores to distinct same-mode types are collapsed?

2022-12-12 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107107

--- Comment #13 from CVS Commits  ---
The releases/gcc-11 branch has been updated by Richard Biener
:

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

commit r11-10417-gfa11fc62ddee81a8bc3e69d5e3180695a6dbb666
Author: Richard Biener 
Date:   Thu Oct 6 11:20:16 2022 +0200

tree-optimization/107107 - tail-merging VN wrong-code

The following fixes an unintended(?) side-effect of the special
MODIFY_EXPR expression entries we add for tail-merging during VN.
We shouldn't value-number the virtual operand differently here.

PR tree-optimization/107107
* tree-ssa-sccvn.c (visit_reference_op_store): Do not
affect value-numbering when doing the tail merging
MODIFY_EXPR lookup.

* gcc.dg/pr107107.c: New testcase.

(cherry picked from commit 85333b9265720fc4e49397301cb16324d2b89aa7)

[Bug c++/108059] internal compiler error: in tsubst_copy, at cp/pt.c:16425

2022-12-12 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108059

--- Comment #4 from Andrew Pinski  ---
There might be a dup of this bug already but I can't seem to find it.

[Bug tree-optimization/108076] [10/11/12/13 Regression] GCC with -O3 produces code which fails to link

2022-12-12 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108076

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #4 from Jakub Jelinek  ---
Reduced testcase:
static void *j;
int v;
__attribute__((__leaf__)) int atoi (const char *);

int
main ()
{
  j = &
  &
  atoi ("42");
lab1:
lab2:
  if (v)
goto *j;
}
which fails to link with -O2 starting with
r12-4240-g2b8453c401b699ed93c085d0413ab4b5030bcdb8
and with -O2 -ftree-vectorize starting with
r10-7522-g75efe9cb1f8938a713ce540dc3b27bc2afcd3fae

[Bug sanitizer/108060] [10/11/12/13 Regression] UBsan missed an out-of-bound bug at -O0 since r7-1900-g8a1b7b7fd75a3847

2022-12-12 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108060

Andrew Pinski  changed:

   What|Removed |Added

Summary|UBsan missed an |[10/11/12/13 Regression]
   |out-of-bound bug at -O0 |UBsan missed an
   |since   |out-of-bound bug at -O0
   |r7-1900-g8a1b7b7fd75a3847   |since
   ||r7-1900-g8a1b7b7fd75a3847
   Target Milestone|--- |10.5

[Bug tree-optimization/108076] [10/11/12/13 Regression] GCC with -O3 produces code which fails to link

2022-12-12 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108076

Andrew Pinski  changed:

   What|Removed |Added

   Last reconfirmed||2022-12-12
  Known to work||9.1.0, 9.2.0, 9.4.0, 9.5.0
 Status|UNCONFIRMED |NEW
   Target Milestone|--- |10.5
 Ever confirmed|0   |1
  Known to fail||10.1.0

--- Comment #3 from Andrew Pinski  ---
Confirmed.

[Bug c++/108071] [13 Regression] Build failure in Libreoffice since r13-4565

2022-12-12 Thread jason at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108071

Jason Merrill  changed:

   What|Removed |Added

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

[Bug rtl-optimization/108070] failure to combine range test to bit test

2022-12-12 Thread tnfchris at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108070

--- Comment #2 from Tamar Christina  ---
Committed, implementing the tbranch optab should allow this to be fixed.

[Bug tree-optimization/108076] [10/11/12/13 Regression] GCC with -O3 produces code which fails to link

2022-12-12 Thread amonakov at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108076

Alexander Monakov  changed:

   What|Removed |Added

 CC||amonakov at gcc dot gnu.org
Summary|GCC with -O3 produces code  |[10/11/12/13 Regression]
   |which fails to link |GCC with -O3 produces code
   ||which fails to link
  Known to work||8.5.0
  Component|c   |tree-optimization
   Keywords||link-failure

--- Comment #2 from Alexander Monakov  ---
GIMPLE if-conversion seems to delete BBs with address-taken labels; works with
-fno-tree-loop-if-convert

[Bug c/108076] GCC with -O3 produces code which fails to link

2022-12-12 Thread martid0311 at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108076

--- Comment #1 from Martin Dørum  ---
Created attachment 54075
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54075=edit
Preprocessed source code from gcc --save-temps

[Bug c/108076] New: GCC with -O3 produces code which fails to link

2022-12-12 Thread martid0311 at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108076

Bug ID: 108076
   Summary: GCC with -O3 produces code which fails to link
   Product: gcc
   Version: 11.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: martid0311 at gmail dot com
  Target Milestone: ---

Created attachment 54074
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54074=edit
The source code which fails to compile

The attached source file ("compiler-output.c") fails to link with GCC with -O3
(compiling for x86_64). I've tested it using "gcc (Ubuntu
11.3.0-1ubuntu1~22.04) 11.3.0", but someone on IRC has confirmed that it's also
an issue on "gcc (Debian 12.2.0-9.1) 12.2.0".

Running `gcc -O3 compiler-output.c` fails with this set of errors:
/usr/bin/ld: /tmp/ccgWgyyV.o: warning: relocation against `.L8' in read-only
section `.text.startup'
/usr/bin/ld: /tmp/ccgWgyyV.o: in function `main':
gnuc-compiler-output.c:(.text.startup+0x2f): undefined reference to `.L7'
/usr/bin/ld: gnuc-compiler-output.c:(.text.startup+0x36): undefined reference
to `.L15'
/usr/bin/ld: gnuc-compiler-output.c:(.text.startup+0x48): undefined reference
to `.L5'
/usr/bin/ld: gnuc-compiler-output.c:(.text.startup+0x5a): undefined reference
to `.L6'
/usr/bin/ld: gnuc-compiler-output.c:(.text.startup+0x6a): undefined reference
to `.L8'
/usr/bin/ld: gnuc-compiler-output.c:(.text.startup+0x76): undefined reference
to `.L9'
/usr/bin/ld: gnuc-compiler-output.c:(.text.startup+0x90): undefined reference
to `.L10'
/usr/bin/ld: gnuc-compiler-output.c:(.text.startup+0x9b): undefined reference
to `.L11'
/usr/bin/ld: gnuc-compiler-output.c:(.text.startup+0xa9): undefined reference
to `.L12'
/usr/bin/ld: gnuc-compiler-output.c:(.text.startup+0xb5): undefined reference
to `.L13'
/usr/bin/ld: gnuc-compiler-output.c:(.text.startup+0xcf): undefined reference
to `.L14'
/usr/bin/ld: warning: creating DT_TEXTREL in a PIE
collect2: error: ld returned 1 exit status

I've looked at the generated assembly code (using `gcc -S`), and sure enough,
the main function contains code like "leaq.L15(%rip), %rdx" and "leaq   
.L5(%rip), %rax" even though there's no label called .L15 or .L5.

The source code contains a label jump table which gets initialized like this:
static void *jmp_targets[62];
int main() {
jmp_targets[0] = &_0;
jmp_targets[1] = &_1;
jmp_targets[2] = &_2;
jmp_targets[7] = &_7;
...

If we change the code to use an initializer list it works:
int main() {
void *jmp_targets[] = {
[0] = &_0,
[1] = &_1,
[2] = &_2,
[7] = &_7,
...

Interestingly, it also works if we compile with `-O3 -flto`.

Note: the code will segfault unless you provide it command line arguments. If
you want to try to run it, run something like `./a.out 5 10`. It will print the
sum of the two numbers.

Output of `gcc -v`:
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu
11.3.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs
--enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr
--with-gcc-major-version-only --program-suffix=-11
--program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes
--with-default-libstdcxx-abi=new --enable-gnu-unique-object
--disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib
--enable-libphobos-checking=release --with-target-system-zlib=auto
--enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet
--with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32
--enable-multilib --with-tune=generic
--enable-offload-targets=nvptx-none=/build/gcc-11-xKiWfi/gcc-11-11.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-xKiWfi/gcc-11-11.3.0/debian/tmp-gcn/usr
--without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu
--host=x86_64-linux-gnu --target=x86_64-linux-gnu
--with-build-config=bootstrap-lto-lean --enable-link-serialization=2
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04)

[Bug libstdc++/108075] Undefined typeinfo for _Float16 (_ZTIDF16_)

2022-12-12 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108075

Jakub Jelinek  changed:

   What|Removed |Added

   Last reconfirmed||2022-12-12
   Assignee|unassigned at gcc dot gnu.org  |jakub at gcc dot gnu.org
 Ever confirmed|0   |1
 Status|UNCONFIRMED |ASSIGNED

--- Comment #2 from Jakub Jelinek  ---
Created attachment 54073
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54073=edit
gcc13-pr108075.patch

Untested fix.  There is nothing that can be done for GCC 12 though.

[Bug libstdc++/88322] Implement C++20 library features.

2022-12-12 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88322
Bug 88322 depends on bug 98034, which changed state.

Bug 98034 Summary: std::atomic_signed_lock_free and 
std::atomic_unsigned_lock_free not defined
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98034

   What|Removed |Added

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

[Bug libstdc++/98034] std::atomic_signed_lock_free and std::atomic_unsigned_lock_free not defined

2022-12-12 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98034

Jonathan Wakely  changed:

   What|Removed |Added

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

--- Comment #4 from Jonathan Wakely  ---
Implemented for GCC 13

[Bug libstdc++/108024] std::format_string's constructor has the wrong constraint

2022-12-12 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108024

Jonathan Wakely  changed:

   What|Removed |Added

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

--- Comment #2 from Jonathan Wakely  ---
Fixed, thanks for the report.

[Bug libstdc++/108062] Test spdlog c++20 std::format

2022-12-12 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108062

Jonathan Wakely  changed:

   What|Removed |Added

 Resolution|--- |FIXED
   Target Milestone|--- |13.0
 Status|ASSIGNED|RESOLVED
   Keywords||rejects-valid

--- Comment #5 from Jonathan Wakely  ---
Fixed by r13-4613-gcb363fd9f19eb7

[Bug libstdc++/108024] std::format_string's constructor has the wrong constraint

2022-12-12 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108024

--- Comment #1 from CVS Commits  ---
The master branch has been updated by Jonathan Wakely :

https://gcc.gnu.org/g:6c0f9584013dbedeacacb041d40ce9005b902df0

commit r13-4614-g6c0f9584013dbedeacacb041d40ce9005b902df0
Author: Jonathan Wakely 
Date:   Mon Dec 12 11:40:07 2022 +

libstdc++: Fix constraint on std::basic_format_string [PR108024]

Also remove some redundant std::move calls for return statements.

libstdc++-v3/ChangeLog:

PR libstdc++/108024
* include/std/format (basic_format_string): Fix constraint.
* testsuite/std/format/format_string.cc: New test.

[Bug libstdc++/98034] std::atomic_signed_lock_free and std::atomic_unsigned_lock_free not defined

2022-12-12 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98034

--- Comment #3 from CVS Commits  ---
The master branch has been updated by Jonathan Wakely :

https://gcc.gnu.org/g:320ac807da125e6dc952b3d4abf02daeead88d44

commit r13-4612-g320ac807da125e6dc952b3d4abf02daeead88d44
Author: Jonathan Wakely 
Date:   Mon Dec 12 12:49:40 2022 +

libstdc++: Define atomic lock-free type aliases for C++20 [PR98034]

libstdc++-v3/ChangeLog:

PR libstdc++/98034
* include/std/atomic (__cpp_lib_atomic_lock_free_type_aliases):
Define macro.
(atomic_signed_lock_free, atomic_unsigned_lock_free): Define
aliases.
* include/std/version (__cpp_lib_atomic_lock_free_type_aliases):
Define macro.
* testsuite/29_atomics/atomic/lock_free_aliases.cc: New test.

[Bug c++/108071] [13 Regression] Build failure in Libreoffice since r13-4565

2022-12-12 Thread slyfox at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108071

--- Comment #8 from Sergei Trofimovich  ---
(In reply to Sergei Trofimovich from comment #7)
> Got a build failure of clang-14 on this week's gcc. Minimal example:

Forgot the example itself:

// $ cat bug.cc.cc
#include 

class OptSpecifier;
struct ArrayRef {
  ArrayRef(std::initializer_list);
};
struct OptSpecifier {
  explicit OptSpecifier(bool);
  OptSpecifier(unsigned);
};
struct ArgList {
  void AddAllArgs(ArrayRef) const;
};
enum { OPT_u };
struct Linker {
  void ConstructJob(const ArgList &) const;
};
void Linker::ConstructJob(const ArgList ) const {
  Args.AddAllArgs({OPT_u});
}

[Bug c++/108071] [13 Regression] Build failure in Libreoffice since r13-4565

2022-12-12 Thread slyfox at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108071

--- Comment #7 from Sergei Trofimovich  ---
Got a build failure of clang-14 on this week's gcc. Minimal example:

This week's gcc-13 fails:

$ result-bad/bin/g++ -c bug.cc.cc
bug.cc.cc: In member function 'void Linker::ConstructJob(const ArgList&)
const':
bug.cc.cc:19:18: error: call of overloaded 'OptSpecifier(const)'
is ambiguous
   19 |   Args.AddAllArgs({OPT_u});
  |   ~~~^
bug.cc.cc:9:3: note: candidate: 'OptSpecifier::OptSpecifier(unsigned int)'
9 |   OptSpecifier(unsigned);
  |   ^~~~
bug.cc.cc:8:12: note: candidate: 'OptSpecifier::OptSpecifier(bool)'
8 |   explicit OptSpecifier(bool);
  |^~~~
bug.cc.cc:7:8: note: candidate: 'constexpr OptSpecifier::OptSpecifier(const
OptSpecifier&)'
7 | struct OptSpecifier {
  |^~~~
bug.cc.cc:7:8: note: candidate: 'constexpr
OptSpecifier::OptSpecifier(OptSpecifier&&)'

Lat week's gcc-13 is ok:

$ result-good/bin/g++ -c bug.cc.cc

Version:

$ result-bad/bin/g++ -v
Using built-in specs.
COLLECT_GCC=/<>/gcc-13.0.0/bin/g++
COLLECT_LTO_WRAPPER=/<>/gcc-13.0.0/libexec/gcc/x86_64-unknown-linux-gnu/13.0.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with:
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 13.0.0 20221211 (experimental) (GCC)

Original clang-14 build failure this example was extracted from:

/build/clang-src-14.0.6/clang/lib/Driver/ToolChains/RISCVToolchain.cpp: In
member function 'virtual void
clang::driver::tools::RISCV::Linker::ConstructJob(clang::driver::Compilation&,
const clang::driver::JobAction&, const clang::driver::InputInfo&, const
clang::driver::InputInfoList&, const llvm::opt::ArgList&, const char*) const':
/build/clang-src-14.0.6/clang/lib/Driver/ToolChains/RISCVToolchain.cpp:189:18:
error: call of overloaded 'OptSpecifier(const clang::driver::options::ID)' is
ambiguous
  189 |   Args.AddAllArgs(CmdArgs,
  |   ~~~^
  190 |   {options::OPT_T_Group, options::OPT_e,
options::OPT_s,
  |  
~~
  191 |options::OPT_t, options::OPT_Z_Flag,
options::OPT_r});
  |   
~
In file included from
/nix/store/6fphk1hf305pdli056km8qxv66bavb5a-llvm-14.0.6-dev/include/llvm/Option/Option.h:14,
 from
/nix/store/6fphk1hf305pdli056km8qxv66bavb5a-llvm-14.0.6-dev/include/llvm/Option/Arg.h:19,
 from
/nix/store/6fphk1hf305pdli056km8qxv66bavb5a-llvm-14.0.6-dev/include/llvm/Option/ArgList.h:19,
 from
/build/clang-src-14.0.6/clang/include/clang/Driver/Types.h:14,
 from
/build/clang-src-14.0.6/clang/include/clang/Driver/Action.h:13,
 from
/build/clang-src-14.0.6/clang/lib/Driver/ToolChains/Cuda.h:13,
 from
/build/clang-src-14.0.6/clang/lib/Driver/ToolChains/Gnu.h:12,
 from
/build/clang-src-14.0.6/clang/lib/Driver/ToolChains/RISCVToolchain.h:12,
 from
/build/clang-src-14.0.6/clang/lib/Driver/ToolChains/RISCVToolchain.cpp:9:
/nix/store/6fphk1hf305pdli056km8qxv66bavb5a-llvm-14.0.6-dev/include/llvm/Option/OptSpecifier.h:24:16:
note: candidate: 'llvm::opt::OptSpecifier::OptSpecifier(unsigned int)'
   24 |   /*implicit*/ OptSpecifier(unsigned ID) : ID(ID) {}
  |^~~~
/nix/store/6fphk1hf305pdli056km8qxv66bavb5a-llvm-14.0.6-dev/include/llvm/Option/OptSpecifier.h:23:12:
note: candidate: 'llvm::opt::OptSpecifier::OptSpecifier(bool)' (deleted)
   23 |   explicit OptSpecifier(bool) = delete;
  |^~~~
/nix/store/6fphk1hf305pdli056km8qxv66bavb5a-llvm-14.0.6-dev/include/llvm/Option/OptSpecifier.h:18:7:
note: candidate: 'constexpr llvm::opt::OptSpecifier::OptSpecifier(const
llvm::opt::OptSpecifier&)'
   18 | class OptSpecifier {
  |   ^~~~
/nix/store/6fphk1hf305pdli056km8qxv66bavb5a-llvm-14.0.6-dev/include/llvm/Option/OptSpecifier.h:18:7:
note: candidate: 'constexpr
llvm::opt::OptSpecifier::OptSpecifier(llvm::opt::OptSpecifier&&)'
make[2]: *** [lib/Driver/CMakeFiles/obj.clangDriver.dir/build.make:874:
lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/RISCVToolchain.cpp.o]
Error 1 shuffle=1857759387
make[1]: *** [CMakeFiles/Makefile2:7653:
lib/Driver/CMakeFiles/obj.clangDriver.dir/all] Error 2 shuffle=1857759387
make[1]: *** Waiting for unfinished jobs

[Bug tree-optimization/88443] [meta-bug] bogus/missing -Wstringop-overflow warnings

2022-12-12 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88443
Bug 88443 depends on bug 108074, which changed state.

Bug 108074 Summary: [11/12 Regression] Incorrect stringop-overflow warning
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108074

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |DUPLICATE

[Bug tree-optimization/108074] [11/12 Regression] Incorrect stringop-overflow warning

2022-12-12 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108074

Martin Liška  changed:

   What|Removed |Added

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

--- Comment #2 from Martin Liška  ---
Dup.

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

[Bug tree-optimization/104162] [12 Regression] Missed CSE after lowering of [ptr_1 + CST]

2022-12-12 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104162

Martin Liška  changed:

   What|Removed |Added

 CC||alastair.j.irving at gmail dot 
com

--- Comment #8 from Martin Liška  ---
*** Bug 108074 has been marked as a duplicate of this bug. ***

[Bug libstdc++/108075] Undefined typeinfo for _Float16 (_ZTIDF16_)

2022-12-12 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108075

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek  ---
Following shows much more types without typeinfo (only _Float128x is fine
because it isn't supported on any target).

#include 

#ifdef __STDCPP_FLOAT16_T__
const std::type_info  = typeid(decltype(0.0f16));
#endif
#ifdef __STDCPP_BFLOAT16_T__
const std::type_info  = typeid(decltype(0.0bf16));
#endif
#ifdef __STDCPP_FLOAT32_T__
const std::type_info  = typeid(decltype(0.0f32));
#endif
#ifdef __STDCPP_FLOAT64_T__
const std::type_info  = typeid(decltype(0.0f64));
#endif
#ifdef __STDCPP_FLOAT128_T__
const std::type_info  = typeid(decltype(0.0f128));
#endif
#ifdef __FLT32X_MAX__
const std::type_info  = typeid(decltype(0.0f32x));
#endif
#ifdef __FLT64X_MAX__
const std::type_info  = typeid(decltype(0.0f64x));
#endif
#ifdef __FLT128X_MAX__
const std::type_info  = typeid(decltype(0.0f128x));
#endif

int
main ()
{
}

[Bug c++/108067] Miscompilation with friend function with parameter pack: mismatched argument pack lengths

2022-12-12 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108067

Martin Liška  changed:

   What|Removed |Added

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

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

[Bug c++/108066] [13 Regression] ICE in use_pack_expansion_extra_args_p, at cp/pt.cc:12661 since r12-1094-gdb79713150f4f8b6

2022-12-12 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108066

Martin Liška  changed:

   What|Removed |Added

 CC||jason at gcc dot gnu.org,
   ||marxin at gcc dot gnu.org
 Ever confirmed|0   |1
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2022-12-12
Summary|[13 Regression] ICE in  |[13 Regression] ICE in
   |use_pack_expansion_extra_ar |use_pack_expansion_extra_ar
   |gs_p, at cp/pt.cc:12661 |gs_p, at cp/pt.cc:12661
   ||since
   ||r12-1094-gdb79713150f4f8b6

--- Comment #2 from Martin Liška  ---
Started with r12-1094-gdb79713150f4f8b6 where all active branches are affected
as the revision was backported.

[Bug analyzer/108065] [13 Regression] ICE in make, at analyzer/store.cc:132 since r13-4529-gdfe2ef7f2b6cac70

2022-12-12 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108065

Martin Liška  changed:

   What|Removed |Added

 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1
Summary|[13 Regression] ICE in  |[13 Regression] ICE in
   |make, at|make, at
   |analyzer/store.cc:132   |analyzer/store.cc:132 since
   ||r13-4529-gdfe2ef7f2b6cac70
   Last reconfirmed||2022-12-12
 Status|UNCONFIRMED |NEW

--- Comment #1 from Martin Liška  ---
Started with r13-4529-gdfe2ef7f2b6cac70.

[Bug c++/108059] internal compiler error: in tsubst_copy, at cp/pt.c:16425

2022-12-12 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108059

Martin Liška  changed:

   What|Removed |Added

 CC||jason at gcc dot gnu.org,
   ||marxin at gcc dot gnu.org,
   ||ppalka at gcc dot gnu.org
   Last reconfirmed||2022-12-12
 Status|UNCONFIRMED |NEW
 Ever confirmed|0   |1

--- Comment #3 from Martin Liška  ---
Started to be rejected since r8-6334-g018e9cb5e6050e03 and it crashes since
r10-7835-ga3a4f6be0c7ac153.

[Bug c++/108047] [13 Regression] ICE: unexpected expression of kind implicit_conv_expr since r13-4564-gd081807d8d70e3e8

2022-12-12 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108047

Martin Liška  changed:

   What|Removed |Added

Summary|[13 Regression] ice:|[13 Regression] ICE:
   |unexpected expression of|unexpected expression of
   |kind implicit_conv_expr |kind implicit_conv_expr
   ||since
   ||r13-4564-gd081807d8d70e3e8
 Status|UNCONFIRMED |NEW
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1
   Last reconfirmed||2022-12-12

--- Comment #5 from Martin Liška  ---
Started with r13-4564-gd081807d8d70e3e8.

[Bug target/108044] [13 Regression] ICE: in extract_constrain_insn, at recog.cc:2692 (insn does not satisfy its constraints) at -O

2022-12-12 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108044

Martin Liška  changed:

   What|Removed |Added

 CC||marxin at gcc dot gnu.org

--- Comment #2 from Martin Liška  ---
Btw. started with r13-4558-g1dc49df4eeaec311.

[Bug c/108043] [13 Regression] ICE: in fold_convert_loc, at fold-const.cc:2618 on invalid function braced initializer since r13-2205-g14cfa01755a66afb

2022-12-12 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108043

Martin Liška  changed:

   What|Removed |Added

 CC||jsm28 at gcc dot gnu.org,
   ||marxin at gcc dot gnu.org
Summary|[13 Regression] ICE: in |[13 Regression] ICE: in
   |fold_convert_loc, at|fold_convert_loc, at
   |fold-const.cc:2618 on   |fold-const.cc:2618 on
   |invalid function braced |invalid function braced
   |initializer |initializer since
   ||r13-2205-g14cfa01755a66afb

--- Comment #2 from Martin Liška  ---
Started with r13-2205-g14cfa01755a66afb.

[Bug sanitizer/108072] [13 Regression] gcc/libbacktrace/elf.c:5144: multiple definition of `backtrace_uncompress_zstd' with --with-build-config=bootstrap-asan since r13-4547-g9df1ba9a35b86e

2022-12-12 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108072

--- Comment #2 from Martin Liška  ---
Ah, great, I was trying to grep what's difference for other algos, but didn't
find this hunk.

[Bug sanitizer/108072] [13 Regression] gcc/libbacktrace/elf.c:5144: multiple definition of `backtrace_uncompress_zstd' with --with-build-config=bootstrap-asan since r13-4547-g9df1ba9a35b86e

2022-12-12 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108072

Jakub Jelinek  changed:

   What|Removed |Added

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

--- Comment #1 from Jakub Jelinek  ---
Created attachment 54072
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54072=edit
gcc13-pr108072.patch

Untested fix.

[Bug libstdc++/108075] New: Undefined typeinfo for _Float16 (_ZTIDF16_)

2022-12-12 Thread andrey458641387 at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108075

Bug ID: 108075
   Summary: Undefined typeinfo for _Float16 (_ZTIDF16_)
   Product: gcc
   Version: 13.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: andrey458641387 at gmail dot com
  Target Milestone: ---

The following program compiles but does not link:

#include 
const std::type_info  = typeid(_Float16);

with the error "undefined reference to `_ZTIDF16_'".
Compiler Explorer link: https://godbolt.org/z/eo6fbWTPr.

As a result, using `std::vector<_Float16>` with `_GLIBCXX_DEBUG` fails with
(https://godbolt.org/z/5T5GbPs7f):

in function
`_ZN11__gnu_debug16_Error_formatter10_ParameterC2IDF16_EERKPT_PKcNS0_12_Is_iteratorE':
include/c++/13.0.0/debug/formatter.h:369: undefined reference to
`_ZTIPDF16_'

This issue exists in GCC >= 12, including trunk (at least as of CE gcc version
13.0.0 20221212).
Checked on Linux x86_64 and aarch64 (on CE).

[Bug c++/108071] [13 Regression] Build failure in Libreoffice since r13-4565

2022-12-12 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108071

--- Comment #6 from Jonathan Wakely  ---
The ConstCharArrayDetector is getting instantiated with const char* const
instead of const char[1], so the partial specialization doesn't match.

[Bug c++/108071] [13 Regression] Build failure in Libreoffice since r13-4565

2022-12-12 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108071

Jonathan Wakely  changed:

   What|Removed |Added

   Last reconfirmed||2022-12-12 0:00

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

#include 

template< typename T1, typename T2 = void >
struct ConstCharArrayDetector
{
static const bool ok = false;
};
template< std::size_t N, typename T >
struct ConstCharArrayDetector< const char[ N ], T >
{
typedef T Type;
};

struct Dummy { };

struct OUString
{
  template
OUString(T&, typename ConstCharArrayDetector::Type = Dummy())
{ }
};

struct Sequence {
  Sequence(std::initializer_list);
};

Sequence s = {""};

[Bug tree-optimization/108074] [11/12 Regression] Incorrect stringop-overflow warning

2022-12-12 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108074

Richard Biener  changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu.org
Summary|Incorrect stringop-overflow |[11/12 Regression]
   |warning |Incorrect stringop-overflow
   ||warning
   Keywords||needs-bisection
   Target Milestone|--- |11.4

--- Comment #1 from Richard Biener  ---
This has been fixed on trunk and is likely a duplicate.

[Bug c++/108071] [13 Regression] Build failure in Libreoffice since r13-4565

2022-12-12 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108071

--- Comment #4 from Jakub Jelinek  ---
Trying to reduce it now.

[Bug sanitizer/108060] UBsan missed an out-of-bound bug at -O0 since r7-1900-g8a1b7b7fd75a3847

2022-12-12 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108060

Martin Liška  changed:

   What|Removed |Added

   Last reconfirmed||2022-12-12
 CC||jason at gcc dot gnu.org
Summary|UBsan missed an |UBsan missed an
   |out-of-bound bug at -O0 |out-of-bound bug at -O0
   ||since
   ||r7-1900-g8a1b7b7fd75a3847
 Ever confirmed|0   |1
 Status|UNCONFIRMED |NEW

--- Comment #1 from Martin Liška  ---
Confirmed. So it started with r7-1900-g8a1b7b7fd75a3847 where the array is
accessed before UBSAN check:

gcc pr108060.c -fsanitize=undefined -fdump-tree-gimple=/dev/stdout
int main ()
{
  int D.2422;
  int D.2423;

  {
b = -32768;
b.0_1 = b;
_2 = (int) b.0_1;
_3 = a[_2]; <--- load happens here
c.1_4 = c;
_5 = (int) c.1_4;
b.2_6 = b;
D.2422 = (int) b.2_6;
.UBSAN_BOUNDS (0B, D.2422, 7);
_7 = _3 | _5;
a[D.2422] = _7;
  }
  D.2423 = 0;
  return D.2423;
}

thus we crashes before the .UBSAN_BOUNDS happens. Before the revision we
emitted:

   {
b = -4169;
b.0_1 = b;
D.2074 = (int) b.0_1;
UBSAN_BOUNDS (0B, D.2074, 7);
b.1_2 = b;
_3 = (int) b.1_2;
_4 = a[_3];
_5 = _4 | 1;
a[D.2074] = _5;
  }

[Bug c++/108071] [13 Regression] Build failure in Libreoffice since r13-4565

2022-12-12 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108071

Jakub Jelinek  changed:

   What|Removed |Added

   Last reconfirmed|2022-12-12 00:00:00 |
 CC||jakub at gcc dot gnu.org,
   ||jason at gcc dot gnu.org
 Status|WAITING |NEW
Summary|[13 regression] Build   |[13 Regression] Build
   |failure in Libreoffice  |failure in Libreoffice
   ||since r13-4565
   Priority|P3  |P1

--- Comment #3 from Jakub Jelinek  ---
Started with r13-4565-gbd0485f20f4794f9787237706a6308473a8e9415

[Bug target/103698] [12 regression] Code assigned to __attribute__((section(".data"))) generates invalid dwarf: leb128 operand is an undefined symbol

2022-12-12 Thread Manuel Köppen
Hi!

I came across this problem as well.
I use the __attribute__((section(".data"))) as a kind of hack to get a function 
in the RAM using the standard linker file and startup provided for ST 
microcontrollers.
Not being able to make a debug build is inaccepable! With older GCC/binutils 
versions this problem didn't exist.
However, I found a workaround, I now use __attribute__((section(".datax"))).
In the Linker script they include *(.data*) so this  works and it does not 
generate the errors.
Just wanted to share this in case anyone else is stuck at this.

Best regards,
Manuel Köppen



[Bug c/108074] New: Incorrect stringop-overflow warning

2022-12-12 Thread alastair.j.irving at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108074

Bug ID: 108074
   Summary: Incorrect stringop-overflow warning
   Product: gcc
   Version: 12.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: alastair.j.irving at gmail dot com
  Target Milestone: ---

Created attachment 54071
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54071=edit
Reproducer

Compiling with -O2 or higher I get an incorrect warning:
test.c: In function ‘foo3’: 
test.c:15:5: warning: ‘foo’ accessing 16 bytes in a region of size 8
[-Wstringop-overflow=] 

This doesn't appear at lower optimization levels.  It's also very sensative to
the function, for example removing the return on the next line makes the
warning go away.

[Bug libfortran/108056] [12/13 Regression] backward compatibility issue between 11 and 12

2022-12-12 Thread rguenther at suse dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108056

--- Comment #13 from rguenther at suse dot de  ---
On Mon, 12 Dec 2022, burnus at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108056
> 
> --- Comment #12 from Tobias Burnus  ---
[...]
> Thus, we have two options:
> 
> (A) We change those to functions back to the GCC 11 version; the new check was
> added in Sandra's commit 
> r12-3321-g93b6b2f614eb692d1d8126ec6cb946984a9d01d7
> back when those functions were still used in GCC 12.
> 
> (B) I think we have to possibilities to map this:
> 
> BT_ASSUMED -> CFI_type_cptr  or  CFI_type_other; using the latter, that's the
> following (untested but it should work):
> 
>   ---
> --- a/libgfortran/runtime/ISO_Fortran_binding.c
> +++ b/libgfortran/runtime/ISO_Fortran_binding.c
> @@ -182,4 +182,7 @@ gfc_desc_to_cfi_desc (CFI_cdesc_t **d_ptr, const
> gfc_array_void *s)
>d->type = CFI_type_struct;
>break;
> +case BT_ASSUME:
> +  d->type = CFI_type_other;
> +  break;
>  case BT_VOID:
>/* FIXME: PR 100915.  GFC descriptors do not distinguish between
>   
> 
> Thoughts whether (A) or (B) is better?

I'd go with (A) if the functions are just for legacy code and not used
by GCC 12+ at all.

[Bug middle-end/108073] [rs6000] sub-optimal float member accessing on struct parameter

2022-12-12 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108073

Andrew Pinski  changed:

   What|Removed |Added

   Keywords||missed-optimization
   Severity|normal  |enhancement

[Bug tree-optimization/108064] [13 Regression] apache-arrow-cpp-9.0.0 is vectored incorrectly: arithmetic shift instead of logical

2022-12-12 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108064

--- Comment #2 from Jakub Jelinek  ---
Created attachment 54070
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54070=edit
gcc13-pr108064.patch

Untested fix.

[Bug c++/108071] [13 regression] Build failure in Libreoffice

2022-12-12 Thread manuel.lauss at googlemail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108071

--- Comment #2 from Manuel Lauss  ---
(In reply to Richard Biener from comment #1)
I get the same errors, but the whole file can be compiled without errors with
gcc-12 (it needs to be preprocessed with gcc-12 as well), and with a gcc-13
checkout from 9 days ago.
So in the last 9 days, something was introduced which caused these errors to
appear.

[Bug c/108073] New: [rs6000] sub-optimal float member accessing on struct parameter

2022-12-12 Thread guojiufu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108073

Bug ID: 108073
   Summary: [rs6000] sub-optimal float member accessing on struct
parameter
   Product: gcc
   Version: 13.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: guojiufu at gcc dot gnu.org
  Target Milestone: ---

For the below code:

typedef struct DF {double a[4]; long l; } DF;
double __attribute__ ((noipa)) foo_df (DF arg){return arg.a[3];}


At -O2, with gcc trunk(13.0), we get below sequence:

std 6,-24(1)
ori 2,2,0
lfd 1,-24(1)
blr

Actually, just one "mtvsrd 1, 6" is enough.

In this case, the argument is passed through integer registers. 

For below code, it is similar:

typedef struct SF {float a[4];short l; } SF;
float foo (SF arg){return arg.a[3];}  

std 4,-24(1)
ori 2,2,0
lfs 1,-20(1)
vs. below seq seems faster.
rldicr 4,4,0,31
mtvsrd 1,4
xscvspdpn 1,1

[Bug libfortran/108056] [12/13 Regression] backward compatibility issue between 11 and 12

2022-12-12 Thread burnus at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108056

--- Comment #12 from Tobias Burnus  ---
First, there were several issue in GCC 12 related to using CFI_. Thus, using
GCC 12 is
highly recommended.

This can be seen when implementing the function using the following code (and
removing ', name="sync"' - calling 'void sync(void)' system function):

#include 
void bar_ts (CFI_cdesc_t *a, CFI_cdesc_t *b) {
 __builtin_printf ("a = %s, b = %s\n",
   (a->type == CFI_type_float) ? "float" : "something else",
   (b->type == CFI_type_float) ? "float" : "something else");
}


This prints the expected value:
   a = float, b = float

 * * *

In GCC 11, the value that arrives at

  type = GFC_DESCRIPTOR_TYPE (s);

and is then used for

  d->type = (CFI_type_t)type;

is BT_ASSUMED (= 11) instead of the expected BT_REAL (= 3), loosing the data
type.

As d->type is now BT_ASSUMED and this case is not handled, we run into the
code:

  switch (d->type)
...
default:
  internal_error (NULL, "Invalid type in descriptor");

 * * *

I want to note that both functions,
 _gfortran_cfi_desc_to_gfc_desc
 _gfortran_gfc_desc_to_cfi_desc
are only in GCC 12's libgfortran.so to provide backward compatibility with GCC
<= 11.

Thus, we have two options:

(A) We change those to functions back to the GCC 11 version; the new check was
added in Sandra's commit r12-3321-g93b6b2f614eb692d1d8126ec6cb946984a9d01d7
back when those functions were still used in GCC 12.

(B) I think we have to possibilities to map this:

BT_ASSUMED -> CFI_type_cptr  or  CFI_type_other; using the latter, that's the
following (untested but it should work):

  ---
--- a/libgfortran/runtime/ISO_Fortran_binding.c
+++ b/libgfortran/runtime/ISO_Fortran_binding.c
@@ -182,4 +182,7 @@ gfc_desc_to_cfi_desc (CFI_cdesc_t **d_ptr, const
gfc_array_void *s)
   d->type = CFI_type_struct;
   break;
+case BT_ASSUME:
+  d->type = CFI_type_other;
+  break;
 case BT_VOID:
   /* FIXME: PR 100915.  GFC descriptors do not distinguish between
  

Thoughts whether (A) or (B) is better?

In any case, we should check whether the testcase of comment 0 plus the C code
above in
this comment should be added as new testcase. But it might very well already be
covered
in our testsuite.

[Bug c++/108071] [13 regression] Build failure in Libreoffice

2022-12-12 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108071

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2022-12-12
   Target Milestone|--- |13.0
 Ever confirmed|0   |1
Summary|13 regression: Build|[13 regression] Build
   |failure in Libreoffice  |failure in Libreoffice

--- Comment #1 from Richard Biener  ---
I get

/tmp/t.i: In member function 'virtual
com::sun::star::uno::Sequence
{anonymous}::AnyCompareFactory::getSupportedServiceNames()':
/tmp/t.i:47993:51: error: no matching function for call to
'rtl::OUString::OUString(const char* const)'
47993 | return { "com.sun.star.ucb.AnyCompareFactory" };
  |   ^

and loads of warnings before/after.  That's with no options - what options do
you use and what's your error?

[Bug c++/108047] ice: unexpected expression of kind implicit_conv_expr

2022-12-12 Thread slyfox at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108047

Sergei Trofimovich  changed:

   What|Removed |Added

 CC||slyfox at gcc dot gnu.org

--- Comment #4 from Sergei Trofimovich  ---
Noticed the same build failure on this week's gcc on apache-arrow-cpp-9.0.0.
Extracted small example:

namespace std {
template  class initializer_list;
struct Trans_NS___cxx11_basic_string {
  Trans_NS___cxx11_basic_string(const char *);
};
struct vector {
  vector(initializer_list);
};
} // namespace std
void key_value_metadata(std::vector, std::vector);
template  void TestWriteDifferentMetadata() {
  key_value_metadata({}, {""});
}

Not sure if it's valid, but gcc-12 still accepts it. Can re-reduce against
clang if needed.

$ ./gcc-git/bin/gcc  -c bug.cc.cc
bug.cc.cc: In function 'void TestWriteDifferentMetadata()':
bug.cc.cc:12:21: internal compiler error: unexpected expression
'(std::Trans_NS___cxx11_basic_string)""' of kind implicit_conv_expr
   12 |   key_value_metadata({}, {""});
  |   ~~^~
0x219cf54 diagnostic_impl(rich_location*, diagnostic_metadata const*, int, char
const*, __va_list_tag (*) [1], diagnostic_t)
???:0
0x219dba6 internal_error(char const*, ...)
???:0
0x9d4fee cxx_eval_constant_expression(constexpr_ctx const*, tree_node*,
value_cat, bool*, bool*, tree_node**)
???:0

[Bug libbacktrace/108072] [13 Regression] gcc/libbacktrace/elf.c:5144: multiple definition of `backtrace_uncompress_zstd' with --with-build-config=bootstrap-asan since r13-4547-g9df1ba9a35b86e

2022-12-12 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108072

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Priority|P3  |P1
   Last reconfirmed||2022-12-12
   Target Milestone|--- |13.0
 Ever confirmed|0   |1

[Bug libbacktrace/108072] New: [13 Regression] gcc/libbacktrace/elf.c:5144: multiple definition of `backtrace_uncompress_zstd' with --with-build-config=bootstrap-asan since r13-4547-g9df1ba9a35b86e

2022-12-12 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108072

Bug ID: 108072
   Summary: [13 Regression] gcc/libbacktrace/elf.c:5144: multiple
definition of `backtrace_uncompress_zstd' with
--with-build-config=bootstrap-asan since
r13-4547-g9df1ba9a35b86e
   Product: gcc
   Version: 13.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libbacktrace
  Assignee: unassigned at gcc dot gnu.org
  Reporter: marxin at gcc dot gnu.org
CC: ian at gcc dot gnu.org
  Target Milestone: ---

ASAN bootstrap fails due to:

/dev/shm/objdir2/./prev-gcc/xg++ -B/dev/shm/objdir2/./prev-gcc/
-B/usr/local/x86_64-pc-linux-gnu/bin/ -nostdinc++
-B/dev/shm/objdir2/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-B/dev/shm/objdir2/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs 
-I/dev/shm/objdir2/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu
 -I/dev/shm/objdir2/prev-x86_64-pc-linux-gnu/libstdc++-v3/include 
-I/home/marxin/Programming/gcc/libstdc++-v3/libsupc++
-L/dev/shm/objdir2/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
-L/dev/shm/objdir2/prev-x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
-no-pie   -g -O2 -fno-checking -fsanitize=address -DIN_GCC -fno-exceptions
-fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings
-Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common 
-DHAVE_CONFIG_H -static-libstdc++ -static-libgcc -fsanitize=address
-static-libasan -B/dev/shm/objdir2/prev-x86_64-pc-linux-gnu/libsanitizer/
-B/dev/shm/objdir2/prev-x86_64-pc-linux-gnu/libsanitizer/asan/
-B/dev/shm/objdir2/prev-x86_64-pc-linux-gnu/libsanitizer/asan/.libs 
gcov-dump.o \
hash-table.o ggc-none.o\
libcommon.a ../libcpp/libcpp.a   ../libbacktrace/.libs/libbacktrace.a
../libiberty/libiberty.a ../libdecnumber/libdecnumber.a  -o gcov-dump
/usr/lib64/gcc/x86_64-suse-linux/12/../../../../x86_64-suse-linux/bin/ld:
../libbacktrace/.libs/libbacktrace.a(elf.o): in function
`backtrace_uncompress_zstd':
/home/marxin/Programming/gcc/libbacktrace/elf.c:5144: multiple definition of
`backtrace_uncompress_zstd';
/dev/shm/objdir2/prev-x86_64-pc-linux-gnu/libsanitizer/asan/.libs/libasan.a(elf.o):/home/marxin/Programming/gcc/libsanitizer/libbacktrace/../../libbacktrace/elf.c:5144:
first defined here
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:3138: gcov-dump] Error 1

[Bug go/108057] [13 Regression] libgo21 not ABI compatible gcc12 vs gcc13?

2022-12-12 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108057

Martin Liška  changed:

   What|Removed |Added

 Ever confirmed|0   |1
 CC||marxin at gcc dot gnu.org
   Last reconfirmed||2022-12-12
 Status|UNCONFIRMED |NEW

[Bug tree-optimization/53947] [meta-bug] vectorizer missed-optimizations

2022-12-12 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53947
Bug 53947 depends on bug 107647, which changed state.

Bug 107647 Summary: [12 Regression] GCC 12.2.0 may produce FMAs even with 
-ffp-contract=off
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107647

   What|Removed |Added

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

[Bug tree-optimization/107865] [12 Regression] ICE in verify_loop_structure, at cfgloop.cc:1748 (Error: loop 3's number of iterations '_61 > 0 ? (uint128_t) (_61 + -1) : 0' references the released SSA

2022-12-12 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107865

Richard Biener  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|ASSIGNED|RESOLVED
  Known to work||12.2.1

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

[Bug tree-optimization/107833] [12 Regression] wrong code at -Os and above on x86_64-linux-gnu since r12-5138-ge82c382971664d6f

2022-12-12 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107833

Richard Biener  changed:

   What|Removed |Added

  Known to work||12.2.1
 Status|ASSIGNED|RESOLVED
  Known to fail||12.2.0
 Resolution|--- |FIXED

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

[Bug tree-optimization/107833] [12 Regression] wrong code at -Os and above on x86_64-linux-gnu since r12-5138-ge82c382971664d6f

2022-12-12 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107833

--- Comment #16 from CVS Commits  ---
The releases/gcc-12 branch has been updated by Richard Biener
:

https://gcc.gnu.org/g:812847a9d12c0b65695cbe1a23959b69a7e62355

commit r12-8977-g812847a9d12c0b65695cbe1a23959b69a7e62355
Author: Richard Biener 
Date:   Fri Dec 2 14:52:20 2022 +0100

tree-optimization/107833 - invariant motion of uninit uses

The following fixes a wrong-code bug caused by loop invariant motion
hoisting an expression using an uninitialized value outside of its
controlling condition causing IVOPTs to use that to rewrite a defined
value.  PR107839 is a similar case involving a bogus uninit diagnostic.

PR tree-optimization/107833
PR tree-optimization/107839
* cfghooks.cc: Include tree.h.
* tree-ssa-loop-im.cc (movement_possibility): Wrap and
make stmts using any ssa_name_maybe_undef_p operand
to preserve execution.
(loop_invariant_motion_in_fun): Call mark_ssa_maybe_undefs
to init maybe-undefined status.
* tree-ssa-loop-ivopts.cc (ssa_name_maybe_undef_p,
ssa_name_set_maybe_undef, ssa_name_any_use_dominates_bb_p,
mark_ssa_maybe_undefs): Move ...
* tree-ssa.cc: ... here.
* tree-ssa.h (ssa_name_any_use_dominates_bb_p,
mark_ssa_maybe_undefs): Declare.
(ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): Define.

* gcc.dg/torture/pr107833.c: New testcase.
* gcc.dg/uninit-pr107839.c: Likewise.

(cherry picked from commit 44c8402d35160515b3c09fd2bc239587e0c32a2b)

[Bug c/107898] [11/12 Regression] ICE in irange_intersect, at value-range.cc:1640

2022-12-12 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107898

--- Comment #4 from CVS Commits  ---
The releases/gcc-12 branch has been updated by Richard Biener
:

https://gcc.gnu.org/g:1a8af01a8386fcda16a61dc17f11ba9cfbfd

commit r12-8979-g1a8af01a8386fcda16a61dc17f11ba9cfbfd
Author: Richard Biener 
Date:   Tue Nov 29 09:03:46 2022 +0100

tree-optimization/107898 - ICE with -Walloca-larger-than

The following avoids ICEing with a mismatched prototype for alloca
and -Walloca-larger-than using irange for checks which doesn't
like mismatched types.

PR tree-optimization/107898
* gimple-ssa-warn-alloca.cc (alloca_call_type): Check
the type of the alloca argument is compatible with size_t
before querying ranges.

(cherry picked from commit 9948daa4fd0f0ea0a9d56c2fefe1bca478554d27)

[Bug tree-optimization/107686] [12 Regression] ICE: verify_gimple failed (invalid types in nop conversion) with _Decimal64 vector

2022-12-12 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107686

Richard Biener  changed:

   What|Removed |Added

  Known to fail|12.2.1  |12.2.0
  Known to work||12.2.1
 Resolution|--- |FIXED
 Status|ASSIGNED|RESOLVED

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

[Bug tree-optimization/106868] [12 Regression] Bogus -Wdangling-pointer warning with -O1

2022-12-12 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106868

Richard Biener  changed:

   What|Removed |Added

  Known to work||12.2.1
 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

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

  1   2   >