[Bug c++/61135] It seems to be not able to call virtual method of literal object in lambda expression

2018-03-02 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61135

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |8.0

--- Comment #13 from Paolo Carlini  ---
Completely fixed in trunk.

[Bug c++/61135] It seems to be not able to call virtual method of literal object in lambda expression

2018-03-02 Thread paolo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61135

--- Comment #12 from paolo at gcc dot gnu.org  ---
Author: paolo
Date: Sat Mar  3 00:28:03 2018
New Revision: 258165

URL: https://gcc.gnu.org/viewcvs?rev=258165=gcc=rev
Log:
2018-03-02  Paolo Carlini  

PR c++/61135
* g++.dg/cpp0x/lambda/lambda-61135.C: New.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-61135.C
Modified:
trunk/gcc/testsuite/ChangeLog

[Bug c++/61135] It seems to be not able to call virtual method of literal object in lambda expression

2017-09-13 Thread paolo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61135

--- Comment #11 from paolo at gcc dot gnu.org  ---
Author: paolo
Date: Wed Sep 13 17:28:37 2017
New Revision: 252571

URL: https://gcc.gnu.org/viewcvs?rev=252571=gcc=rev
Log:
2017-09-13  Paolo Carlini  

PR c++/61135
* g++.dg/cpp0x/lambda/lambda-ice18.C: New.
* g++.dg/cpp1y/lambda-ice2.C: Likewise.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice18.C
trunk/gcc/testsuite/g++.dg/cpp1y/lambda-ice2.C
Modified:
trunk/gcc/testsuite/ChangeLog

[Bug c++/61135] It seems to be not able to call virtual method of literal object in lambda expression

2017-09-13 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61135

Paolo Carlini  changed:

   What|Removed |Added

   Keywords||accepts-invalid

--- Comment #10 from Paolo Carlini  ---
Since 5.2.0 we accept the snippet in Comment 3, since 6.1.0 the snippet in
Comment 6, thus I'm going to add to the testsuite both anyway. However, we also
accept the original snippet, thus I'm keeping the bug open as accepts-invalid.

[Bug c++/61135] It seems to be not able to call virtual method of literal object in lambda expression

2015-04-19 Thread lc289dafd7ybme05se at softbank dot ne.jp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61135

--- Comment #9 from lc289dafd7ybme05se at softbank dot ne.jp ---
right.
i don't know why, but templateclass is also needed, to invoke the error.


[Bug c++/61135] It seems to be not able to call virtual method of literal object in lambda expression

2015-04-19 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61135

--- Comment #8 from Uroš Bizjak ubizjak at gmail dot com ---
(In reply to lc289dafd7ybme05se from comment #7)
 仮想継承の時もエラーになるみたいですね。

To save some clicking, Google translate said:

It seems to be an error even when the virtual inheritance.

[Bug c++/61135] It seems to be not able to call virtual method of literal object in lambda expression

2015-04-18 Thread lc289dafd7ybme05se at softbank dot ne.jp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61135

lc289dafd7ybme05se at softbank dot ne.jp changed:

   What|Removed |Added

 CC||lc289dafd7ybme05se@softbank
   ||.ne.jp

--- Comment #6 from lc289dafd7ybme05se at softbank dot ne.jp ---
below also doesn't work
struct A
{
int funcA(){return 0;}
};
templateclass
struct B:virtual public A{
void funcB(){
[a=this-funcA()]{};
}
};

int main()
{
BA b;
b.funcB();
return 0;
}

//g++ 4.9.2
g++ -std=c++14 hd.cpp
hd.cpp: In instantiation of ‘void B template-parameter-1-1 ::funcB() [with
template-parameter-1-1 = A]’:
hd.cpp:15:10:   required from here
hd.cpp:9:2: internal compiler error: in cp_genericize_r, at
cp/cp-gimplify.c:1175
  }
  ^

[Bug c++/61135] It seems to be not able to call virtual method of literal object in lambda expression

2015-04-18 Thread lc289dafd7ybme05se at softbank dot ne.jp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61135

--- Comment #7 from lc289dafd7ybme05se at softbank dot ne.jp ---
仮想継承の時もエラーになるみたいですね。

[Bug c++/61135] It seems to be not able to call virtual method of literal object in lambda expression

2015-01-02 Thread ktietz at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61135

