[Bug c++/104179] New: Truncated representation of character arrays as non-type template parameters

2022-01-21 Thread stinkingmadgod at gmail dot com via Gcc-bugs
: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: stinkingmadgod at gmail dot com Target Milestone: --- #include template struct str { char data[N]; consteval str(const char ()[N]) { std::copy(arr

[Bug libstdc++/97930] New: pair is not a structural type

2020-11-20 Thread stinkingmadgod at gmail dot com via Gcc-bugs
++ Assignee: unassigned at gcc dot gnu.org Reporter: stinkingmadgod at gmail dot com Target Milestone: --- template> struct S; This is valid in C++20, but fails due to libstdc++ using a private base __pair_base, rendering pair non-structural. [pairs.pairs] pair is a structural type i

[Bug libstdc++/97561] coroutine_handle doesn't have inheritance

2020-10-26 Thread stinkingmadgod at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97561 --- Comment #3 from stinkingmadgod at gmail dot com --- Thanks for the link. I was attempting to create a type-erased task type where the handles in one case was be passed in as a std::coroutine_handle<>& to avoid using std

[Bug libstdc++/97561] New: coroutine_handle doesn't have inheritance

2020-10-24 Thread stinkingmadgod at gmail dot com via Gcc-bugs
++ Assignee: unassigned at gcc dot gnu.org Reporter: stinkingmadgod at gmail dot com Target Milestone: --- std::coroutine_handle doesn't inherit from std::coroutine_handle. [coroutine.handle.general] template struct coroutine_handle : coroutine_handle<> #include struc

[Bug c++/92077] New: Multiple independent functions degrades optimizations

2019-10-12 Thread stinkingmadgod at gmail dot com
Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: stinkingmadgod at gmail dot com Target Milestone: --- #include auto f() { std::string s1 = "abcdefg"; std::string s2 = "12345678"; return (s1 + s2).size(); } #ifdef G auto g()

[Bug c++/41958] [c++0x] bogus variadic partial ordering code

2019-03-17 Thread stinkingmadgod at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=41958 stinkingmadgod at gmail dot com changed: What|Removed |Added CC||stinkingmadgod at gmail

[Bug c++/86748] New: Terminates abnormally without error messages

2018-07-30 Thread stinkingmadgod at gmail dot com
++ Assignee: unassigned at gcc dot gnu.org Reporter: stinkingmadgod at gmail dot com Target Milestone: --- template struct flag { friend constexpr int adl_flag(flag); }; template struct write { friend constexpr int adl_flag(flag) { return N; } }; template

[Bug c++/86347] Incorrect call order of allocation function in new expression

2018-06-28 Thread stinkingmadgod at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86347 --- Comment #2 from stinkingmadgod at gmail dot com --- Apologies, not familiar with netiquette here #include #include #include void* operator new(size_t n) { std::cout << "new\n"; return std::malloc(n); } struct Y

[Bug c++/86347] New: Incorrect call order of allocation function in new expression

2018-06-28 Thread stinkingmadgod at gmail dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: stinkingmadgod at gmail dot com Target Milestone: --- As per [expr.new]/19 the statement new Type{expr}; should 1. call operator new 2. evaluate expr 3. initialize Type object The example

[Bug c++/85428] New: constexpr pointer equality comparison not considered constant expression

2018-04-17 Thread stinkingmadgod at gmail dot com
: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: stinkingmadgod at gmail dot com Target Milestone: --- The following should compile template struct S { inline static char c; }; void foo() { constexpr auto t1 = ::c