summaryrefslogtreecommitdiffstats
path: root/clang/test/Lexer/cxx1y_digit_separators.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2014-04-22 23:50:25 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2014-04-22 23:50:25 +0000
commit70ee92fa4d6a8d2d3d0726fcb8718204bfe87f57 (patch)
treea79279499a5eed40b1640c289a0cfaee12078b75 /clang/test/Lexer/cxx1y_digit_separators.cpp
parent7ad715d871c03757fb870f8567dd02e9bd18ed75 (diff)
downloadbcm5719-llvm-70ee92fa4d6a8d2d3d0726fcb8718204bfe87f57.tar.gz
bcm5719-llvm-70ee92fa4d6a8d2d3d0726fcb8718204bfe87f57.zip
Add some missing checks for C++1y digit separators that don't in fact separate
digits. Turns out we have completely separate lexing codepaths for floating point numbers depending on whether or not they start with a zero. Who knew... =) llvm-svn: 206932
Diffstat (limited to 'clang/test/Lexer/cxx1y_digit_separators.cpp')
-rw-r--r--clang/test/Lexer/cxx1y_digit_separators.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/clang/test/Lexer/cxx1y_digit_separators.cpp b/clang/test/Lexer/cxx1y_digit_separators.cpp
index dcfb6d093fe..c4c6aee963d 100644
--- a/clang/test/Lexer/cxx1y_digit_separators.cpp
+++ b/clang/test/Lexer/cxx1y_digit_separators.cpp
@@ -34,6 +34,20 @@ namespace floating {
float d = 1.0'e1; // expected-error {{digit separator cannot appear at end of digit sequence}}
float e = 1e'1; // expected-error {{digit separator cannot appear at start of digit sequence}}
float f = 1e1'ms; // expected-error {{digit separator cannot appear at end of digit sequence}}
+ float g = 0.'0; // expected-error {{digit separator cannot appear at start of digit sequence}}
+ float h = .'0; // '; // expected-error {{expected expression}}, lexed as . followed by character literal
+ float i = 0x.'0p0; // expected-error {{digit separator cannot appear at start of digit sequence}}
+ float j = 0x'0.0p0; // expected-error {{invalid suffix 'x'0.0p0'}}
+ float k = 0x0'.0p0; // '; // expected-error {{expected ';'}}
+ float l = 0x0.'0p0; // expected-error {{digit separator cannot appear at start of digit sequence}}
+ float m = 0x0.0'p0; // expected-error {{digit separator cannot appear at end of digit sequence}}
+ float n = 0x0.0p'0; // expected-error {{digit separator cannot appear at start of digit sequence}}
+ float o = 0x0.0p0'ms; // expected-error {{digit separator cannot appear at end of digit sequence}}
+ float p = 0'e1; // expected-error {{digit separator cannot appear at end of digit sequence}}
+ float q = 0'0e1;
+ float r = 0.'0e1; // expected-error {{digit separator cannot appear at start of digit sequence}}
+ float s = 0.0'e1; // expected-error {{digit separator cannot appear at end of digit sequence}}
+ float t = 0.0e'1; // expected-error {{digit separator cannot appear at start of digit sequence}}
}
#line 123'456
OpenPOWER on IntegriCloud