https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113149
--- Comment #1 from Ed Catmur ---
>From b4ca8bf55100eddeaa14a52f1bc8e73fac565d83 Mon Sep 17 00:00:00 2001
From: Ed Catmur
Date: Tue, 26 Dec 2023 11:46:26 -0600
Subject: [PATCH] Swap P_PROC_AVX2 with P_X86_64_V3, etc.
https://gcc.gnu.org/bugzil
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113149
Bug ID: 113149
Summary: Function multiversioning prefers arch=x86-64-v3 to
actual processors
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112354
Bug ID: 112354
Summary: mismatched types 'B' and 'B&' for generic
lambda noexcept-specifier referencing enclosing
function parameter
Product: gcc
Version: 14.0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112341
Bug ID: 112341
Summary: error: insufficient contextual information to
determine type on co_await result in function template
Product: gcc
Version: 14.0
Status: UNCONFIRM
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111944
--- Comment #1 from Ed Catmur ---
Correction, it does affect sanitizers (-O2 -fsanitize=address) as well as -Og.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111944
Bug ID: 111944
Summary: Spurious '' is used uninitialized in
Boost.Variant2 (-Wuninitialized -Og)
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: norm
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111840
Bug ID: 111840
Summary: =delete("can have a reason")?
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assi
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111602
--- Comment #2 from Ed Catmur ---
(In reply to Andrew Pinski from comment #1)
> The local type of f() is not needed.
Thanks! I was confused since the local type is required in this similar
example:
template struct P
{
static constexpr bool
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111602
Bug ID: 111602
Summary: "Error: symbol is already defined" for variable
template dependent on default argument lambda used in
sfinae and non-sfinae
Product: gcc
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111094
Ed Catmur changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=24639
Bug 24639 depends on bug 111094, which changed state.
Bug 111094 Summary: Spurious Wuninitialized swapping underlying bytes of object
representation in move constructor
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111094
What|Remo
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111094
Bug ID: 111094
Summary: Spurious Wuninitialized swapping underlying bytes of
object representation in move constructor
Product: gcc
Version: 14.0
Status: UNCONFIRMED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111090
Ed Catmur changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=24639
Bug 24639 depends on bug 111090, which changed state.
Bug 111090 Summary: Bogus -Wuninitialized for trivial copy of nested struct
with partially initialized array
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111090
What|Removed
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111090
--- Comment #1 from Ed Catmur ---
uh, -O -Wall is necessary, obviously. https://godbolt.org/z/eT9dY467P
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111090
Bug ID: 111090
Summary: Bogus -Wuninitialized for trivial copy of nested
struct with partially initialized array
Product: gcc
Version: 14.0
Status: UNCONFIRMED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111016
Bug ID: 111016
Summary: Confusing "used in its own initializer" for
non-dependent ad-hoc constraint
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: no
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66425
--- Comment #58 from Ed Catmur ---
(In reply to Roman Krotov from comment #57)
> But I don't see any reasons not to implement the switch right now...
Making [[gnu::warn_unused_result]] mean the same as [[nodiscard]] would be a
reduction in expres
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66425
--- Comment #55 from Ed Catmur ---
(In reply to Roman Krotov from comment #54)
[[nodiscard]] is in C23, so we can expect that attribute to be adopted where
people intend that behavior (warning suppressible by cast to void) as opposed
to the nonpo
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110835
--- Comment #6 from Ed Catmur ---
Thanks, filed https://github.com/llvm/llvm-project/issues/64190 .
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110835
--- Comment #1 from Ed Catmur ---
Motivation is
https://github.com/boostorg/exception/blob/b039b4ea18ef752d0c1684b3f715ce493b778060/include/boost/exception/detail/exception_ptr.hpp#L550
; the half-reduced code is:
#include
struct S {};
int mai
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110835
Bug ID: 110835
Summary: -fsanitize=address causes slowdown from
std::rethrow_exception not called
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: norm
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110809
--- Comment #5 from Ed Catmur ---
The original code is valid. A reduced valid case would be:
```
template struct S {};
template struct bucket {};
template
int find_indices_impl(bucket const &);
struct HashTable : bucket, 1>, bucket, 2> {};
au
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110809
Bug ID: 110809
Summary: ICE: in unify, at cp/pt.cc:25226 with floating-point
NTTPs
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
Pr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110493
--- Comment #4 from Ed Catmur ---
Ah, thanks. So a workaround is something like:
void f() { static auto a = {((bool*)&(int const&)0, std::string())}; }
That's not too bad, then.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110493
Bug ID: 110493
Summary: 'is not a constant expression' for function-local
static std::initializer_list with
fsanitize=undefined
Product: gcc
Version: 12.3.0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109976
Bug ID: 109976
Summary: error: is not a constant expression in std::equal()
with _GLIBCXX_DEBUG
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109975
Bug ID: 109975
Summary: error: '(((int*)(&.X::a)) != 0)' is not a
constant expression
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109958
--- Comment #3 from Ed Catmur ---
B::f is a static member function so yes, it's valid. A class member access
expression naming a static member function is an lvalue designating that
function, and it shouldn't make any difference that the functio
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109958
Bug ID: 109958
Summary: ICE: in build_ptrmem_type, at cp/decl.cc:11066 taking
the address of bound static member function brought
into derived class by using-declaration
Pr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109912
Bug ID: 109912
Summary: #pragma GCC diagnostic ignored "-Wall" is ignored
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109882
Bug ID: 109882
Summary: -fsanitize=thread #include transitively
includes sanitizer/common_interface_defs.h
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Seve
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109870
Bug ID: 109870
Summary: Miscomputation of return type of unevaluated lambda in
type alias in template context
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Se
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83780
--- Comment #4 from Ed Catmur ---
Clang has fixed this in
https://github.com/llvm/llvm-project/commit/4ddf140c00408ecee9d20f4470e69e0f696d8f8a
(12.0.0-rc1).
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109677
Bug ID: 109677
Summary: Access control bypass for function template default
argument brace initialization of private default
constructor
Product: gcc
Version: 13
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109640
--- Comment #2 from Ed Catmur ---
Ah, so this is Bug 108165? That's a shame, we use (temporary) lambdas
extensively so I think we'd have to disable the warning entirely.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109640
Bug ID: 109640
Summary: Spurious Wdangling-reference for argument to temporary
lambda cast to rvalue reference
Product: gcc
Version: 13.1.0
Status: UNCONFIRMED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109070
Bug ID: 109070
Summary: ICE in class template member function overloads
distinguished by non-functionally-equivalent
constraints and return type
Product: gcc
Ver
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79682
Ed Catmur changed:
What|Removed |Added
CC||ed at catmur dot uk
--- Comment #2 from Ed C
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70536
--- Comment #6 from Ed Catmur ---
Resubmitted:
https://gcc.gnu.org/pipermail/gcc-patches/2023-February/611366.html
Hopefully this time I'll remember to save the email for pinging.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108468
Bug ID: 108468
Summary: ICE in most_specialized_partial_spec/builtin_guide_p
in C++20 mode
Product: gcc
Version: 13.0
Status: UNCONFIRMED
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70536
--- Comment #5 from Ed Catmur ---
PR: https://github.com/ecatmur/gcc/pull/5
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108390
Bug ID: 108390
Summary: ICE in fold_convert_loc, at fold-const.cc:2504 partial
ordering between array types
Product: gcc
Version: 13.0
Status: UNCONFIRMED
Seve
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107206
Bug ID: 107206
Summary: Bogus -Wuninitialized in std::optional
Product: gcc
Version: 12.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106712
--- Comment #1 from Ed Catmur ---
I believe this is happening because start_decl can modify prefix_attributes (by
first chaining it onto attributes, then passing the merged chain to
grokdeclarator which can then chain onto that merged chain).
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106712
Bug ID: 106712
Summary: Incorrect propagation of C++11 attributes to
subsequent function declarations
Product: gcc
Version: 13.0
Status: UNCONFIRMED
Severity:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106411
Bug ID: 106411
Summary: Wdangling-pointer for a class that cleans up on
destruction
Product: gcc
Version: 12.1.0
Status: UNCONFIRMED
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106074
--- Comment #1 from Ed Catmur ---
Another example, using Date 3.0.1:
#include
void f(std::istream s) {
std::chrono::system_clock::time_point tp;
date::from_stream(s, "%Y", tp);
}
https://godbolt.org/z/fscqTd947
In file included from
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106185
Bug ID: 106185
Summary: Spurious Wstringop-overflow in std::vector::resize
Product: gcc
Version: 12.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Compon
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103993
--- Comment #4 from Ed Catmur ---
And another example, provoked by throwing new (this only happens at -Og):
#include
struct D {
D();
static void* operator new (std::size_t s) {
if (void* p = ::malloc(s))
return p;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106074
Bug ID: 106074
Summary: Spurious Wstringop-overflow for int-to-string with
SSE4
Product: gcc
Version: 13.0
Status: UNCONFIRMED
Severity: normal
Prior
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105918
Bug ID: 105918
Summary: Spurious Warray-bounds in std::to_chars
Product: gcc
Version: 12.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105585
--- Comment #2 from Ed Catmur ---
Affected code: https://github.com/abseil/abseil-cpp/issues/1175
The proposed patch to abseil-cpp corresponds to adding an assumption that `b`
is true above.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105585
--- Comment #1 from Ed Catmur ---
Flags: -O1 -Wstringop-overflow=1
https://godbolt.org/z/8r8roz7Pa
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105585
Bug ID: 105585
Summary: [12/13 Regression] Spurious stringop-overflow warning
with
Product: gcc
Version: 12.1.0
Status: UNCONFIRMED
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105545
Ed Catmur changed:
What|Removed |Added
CC||ed at catmur dot uk
--- Comment #3 from Ed
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105425
Bug ID: 105425
Summary: ambiguous template instantiation with hana::when
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105027
Bug ID: 105027
Summary: Missing constraints on std::bit_cast
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104996
--- Comment #5 from Ed Catmur ---
Posted https://gcc.gnu.org/pipermail/gcc-patches/2022-March/592154.html
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104996
--- Comment #4 from Ed Catmur ---
(In reply to Patrick Palka from comment #2)
> We started rejecting the commented out static_assert after
> r10-3740-g89e0a492af5bec.
Thanks, that accords with my analysis - the branch in call.cc:compare_ics tha
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104996
--- Comment #1 from Ed Catmur ---
This should fix it:
https://github.com/gcc-mirror/gcc/compare/master...ecatmur:pr-104996
Please test and report back.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69623
--- Comment #8 from Ed Catmur ---
(In reply to jim x from comment #7)
>
> auto f(auto..., auto a, auto...) { return a; }
>
> IIUC, this is just disallowed since all arguments would only match the first
> function parameter pack.
Maybe?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69623
Ed Catmur changed:
What|Removed |Added
CC||ed at catmur dot uk
--- Comment #6 from Ed C
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70536
--- Comment #4 from Ed Catmur ---
Posted: https://gcc.gnu.org/pipermail/gcc-patches/2022-March/591678.html
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77465
--- Comment #4 from Ed Catmur ---
Branch: https://github.com/gcc-mirror/gcc/compare/master...ecatmur:so-66816741
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70536
--- Comment #3 from Ed Catmur ---
Updated: https://github.com/gcc-mirror/gcc/compare/master...ecatmur:pr-70536
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77465
--- Comment #3 from Ed Catmur ---
Sent patches to mailing list:
https://gcc.gnu.org/pipermail/gcc-patches/2021-December/587495.html
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92944
--- Comment #2 from Ed Catmur ---
Sorry, meant to link this:
https://quuxplusone.github.io/blog/2021/10/27/dont-reopen-namespace-std/
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92944
--- Comment #1 from Ed Catmur ---
This becomes problematic when N::Q is std::hash; we are encouraged not to
reopen namespace std but to specialize std::hash from the root namespace.
Example:
#include
template constexpr bool P = false;
template
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102047
--- Comment #1 from Ed Catmur ---
cf. https://bugs.llvm.org/show_bug.cgi?id=51604
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102047
Bug ID: 102047
Summary: ICE in template_parms_to_args passing lambda-quoted
constraint to meta-concept
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101988
Bug ID: 101988
Summary: Accepts invalid new-expression of array of deduced
class template
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100878
--- Comment #1 from Ed Catmur ---
Per godbolt, this appears to be fixed on trunk: https://godbolt.org/z/xxz8ecxzK
g++
(Compiler-Explorer-Build-gcc-48e8a7a677b8356df946cd12fbb215538828e747-binutils-2.36.1)
12.0.0 20210707 (experimental)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=4
Bug ID: 4
Summary: internal compiler error: trying to capture 'f' in
instantiation of generic lambda within
constraints_satisfied_p
Product: gcc
Version: 11.0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97402
Bug ID: 97402
Summary: Value of dependent partial-concept-id is not usable in
a constant expression
Product: gcc
Version: 11.0
Status: UNCONFIRMED
Severity: nor
75 matches
Mail list logo