public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/61636] New: generic lambda  "cannot call member function without object"
@ 2014-06-28  8:13 tower120 at gmail dot com
  2014-06-28  8:22 ` [Bug c++/61636] " tower120 at gmail dot com
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: tower120 at gmail dot com @ 2014-06-28  8:13 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61636

            Bug ID: 61636
           Summary: generic lambda  "cannot call member function without
                    object"
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: tower120 at gmail dot com

In the following code:
Live http://coliru.stacked-crooked.com/a/b22bb3c9cd603bc7



#include <type_traits>
#include <iostream>

template<class datatype, class FN1, class FN2>
auto if_else(std::true_type,datatype&& data, FN1 &&fn1, FN2 &&) 
{return fn1(std::forward<datatype>(data));}

template<class datatype, class FN1, class FN2>
auto if_else(std::false_type,datatype&& data, FN1 &&, FN2 &&fn2)
{return fn2(std::forward<datatype>(data));}


// ---------------------------------------------------------------------



struct A{
    int id= 4;
};

struct B : A{
    int h = 900;
};

class Test{

template<class Ba>
int fn1(Ba &a){
    std::cout << "fn1 " << a.h;
    return a.h;
};

template<class A>
int fn2(A &a){
    std::cout << "fn2 " << a.id;
    a.id = 9;
    return a.id;
};



public:
    template<bool do_it>
    void go(){
        std::integral_constant<bool,do_it> do_first;

        using datatype = typename std::conditional<do_it,B,A>::type;
        datatype data;
        std::cout << std::is_same<decltype(data), A>::value;

        std::cout << if_else(do_first, data,
                    [&](auto /*B&*/ data){           // comment auto to get rid
of error

                        std::cout << std::endl;
                        std::cout << std::is_same<decltype(data), B>::value;
                        std::cout << std::endl;

                        return fn1(/*static_cast<B&>*/(data)); // static cast
not work with gcc
                    },
                    [&](A& data){ return fn2(data); }
                );                
    }
};

int main(){
    Test().template go<false>();
    Test().template go<true>();
    return 0;
}

I got the following error:

main.cpp:58:61: error: cannot call member function 'int Test::fn1(Ba&) [with Ba
= B]' without object


If change auto with B - works fine. And it compiles and work as is with clang.

P.S. Maybe somehow related to this
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49554


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug c++/61636] generic lambda  "cannot call member function without object"
  2014-06-28  8:13 [Bug c++/61636] New: generic lambda "cannot call member function without object" tower120 at gmail dot com
@ 2014-06-28  8:22 ` tower120 at gmail dot com
  2014-06-28  8:55 ` paolo.carlini at oracle dot com
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: tower120 at gmail dot com @ 2014-06-28  8:22 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61636

--- Comment #1 from tower120 <tower120 at gmail dot com> ---
Furthermore, if not pass "data" as a lambda function param, but capture it from
current scope, it deduces type wrong.

http://coliru.stacked-crooked.com/a/ae022b9d25d93490
Uncomment static_cast to make it work.

But may be this is unrelated to described above issue.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug c++/61636] generic lambda  "cannot call member function without object"
  2014-06-28  8:13 [Bug c++/61636] New: generic lambda "cannot call member function without object" tower120 at gmail dot com
  2014-06-28  8:22 ` [Bug c++/61636] " tower120 at gmail dot com
@ 2014-06-28  8:55 ` paolo.carlini at oracle dot com
  2014-06-28 13:17 ` tower120 at gmail dot com
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: paolo.carlini at oracle dot com @ 2014-06-28  8:55 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61636

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|tower120 at gmail dot com          |adam at jessamine dot co.uk

--- Comment #2 from Paolo Carlini <paolo.carlini at oracle dot com> ---
Maybe Adam can have a look to this one too.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug c++/61636] generic lambda  "cannot call member function without object"
  2014-06-28  8:13 [Bug c++/61636] New: generic lambda "cannot call member function without object" tower120 at gmail dot com
  2014-06-28  8:22 ` [Bug c++/61636] " tower120 at gmail dot com
  2014-06-28  8:55 ` paolo.carlini at oracle dot com
@ 2014-06-28 13:17 ` tower120 at gmail dot com
  2014-07-06 19:58 ` abutcher at gcc dot gnu.org
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: tower120 at gmail dot com @ 2014-06-28 13:17 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61636

