parser.c
1.16 MB
The source could not be displayed because it is larger than 1 MB.
You can
load it anyway or download it
instead.
Implementing the UDL changes was pretty straightforward; I simplified cp_parser_userdef_string_literal using the releasing_vec type from mangle.c. While looking at this, I realized that the string UDL template taking a character pack that we implemented for C++14 didn't actually make it into C++14, so I've added a pedwarn for it and no longer suggest it in the diagnostic about an invalid UDL template. * cp-tree.h (struct releasing_vec): Move from mangle.c. Add get_ref method. * parser.c (cp_parser_userdef_string_literal): Use it. Handle passing the string to a single template parameter of class type. (cp_parser_template_declaration_after_parameters): Allow it. Pedwarn about the character pack template that was proposed but not accepted for C++14, and don't suggest it. From-SVN: r265790