Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: mizvekov at gmail dot com
Target Milestone: ---
GCC misses diagnosing this invalid call when the outer template is
instantiated:
https://godbolt.org/z/jxTWY9x6z
template void d() {}
template struct Test1
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: mizvekov at gmail dot com
Target Milestone: ---
For a test case like:
```C++
template class TemplateTemplateParam>
void create_unique()
requi
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114841
--- Comment #2 from Matheus Izvekov ---
I published
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3310r0.html
to address this problem, it has the most up-to-date wording.
FYI the inconsistent deduction examples from problem #1 crash
: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: mizvekov at gmail dot com
Target Milestone: ---
The following program compiles successfully, but should be rejected:
```
template struct constant
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79437
--- Comment #5 from Matheus Izvekov ---
Issue is still present on 10.2 and trunk.
Workspace for reference: https://godbolt.org/z/EYhaaW
I believe this issue should have already been transitioned to CONFIRMED.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98605
--- Comment #12 from Matheus Izvekov ---
Thank you!!!
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98605
--- Comment #6 from Matheus Izvekov ---
What clang-tidy version? From the date of the commit, it was probably no older
than 6, probably 4 or 5.
If that is too old and probably considered unsupported, I think that is fine.
But even if in the end
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98605
--- Comment #1 from Matheus Izvekov ---
By the way, FYII it is also possible to suppress clang-tidy specific
diagnostics on specific lines with a "comment pragma", like so (untested):
// NOLINT(bugprone-dangling-handle)
// NOLINTNEXTLINE(bugpron
: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: mizvekov at gmail dot com
Target Milestone: ---
clang-tidy errors parsing `#include ` when _GLIBCXX_HAVE_TLS is not
defined, with the following message:
```
include/c++/mutex:738:7: error: use of undeclared identifier
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96776
Matheus Izvekov changed:
What|Removed |Added
Status|RESOLVED|UNCONFIRMED
Resolution|INVALID
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96776
--- Comment #3 from Matheus Izvekov ---
Yeah Andrew I realized it just after I posted, disregard.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96776
Matheus Izvekov changed:
What|Removed |Added
Status|RESOLVED|UNCONFIRMED
Resolution|INVALID
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: mizvekov at gmail dot com
Target Milestone: ---
Compiler explorer workspace showing the problem: https://godbolt.org/z/z8W74T
Calling `foo` with
++
Assignee: unassigned at gcc dot gnu.org
Reporter: mizvekov at gmail dot com
Target Milestone: ---
Created attachment 48752
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48752&action=edit
example reproduction
Compiling attached program with `g++ -st
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64384
Matheus Izvekov changed:
What|Removed |Added
CC||mizvekov at gmail dot com
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70435
--- Comment #3 from Matheus Izvekov ---
Still an issue in gcc 8.2.0.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79437
--- Comment #1 from Matheus Izvekov ---
Forgot to mention above, all gcc versions including the unreleased 7.0 and
below as far as I could test (4.6) are affected by this.
For comparison, clang generates optimal code for all cases.
Severity: normal
Priority: P3
Component: other
Assignee: unassigned at gcc dot gnu.org
Reporter: mizvekov at gmail dot com
Target Milestone: ---
Testing this simple example:
#ifdef DO_BOOL
bool
#else
int
#endif
sign(double a) noexcept {
__UINT64_TYPE__ r
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51213
--- Comment #22 from Matheus Izvekov ---
Apologies, it was a problem on my end!
The fault was just clang and gcc having different default binary names on msys,
'a.out' vs 'a.exe', and me using a stale exe when testing gcc...
Sorry!
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51213
--- Comment #19 from Matheus Izvekov ---
CWG 1170 is still not correctly implemented as of gcc 4.9.1
The attached test shows just this.
Compile it with
"g++ -std=c++11 -DPUB=0 test.cc" and
"g++ -std=c++11 -DPUB=1 test.cc".
The one with PUB=0 s
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51213
Matheus Izvekov changed:
What|Removed |Added
CC||mizvekov at gmail dot com
--- Comment
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52036
Matheus Izvekov changed:
What|Removed |Added
CC||mizvekov at gmail dot com
--- Comment
NCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: mizvekov at gmail dot com
Simple example showing the problem:
struct foo {
friend auto test(const foo &) { return 0; }
};
g++ rej
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59761
--- Comment #2 from Matheus Izvekov ---
Created attachment 31805
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31805&action=edit
gcc accepts this
This one is the same as test_bad.cc, except that the bar member of foo gets
initialized by the
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59761
--- Comment #1 from Matheus Izvekov ---
Created attachment 31804
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31804&action=edit
gcc rejects this, but without ICE
Same thing as test_bad.cc, except that std::enable_if is used directly instea
Version: 4.8.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: mizvekov at gmail dot com
Created attachment 31803
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56991
--- Comment #2 from Matheus Izvekov 2013-04-18
08:10:19 UTC ---
I get also a similar bug:
#include
//is accepted by gcc
constexpr std::initializer_list good1 = { 1, 2, 3 };
struct foo { int a, b; };
//still ok
constexpr foo good2 = { 1, 2 }
27 matches
Mail list logo