--- Comment #3 from tower120 <tower120 at gmail dot com> ---
I found that as only I pass *this as parameter and then call functions from it,
it works ok. But it have to be auto:

        /// This work
        std::cout << if_else(do_first,
            *this,
            [&](auto self){ return self.fn1(data); },
            [&](auto self){ return self.fn2(data); }
        ) << '\n';


        /// This not
        std::cout << if_else(do_first,
            *this,
            [&](Test self){ return self.fn1(data); },
            [&](Test self){ return self.fn2(data); }
        ) << '\n';

http://coliru.stacked-crooked.com/a/272a5e0b8089a5c4

And what even more strange, it work if only one lambda is auto:

        std::cout << if_else(do_first,
            *this,
            [&](auto self){ return self.fn1(data); },
            [&](Test self){ return self.fn2(data); }          // ???
        ) << '\n';

http://coliru.stacked-crooked.com/a/ed45a402a6c11d63


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug c++/61636] generic lambda  "cannot call member function without object"
  2014-06-28  8:13 [Bug c++/61636] New: generic lambda "cannot call member function without object" tower120 at gmail dot com
                   ` (2 preceding siblings ...)
  2014-06-28 13:17 ` tower120 at gmail dot com
@ 2014-07-06 19:58 ` abutcher at gcc dot gnu.org
  2014-07-06 20:15 ` abutcher at gcc dot gnu.org
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: abutcher at gcc dot gnu.org @ 2014-07-06 19:58 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61636

Adam Butcher <abutcher at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|adam at jessamine dot co.uk        |abutcher at gcc dot gnu.org

--- Comment #4 from Adam Butcher <abutcher at gcc dot gnu.org> ---
(In reply to tower120 from comment #0)
>         
>         std::cout << if_else(do_first, data,
>                     [&](auto /*B&*/ data){
>                         std::cout << std::endl;
>                         std::cout << std::is_same<decltype(data), B>::value;
>                         std::cout << std::endl;
>                         
>                         return fn1(/*static_cast<B&>*/(data));
>                     },
>                     [&](A& data){ return fn2(data); }
>                 );                
>     }
> };
> 
This works if "this->" is used to explicitly specify the object upon which to
call 'fn1'.  It works whether or not the static_cast is present or whether auto
or B is is used.

It looks like a binding issue with lambda templates; the name 'fn1' is being
seen as a reference to the member function rather than an attempt to bind it to
the captured 'this' for a member call.

The fact that clang compiles it fine makes me think that this is indeed a
genuine bug and that the extra "this->" qualification is not required by the
language.  In dependent base member access, an explicit "this->" is required,
but I don't think it should be necessary here.

I'll have a look into it; but I've limited time to do so at the mo.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug c++/61636] generic lambda  "cannot call member function without object"
  2014-06-28  8:13 [Bug c++/61636] New: generic lambda "cannot call member function without object" tower120 at gmail dot com
                   ` (3 preceding siblings ...)
  2014-07-06 19:58 ` abutcher at gcc dot gnu.org
@ 2014-07-06 20:15 ` abutcher at gcc dot gnu.org
  2014-07-06 20:39 ` abutcher at gcc dot gnu.org
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: abutcher at gcc dot gnu.org @ 2014-07-06 20:15 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61636

--- Comment #5 from Adam Butcher <abutcher at gcc dot gnu.org> ---
In an attempt to get a reduced testcase, I've uncovered an ICE.  With the extra
"this->" qualification on the reference to 'f' below, the code compiles fine. 
Alternatively, if 'this' is explicitly captured, the unqualified member call
works too.  There is clearly something a bit odd going on in this area.

  struct X
  {
     template <typename T>
     void f(T t) {}

     template <typename T>
     void g(T t)
     {
        [&] (auto x) {
           f(x);
        } (t);
     }
  };

  int main()
  {
     X x;
     x.g(2);
  }

:10:10: internal compiler error: Segmentation fault
          f(x);
          ^
0xb8926f crash_signal
        ../../gcc/toplev.c:337
0x95afe8 contains_struct_check
        ../../gcc/tree.h:2840
0x95afe8 size_binop_loc(unsigned int, tree_code, tree_node*, tree_node*)
        ../../gcc/fold-const.c:1471
0x9d0f49 gimplify_compound_lval
        ../../gcc/gimplify.c:1998
0x9c89ae gimplify_expr(tree_node**, gimple_statement_base**,
gimple_statement_base**, bool (*)(tree_node*), int)
        ../../gcc/gimplify.c:7618
0x9d2808 gimplify_call_expr
        ../../gcc/gimplify.c:2432
0x9c8b37 gimplify_expr(tree_node**, gimple_statement_base**,
gimple_statement_base**, bool (*)(tree_node*), int)
        ../../gcc/gimplify.c:7637
0x9cd306 gimplify_stmt(tree_node**, gimple_statement_base**)
        ../../gcc/gimplify.c:5417
0x9c8bc2 gimplify_cleanup_point_expr
        ../../gcc/gimplify.c:5193
0x9c8bc2 gimplify_expr(tree_node**, gimple_statement_base**,
gimple_statement_base**, bool (*)(tree_node*), int)
        ../../gcc/gimplify.c:8029
0x9cd306 gimplify_stmt(tree_node**, gimple_statement_base**)
        ../../gcc/gimplify.c:5417
0x9ce1af gimplify_bind_expr
        ../../gcc/gimplify.c:1100
0x9c907e gimplify_expr(tree_node**, gimple_statement_base**,
gimple_statement_base**, bool (*)(tree_node*), int)
        ../../gcc/gimplify.c:7863
0x9cd306 gimplify_stmt(tree_node**, gimple_statement_base**)
        ../../gcc/gimplify.c:5417
0x9cec36 gimplify_body(tree_node*, bool)
        ../../gcc/gimplify.c:8773
0x9cf236 gimplify_function_tree(tree_node*)
        ../../gcc/gimplify.c:8926
0x84d117 analyze_function
        ../../gcc/cgraphunit.c:650
0x84e3bb analyze_functions
        ../../gcc/cgraphunit.c:1028
0x84fc45 finalize_compilation_unit()
        ../../gcc/cgraphunit.c:2333
0x63bece cp_write_global_declarations()
        ../../gcc/cp/decl2.c:4647


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug c++/61636] generic lambda  "cannot call member function without object"
  2014-06-28  8:13 [Bug c++/61636] New: generic lambda "cannot call member function without object" tower120 at gmail dot com
                   ` (4 preceding siblings ...)
  2014-07-06 20:15 ` abutcher at gcc dot gnu.org
@ 2014-07-06 20:39 ` abutcher at gcc dot gnu.org
  2014-07-07  7:08 ` abutcher at gcc dot gnu.org
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: abutcher at gcc dot gnu.org @ 2014-07-06 20:39 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61636

Adam Butcher <abutcher at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2014-07-06
           Assignee|unassigned at gcc dot gnu.org      |abutcher at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #6 from Adam Butcher <abutcher at gcc dot gnu.org> ---
Reduced testcase:

  struct X
  {
     template <typename T>
     void f(T t) {}

     auto defer_f()
     {
       return [&] (auto x) {
          f(x);
       };
     }
  };

  int main()
  {
     X x;
     x.defer_f()(2);
  }

Compiles if "this->f(x)" is used within 'defer_f'.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug c++/61636] generic lambda  "cannot call member function without object"
  2014-06-28  8:13 [Bug c++/61636] New: generic lambda "cannot call member function without object" tower120 at gmail dot com
                   ` (5 preceding siblings ...)
  2014-07-06 20:39 ` abutcher at gcc dot gnu.org
@ 2014-07-07  7:08 ` abutcher at gcc dot gnu.org
  2014-07-07  7:15 ` abutcher at gcc dot gnu.org
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: abutcher at gcc dot gnu.org @ 2014-07-07  7:08 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61636

