Files
clang-p2996/clang/test/FixIt/unevaluated-strings.cpp
Corentin Jabot 49e0495feb [Clang] Produce a warning instead of an error in unevaluated strings before C++26
Emiting an error on unexpected encoding prefix - which was allowed before C++26 -
caused build errors for a few users.
This downgrade the error to a warning on older language modes and C.

Reviewed By: aaron.ballman, hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D156596
2023-08-10 09:43:20 +02:00

18 lines
845 B
C++

// RUN: %clang_cc1 -verify -std=c++2c %s
// RUN: cp %s %t
// RUN: not %clang_cc1 -x c++ -std=c++2c -fixit %t
// RUN: %clang_cc1 -x c++ -std=c++2c %t
// RUN: not %clang_cc1 -std=c++2c -x c++ -fsyntax-only -fdiagnostics-parseable-fixits %s 2>&1 | FileCheck %s
static_assert(true, L""); // expected-error{{an unevaluated string literal cannot have an encoding prefix}}
// CHECK: fix-it:{{.*}}:{7:21-7:22}
static_assert(true, u8""); // expected-error{{an unevaluated string literal cannot have an encoding prefix}}
// CHECK: fix-it:{{.*}}:{10:21-10:23}
static_assert(true, u""); // expected-error{{an unevaluated string literal cannot have an encoding prefix}}
// CHECK: fix-it:{{.*}}:{13:21-13:22}
static_assert(true, U""); // expected-error{{an unevaluated string literal cannot have an encoding prefix}}
// CHECK: fix-it:{{.*}}:{16:21-16:22}