Kai Tietz ktietz at gcc dot gnu.org changed:

   What|Removed |Added

 CC||ktietz at gcc dot gnu.org

--- Comment #5 from Kai Tietz ktietz at gcc dot gnu.org ---
No, I can still reproduce the ICE in make_decl_rtl, at varasm.c:1297

#2  0x007ae6e2 in make_decl_rtl (decl=decl@entry=0xffe80160)
at ../../gcc/gcc/varasm.c:1293
#3  0x007fa975 in expand_expr_real_1 (exp=0xffe80160, target=optimized out,
tmode=DImode, modifier=EXPAND_CONST_ADDRESS, alt_rtl=0x0,
inner_reference_p=false) at ../../gcc/gcc/expr.c:9563
#4  0x008065d5 in expand_expr (modifier=optimized out, mode=DImode,
target=0xfff670a0, exp=0xffe80160) at ../../gcc/gcc/expr.h:299
#5  expand_expr_addr_expr_1 (exp=exp@entry=0xffe80160,
target=target@entry=0xfff670a0, tmode=tmode@entry=DImode,
modifier=modifier@entry=EXPAND_NORMAL, as=as@entry=0 '\000')
at ../../gcc/gcc/expr.c:7704
#6  0x008067f5 in expand_expr_addr_expr_1 (exp=optimized out,
target=target@entry=0xfff670a0, tmode=tmode@entry=DImode,
modifier=modifier@entry=EXPAND_NORMAL, as=as@entry=0 '\000')
at ../../gcc/gcc/expr.c:7756
#7  0x007f7222 in expand_expr_addr_expr (modifier=EXPAND_NORMAL,
tmode=DImode, target=0xfff670a0, exp=0xffe3fd20)
at ../../gcc/gcc/expr.c:7832
#8  expand_expr_real_1 (exp=0xffe3fd20, target=optimized out, tmode=DImode,
modifier=EXPAND_NORMAL, alt_rtl=0xdeca688, inner_reference_p=false)
at ../../gcc/gcc/expr.c:10706
#9  0x00807334 in store_expr_with_bounds (exp=exp@entry=0xffe3fd20,
target=target@entry=0xfff670a0, call_param_p=call_param_p@entry=0,
nontemporal=nontemporal@entry=false, btarget=btarget@entry=0xffe45ca8)
at ../../gcc/gcc/expr.c:5368
#10 0x008101f6 in expand_assignment (to=to@entry=0xffe45ca8,
from=from@entry=0xffe3fd20, nontemporal=false)
at ../../gcc/gcc/expr.c:5137
#11 0x00ddab15 in expand_gimple_stmt_1 (stmt=0xffdd09f0)
at ../../gcc/gcc/cfgexpand.c:3351
#12 expand_gimple_stmt (stmt=stmt@entry=0xffdd09f0)
at ../../gcc/gcc/cfgexpand.c:3447
#13 0x00ddcb6c in expand_gimple_basic_block (bb=0xfff81080,
disable_tail_calls=disable_tail_calls@entry=false)
at ../../gcc/gcc/cfgexpand.c:5280
#14 0x00ddeaad in (anonymous namespace)::pass_expand::execute (
this=0x80056948, fun=0xfff303a8) at ../../gcc/gcc/cfgexpand.c:5889
#15 0x0090d285 in execute_one_pass (pass=pass@entry=0x80056948)
at ../../gcc/gcc/passes.c:2311
#16 0x0090d714 in execute_pass_list_1 (pass=0x80056948, pass@entry=0x80054848)
...


[Bug c++/61135] It seems to be not able to call virtual method of literal object in lambda expression

2015-01-01 Thread dtemirbulatov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61135

--- Comment #4 from Dinar Temirbulatov dtemirbulatov at gmail dot com ---
I could not reproduce the error, the output looks correct on trunk


[Bug c++/61135] It seems to be not able to call virtual method of literal object in lambda expression

2014-05-09 Thread okamoto6496 at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61135

--- Comment #1 from MamoruOKAMOTO okamoto6496 at gmail dot com ---
g++-4.9.0 returned same message.


[Bug c++/61135] It seems to be not able to call virtual method of literal object in lambda expression

2014-05-09 Thread okamoto6496 at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61135

--- Comment #2 from MamoruOKAMOTO okamoto6496 at gmail dot com ---
Created attachment 32772
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32772action=edit
Test code using report