diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/g++.dg/cpp0x/udlit-embed-quote.C')
-rw-r--r-- | gcc-4.9/gcc/testsuite/g++.dg/cpp0x/udlit-embed-quote.C | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/udlit-embed-quote.C b/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/udlit-embed-quote.C new file mode 100644 index 000000000..fef1a5342 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/udlit-embed-quote.C @@ -0,0 +1,33 @@ +// { dg-do run { target c++11 } } + +// Make sure embedded quotes are not a problem for string and char literals. + +#include <cstdint> +#include <cassert> + +int operator"" _embedchar(char) +{ return 41; } + +int operator"" _embedstr(const char*, std::size_t len) +{ return 42 + len; } + +void +test() +{ + int i = '\''_embedchar; + + int j = "\""_embedstr; + assert(j == 43); + + int k = "foo\""_embedstr; + assert(k == 46); + + int l = "\"bar"_embedstr; + assert(l == 46); +} + +int +main() +{ + test(); +} |