From: Jason Merrill Date: Mon, 22 Apr 2013 20:33:01 +0000 (-0400) Subject: error.c (dump_aggr_type): Fix lambda detection. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=af580858ea4338535dfb2ae4a28cbda18d1b50d0;p=gcc.git error.c (dump_aggr_type): Fix lambda detection. * error.c (dump_aggr_type): Fix lambda detection. (dump_simple_decl): Pretty-print capture field. From-SVN: r198159 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 57c2fc3f571..c91f3ec68d9 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,8 @@ 2013-04-22 Jason Merrill + * error.c (dump_aggr_type): Fix lambda detection. + (dump_simple_decl): Pretty-print capture field. + N3323 * cvt.c (build_expr_type_conversion): Two conversions that return the same type aren't necessarily ambiguous. diff --git a/gcc/cp/error.c b/gcc/cp/error.c index 6bac7ec88ee..32063429611 100644 --- a/gcc/cp/error.c +++ b/gcc/cp/error.c @@ -656,7 +656,7 @@ dump_aggr_type (tree t, int flags) else pp_printf (pp_base (cxx_pp), M_(""), variety); } - else if (LAMBDA_TYPE_P (name)) + else if (LAMBDA_TYPE_P (t)) { /* A lambda's "type" is essentially its signature. */ pp_string (cxx_pp, M_(""); + } + else + dump_decl (DECL_NAME (t), flags); + } else pp_string (cxx_pp, M_("")); if (flags & TFF_DECL_SPECIFIERS) diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-diag1.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-diag1.C new file mode 100644 index 00000000000..dc1043b3fb1 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-diag1.C @@ -0,0 +1,8 @@ +// { dg-require-effective-target c++11 } + +int main() +{ + int x; + auto f = [x]{ }; + f.__x.foo; // { dg-error "::" } +}