diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2013-06-10 20:45:12 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2013-06-10 20:45:12 +0000 |
| commit | 6a0372513edbc473b538d2f724efac50405d6fef (patch) | |
| tree | 8f7776b7310bebaf415ac5b69e46e9f928c37144 /test/Lexer/cxx1y_binary_literal.cpp | |
| parent | 809500fc2c13c8173a16b052304d983864e4a1e1 (diff) | |
Notes
Diffstat (limited to 'test/Lexer/cxx1y_binary_literal.cpp')
| -rw-r--r-- | test/Lexer/cxx1y_binary_literal.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/Lexer/cxx1y_binary_literal.cpp b/test/Lexer/cxx1y_binary_literal.cpp new file mode 100644 index 000000000000..96dce3dd4439 --- /dev/null +++ b/test/Lexer/cxx1y_binary_literal.cpp @@ -0,0 +1,19 @@ +// RUN: %clang_cc1 -std=c++1y %s -verify + +static_assert(0b1001 == 9, ""); + +using I = int; +using I = decltype(0b101001); +using ULL = unsigned long long; +using ULL = decltype(0b10101001ULL); + +constexpr unsigned long long operator""_foo(unsigned long long n) { + return n * 2; +} +static_assert(0b10001111_foo == 286, ""); + +int k1 = 0b1234; // expected-error {{invalid digit '2' in binary constant}} +// FIXME: If we ever need to support a standard suffix starting with [a-f], +// we'll need to rework our binary literal parsing rules. +int k2 = 0b10010f; // expected-error {{invalid digit 'f' in binary constant}} +int k3 = 0b10010g; // expected-error {{invalid suffix 'g' on integer constant}} |
