re PR c++/50958 ([C++0x] raw literal operator provides incorrect string for integer literal '0')

PR c++/50958
gcc/cp/
	* parser.c (lookup_literal_operator): New.
	(cp_parser_userdef_char_literal): Use it.
	(cp_parser_userdef_numeric_literal): Use it.
	(cp_parser_userdef_string_literal): Use lookup_name.
libcpp/
	* expr.c (cpp_userdef_char_remove_type): Fix typo.

From-SVN: r181595
This commit is contained in:
Ed Smith-Rowland 2011-11-21 19:27:30 +00:00 committed by Jason Merrill
parent f3fae478f4
commit 7e74ce3f94
12 changed files with 261 additions and 80 deletions

View file

@ -284,9 +284,9 @@ cpp_userdef_char_remove_type (enum cpp_ttype type)
else if (type == CPP_WCHAR_USERDEF)
return CPP_WCHAR;
else if (type == CPP_CHAR16_USERDEF)
return CPP_STRING16;
return CPP_CHAR16;
else if (type == CPP_CHAR32_USERDEF)
return CPP_STRING32;
return CPP_CHAR32;
else
return type;
}