--- Comment #8 from Adam Butcher <abutcher at gcc dot gnu.org> ---
(In reply to tower120 from comment #7)
> I'm not sure what you mean, about adding "this->". 
>
I meant spelling "fn1(data)" as "this->fn1(data)" to explicitly specify the
subject of the member call. 

> But this case is not working :
> http://coliru.stacked-crooked.com/a/d69de477f9a746cb
> 
> But to be true, it not work with clang either.
>
In the case you link to, specifically within the member function template 'go',

        std::cout << if_else<do_it>(
                            [&]{ return this->fn1(data); },
                            [&]{ return this->fn2(data); }

                ) << '\n';

you are building up two non-generic (non-template) lambdas that are not
dependent  on any template parameter.  The if_else is, but the two arguments
are not.  Both have to be evaluated to pass to the if_else.  Because they are
not templates, the body of both lambdas must be well formed within 'go'.  'fn1'
and 'fn2' are both being passed 'data' which is either of type 'A' or of type
'B'.  There are no overloads of 'fn1' that can accept a 'B'.  That's what both
clang and g++ are getting at in their diagnostics.

The fact that g++ proceeds to ICE on recovery is another issue.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug c++/61636] generic lambda  "cannot call member function without object"
  2014-06-28  8:13 [Bug c++/61636] New: generic lambda "cannot call member function without object" tower120 at gmail dot com
                   ` (6 preceding siblings ...)
  2014-07-07  7:08 ` abutcher at gcc dot gnu.org
@ 2014-07-07  7:15 ` abutcher at gcc dot gnu.org
  2014-07-26  7:10 ` contact at jeaye dot com
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: abutcher at gcc dot gnu.org @ 2014-07-07  7:15 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61636

--- Comment #9 from Adam Butcher <abutcher at gcc dot gnu.org> ---
(In reply to Adam Butcher from comment #8)
> There are no overloads of 'fn1' that can accept a 'B'.
>
Oops, sorry.  I meant to say that there are no overloads of 'fn1' that can
accept an 'A'.  Clearly a 'B' may be used as an 'A' but not vice versa.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug c++/61636] generic lambda  "cannot call member function without object"
  2014-06-28  8:13 [Bug c++/61636] New: generic lambda "cannot call member function without object" tower120 at gmail dot com
                   ` (7 preceding siblings ...)
  2014-07-07  7:15 ` abutcher at gcc dot gnu.org
@ 2014-07-26  7:10 ` contact at jeaye dot com
  2015-03-09 23:58 ` abutcher at gcc dot gnu.org
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: contact at jeaye dot com @ 2014-07-26  7:10 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61636

Jeaye <contact at jeaye dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |contact at jeaye dot com

--- Comment #10 from Jeaye <contact at jeaye dot com> ---
I've found this and reduced it to:
http://coliru.stacked-crooked.com/a/74930f2d4e963c6a

Manually specifying this->work(); allows compilation. Changing auto to int also
allows compilation.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug c++/61636] generic lambda  "cannot call member function without object"
  2014-06-28  8:13 [Bug c++/61636] New: generic lambda "cannot call member function without object" tower120 at gmail dot com
                   ` (8 preceding siblings ...)
  2014-07-26  7:10 ` contact at jeaye dot com
@ 2015-03-09 23:58 ` abutcher at gcc dot gnu.org
  2015-03-10  0:37 ` abutcher at gcc dot gnu.org
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: abutcher at gcc dot gnu.org @ 2015-03-09 23:58 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61636

Adam Butcher <abutcher at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |lh_mouse at 126 dot com

--- Comment #11 from Adam Butcher <abutcher at gcc dot gnu.org> ---
*** Bug 64382 has been marked as a duplicate of this bug. ***


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug c++/61636] generic lambda  "cannot call member function without object"
  2014-06-28  8:13 [Bug c++/61636] New: generic lambda "cannot call member function without object" tower120 at gmail dot com
                   ` (9 preceding siblings ...)
  2015-03-09 23:58 ` abutcher at gcc dot gnu.org
