Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: kaballo86 at hotmail dot com
Target Milestone: ---
The following snippet results in a compilation error:
std::string_view sv;
sv = sv.substr();
> error: no matching function for call to
>
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: kaballo86 at hotmail dot com
Target Milestone: ---
`std::is_invocable_r` gives wrong results when used with a cv-qualified void
return type:
static_assert(std::is_invocable_r<void, int(*)()>:
++
Assignee: unassigned at gcc dot gnu.org
Reporter: kaballo86 at hotmail dot com
Target Milestone: ---
The following snippet results in a compilation error:
template void fun() {}
bool c = == fun;
> error: assuming cast to type 'void (*)()' from overloaded funct
: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: kaballo86 at hotmail dot com
Target Milestone: ---
The following snippet results in a compilation error:
struct X {};
namespace ns {
bool operator==(X const
: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: kaballo86 at hotmail dot com
Target Milestone: ---
The following snippet, extracted from libstdc++, causes the compiler to
generate an error when compiled using -fno-elide-constructors under C++11/14
: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: kaballo86 at hotmail dot com
Target Milestone: ---
The following snippet fails with an error due to use of a deleted function:
#include
struct noncopyable {
noncopyable(noncopyable const&) = de
: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: kaballo86 at hotmail dot com
In the following snippet, whether the expression `xxxint` designates a
constexpr function or not depends on whether `fooT::value` is defined with an
alias or not:
template typename T
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: kaballo86 at hotmail dot com
It was reported by talin over at ##C++ that the following snippet does not
result in a compilation error as expected:
struct Plant {
virtual
: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: kaballo86 at hotmail dot com
The following snippet fails with a runtime assertion:
#include regex
#include cassert
int main() {
std::match_resultsconst
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62056
--- Comment #15 from Agustín Bergé kaballo86 at hotmail dot com ---
(In reply to Jonathan Wakely from comment #14)
Agustin, do you have a copyright assignment?
I do not have one. The attached tuple is derived from libstdc++'s tuple and
I have
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62056
--- Comment #6 from Agustín Bergé kaballo86 at hotmail dot com ---
(In reply to Piotr Dziwinski from comment #5)
It seems
the recursive version of `std::tuple` is not going to be optimized easily
and the new flat implementation is the way
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62056
--- Comment #8 from Agustín Bergé kaballo86 at hotmail dot com ---
(In reply to Manuel López-Ibáñez from comment #7)
(In reply to Agustín Bergé from comment #6)
Well, not necessarily, It's not `std::tuple` which is at fault, but the
compiler
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62056
--- Comment #10 from Agustín Bergé kaballo86 at hotmail dot com ---
(In reply to Manuel López-Ibáñez from comment #9)
I cannot say if the libstdc++ implementation could be better
From a compile-time performance point of view it is, check
++
Assignee: unassigned at gcc dot gnu.org
Reporter: kaballo86 at hotmail dot com
Created attachment 33270
-- https://gcc.gnu.org/bugzilla/attachment.cgi?id=33270action=edit
draft flat tuple implementation
The recursive implementation of `std::tuple` causes noticeable longer
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: kaballo86 at hotmail dot com
The following snippet results in a compilation error: invalid initialization of
non-const reference of type ‘int’ from an rvalue of type ‘int’:
int* foo(){ return nullptr; }
int bar
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: kaballo86 at hotmail dot com
The following snippet results in an ambiguous overload error:
struct foo1 { void operator()(int) const {}; };
struct foo2 { void operator()(int const) const {}; };
struct bar
16 matches
Mail list logo