[Bug analyzer/108065] [13 Regression] ICE in make, at analyzer/store.cc:132

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

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P4
   Target Milestone|--- |13.0

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

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

Richard Biener  changed:

   What|Removed |Added

Summary|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
   Keywords||ice-on-valid-code
   Target Milestone|--- |13.0

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

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

--- Comment #9 from Jakub Jelinek  ---
The important question is if correct code compiled by gcc 11 was working
correctly with libgfortran 11, if yes, then libgfortran 12+ should maintain
compatibility (of course, when soname is bumped, that compatibility code can be
thrown away).

[Bug c/108068] New: decimal signed zero is not honored

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

Bug ID: 108068
   Summary: decimal signed zero is not honored
   Product: gcc
   Version: 12.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ntysdd at qq dot com
  Target Milestone: ---

This program has different behavior on different optimizing levels.

#include 
#include 

int main()
{
std::decimal::decimal64 x;
x = -1;
while (x != 0)
{
x /= 10;
}
double d = decimal64_to_double(x);
printf("%.0f\n", d);
}


For example, on my current machine (gcc 9.4.0), it gives "-0" on O0, and "0" on
O1, then "-0" again on O2.

I believe it still has similar problems on 12.2

[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 #10 from rguenther at suse dot de  ---
On Mon, 12 Dec 2022, jakub at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108056
> 
> --- Comment #9 from Jakub Jelinek  ---
> The important question is if correct code compiled by gcc 11 was working
> correctly with libgfortran 11, if yes, then libgfortran 12+ should maintain
> compatibility (of course, when soname is bumped, that compatibility code can 
> be
> thrown away).

If GCC 11 behaves incorrectly we can of course also fix that on the 
branch.  Nevertheless breaking old working executables isn't a good
idea so if we can keep them working then please do so.

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

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

--- Comment #11 from Gilles Gouaillardet  
---
gfortran-11 compiles and run correctly when it uses libgfortran-11.

To be perfectly clear, compilation always work: the issue occurs at runtime
when gfortran-11 compiled code uses libgfortran-12).

[Bug c++/108069] New: Cant expand multiple parameters packs when used with a concept prefix when used inside a variadic templated lambda

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

Bug ID: 108069
   Summary: Cant expand multiple parameters packs when used with a
concept prefix when used inside a variadic templated
lambda
   Product: gcc
   Version: 13.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: calebxyz at gmail dot com
  Target Milestone: ---

When using concepts in a variadic templated lambda, G++ cannot expand a concept
prefix leading to misleading errors, while almost the same code without
concepts works fine. 
Clang compiles the concept code without any errors. 


Link to both examples of code 
get_nth1 - uses concepts and doesn't work. 
get_nth2 - uses void* and compiles fine 

https://godbolt.org/z/4sa7TMeKa

