[Bug c++/116888] New: Incorrect lazy substitution into unevaluated context

2024-09-29 Thread mizvekov at gmail dot com via Gcc-bugs
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

[Bug c++/116552] New: [ABI] Incorrect mangling for CTAD placeholder referencing template template parameter

2024-08-31 Thread mizvekov at gmail dot com via Gcc-bugs
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

[Bug c++/114841] [P0522R0] partial ordering of template template parameters

2024-05-24 Thread mizvekov at gmail dot com via Gcc-bugs
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

[Bug c++/100385] New: overload resolution for function call expression on object selects `operator auto` conversion candidate.

2021-05-02 Thread mizvekov at gmail dot com via Gcc-bugs
: 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

[Bug target/79437] Redundant move instruction when getting sign bit of double on 32-bit architecture

2021-01-18 Thread mizvekov at gmail dot com via Gcc-bugs
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.

[Bug libstdc++/98605] [8/9/10 Regression] clang-tidy error parsing on libstdc++-v3

2021-01-13 Thread mizvekov at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98605 --- Comment #12 from Matheus Izvekov --- Thank you!!!

[Bug libstdc++/98605] [8/9/10 Regression] clang-tidy error parsing on libstdc++-v3

2021-01-12 Thread mizvekov at gmail dot com via Gcc-bugs
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

[Bug libstdc++/98605] clang-tidy error parsing on libstdc++-v3

2021-01-09 Thread mizvekov at gmail dot com via Gcc-bugs
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

[Bug libstdc++/98605] New: clang-tidy error parsing on libstdc++-v3

2021-01-08 Thread mizvekov at gmail dot com via Gcc-bugs
: 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

[Bug c++/96776] Missing tail call optimization when passing local variable by reference to yet another function

2020-08-24 Thread mizvekov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96776 Matheus Izvekov changed: What|Removed |Added Status|RESOLVED|UNCONFIRMED Resolution|INVALID

[Bug c++/96776] Missing tail call optimization when passing local variable by reference to yet another function

2020-08-24 Thread mizvekov at gmail dot com
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.

[Bug c++/96776] Missing tail call optimization when passing local variable by reference to yet another function

2020-08-24 Thread mizvekov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96776 Matheus Izvekov changed: What|Removed |Added Status|RESOLVED|UNCONFIRMED Resolution|INVALID

[Bug c++/96776] New: Missing tail call optimization when passing local variable by reference to yet another function

2020-08-24 Thread mizvekov at gmail dot com
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

[Bug c++/95736] New: coroutine method improperly copies awaitable

2020-06-18 Thread mizvekov at gmail dot com
++ 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

[Bug target/64384] mingw-w64: stdcall function returning an aggregate is incompatible with MS ABI

2020-06-14 Thread mizvekov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64384 Matheus Izvekov changed: What|Removed |Added CC||mizvekov at gmail dot com --- Comment

[Bug c++/70435] section attribute of a function template is not honored.

2018-08-01 Thread mizvekov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70435 --- Comment #3 from Matheus Izvekov --- Still an issue in gcc 8.2.0.

[Bug other/79437] Redundant move instruction when getting sign bit of double on 32-bit architecture

2017-02-08 Thread mizvekov at gmail dot com
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.

[Bug other/79437] New: Redundant move instruction when getting sign bit of double on 32-bit architecture

2017-02-08 Thread mizvekov at gmail dot com
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

[Bug c++/51213] [C++11][DR 1170] Access control checking has to be done under SFINAE conditions

2014-10-22 Thread mizvekov at gmail dot com
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!

[Bug c++/51213] [C++11][DR 1170] Access control checking has to be done under SFINAE conditions

2014-10-21 Thread mizvekov at gmail dot com
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

[Bug c++/51213] [C++11][DR 1170] Access control checking has to be done under SFINAE conditions

2014-10-21 Thread mizvekov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51213 Matheus Izvekov changed: What|Removed |Added CC||mizvekov at gmail dot com --- Comment

[Bug c++/52036] C++11 allows template parameters to have internal linkage

2014-03-03 Thread mizvekov at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52036 Matheus Izvekov changed: What|Removed |Added CC||mizvekov at gmail dot com --- Comment

[Bug c++/59766] New: c++1y: declaring friend function with 'auto' return type deduction is rejected with bogus reason

2014-01-10 Thread mizvekov at gmail dot com
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

[Bug c++/59761] ICE: g++ segfaults in test case involving constexpr default constructor with uninitialized member and template type alias

2014-01-10 Thread mizvekov at gmail dot com
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

[Bug c++/59761] ICE: g++ segfaults in test case involving constexpr default constructor with uninitialized member and template type alias

2014-01-10 Thread mizvekov at gmail dot com
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

[Bug c++/59761] New: ICE: g++ segfaults in test case involving constexpr default constructor with uninitialized member and template type alias

2014-01-10 Thread mizvekov at gmail dot com
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

[Bug c++/56991] constexpr std::initializer_list rejects too complex initialization

2013-04-18 Thread mizvekov at gmail dot com
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 }