@ 2015-03-10  0:37 ` abutcher at gcc dot gnu.org
  2015-07-06 12:15 ` trippels at gcc dot gnu.org
  2015-10-13 11:28 ` redi at gcc dot gnu.org
  12 siblings, 0 replies; 14+ messages in thread
From: abutcher at gcc dot gnu.org @ 2015-03-10  0:37 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61636

--- Comment #12 from Adam Butcher <abutcher at gcc dot gnu.org> ---
If the containing context is made a template (as per pr64382 and pr64466) or if
the patch below is made to lambda.c, the synthesized default 'this' looks to
get captured OK, but gimplification process crashes.

The start looks promising.  From gimplify_return_expr:

  return D.2190 = X::f (__closure->__this, x) 

through gimplify_call_expr:

  X::f (__closure->__this, x)

but the gimplification of the subject argument

  __closure->__this

crashes due to component_ref_field_offset returning NULL for it.

I'm thinking the 'this' reference built with build_x_indirect_ref in
maybe_resolve_dummy may need some extra bolstering in the generic lambda case.

Another point maybe worthy of note: If a non-static, non-function member is
referenced within the generic lambda, it causes 'this' to be default captured
correctly (as it does when explicitly specifying "this->") and the compilation
completes as expected.


-------------------------------------------------------------------
Patch to default capture 'this' in generic lambdas 
-------------------------------------------------------------------
@@ -781,21 +797,38 @@ maybe_resolve_dummy (tree object, bool add_capture_p)
   tree type = TYPE_MAIN_VARIANT (TREE_TYPE (object));
   gcc_assert (!TYPE_PTR_P (type));

-  if (type != current_class_type
-      && current_class_type
-      && LAMBDA_TYPE_P (current_class_type)
-      && lambda_function (current_class_type)
-      && DERIVED_FROM_P (type, current_nonlambda_class_type ()))
+  if (type == current_class_type)
+    return object;
+
+  tree lambda = ((current_class_type && LAMBDA_TYPE_P (current_class_type))?
+                lambda_function (current_class_type) : 0);
+  if (lambda &&
+      (DERIVED_FROM_P (type, current_nonlambda_class_type ())
+       || (DECL_TEMPLATE_INFO (lambda)
+          && DECL_TEMPLATE_RESULT (DECL_TI_TEMPLATE (lambda)) == lambda)))
     {
       /* In a lambda, need to go through 'this' capture.  */
       tree lam = CLASSTYPE_LAMBDA_EXPR (current_class_type);
       tree cap = lambda_expr_this_capture (lam, add_capture_p);
-------------------------------------------------------------------


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug c++/61636] generic lambda  "cannot call member function without object"
  2014-06-28  8:13 [Bug c++/61636] New: generic lambda "cannot call member function without object" tower120 at gmail dot com
                   ` (10 preceding siblings ...)
  2015-03-10  0:37 ` abutcher at gcc dot gnu.org
@ 2015-07-06 12:15 ` trippels at gcc dot gnu.org
  2015-10-13 11:28 ` redi at gcc dot gnu.org
  12 siblings, 0 replies; 14+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-07-06 12:15 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61636

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |fiesh at zefix dot tv

--- Comment #13 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
*** Bug 66769 has been marked as a duplicate of this bug. ***


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug c++/61636] generic lambda  "cannot call member function without object"
  2014-06-28  8:13 [Bug c++/61636] New: generic lambda "cannot call member function without object" tower120 at gmail dot com
                   ` (11 preceding siblings ...)
  2015-07-06 12:15 ` trippels at gcc dot gnu.org
@ 2015-10-13 11:28 ` redi at gcc dot gnu.org
  12 siblings, 0 replies; 14+ messages in thread
From: redi at gcc dot gnu.org @ 2015-10-13 11:28 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61636

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jens.auer at cgi dot com

--- Comment #14 from Jonathan Wakely <redi at gcc dot gnu.org> ---
*** Bug 67952 has been marked as a duplicate of this bug. ***


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2015-10-13 11:28 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-28  8:13 [Bug c++/61636] New: generic lambda "cannot call member function without object" tower120 at gmail dot com
2014-06-28  8:22 ` [Bug c++/61636] " tower120 at gmail dot com
2014-06-28  8:55 ` paolo.carlini at oracle dot com
2014-06-28 13:17 ` tower120 at gmail dot com
2014-07-06 19:58 ` abutcher at gcc dot gnu.org
2014-07-06 20:15 ` abutcher at gcc dot gnu.org
2014-07-06 20:39 ` abutcher at gcc dot gnu.org
2014-07-07  7:08 ` abutcher at gcc dot gnu.org
2014-07-07  7:15 ` abutcher at gcc dot gnu.org
2014-07-26  7:10 ` contact at jeaye dot com
2015-03-09 23:58 ` abutcher at gcc dot gnu.org
2015-03-10  0:37 ` abutcher at gcc dot gnu.org
2015-07-06 12:15 ` trippels at gcc dot gnu.org
2015-10-13 11:28 ` redi at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).