[C++1z] Implement N3981: Disable trigraphs by default in C++1z mode.
llvm-svn: 211392
This commit is contained in:
parent
6baeb8805c
commit
4676203011
|
@ -1167,7 +1167,8 @@ void CompilerInvocation::setLangDefaults(LangOptions &Opts, InputKind IK,
|
|||
|
||||
// Mimicing gcc's behavior, trigraphs are only enabled if -trigraphs
|
||||
// is specified, or -std is set to a conforming mode.
|
||||
Opts.Trigraphs = !Opts.GNUMode;
|
||||
// Trigraphs are disabled by default in c++1z onwards.
|
||||
Opts.Trigraphs = !Opts.GNUMode && !Opts.CPlusPlus1z;
|
||||
|
||||
Opts.DollarIdents = !Opts.AsmPreprocessor;
|
||||
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
// RUN: %clang_cc1 -std=c++1z %s -verify
|
||||
// RUN: %clang_cc1 -std=c++1z %s -trigraphs -fsyntax-only
|
||||
|
||||
??= define foo ; // expected-error {{}} expected-warning {{trigraph ignored}}
|
||||
|
||||
static_assert("??="[0] == '#', ""); // expected-error {{failed}} expected-warning {{trigraph ignored}}
|
||||
|
||||
// ??/
|
||||
error here; // expected-error {{}}
|
Loading…
Reference in New Issue