re PR c++/47482 ([C++0x] ICE: unexpected expression ‘sizeof ("A")’ of kind sizeof_expr)
PR c++/47482 * parser.c (cp_parser_enumerator_definition): Call fold_non_dependent_expr. From-SVN: r170156
This commit is contained in:
parent
b09c308168
commit
c9e71b36cf
@ -1,3 +1,9 @@
|
||||
2011-02-14 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/47482
|
||||
* parser.c (cp_parser_enumerator_definition): Call
|
||||
fold_non_dependent_expr.
|
||||
|
||||
2011-02-09 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* decl.c (cp_make_fname_decl): Set DECL_THIS_STATIC at toplevel.
|
||||
|
@ -13763,6 +13763,10 @@ cp_parser_enumerator_definition (cp_parser* parser, tree type)
|
||||
if (check_for_bare_parameter_packs (value))
|
||||
value = error_mark_node;
|
||||
|
||||
/* integral_constant_value will pull out this expression, so make sure
|
||||
it's folded as appropriate. */
|
||||
value = fold_non_dependent_expr (value);
|
||||
|
||||
/* Create the enumerator. */
|
||||
build_enumerator (identifier, value, type, loc);
|
||||
}
|
||||
|
@ -1,3 +1,7 @@
|
||||
2011-02-14 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* g++.dg/cpp0x/regress/enum1.C: New.
|
||||
|
||||
2011-02-14 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* gnat.dg/include.adb: New test.
|
||||
|
8
gcc/testsuite/g++.dg/cpp0x/regress/enum1.C
Normal file
8
gcc/testsuite/g++.dg/cpp0x/regress/enum1.C
Normal file
@ -0,0 +1,8 @@
|
||||
// PR c++/47482
|
||||
// { dg-options -std=c++0x }
|
||||
|
||||
template<class>
|
||||
struct K
|
||||
{
|
||||
enum { A = sizeof"A", B = +A };
|
||||
};
|
Loading…
Reference in New Issue
Block a user