aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Sema/SemaInit.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2018-11-14 21:04:34 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2018-11-14 21:04:34 +0000
commit28ddb91decff9bb9e28cf12e04b2b6bf78cadc3b (patch)
treedc6b7c03a84fdb98588da7619835b9fe9c7ae4b1 /clang/lib/Sema/SemaInit.cpp
parentf61a563a19a3f4c999011c8c6287717532dcdfd9 (diff)
downloadllvm-28ddb91decff9bb9e28cf12e04b2b6bf78cadc3b.zip
llvm-28ddb91decff9bb9e28cf12e04b2b6bf78cadc3b.tar.gz
llvm-28ddb91decff9bb9e28cf12e04b2b6bf78cadc3b.tar.bz2
[c++20] Implement P0482R6: enable -fchar8_t by default in C++20 mode.
This unfortunately results in a substantial breaking change when switching to C++20, but it's not yet clear what / how much we should do about that. We may want to add a compatibility conversion from u8 string literals to const char*, similar to how C++98 provided a compatibility conversion from string literals to non-const char*, but that's not handled by this patch. The feature can be disabled in C++20 mode with -fno-char8_t. llvm-svn: 346892
Diffstat (limited to 'clang/lib/Sema/SemaInit.cpp')
-rw-r--r--clang/lib/Sema/SemaInit.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaInit.cpp b/clang/lib/Sema/SemaInit.cpp
index 438e9041..5249986 100644
--- a/clang/lib/Sema/SemaInit.cpp
+++ b/clang/lib/Sema/SemaInit.cpp
@@ -8268,7 +8268,8 @@ bool InitializationSequence::Diagnose(Sema &S,
break;
case FK_UTF8StringIntoPlainChar:
S.Diag(Kind.getLocation(),
- diag::err_array_init_utf8_string_into_char);
+ diag::err_array_init_utf8_string_into_char)
+ << S.getLangOpts().CPlusPlus2a;
break;
case FK_ArrayTypeMismatch:
case FK_NonConstantArrayInit: