https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118469
Bug ID: 118469
Summary: ICE in lexical parser if too many open parentheses
Product: gcc
Version: 14.2.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Compon
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118447
Bug ID: 118447
Summary: Local scope constant is not permitted as function's
default argument
Product: gcc
Version: 14.2.1
Status: UNCONFIRMED
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118433
Bug ID: 118433
Summary: Local scope deletion of a function is wrongly accepted
Product: gcc
Version: 14.2.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Co
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118300
Bug ID: 118300
Summary: False malloc leak warning from static analyzer
Product: gcc
Version: 14.2.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117679
--- Comment #3 from Fedor Chelnokov ---
Here is a better example. It looks valid (unlike above one) because of creating
of copy `A( u.a )`:
```
#include
struct A { int c[7]; };
struct X { int x; };
struct B : X, A {
using A::operator=;
}
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117679
Bug ID: 117679
Summary: Changing active member in a union with overlapping
copying not detected in constant expression
Product: gcc
Version: 14.2.1
Status: UNCONFIRMED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117651
Bug ID: 117651
Summary: Read of an uninitialized subobject not detected in
constant expression
Product: gcc
Version: 14.2.1
Status: UNCONFIRMED
Severity: norma
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117614
Bug ID: 117614
Summary: Cannot change active member of anonymous union in
constant expression
Product: gcc
Version: 14.2.1
Status: UNCONFIRMED
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93607
Fedor Chelnokov changed:
What|Removed |Added
CC||fchelnokov at gmail dot com
--- Commen
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117106
--- Comment #3 from Fedor Chelnokov ---
(comment #1 corrected)
> This crash is reproducible in C++20 mode as well without deducing this:
```
struct A {
int x;
template
void foo() noexcept(noexcept(x)) {}
auto bar() -> decltype(fo
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117106
--- Comment #1 from Fedor Chelnokov ---
This crash is reproducible in C++20 mode as well without deducing this:
```
struct A {
int x;
void foo(this auto &&self) noexcept(noexcept(self.x)) {}
auto bar() -> decltype(foo()) {}
};
```
In
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116798
Bug ID: 116798
Summary: requires expression can have an explicit object
parameter
Product: gcc
Version: 14.2.1
Status: UNCONFIRMED
Severity: normal
P
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103833
--- Comment #2 from Fedor Chelnokov ---
Same issue in Clang has been fixed:
https://github.com/llvm/llvm-project/issues/52883
Another observation is that `(&(A::m))(0)` was always supported by Clang and
MSVC. Demo: https://gcc.godbolt.org/z/q16
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111690
--- Comment #1 from Fedor Chelnokov ---
This program should be rejected as well due to ambiguity of equality comparison
operator:
```
#include
struct A {
friend auto operator <=>(const A &, const A &) = default;
friend auto operator <=
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116428
Bug ID: 116428
Summary: Redeclaration of explicitly defaulted comparison
operator makes it undefined
Product: gcc
Version: 14.2.1
Status: UNCONFIRMED
Severity:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116335
Bug ID: 116335
Summary: defaulting int spaceship operator produces wrong code
Product: gcc
Version: 14.2.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116289
--- Comment #8 from Fedor Chelnokov ---
Thanks for quick fix.
A workaround for this issue in GCC 13.3 is to declare spaceship operator as
constexpr:
```
int main() {
struct A {
int x = 0;
constexpr auto operator<=>(const A
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116310
Bug ID: 116310
Summary: default equality operator== selects not-const
conversion operator
Product: gcc
Version: 14.1.1
Status: UNCONFIRMED
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116297
Bug ID: 116297
Summary: ICE on using default spaceship comparison operator
inside requires
Product: gcc
Version: 14.1.1
Status: UNCONFIRMED
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116239
Bug ID: 116239
Summary: Different function redeclaration in function scope is
wrongly accepted
Product: gcc
Version: 14.1.1
Status: UNCONFIRMED
Severity: norma
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116227
Bug ID: 116227
Summary: Implicit copy assignment operator is defined in the
presence of user copy assignment operator
Product: gcc
Version: 14.1.1
Status: UNCONFIRMED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116049
--- Comment #1 from Fedor Chelnokov ---
And this program
```
struct A {
friend bool operator == (this const A&, const A&) = default;
};
int main() {
A{} == A{};
}
```
results in
internal compiler error: Segmentation fault
6 |
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116049
Bug ID: 116049
Summary: friend function with explicit object parameter
Product: gcc
Version: 14.1.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116020
--- Comment #1 from Fedor Chelnokov ---
Another problematic problem example is as follows:
struct A {
static void f();
};
void foo() {
A::f(); //ok
}
void A::f(this void) {}
int main() {
A::f(); //error in GCC after A::f definiti
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116020
Bug ID: 116020
Summary: Incorrect treatment of (this void) parameter
Product: gcc
Version: 14.1.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115878
Bug ID: 115878
Summary: C++23: this int argument with value 0 considered as
dereferencing a null pointer
Product: gcc
Version: 14.1.1
Status: UNCONFIRMED
Sever
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115858
Bug ID: 115858
Summary: Incompatibility of coroutines and alloca()
Product: gcc
Version: 14.1.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115818
Bug ID: 115818
Summary: Infinite recursive in noexcept operator is not
detected
Product: gcc
Version: 14.1.1
Status: UNCONFIRMED
Severity: normal
Pri
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115596
Bug ID: 115596
Summary: Default arguments are erroneously allowed for
parameters of a requires expression
Product: gcc
Version: 14.1.1
Status: UNCONFIRMED
Seve
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115594
Bug ID: 115594
Summary: requires expression permits arrays of voids
Product: gcc
Version: 14.1.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c+
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115504
Bug ID: 115504
Summary: Wrong decltype result for a captured reference inside
limbda
Product: gcc
Version: 14.1.1
Status: UNCONFIRMED
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115471
Bug ID: 115471
Summary: Fail to capture (with initializer) constant bit-fields
by reference in lambda expression
Product: gcc
Version: 14.1.1
Status: UNCONFIRMED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115356
Bug ID: 115356
Summary: not a constant expression can be used as non-type
template argument inside requires expression
Product: gcc
Version: 14.1.1
Status: UNCONFIRMED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115280
Bug ID: 115280
Summary: Concept can access private alias in a classs
Product: gcc
Version: 14.1.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114654
Bug ID: 114654
Summary: Alias template cannot be found
Product: gcc
Version: 13.2.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
A
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114537
--- Comment #5 from Fedor Chelnokov ---
Sorry, in above example I had to use `unsigned char` type:
```
#include
struct A { unsigned char a : 7; };
static_assert( std::bit_cast(std::bit_cast(A{1})).a == 1 );
```
This program even after the f
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114537
--- Comment #1 from Fedor Chelnokov ---
Probably related:
```
#include
struct A { int a: 7; };
static_assert( 1 == std::bit_cast(std::bit_cast(A{1})).a );
```
It looks valid and accepted by MSVC, but GCC prints:
error: '__builtin_bit_cast' ac
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114536
--- Comment #2 from Fedor Chelnokov ---
May be just fail constant evaluation then instead of evaluating it to 0?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114536
Bug ID: 114536
Summary: wrong constant evaluation of std::bit_cast for bit
fields
Product: gcc
Version: 13.2.1
Status: UNCONFIRMED
Severity: normal
P
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104282
--- Comment #8 from Fedor Chelnokov ---
One more inconsistency here:
struct A {
A() {}
A(A&&) = delete;
};
struct B : A { };
int main() {
// ok in GCC
B{ A{} };
// error in GCC
B b{ A{} };
}
GCC allows temporary creatio
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114225
--- Comment #4 from Fedor Chelnokov ---
Ok.
At the same time we see that some false positives of this warning are fixed in
Trunk, e.g.
struct A {
int i;
};
struct Getter {
const A * a;
const int & value() const { return a->i; }
};
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114225
--- Comment #2 from Fedor Chelnokov ---
Please note that this is a regression in GCC 13. GCC 12 (or other compilers) do
not show a warning here: https://godbolt.org/z/Yhfad47xs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113755
Bug ID: 113755
Summary: Class without a viable destructor wrongly accepted
Product: gcc
Version: 13.2.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Compon
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113713
Bug ID: 113713
Summary: static_assert result depends on optimization settings
Product: gcc
Version: 13.2.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113529
Bug ID: 113529
Summary: Incorrect result of requires-expression in case of
function call ambiguity
Product: gcc
Version: 13.2.1
Status: UNCONFIRMED
Severity: n
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113523
Bug ID: 113523
Summary: A conversion function template can have a deduced
return type
Product: gcc
Version: 13.2.1
Status: UNCONFIRMED
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113522
Bug ID: 113522
Summary: std::swap cannot be called with explicit template
argument std::array
Product: gcc
Version: 13.2.1
Status: UNCONFIRMED
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113327
Bug ID: 113327
Summary: std::sleep_for(std::chrono::hours::max()) returns
immediately
Product: gcc
Version: 13.2.1
Status: UNCONFIRMED
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113303
Bug ID: 113303
Summary: One can assign to const reference in a template
partial specialization
Product: gcc
Version: 13.2.1
Status: UNCONFIRMED
Severity: norma
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113272
--- Comment #2 from Fedor Chelnokov ---
Here is simplified program without #include :
template
struct A {};
template requires requires(){ *p = 0; }
struct A {};
int x = 0;
struct B : A<&x>, A<(const int *)&x> {};
GCC fails here because o
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113272
Bug ID: 113272
Summary: Wrong specialization of class template selected
Product: gcc
Version: 13.2.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113127
Bug ID: 113127
Summary: Unexpected error: '' was not declared
'constexpr'
Product: gcc
Version: 13.2.1
Status: UNCONFIRMED
Severity: normal
Priority:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113113
Bug ID: 113113
Summary: False -Wmismatched-new-delete in case of destroying
operator delete
Product: gcc
Version: 13.2.1
Status: UNCONFIRMED
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112775
Bug ID: 112775
Summary: Class template partial specialization with decltype(n)
is wrongly rejected
Product: gcc
Version: 13.2.1
Status: UNCONFIRMED
Severity: n
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112744
Bug ID: 112744
Summary: Nested name specifier wrongly produces ambiguity in
accessing static field
Product: gcc
Version: 13.2.1
Status: UNCONFIRMED
Severity: n
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112620
Bug ID: 112620
Summary: Changes to the referenced object in exception handler
are lost after rethrow
Product: gcc
Version: 13.2.1
Status: UNCONFIRMED
Severity:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112448
Bug ID: 112448
Summary: Constraint expression b rejected
Product: gcc
Version: 13.2.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112346
--- Comment #4 from Fedor Chelnokov ---
According to referenced stackoverflow discussion, the code is reduced from
https://github.com/vermaseren/form see
https://github.com/vermaseren/form/issues/461
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112346
Bug ID: 112346
Summary: Wrong code produced with -O2
Product: gcc
Version: 13.2.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assig
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94264
Fedor Chelnokov changed:
What|Removed |Added
CC||fchelnokov at gmail dot com
--- Commen
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111685
--- Comment #12 from Fedor Chelnokov ---
Related discussion: https://stackoverflow.com/q/77224270/7325599
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111685
--- Comment #10 from Fedor Chelnokov ---
It seems that both libc++ and MS STL implement std::sort without a temporary
object passed to cmp, because they are fine with compiling the following code
in constant expression (where unrelated pointers
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104165
--- Comment #10 from Fedor Chelnokov ---
This issue happens in GCC 13.2 as well:
https://godbolt.org/z/TfGx3YccG
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104661
--- Comment #3 from Fedor Chelnokov ---
Related discussion: https://stackoverflow.com/a/77021213/7325599
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=32
Bug ID: 32
Summary: Function redeclaration in local scope breaks constant
expression evaluation
Product: gcc
Version: 13.2.1
Status: UNCONFIRMED
Severity:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=13
Bug ID: 13
Summary: Cannot define friend function of a local class in
namespace scope
Product: gcc
Version: 13.2.1
Status: UNCONFIRMED
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110619
--- Comment #8 from Fedor Chelnokov ---
Please note that GCC 13 also accepts invalid program (because dangling pointers
were converted in nullptr):
constexpr auto f(int a) {
return &a;
}
constexpr auto g(int b) {
return &b;
}
static_a
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110642
Bug ID: 110642
Summary: Undefined behavior in same constant expression is
found not always
Product: gcc
Version: 13.1.0
Status: UNCONFIRMED
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110619
--- Comment #3 from Fedor Chelnokov ---
I think according to https://eel.is/c++draft/basic.stc#general-4 the function
shall return an "invalid pointer valued". And nullptr is not considered such.
And if one modifies the function slightly (see a
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110619
Bug ID: 110619
Summary: Dangling pointer returned from constexpr function
converts in nullptr
Product: gcc
Version: 13.1.0
Status: UNCONFIRMED
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110584
Bug ID: 110584
Summary: Constant is not visible in nested lambda
Product: gcc
Version: 13.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110570
Bug ID: 110570
Summary: Error reading mutable subobject in constexpr when
object lifetime began within the evaluation of E
Product: gcc
Version: 13.1.0
Status: UNCONFIRM
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110513
Bug ID: 110513
Summary: Invalid use of incomplete type std::bool_constant
inside requires expression
Product: gcc
Version: 13.1.0
Status: UNCONFIRMED
Severity:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110463
--- Comment #5 from Fedor Chelnokov ---
Thanks a lot for a very quick fix!
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110497
Bug ID: 110497
Summary: Wrong error on non-static data member referenced in
concept definition
Product: gcc
Version: 13.1.0
Status: UNCONFIRMED
Severity: norma
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110463
Bug ID: 110463
Summary: Mutable subobject is usable in a constant expression
Product: gcc
Version: 13.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Comp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110416
Bug ID: 110416
Summary: Error initializing of const union variable with a
mutable field
Product: gcc
Version: 13.1.0
Status: UNCONFIRMED
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110191
Bug ID: 110191
Summary: Alias template in function parameter does not match
the nested type it refers to
Product: gcc
Version: 13.1.0
Status: UNCONFIRMED
Sever
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110158
Bug ID: 110158
Summary: Cannot use union with std::string inside in constant
expression
Product: gcc
Version: 13.1.0
Status: UNCONFIRMED
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110114
Bug ID: 110114
Summary: ICE on calling overloaded function in case of
incomplete argument type
Product: gcc
Version: 13.1.0
Status: UNCONFIRMED
Severity: norma
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109833
Bug ID: 109833
Summary: The value of constexpr anonymous union can be changed
in runtime
Product: gcc
Version: 13.1.0
Status: UNCONFIRMED
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109523
Bug ID: 109523
Summary: List-initializing constructor of std::vector is
selected erroneously
Product: gcc
Version: 12.2.1
Status: UNCONFIRMED
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109159
Bug ID: 109159
Summary: explicit constructor is used in copy-initialization
Product: gcc
Version: 12.2.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Compo
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108588
--- Comment #1 from Fedor Chelnokov ---
According to this StackOverflow answer, the behavior of GCC is incorrect here:
https://stackoverflow.com/a/75380301/7325599
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108364
Bug ID: 108364
Summary: Construction from prvalue erroneously uses
move-constructor
Product: gcc
Version: 12.2.1
Status: UNCONFIRMED
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107782
Bug ID: 107782
Summary: constexpr volatile variable is permitted to appear in
a constant expression
Product: gcc
Version: 12.2.1
Status: UNCONFIRMED
Severity:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107744
Bug ID: 107744
Summary: Error in constant evaluation of dynamic_cast
Product: gcc
Version: 12.2.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107509
Bug ID: 107509
Summary: wrong ambiguous overloaded function error if argument
class is undefined
Product: gcc
Version: 12.2.0
Status: UNCONFIRMED
Severity: nor
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107124
--- Comment #3 from Fedor Chelnokov ---
The latter example is indeed a bug in MSVC:
https://developercommunity.visualstudio.com/t/Cannot-find-template-function-with-expli/1672180
And here is the related discussion according the original issue:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107168
Bug ID: 107168
Summary: Wrong errors for concepts with default lambda not-type
argument
Product: gcc
Version: 12.2.0
Status: UNCONFIRMED
Severity: normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101670
--- Comment #3 from Fedor Chelnokov ---
A shorter example:
template concept x = true;
void foo(x auto) {}
Online demo: https://godbolt.org/z/sT74G8crE
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107124
Bug ID: 107124
Summary: Reference template parameter refers to a temporary
object
Product: gcc
Version: 12.2.0
Status: UNCONFIRMED
Severity: normal
P
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106968
Bug ID: 106968
Summary: ignored noexcept(false) in explicitly-defaulted
functions
Product: gcc
Version: 12.1.0
Status: UNCONFIRMED
Severity: normal
P
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106599
--- Comment #4 from Fedor Chelnokov ---
And if one deletes copy constructor of A:
struct A {
constexpr A() = default;
constexpr A(const A&) = delete;
constexpr A(int) : A(A()) {}
};
A a(2);
Then Clang rejects the program, b
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106695
Bug ID: 106695
Summary: Regression 11,12: Explicit copy constructor does not
work for a parameter passed via std::async
Product: gcc
Version: 12.1.0
Status: UNCONFIRMED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106599
Bug ID: 106599
Summary: Wrong copy elision in delegating to copy-constructor
Product: gcc
Version: 12.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Comp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106247
Fedor Chelnokov changed:
What|Removed |Added
CC||fchelnokov at gmail dot com
--- Comme
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106247
Bug ID: 106247
Summary: GCC12 warning in Eigen: array subscript is partly
outside array bounds
Product: gcc
Version: 12.1.0
Status: UNCONFIRMED
Severity: norma
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105699
--- Comment #2 from Fedor Chelnokov ---
Another aspect is that the order of destructors in the class change its
behavior:
#include
template
struct X {
~X() requires (N==1);
virtual ~X();
};
// X is NOT polymorphic in GCC
static_assert( !
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105693
Bug ID: 105693
Summary: Requires-clause constructor is not selected
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
1 - 100 of 218 matches
Mail list logo