c++: Fix parsing of prefixed C++11 raw string literals
See http://en.cppreference.com/w/cpp/language/string_literal
This commit is contained in:
parent
cdabbecd37
commit
5a279f0bf6
@ -802,8 +802,12 @@ process:
|
||||
*
|
||||
* which is perfectly valid (yet probably very unlikely). */
|
||||
int prev = fileGetNthPrevC (1, 0);
|
||||
int prev2 = fileGetNthPrevC (2, 0);
|
||||
int prev3 = fileGetNthPrevC (3, 0);
|
||||
|
||||
if (! isident (prev))
|
||||
if (! isident (prev) ||
|
||||
(! isident (prev2) && (prev == 'L' || prev == 'u' || prev == 'U')) ||
|
||||
(! isident (prev3) && (prev2 == 'u' && prev == '8')))
|
||||
{
|
||||
int next = fileGetc ();
|
||||
if (next != DOUBLE_QUOTE)
|
||||
|
@ -19,3 +19,16 @@ struct typ2 { int memb2; };
|
||||
static const char* str3 = FOUR"f(iv)e";
|
||||
|
||||
struct typ3 { int memb3; };
|
||||
|
||||
/* check for prefixes */
|
||||
static const char* str4 = LR"blah(";int bug4;)blah";
|
||||
struct typ4 { int memb4; };
|
||||
|
||||
static const char* str5 = u8R"blah(";int bug5;)blah";
|
||||
struct typ5 { int memb5; };
|
||||
|
||||
static const char* str6 = uR"blah(";int bug6;)blah";
|
||||
struct typ6 { int memb6; };
|
||||
|
||||
static const char* str7 = UR"blah(";int bug7;)blah";
|
||||
struct typ7 { int memb7; };
|
||||
|
@ -3,9 +3,21 @@ FOUR
|
||||
memb1Ì64Îtyp1Ö0Ïint
|
||||
memb2Ì64Îtyp2Ö0Ïint
|
||||
memb3Ì64Îtyp3Ö0Ïint
|
||||
memb4Ì64Îtyp4Ö0Ïint
|
||||
memb5Ì64Îtyp5Ö0Ïint
|
||||
memb6Ì64Îtyp6Ö0Ïint
|
||||
memb7Ì64Îtyp7Ö0Ïint
|
||||
str1Ì16384Ö0Ïchar
|
||||
str2Ì16384Ö0Ïchar
|
||||
str3Ì16384Ö0Ïchar
|
||||
str4Ì16384Ö0Ïchar
|
||||
str5Ì16384Ö0Ïchar
|
||||
str6Ì16384Ö0Ïchar
|
||||
str7Ì16384Ö0Ïchar
|
||||
typ1Ì2048Ö0
|
||||
typ2Ì2048Ö0
|
||||
typ3Ì2048Ö0
|
||||
typ4Ì2048Ö0
|
||||
typ5Ì2048Ö0
|
||||
typ6Ì2048Ö0
|
||||
typ7Ì2048Ö0
|
||||
|
Loading…
x
Reference in New Issue
Block a user