https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61362
--- Comment #6 from Thibaut LUTZ ---
My previous test cases still fails with 6.0.0 20151012 on linux64.
It passes with "-std=c++11".
Fails with "-std=c++14", "-std=c++17", "-std=c++1y".
Same error:
prog.cc: In instantiation of ‘struct S::’:
prog
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61362
Thibaut LUTZ changed:
What|Removed |Added
CC||thibaut.lutz at googlemail dot
com
: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: thibaut.lutz at googlemail dot com
This invalid code compiles despite the fact that the operator overload for B is
declared in an anonymous namespace after the template.
>>>>>>
struct ostream {} cout;
temp
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: thibaut.lutz at googlemail dot com
I stumbled upon a weird regression bug. The test case below is working fine
with GCC 4.8 and 4.9.0 but triggers an internal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61382
--- Comment #4 from Thibaut LUTZ ---
You're right, my bad. Thanks for correcting me.
The exact quote is
> Within the initializer-list of a braced-init-list, the initializer-clauses,
> including any that result from pack expansions, are evaluat
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61382
Thibaut LUTZ changed:
What|Removed |Added
CC||thibaut.lutz at googlemail dot
com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61402
--- Comment #1 from Thibaut LUTZ ---
I forgot to add that separating declaration and invocation seems to solve the
problem:
--8<8<8<8<8<8<--
#include
template
void foo(T t) {
using namespace std;
cout << endl << "par t
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: thibaut.lutz at googlemail dot com
Lambda functions with an init-capture for which the initializer has a side
effect is not always taken into account.
The example below defines a lambda