[Bug libstdc++/83511] New: Missing default argument for basic_string_view::substr

2017-12-20 Thread kaballo86 at hotmail dot com
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 >

[Bug libstdc++/83395] New: is_invocable_r fails for cv-qualified void return type

2017-12-12 Thread kaballo86 at hotmail dot com
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::value); // holds

[Bug c++/81059] New: error: assuming cast from overloaded function

2017-06-11 Thread kaballo86 at hotmail dot com
++ 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 == fun; > error: assuming cast to type 'void (*)()'

[Bug c++/80299] New: No ordinary unqualified lookup for operators from default template arguments

2017-04-03 Thread kaballo86 at hotmail dot com
: 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

[Bug c++/80077] New: constant expressions and -fno-elide-constructors

2017-03-16 Thread kaballo86 at hotmail dot com
: 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

[Bug libstdc++/69321] New: Error on use of non-copyable type with any_cast

2016-01-16 Thread kaballo86 at hotmail dot com
: 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

[Bug c++/65080] New: constexpr-ness lost by using alias in definition

2015-02-16 Thread kaballo86 at hotmail dot com
: c++ Assignee: unassigned at gcc dot gnu.org Reporter: kaballo86 at hotmail dot com In the following snippet, whether the expression `xxx` designates a constexpr function or not depends on whether `foo::value` is defined with an alias or not: template static constexpr

[Bug c++/64901] New: Overriding final function defined out of line does not lead to an error

2015-02-02 Thread kaballo86 at hotmail dot com
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

[Bug libstdc++/64781] New: regex out-of-range submatches should represent an unmatched sub-expression

2015-01-24 Thread kaballo86 at hotmail dot com
: 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 #include int main() { std::match_results m; const char

[Bug libstdc++/62056] Long compile times with large tuples

2014-10-05 Thread kaballo86 at hotmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62056 --- Comment #15 from Agustín Bergé --- (In reply to Jonathan Wakely from comment #14) > Agustin, do you have a copyright assignment? I do not have one. The attached is derived from libstdc++'s and I have left the license in place, wouldn't tha

[Bug c++/62056] Long compile times with large tuples

2014-09-30 Thread kaballo86 at hotmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62056 --- Comment #10 from Agustín Bergé --- (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 the implementation attached to th

[Bug c++/62056] Long compile times with large tuples

2014-09-30 Thread kaballo86 at hotmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62056 --- Comment #8 from Agustín Bergé --- (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 (gcc and every other).

[Bug c++/62056] Long compile times with large tuples

2014-09-30 Thread kaballo86 at hotmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62056 --- Comment #6 from Agustín Bergé --- (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 to go here. Well, not necessa

[Bug libstdc++/62056] New: Long compile times with large tuples

2014-08-07 Thread kaballo86 at hotmail dot com
++ Assignee: unassigned at gcc dot gnu.org Reporter: kaballo86 at hotmail dot com Created attachment 33270 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33270&action=edit draft flat tuple implementation The recursive implementation of `std::tuple` causes noticeable

[Bug c++/61736] New: Conditional expression yields wrong value category

2014-07-07 Thread kaballo86 at hotmail dot com
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&

[Bug c++/61726] New: Ambiguous overload resolution with inherited op()s

2014-07-06 Thread kaballo86 at hotmail dot com
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 {}; }; st