[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 jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108044

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

Untested fix.

[Bug tree-optimization/107409] Perf loss ~5% on 519.lbm_r SPEC cpu2017 benchmark with r10-5090-ga9a4edf0e71bba

2022-12-12 Thread rvmallad at amazon dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107409

--- Comment #14 from Rama Malladi  ---
(In reply to Martin Liška from comment #13)
> Note the mentioned revision is a fix and yes, sometimes these revisions can
> end up with a regression as profile estimation is a complex guess.

Yes, possibly. So, from my understanding, the update_max_bb_count() tracks the
max basic block count and takes a decision to inline or not in this case/ run.
That is likely why we see a larger instruction count w this function executed/
enabled.

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

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

Bug ID: 108070
   Summary: failure to combine range test to bit test
   Product: gcc
   Version: 13.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: rguenth at gcc dot gnu.org
  Target Milestone: ---

(insn 8 7 11 2 (parallel [ 
(set (reg:QI 89)
(and:QI (reg:QI 90 [ *info_6(D) ]) 
(const_int 3 [0x3])))
(clobber (reg:CC 17 flags))
])
"/home/rguenther/src/trunk/gcc/testsuite/c-c++-common/fold-masked-cmp-1.c":37:7
554 {*andqi_1}
 (expr_list:REG_DEAD (reg:QI 90 [ *info_6(D) ])
(expr_list:REG_UNUSED (reg:CC 17 flags)
(nil
(insn 11 8 12 2 (set (reg:CC 17 flags)
(compare:CC (reg:QI 89)
(const_int 1 [0x1])))
"/home/rguenther/src/trunk/gcc/testsuite/c-c++-common/fold-masked-cmp-1.c":37:6
9 {*cmpqi_1}
 (expr_list:REG_DEAD (reg:QI 89) 
(nil)))  
(jump_insn 12 11 13 2 (set (pc)
(if_then_else (gtu (reg:CC 17 flags)
(const_int 0 [0]))
(label_ref 15)
(pc)))
"/home/rguenther/src/trunk/gcc/testsuite/c-c++-common/fold-masked-cmp-1.c":37:6
974 {*jcc}
 (expr_list:REG_DEAD (reg:CC 17 flags)
(int_list:REG_BR_PROB 633507684 (nil)))
 -> 15) 

here insns 8, 11 and 12 should be combined to

(insn 7 6 8 2 (parallel [
(set (reg:QI 88) 
(and:QI (reg:QI 89 [ *info_7(D) ])
(const_int 2 [0x2])))
(clobber (reg:CC 17 flags))
])
"/home/rguenther/src/gcc-12-branch/gcc/testsuite/c-c++-common/fold-masked-cmp-1.c":37:7
534 {*andqi_1}
 (expr_list:REG_DEAD (reg:QI 89 [ *info_7(D) ])
(expr_list:REG_UNUSED (reg:CC 17 flags)
(nil
(insn 8 7 9 2 (set (reg:CCZ 17 flags)
(compare:CCZ (reg:QI 88) 
(const_int 0 [0])))
"/home/rguenther/src/gcc-12-branch/gcc/testsuite/c-c++-common/fold-masked-cmp-1.c":37:6
5 {*cmpqi_ccno_1}
 (expr_list:REG_DEAD (reg:QI 88)
(nil)))

the jump also needs altering here.  This is required to avoid regressing
code like c-c++-common/fold-masked-cmp-1.c when
applying https://gcc.gnu.org/pipermail/gcc-patches/2022-December/608153.html
where we no longer fold

;; Function test_exe (null)
;; enabled by -tree-original


{
  if (info->type <= 1)

to

;; Function test_exe (null)
;; enabled by -tree-original


{ 
  if ((BIT_FIELD_REF <*info, 8, 0> & 2) == 0)

note that applying this folding on GIMPLE produces a more costly operation
(we need an extra BIT_AND_EXPR here).  On x86_64 the folded code produces

testb   $2, (%rdi)
jne .L8 

while the unfolded has

movzbl  (%rdi), %eax
andl$3, %eax
cmpb$1, %al
ja  .L5

as CC modes are involved I'm not sure if combine is the correct vehicle to
perform this.  IIRC arm folks wanted to add some bit-test-and-branch
patterns (that doesn't seem to be applied yet) which could make it possible
to optimize this during RTL expansion itself.

[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 #1 from Tamar Christina  ---
Yes it's all been approved now, doing a regression after a rebase and will
commit today.

[Bug tree-optimization/105651] [12 Regression] bogus "may overlap" memcpy warning with std::string and operator+ at -O3

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

Richard Biener  changed:

   What|Removed |Added

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

[Bug c++/108071] New: 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

Bug ID: 108071
   Summary: 13 regression: Build failure in Libreoffice
   Product: gcc
   Version: 13.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: manuel.lauss at googlemail dot com
  Target Milestone: ---

Created attachment 54069
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54069&action=edit
compressed preprocessed unreduced source

Hello,

with latest gcc-13 trunk, libreoffice build fails; last time I was able to
build it was 9 days ago with r13-93574914e462e87e4266b0dfbb9627662f33.
gcc-12 works as expected, though the preprocessed source has few differences.

Attached the compressed preprocessed unreduced source file, build with
g++ -c AnyCompareFactory.i

Thanks,
Manuel

[Bug tree-optimization/106912] [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032 since r13-1575-gcf3a120084e94614

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

Richard Biener  changed:

   What|Removed |Added

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

--- Comment #7 from Richard Biener  ---
(In reply to Jakub Jelinek from comment #6)
> Sure, the FUNCTION_TYPE can be shared, so shouldn't be overwritten in place,
> but can be copied with TREE_READONLY cleared on the copy.
> So, if we for whatever reason need to clear const flag on some functions,
> after clearing TREE_READONLY on the node->decl we'd also need to update the
> TREE_TYPE to a version without TREE_READONLY set (so that say if new calls
> are created they don't get wrong fntype) and then walk all call edges to
> that function, updating gimple_call_fntype to the updated type if it was
> equal to the old TREE_TYPE, or to a copy with TREE_READONLY cleared if it
> has TREE_READONLY set on the FUNCTION/METHOD_TYPE).

That will not catch indirect calls to the function.  So whatever we do
this part of the problem will remain (the out-of-sync profile).  Like

inline int __attribute__((const))
foo (int i)
{
  if (i == 0)
return 2;
  return 1;
}

int (* __attribute__((const)) bar) () = foo;

int main()
{
  int r = 0;
  for (int i = 0; i < 1; ++i)
{
  r += foo (r);
  r += bar (r);
}
  return r;
}

which, when compiled with -O2 -fno-early-inlining -fprofile-arcs results
in the edge counters from the inline copy via foo to be store-motion'ed
but the indirect call clobbering them each iteration.

Using -fprofile-use prevents this because we get an indirect call profiler
call which clobbers all memory, confusing LIM, doing early inlining will
early inline the function before profile instrumentation.

I cannot see how we can fix this without some global flag to ignore
const/pure-ness of functions or alternatively dropping DECL_NONALIASED.
Trying to support surgical un-setting of pure/const for single functions
isn't going to work.  Simply disabling IPA inlining for instrumented
builds might also work.

[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

   Last reconfirmed||2022-12-12
 Status|UNCONFIRMED |WAITING
 Ever confirmed|0   |1

--- Comment #2 from Jonathan Wakely  ---
Not a valid bug report, please read https://gcc.gnu.org/bugs/

[Bug c++/108063] push_back on std::vector allocates wrong amount of memory

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

--- Comment #8 from Jonathan Wakely  ---
(In reply to jo.rickert from comment #6)
> Thanks, I thought the name had to be unique per translation unit.

That can't possibly work. You would have to define the entire program in one
translation unit, because otherwise you could never declare:

struct X { void func(); };

and define X::func() in one translation unit and call it from a different
translation unit.  Under your mental model, it would be a different X, and the
linker could never find the definition of X::func.

[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 #3 from Jonathan Wakely  ---
Why am I having to say this AGAIN?

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107886#c7
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107886#c9
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104592#c3
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104592#c5

[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

   Assignee|unassigned at gcc dot gnu.org  |redi at gcc dot gnu.org
 Status|WAITING |ASSIGNED

--- Comment #4 from Jonathan Wakely  ---
(In reply to Jamaika from comment #0)
> c:\gcc1300\include\c++\13.0.0\format:3350:40: error: expected identifier
> before ',' token
>  3350 | __format::__do_vformat_to(_Out_, basic_string_view<_CharT_>,
>   |^

This looks like you've got _Out_ defined as a macro, which causes an error in
this friend declaration.

Then because the function isn't a friend, you get access errors in the function
that's supposed to be a friend:


> c:\gcc1300\include\c++\13.0.0\format: In instantiation of '_Out
> std::__format::__do_vformat_to(_Out, std::basic_string_view<_CharT>, const
> std::basic_format_args<_Context>&, const std::locale*) [with _Out =
> _Sink_iter; _CharT = char; _Context =
> std::basic_format_context<_Sink_iter, char>]':
> c:\gcc1300\include\c++\13.0.0\format:3646:39:   required from '_Out
> std::vformat_to(_Out, string_view, format_args) [with _Out =
> __format::_Sink_iter; string_view = basic_string_view;
> format_args =
> basic_format_args, char> >]'
> c:\gcc1300\include\c++\13.0.0\format:3673:20:   required from here
> c:\gcc1300\include\c++\13.0.0\format:3614:24: error:
> 'std::basic_format_context<_Out,
> _CharT>::basic_format_context(std::basic_format_args basic_format_context<_Out, _CharT> >, _Out) [with _Out =
> std::__format::_Sink_iter; _CharT = char]' is private within this
> context
>  3614 |  ? _Context(__args, __sink_out)
>   |^~~~
> c:\gcc1300\include\c++\13.0.0\format:3338:7: note: declared private here
>  3338 |   basic_format_context(basic_format_args
> __args,
>   |   ^~~~


And I think that's because _Out_ is a Windows SAL macro:

mingw-w64-tools/widl/include/sal.h:#define _Out_

So confirmed as a bug but next time please provide a proper bug report.

[Bug tree-optimization/106433] [13 Regression] ICE in vect_transform_loops, at tree-vectorizer.cc:1032

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

--- Comment #3 from Richard Biener  ---
Interestingly the cgraph node for 'bar' doesn't have any clones when it changes
pure/const state so we cannot update those as well. 
create_version_clone_with_body as used by OMP cloning doesn't populate
those links it seems, as opposed to create_clone.

Honza?

[Bug tree-optimization/107407] [12 Regression] Wrong code at -Os on x86_64-linux-gnu since r12-383-g32955416d8040b1f

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

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

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

commit r12-8973-ge0e37f97e67c99604129eeac2e73ccd3719ccb28
Author: Richard Biener 
Date:   Fri Oct 28 15:03:49 2022 +0200

tree-optimization/107407 - wrong code with DSE

So what happens is that we elide processing of this check with

  /* In addition to kills we can remove defs whose only use
 is another def in defs.  That can only ever be PHIs of which
 we track two for simplicity reasons, the first and last in
 {first,last}_phi_def (we fail for multiple PHIs anyways).
 We can also ignore defs that feed only into
 already visited PHIs.  */
  else if (single_imm_use (vdef, &use_p, &use_stmt)
   && (use_stmt == first_phi_def
   || use_stmt == last_phi_def
   || (gimple_code (use_stmt) == GIMPLE_PHI
   && bitmap_bit_p (visited,
SSA_NAME_VERSION
  (PHI_RESULT (use_stmt))

where we have the last PHI being the outer loop virtual PHI and the first
PHI being the loop exit PHI of the outer loop and we've already processed
the single immediate use of the outer loop PHI, the inner loop PHI.  But
we still have to perform the above check!

It's easiest to perform the check when we visit the PHI node instead of
delaying it to the actual processing loop.

PR tree-optimization/107407
* tree-ssa-dse.cc (dse_classify_store): Perform backedge
varying index check when collecting PHI uses rather than
after optimizing processing of the candidate defs.

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

(cherry picked from commit 031a400e49d8db156c43f9ec0b21ab0c2aee8c6d)

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

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

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

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

commit r12-8972-gad6ace70ba38d2052eeb5adb9672d33f59867be0
Author: Richard Biener 
Date:   Mon Dec 5 10:13:13 2022 +0100

tree-optimization/106868 - bogus -Wdangling-pointer diagnostic

The testcase shows we mishandle the case where there's a pass-through
of a pointer through a function like memcpy.  The following adjusts
handling of this copy case to require a taken address and adjust
the PHI case similarly.

PR tree-optimization/106868
* gimple-ssa-warn-access.cc
(pass_waccess::gimple_call_return_arg_ref):
Inline into single user ...
(pass_waccess::check_dangling_uses): ... here and adjust the
call and the PHI case to require that ref.aref is the address
of the decl.

* gcc.dg/Wdangling-pointer-pr106868.c: New testcase.

(cherry picked from commit d492d50f644811327c5976e2c918ab6d906ed40c)

[Bug tree-optimization/107647] [12 Regression] GCC 12.2.0 may produce FMAs even with -ffp-contract=off

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

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

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

commit r12-8974-ga9fafa2f533e25c57528c0294e19a154197848dd
Author: Richard Biener 
Date:   Thu Nov 17 09:43:31 2022 +0100

tree-optimization/107647 - avoid FMA from SLP with -ffp-contract=off

Only with -ffp-contract=fast we can synthesize FMA operations like
vfmaddsub231ps, so properly guard the transform in SLP pattern
detection.

PR tree-optimization/107647
* tree-vect-slp-patterns.cc (addsub_pattern::recognize): Only
allow FMA generation with -ffp-contract=fast for FP types.
(complex_mul_pattern::matches): Likewise.

* gcc.target/i386/pr107647.c: New testcase.

(cherry picked from commit c5df8392c5848c0462558f41cdf6eab31db301cf)

[Bug middle-end/104077] [meta-bug] bogus/missing -Wdangling-pointer

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

Bug 106868 Summary: [12 Regression] Bogus -Wdangling-pointer warning with -O1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106868

   What|Removed |Added

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

[Bug tree-optimization/107766] [13 Regression] ICE Segmentation fault since r13-4137-gc5df8392c5848c04

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

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

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

commit r12-8975-g9e242f8a2d5987ddaa74696e5ad809303ddc8dd0
Author: Richard Biener 
Date:   Mon Nov 21 07:56:06 2022 +0100

tree-optimization/107766 - ICE with recent -ffp-contract=off fix

The following uses *node to check for FP types rather than the
child nodes which could be constant leafs and thus without a
vector type.

PR tree-optimization/107766
* tree-vect-slp-patterns.cc (complex_mul_pattern::matches):
Use *node to check for FP vector types.

* g++.dg/vect/pr107766.cc: New testcase.

(cherry picked from commit 1a06ae6f2f4f292fd05a900bcf433cb4282da1e3)

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

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

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

https://gcc.gnu.org/g:232305bd0c8dd37b17b815864e730aa630714606

commit r12-8976-g232305bd0c8dd37b17b815864e730aa630714606
Author: Richard Biener 
Date:   Wed Nov 16 15:27:13 2022 +0100

tree-optimization/107686 - fix bitfield ref through vec_unpack optimization

The following propely restricts the bitfield access to integral types
when we look through VEC_UNPACK with the intent to emit a widening
conversion.

PR tree-optimization/107686
* tree-ssa-forwprop.cc (optimize_vector_load): Restrict
VEC_UNPACK support to integral typed bitfield refs.

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

(cherry picked from commit 246bbdaa5f536b7a199dda9860c473137f40d622)

[Bug tree-optimization/107839] spurious "may be used uninitialized" warning while all uses are under "if (c)"

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

--- Comment #6 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 tree-optimization/107647] [12 Regression] GCC 12.2.0 may produce FMAs even with -ffp-contract=off

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

Richard Biener  changed:

   What|Removed |Added

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

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

[Bug tree-optimization/107407] [12 Regression] Wrong code at -Os on x86_64-linux-gnu since r12-383-g32955416d8040b1f

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

Richard Biener  changed:

   What|Removed |Added

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

--- Comment #7 from Richard Biener  ---
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 cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107865

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

https://gcc.gnu.org/g:09469705318de7a0fe5f10f5d5b92870d3fada6e

commit r12-8978-g09469705318de7a0fe5f10f5d5b92870d3fada6e
Author: Richard Biener 
Date:   Fri Nov 25 08:27:42 2022 +0100

tree-optimization/107865 - ICE with outlining of loops

The following makes sure to clear loops number of iterations when
outlining them as part of a SESE region as can happen with
auto-parallelization.  The referenced SSA names become stale otherwise.

PR tree-optimization/107865
* tree-cfg.cc (move_sese_region_to_fn): Free the number of
iterations of moved loops.

* gfortran.dg/graphite/pr107865.f90: New testcase.

(cherry picked from commit bcc2449384f2092cbdf5d6ac2357aeabe3212b2e)

[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.

[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 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/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 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/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/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 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 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 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 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 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 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/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 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 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&action=edit
gcc13-pr108064.patch

Untested fix.

[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 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 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&action=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 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++/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 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

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

[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 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 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 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 &a = 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 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&action=edit
gcc13-pr108072.patch

Untested fix.

[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 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 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++/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 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 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++/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 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 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 &a = typeid(decltype(0.0f16));
#endif
#ifdef __STDCPP_BFLOAT16_T__
const std::type_info &b = typeid(decltype(0.0bf16));
#endif
#ifdef __STDCPP_FLOAT32_T__
const std::type_info &c = typeid(decltype(0.0f32));
#endif
#ifdef __STDCPP_FLOAT64_T__
const std::type_info &d = typeid(decltype(0.0f64));
#endif
#ifdef __STDCPP_FLOAT128_T__
const std::type_info &e = typeid(decltype(0.0f128));
#endif
#ifdef __FLT32X_MAX__
const std::type_info &f = typeid(decltype(0.0f32x));
#endif
#ifdef __FLT64X_MAX__
const std::type_info &g = typeid(decltype(0.0f64x));
#endif
#ifdef __FLT128X_MAX__
const std::type_info &h = typeid(decltype(0.0f128x));
#endif

int
main ()
{
}

[Bug tree-optimization/104162] [12 Regression] Missed CSE after lowering of &MEM[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 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/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 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 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 &Args) const {
  Args.AddAllArgs({OPT_u});
}

[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 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++/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 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++/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++/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++/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&action=edit
gcc13-pr108075.patch

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

[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&action=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] = &&instr_0;
jmp_targets[1] = &&instr_1;
jmp_targets[2] = &&instr_2;
jmp_targets[7] = &&instr_7;
...

If we change the code to use an initializer list it works:
int main() {
void *jmp_targets[] = {
[0] = &&instr_0,
[1] = &&instr_1,
[2] = &&instr_2,
[7] = &&instr_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 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&action=edit
Preprocessed source code from gcc --save-temps

[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 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 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 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 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 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 = &&lab1;
  &&lab2;
  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 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/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 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/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 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/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 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/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 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 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 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 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]'
c:\gcc1300\include\c++\13.0.0\format:3

[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 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

  1   2   >