Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
Target Milestone: ---
The following snippet ICEs. See https://godbolt.org/z/-fZVX4.
```C++
template struct type { T value; };
template type(T) -> type;
void f()
{
[] class...
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95434
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
CC||johelegp at gmail dot com
: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
Target Milestone: ---
The following does not warn for constructors. See https://godbolt.org/z/BTZwew.
```C++
struct [[nodiscard]] X {
int x;
X operator+() const { return *this; }
};
class
: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
Target Milestone: ---
See https://godbolt.org/z/cPWdGW.
```C++
template
concept Auto = true;
template
struct X { constexpr X(const Auto auto
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95486
--- Comment #2 from Johel Ernesto Guerrero Peña ---
That commit added the feature I'm trying to use. I'd hope it's valid, or at
least with this other constructor added: `constexpr X(U) {}`.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95486
--- Comment #3 from Johel Ernesto Guerrero Peña ---
Having only the above unconstrained constructor works as expected, so I suppose
it's valid. See https://godbolt.org/z/nMysB_. The actual use case doesn't
currently have the unconstrained constru
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
Target Milestone: ---
See https://godbolt.org/z/Ljt-85.
```C++
template struct X { T x; };
template concept Y = requires { X{0}; };
```
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95629
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
CC||johelegp at gmail dot com
++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
Target Milestone: ---
See https://godbolt.org/z/v7iLPn.
```C++
template
requires requires { F(); }
bool v{};
void f() {
int x;
static_assert(v);
}
```
: In function 'void f()
ormal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
Target Milestone: ---
See https://godbolt.org/z/diWS5T.
```C++
#include
constexpr void f()
{
const int sz{1};
int* data{std::allocator{}.alloca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95568
--- Comment #5 from Johel Ernesto Guerrero Peña ---
(In reply to Marek Polacek from comment #2)
> The problem seems to be not that we're in a require-clause but that we're in
> a template, the following is also rejected:
>
> template struct X {
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
Target Milestone: ---
See https://godbolt.org/z/TxPbdC.
```C++
#include
static_assert(
(std::allocator{}.deallocate(new int[1], 1),
true
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
Target Milestone: ---
See https://godbolt.org/z/zzM-Qn.
```C++
#include
constexpr bool is_zero(int& x) { return x
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
Target Milestone: ---
See https://godbolt.org/z/ZHiKmm.
```C++
constexpr void f()
{
delete[] new int;
delete new int[1];
}
constexpr
: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
Target Milestone: ---
See https://godbolt.org/z/iyRFxf.
```C++
struct X {
int* x{new int{42}};
X() = default;
constexpr X(const X&am
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95977
--- Comment #1 from Johel Ernesto Guerrero Peña ---
Slightly simplified: https://godbolt.org/z/9unpTF.
```C++
struct X {
int* x{new int{42}};
constexpr ~X() { delete x; }
};
constexpr int f() { return *X{}.x; }
constexpr int z{f()};
```
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
Target Milestone: ---
See https://godbolt.org/z/SiGMyX.
```C++
#include
using namespace std;
struct yesthrow_t
{
yesthrow_t
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
Target Milestone: ---
See https://godbolt.org/z/qhEfGd.
```C++
struct B
{
template
friend void f(B)
{
}
};
void g()
{
f(B{});
}
```
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96193
--- Comment #1 from Johel Ernesto Guerrero Peña ---
That actually compiles if I add -std=c++20. If the call is itself dependent, it
fails to compile. See https://godbolt.org/z/KqGhKE.
```C++
template
struct B
{
template
friend void f(B)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96193
--- Comment #3 from Johel Ernesto Guerrero Peña ---
Yes! I left it out expecting it to be backported as an extension like Clang
does.
/z/W1zh9n
Status: UNCONFIRMED
Keywords: accepts-invalid
Severity: normal
Priority: P3
Component: d
Assignee: ibuclaw at gdcproject dot org
Reporter: johelegp at gmail dot com
Target Milestone: ---
See https://godbolt.org/z
: ice-on-valid-code
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
Target Milestone: ---
See https://godbolt.org/z/z4q4Tv.
```C++
template
struct X
{
bool operator==(const X
-invalid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
CC: johelegp at gmail dot com
Target Milestone: ---
See https://godbolt.org/z/zeEY96.
```C++
struct X
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96193
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
URL||https://godbolt.org/z/E64Pb
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95434
--- Comment #3 from Johel Ernesto Guerrero Peña ---
Another example: https://godbolt.org/z/Wq1vjP. Perhaps, this too requires
another bug report.
```C++
template class T, class... Us>
concept ctadable = requires(Us... us) { T{us...}; };
templat
563e1
Status: UNCONFIRMED
Keywords: rejects-valid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
CC: johelegp at gmail dot com
Target Milestone: ---
Se
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65816
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
CC||johelegp at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96790
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
Keywords|rejects-valid |wrong-code
Resolut
: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
Target Milestone: ---
I may be wrong, but I think this should compile. Clang accepts it as does GCC
10.2 and did the
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96510
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
CC||johelegp at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96242
--- Comment #2 from Johel Ernesto Guerrero Peña ---
Thank you, but am I not exempt?
> The only excuses to not send us the preprocessed sources are [...] if you've
> reduced the testcase to a small file that doesn't include any other file [...]
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
Target Milestone: ---
In the following snippet, the assertion fails if `constexpr` isn't commented
out. See https://godbolt.org/g/FCEHCb.
```C++
struct A {
};
template
str
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
Target Milestone: ---
In the following snippet, the assertions fail although the `static_cast` is
ill-formed in non-unevaluated context. See
: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
CC: johelegp at gmail dot com
Target Milestone: ---
See https://godbolt.org/z/nxTEaW.
```C
Status: UNCONFIRMED
Keywords: rejects-valid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
CC: johelegp at gmail dot com
Target Milestone
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99365
--- Comment #6 from Johel Ernesto Guerrero Peña ---
Thank you. Can confirm it's working for my use case.
Status: UNCONFIRMED
Keywords: rejects-valid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
CC: johelegp at gmail dot com
Target Milestone: ---
See
https://godbolt.org/z/Mhnxrf
Status: UNCONFIRMED
Keywords: rejects-valid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
CC: johelegp at gmail do
words: rejects-valid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
CC: johelegp at gmail dot com
Target Milestone: ---
See https://godbolt.org/z/vnPToT.
Status: UNCONFIRMED
Keywords: rejects-valid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
CC: johelegp at gmail dot com
Target Milestone
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95015
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
CC||johelegp at gmail dot com
Status: UNCONFIRMED
Keywords: diagnostic
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
CC: johelegp at gmail dot com
Target Milestone
-valid-code
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
CC: johelegp at gmail dot com
Target Milestone: ---
See https://godbolt.org/z/rsc6fs.
```C++
struct
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83258
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
CC||johelegp at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97700
--- Comment #3 from Johel Ernesto Guerrero Peña ---
This seems to be a duplicate of Bug 83258.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83258
--- Comment #10 from Johel Ernesto Guerrero Peña ---
Another workaround, extended from Bug 92320's example. See
https://godbolt.org/z/69onWf.
You can wrap the closure object in a template function which itself invokes the
closure object and conve
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97476
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolutio
Status: UNCONFIRMED
Keywords: rejects-valid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
CC: johelegp at gmail dot com
Target Milestone: ---
See
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99493
--- Comment #1 from Johel Ernesto Guerrero Peña ---
Slightly simplified: https://godbolt.org/z/rv97Gh.
```C++
struct A{};
templateconstexpr const A*tpo{&a};
templatestruct B{};
B>b;
```
```
:4:10: error: the address of 'A{}' is not a valid templa
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99565
--- Comment #2 from Johel Ernesto Guerrero Peña ---
```
: In member function 'int& A::x()':
:6:23: warning: this condition has identical branches
[-Wduplicated-branches]
6 | int& x() { return 0 ? a : b; }
| ~~^
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99493
--- Comment #2 from Johel Ernesto Guerrero Peña ---
Looks like you can get away by instead passing around a pointer to the address
of the template parameter object: https://godbolt.org/z/o3Paz1.
```C++
struct A{};
templateconstexpr const A*tpo{&a
: UNCONFIRMED
Keywords: rejects-valid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
CC: johelegp at gmail dot com
Target Milestone: ---
See https
tatus: UNCONFIRMED
Keywords: rejects-valid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
CC: johelegp at gmail dot com
Target Milestone: ---
See
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99631
--- Comment #3 from Johel Ernesto Guerrero Peña ---
Good point. How about 'conformance' for a keyword?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96873
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
CC||johelegp at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99586
--- Comment #4 from Johel Ernesto Guerrero Peña ---
Thank you.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95486
--- Comment #11 from Johel Ernesto Guerrero Peña ---
Thank you. But the first CE link: https://godbolt.org/z/cPWdGW, and with the
addition in Comment 2: https://godbolt.org/z/Gezh5h5W4, they still ICE.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93085
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
CC||johelegp at gmail dot com
: UNCONFIRMED
Keywords: rejects-valid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
CC: johelegp at gmail dot com
Target Milestone: ---
See the URL
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93085
--- Comment #4 from Johel Ernesto Guerrero Peña ---
> GCC shouldn't even be trying to resolve `foo<42>()` until `G` has been
> instantiated.
That's right. I came across this bug report when reporting such an issue:
https://gcc.gnu.org/bugzilla/
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95788
--- Comment #3 from Johel Ernesto Guerrero Peña ---
Thank you. Sorry for my laziness, but did you confirm this from the OP?
> Other stuff in `bits/ranges_uninitialized.h` may be similarly affected.
g/z/jon9ea
Status: UNCONFIRMED
Keywords: accepts-invalid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
Target Milestone: ---
See https://godbolt.org/z/jo
/M1eqvq
Status: UNCONFIRMED
Keywords: rejects-valid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
CC: johelegp at gmail dot com
Target
Ws4rd
Status: UNCONFIRMED
Keywords: accepts-invalid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
CC: johelegp at gmail dot com
Target Milestone: ---
Keywords: diagnostic
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
CC: johelegp at gmail dot com
Target Milestone: ---
See https://godbolt.org/z/Txrvos.
```C
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95486
--- Comment #5 from Johel Ernesto Guerrero Peña ---
Thank you. I was under the mistaken impression that the above was only a
partial solution. Adding the following deduction guide restores the ICE. See
https://godbolt.org/z/fej7WT.
```C++
templat
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95434
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
Known to work||11.0
Status|AS
: accepts-invalid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
CC: johelegp at gmail dot com
Target Milestone: ---
Context
(https://timsong-cpp.github.io
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95486
--- Comment #13 from Johel Ernesto Guerrero Peña ---
You're right. I thought they were compiling against GCC trunk.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103524
Bug 103524 depends on bug 102524, which changed state.
Bug 102524 Summary: [modules] Missing diagnostic when an exported namespace is
empty
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102524
What|Removed |Add
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102524
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
Resolution|--- |FIXED
Status|
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
Target Milestone: ---
[module.interface]p3s1 says
> An exported declaration that is not a module-import-declaration shall decl
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100687
--- Comment #2 from Johel Ernesto Guerrero Peña ---
Another use case (Clang: https://godbolt.org/z/hTPsPbEhe) (GCC:
https://godbolt.org/z/96MqTvrKv):
`mod.cpp`:
```C++
export module mod;
export template
inline constexpr bool is_same_v = false;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102598
--- Comment #2 from Johel Ernesto Guerrero Peña ---
Another test case: https://godbolt.org/z/Gsfx56GM9.
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
Target Milestone: ---
See https://godbolt.org/z/YGo78aPE8.
`mod.cpp`:
```C++
export module mod;
export template
struct downcast_base {
using
ormal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
Target Milestone: ---
See https://godbolt.org/z/3WMd4T48h.
`mod.cpp`:
```C++
export module mod;
export template void f(U) { }
```
`test.cpp`:
```C++
i
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
Target Milestone: ---
See https://godbolt.org/z/obfY3Mdba:
```C++
template
auto foo() {
return l;
}
template
auto bar() {
return foo
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105106
--- Comment #1 from Johel Ernesto Guerrero Peña ---
There is implementation divergence in the resulting closure type(s):
https://godbolt.org/z/W98r49o8s.
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
CC: johelegp at gmail dot com
Target Milestone: ---
See https://godbolt.org/z
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106304
--- Comment #2 from Johel Ernesto Guerrero Peña ---
This is the best I can do without having to manually de-noise CMake's compile
commands: https://godbolt.org/z/6s1GGYhM4.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106430
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
Summary|[modules] ICE on function |[modules] ICE on function
ormal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
CC: johelegp at gmail dot com
Target Milestone: ---
See https://godbolt.org/z/W4r6oMa3M.
```C++
struct I {
int* i = new int{1};
constex
Keywords: rejects-valid
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
Target Milestone: ---
See https://godbolt.org/z/Yjrcv6sG1.
```sh
CXX=/home/johel/root/gcc/bin/g++
echo
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106826
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
Known to work||12.2.0
Known to fail
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106851
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
CC||johelegp at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106485
--- Comment #2 from Johel Ernesto Guerrero Peña ---
I think that's different. Actually, I think it's Clang that's wrong. As
mentioned at
https://cpplang.slack.com/archives/C21PKDHSL/p1656857369259539?thread_ts=1656856509.892079&cid=C21PKDHSL:
>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106826
--- Comment #3 from Johel Ernesto Guerrero Peña ---
So this is a duplicate of Bug 100687.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106826
--- Comment #7 from Johel Ernesto Guerrero Peña ---
Thank you very much! This was a real blocker.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102284
--- Comment #6 from Johel Ernesto Guerrero Peña ---
Another example.
Simplified: https://godbolt.org/z/z781c56PM.
```C++
struct ratio {
int numerator;
};
template struct constant;
template concept constant_invocable = requires { typename
c
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
CC: johelegp at gmail dot com
Target Milestone: ---
See GCC trunk: https://godbolt.org/z/KoP5qo1Ks.
See GCC 12: https://godbolt.org/z/EfGjdcYaW
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107033
Johel Ernesto Guerrero Peña changed:
What|Removed |Added
Keywords||ice-on-valid-code
Kn
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107033
--- Comment #2 from Johel Ernesto Guerrero Peña ---
Does it count as a regression if rejects-valid becomes ice-on-valid-code? IIRC,
~3 weeks ago the lvalue case was rejects-valid, like GCC12.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107033
--- Comment #3 from Johel Ernesto Guerrero Peña ---
Simplified: https://godbolt.org/z/3Ys316aeE.
```C++
export module mod;
import "std.hpp";
int x[2];
export auto _ = std::ranges::begin(x);
```
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107033
--- Comment #4 from Johel Ernesto Guerrero Peña ---
This is actually Bug 106826.
Simplest: https://godbolt.org/z/oKT4x9r4G.
```C++
template constexpr bool is = false;
template constexpr bool is = true;
```
```C++
export module mod;
import "st
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106826
--- Comment #8 from Johel Ernesto Guerrero Peña ---
The original reproducer now ICEs. I opened Bug 107033 for this. The tests added
in https://gcc.gnu.org/g:32d8123cd6ce87acb557aec230e8359051316f9f uses a named
module. My reproducer uses an impo
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99631
--- Comment #5 from Johel Ernesto Guerrero Peña ---
Would the existing 'wrong-code' work?
> Generates incorrect code. Has to be able to compile and link.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99631
--- Comment #6 from Johel Ernesto Guerrero Peña ---
> But wrong-code isn't really right either [...]
Oh, you already mentioned them. I suggest 'non-conforming-result', or something
more appropriate than "result" to indicate the metaprogrammingne
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
CC: johelegp at gmail dot com
Target Milestone: ---
See https://godbolt.org/z/qeGb9hhsf.
```sh
CXX=g++
echo
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107045
--- Comment #1 from Johel Ernesto Guerrero Peña ---
Minimal: https://godbolt.org/z/hxrPvPPhs.
```C++
namespace std {
template struct X {
friend void f();
};
}
```
```C++
export module mod;
import "std.hpp";
export std::X v;
```
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100134
--- Comment #6 from Johel Ernesto Guerrero Peña ---
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107045#c1 for a minimal
reproducer:
Minimal: https://godbolt.org/z/hxrPvPPhs.
```C++
namespace std {
template struct X {
friend void f();
};
1 - 100 of 250 matches
Mail list logo