From: Alex Lorenz Date: Thu, 27 Apr 2017 13:47:03 +0000 (+0000) Subject: [libclang] Pass in the -fallow-editor-placeholders option X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7b3b5244b4ba33e049682f829f52ec796aa34637;p=clang [libclang] Pass in the -fallow-editor-placeholders option This will suppress any live diagnostics caused by editor placeholders in Xcode. rdar://31833579 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@301542 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Basic/LangOptions.def b/include/clang/Basic/LangOptions.def index 6ae34a89fe..60c8a68cd2 100644 --- a/include/clang/Basic/LangOptions.def +++ b/include/clang/Basic/LangOptions.def @@ -266,7 +266,8 @@ LANGOPT(SanitizeAddressFieldPadding, 2, 0, "controls how aggressive is ASan " LANGOPT(XRayInstrument, 1, 0, "controls whether to do XRay instrumentation") -LANGOPT(AllowEditorPlaceholders, 1, 0, "allow editor placeholders in source") +BENIGN_LANGOPT(AllowEditorPlaceholders, 1, 0, + "allow editor placeholders in source") #undef LANGOPT #undef COMPATIBLE_LANGOPT diff --git a/test/Index/allow-editor-placeholders.cpp b/test/Index/allow-editor-placeholders.cpp new file mode 100644 index 0000000000..5a7207d3f0 --- /dev/null +++ b/test/Index/allow-editor-placeholders.cpp @@ -0,0 +1,5 @@ +// RUN: c-index-test -test-load-source all %s 2>&1 | FileCheck %s + +<#placeholder#>; + +// CHECK-NOT: error diff --git a/tools/libclang/CIndex.cpp b/tools/libclang/CIndex.cpp index 216322b9f9..c7fdb5ad1a 100644 --- a/tools/libclang/CIndex.cpp +++ b/tools/libclang/CIndex.cpp @@ -3371,7 +3371,10 @@ clang_parseTranslationUnit_Impl(CXIndex CIdx, const char *source_filename, Args->push_back("-Xclang"); Args->push_back("-detailed-preprocessing-record"); } - + + // Suppress any editor placeholder diagnostics. + Args->push_back("-fallow-editor-placeholders"); + unsigned NumErrors = Diags->getClient()->getNumErrors(); std::unique_ptr ErrUnit; // Unless the user specified that they want the preamble on the first parse