re PR c++/57532 (operator& broken when used on rvalues)
PR c++/57532 * parser.c (cp_parser_ref_qualifier_opt): Don't tentatively parse a ref-qualifier in C++98 mode. From-SVN: r200842
This commit is contained in:
parent
cb5f47b639
commit
9a3970ddfc
@ -1,5 +1,9 @@
|
||||
2013-07-09 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/57532
|
||||
* parser.c (cp_parser_ref_qualifier_opt): Don't tentatively parse
|
||||
a ref-qualifier in C++98 mode.
|
||||
|
||||
PR c++/57545
|
||||
* pt.c (convert_nontype_argument) [INTEGER_CST]: Force the
|
||||
argument to have the exact type of the parameter.
|
||||
|
@ -17374,6 +17374,10 @@ cp_parser_ref_qualifier_opt (cp_parser* parser)
|
||||
{
|
||||
cp_ref_qualifier ref_qual = REF_QUAL_NONE;
|
||||
|
||||
/* Don't try to parse bitwise '&' as a ref-qualifier (c++/57532). */
|
||||
if (cxx_dialect < cxx11 && cp_parser_parsing_tentatively (parser))
|
||||
return ref_qual;
|
||||
|
||||
while (true)
|
||||
{
|
||||
cp_ref_qualifier curr_ref_qual = REF_QUAL_NONE;
|
||||
|
6
gcc/testsuite/g++.dg/parse/ref-qual2.C
Normal file
6
gcc/testsuite/g++.dg/parse/ref-qual2.C
Normal file
@ -0,0 +1,6 @@
|
||||
// PR c++/57532
|
||||
|
||||
int main()
|
||||
{
|
||||
return (int() & int());
|
||||
}
|
Loading…
Reference in New Issue
Block a user