aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/expr.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2019-03-27 14:39:20 -0400
committerJason Merrill <jason@gcc.gnu.org>2019-03-27 14:39:20 -0400
commit03bed1538f8c71f06dd0afa68713de019595e71e (patch)
treed96fdda8e7b4e3ad5ac5f60f34e802ca241c70c1 /gcc/fortran/expr.c
parentbbf1efe1b46737304cde7b35a95b30d21157e54d (diff)
downloadgcc-03bed1538f8c71f06dd0afa68713de019595e71e.zip
gcc-03bed1538f8c71f06dd0afa68713de019595e71e.tar.gz
gcc-03bed1538f8c71f06dd0afa68713de019595e71e.tar.bz2
PR c++/89241 - ICE with lambda in template parameter list.
We were getting confused by a lambda in template definition context that isn't actually in the scope of any templated entity. Fixed by telling type_dependent_expression_p that such a lambda is type-dependent even if we can't tell that from its closure type. I've also restored the error for defining a non-lambda class in a default template argument, and for a lambda befor C++20. * parser.c (cp_parser_lambda_expression): Also reject a lambda in a template parameter list before C++20. * pt.c (type_dependent_expression_p): True for LAMBDA_EXPR. * semantics.c (begin_class_definition): Restore error about defining non-lambda class in template parm list. From-SVN: r269972
Diffstat (limited to 'gcc/fortran/expr.c')
0 files changed, 0 insertions, 0 deletions