<div dir="ltr">Sorry for the late response,<br><br><div class="gmail_quote"><div dir="ltr">On Sat, 18 Aug 2018 at 20:10, Nico Weber <<a href="mailto:thakis@chromium.org">thakis@chromium.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Also, the diag text should probably say "pass '-stdlib=libc++' " not "pass '-std=libc++' "?</div></blockquote><div><br></div><div>Good catch, thanks! I'll commit a fixup for it.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br><div class="gmail_quote"><div dir="ltr">On Sat, Aug 18, 2018 at 11:06 PM Nico Weber <<a href="mailto:thakis@chromium.org" target="_blank">thakis@chromium.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Should this maybe not be emitted when compiling e.g. .ii files (preprocessed output)? I just got this when I built a standalone .ii file with some bug repro after I deleted all -I and -isysroot flags and whatnot, since they aren't needed for preprocessed files.</div></blockquote></div></blockquote><div><br></div><div>That would make sense, but I'm not sure how easy it is to determine if a file is already preprocessed. I'll try to create a patch for this fixup.</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br><div class="gmail_quote"><div dir="ltr">On Tue, Jun 19, 2018 at 6:52 PM Alex Lorenz via cfe-commits <<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: arphaman<br>
Date: Tue Jun 19 15:47:53 2018<br>
New Revision: 335081<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=335081&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=335081&view=rev</a><br>
Log:<br>
Recommit r335063: [Darwin] Add a warning for missing include path for libstdc++<br>
<br>
The recommit ensures that the tests that failed on bots don't trigger the warning.<br>
<br>
Xcode 10 removes support for libstdc++, but the users just get a confusing<br>
include not file warning when including an STL header (when building for iOS6<br>
which uses libstdc++ by default for example).<br>
This patch adds a new warning that lets the user know that the libstdc++ include<br>
path was not found to ensure that the user is more aware of why the error occurs.<br>
<br>
rdar://40830462<br>
<br>
Differential Revision: <a href="https://reviews.llvm.org/D48297" rel="noreferrer" target="_blank">https://reviews.llvm.org/D48297</a><br>
<br>
Added:<br>
  Â  cfe/trunk/test/Frontend/warning-stdlibcxx-darwin.cpp<br>
Modified:<br>
  Â  cfe/trunk/include/clang/Basic/DiagnosticFrontendKinds.td<br>
  Â  cfe/trunk/include/clang/Lex/HeaderSearch.h<br>
  Â  cfe/trunk/lib/Frontend/InitHeaderSearch.cpp<br>
  Â  cfe/trunk/test/CodeGenCXX/apple-kext-guard-variable.cpp<br>
  Â  cfe/trunk/test/Misc/backend-stack-frame-diagnostics.cpp<br>
<br>
Modified: cfe/trunk/include/clang/Basic/DiagnosticFrontendKinds.td<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticFrontendKinds.td?rev=335081&r1=335080&r2=335081&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticFrontendKinds.td?rev=335081&r1=335080&r2=335081&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/include/clang/Basic/DiagnosticFrontendKinds.td (original)<br>
+++ cfe/trunk/include/clang/Basic/DiagnosticFrontendKinds.td Tue Jun 19 15:47:53 2018<br>
@@ -236,4 +236,9 @@ def err_invalid_vfs_overlay : Error<<br>
<br>
 def warn_option_invalid_ocl_version : Warning<<br>
  Â "OpenCL version %0 does not support the option '%1'">, InGroup<Deprecated>;<br>
+<br>
+def warn_stdlibcxx_not_found : Warning<<br>
+  "include path for stdlibc++ headers not found; pass '-std=libc++' on the "<br>
+  "command line to use the libc++ standard library instead">,<br>
+  InGroup<DiagGroup<"stdlibcxx-not-found">>;<br>
 }<br>
<br>
Modified: cfe/trunk/include/clang/Lex/HeaderSearch.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Lex/HeaderSearch.h?rev=335081&r1=335080&r2=335081&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Lex/HeaderSearch.h?rev=335081&r1=335080&r2=335081&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/include/clang/Lex/HeaderSearch.h (original)<br>
+++ cfe/trunk/include/clang/Lex/HeaderSearch.h Tue Jun 19 15:47:53 2018<br>
@@ -272,6 +272,8 @@ public:<br>
<br>
  Â FileManager &getFileMgr() const { return FileMgr; }<br>
<br>
+  DiagnosticsEngine &getDiags() const { return Diags; }<br>
+<br>
  Â /// Interface for setting the file search paths.<br>
  Â void SetSearchPaths(const std::vector<DirectoryLookup> &dirs,<br>
  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â unsigned angledDirIdx, unsigned systemDirIdx,<br>
<br>
Modified: cfe/trunk/lib/Frontend/InitHeaderSearch.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/InitHeaderSearch.cpp?rev=335081&r1=335080&r2=335081&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/InitHeaderSearch.cpp?rev=335081&r1=335080&r2=335081&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/lib/Frontend/InitHeaderSearch.cpp (original)<br>
+++ cfe/trunk/lib/Frontend/InitHeaderSearch.cpp Tue Jun 19 15:47:53 2018<br>
@@ -14,6 +14,7 @@<br>
 #include "clang/Basic/FileManager.h"<br>
 #include "clang/Basic/LangOptions.h"<br>
 #include "clang/Config/config.h" // C_INCLUDE_DIRS<br>
+#include "clang/Frontend/FrontendDiagnostic.h"<br>
 #include "clang/Frontend/Utils.h"<br>
 #include "clang/Lex/HeaderMap.h"<br>
 #include "clang/Lex/HeaderSearch.h"<br>
@@ -55,11 +56,13 @@ public:<br>
<br>
  Â /// AddPath - Add the specified path to the specified group list, prefixing<br>
  Â /// the sysroot if used.<br>
-  void AddPath(const Twine &Path, IncludeDirGroup Group, bool isFramework);<br>
+  /// Returns true if the path exists, false if it was ignored.<br>
+  bool AddPath(const Twine &Path, IncludeDirGroup Group, bool isFramework);<br>
<br>
  Â /// AddUnmappedPath - Add the specified path to the specified group list,<br>
  Â /// without performing any sysroot remapping.<br>
-  void AddUnmappedPath(const Twine &Path, IncludeDirGroup Group,<br>
+  /// Returns true if the path exists, false if it was ignored.<br>
+  bool AddUnmappedPath(const Twine &Path, IncludeDirGroup Group,<br>
  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  bool isFramework);<br>
<br>
  Â /// AddSystemHeaderPrefix - Add the specified prefix to the system header<br>
@@ -70,10 +73,9 @@ public:<br>
<br>
  Â /// AddGnuCPlusPlusIncludePaths - Add the necessary paths to support a gnu<br>
  Â ///  libstdc++.<br>
-  void AddGnuCPlusPlusIncludePaths(StringRef Base,<br>
-  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â StringRef ArchDir,<br>
-  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â StringRef Dir32,<br>
-  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â StringRef Dir64,<br>
+  /// Returns true if the \p Base path was found, false if it does not exist.<br>
+  bool AddGnuCPlusPlusIncludePaths(StringRef Base, StringRef ArchDir,<br>
+  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â StringRef Dir32, StringRef Dir64,<br>
  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  const llvm::Triple &triple);<br>
<br>
  Â /// AddMinGWCPlusPlusIncludePaths - Add the necessary paths to support a MinGW<br>
@@ -88,7 +90,8 @@ public:<br>
<br>
  Â // AddDefaultCPlusPlusIncludePaths -  Add paths that should be searched when<br>
  Â //  compiling c++.<br>
-  void AddDefaultCPlusPlusIncludePaths(const llvm::Triple &triple,<br>
+  void AddDefaultCPlusPlusIncludePaths(const LangOptions &LangOpts,<br>
+  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â const llvm::Triple &triple,<br>
  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  const HeaderSearchOptions &HSOpts);<br>
<br>
  Â /// AddDefaultSystemIncludePaths - Adds the default system include paths so<br>
@@ -112,7 +115,7 @@ static bool CanPrefixSysroot(StringRef P<br>
 #endif<br>
 }<br>
<br>
-void InitHeaderSearch::AddPath(const Twine &Path, IncludeDirGroup Group,<br>
+bool InitHeaderSearch::AddPath(const Twine &Path, IncludeDirGroup Group,<br>
  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  bool isFramework) {<br>
  Â // Add the path with sysroot prepended, if desired and this is a system header<br>
  Â // group.<br>
@@ -120,15 +123,14 @@ void InitHeaderSearch::AddPath(const Twi<br>
  Â  Â SmallString<256> MappedPathStorage;<br>
  Â  Â StringRef MappedPathStr = Path.toStringRef(MappedPathStorage);<br>
  Â  Â if (CanPrefixSysroot(MappedPathStr)) {<br>
-  Â  Â  AddUnmappedPath(IncludeSysroot + Path, Group, isFramework);<br>
-  Â  Â  return;<br>
+  Â  Â  return AddUnmappedPath(IncludeSysroot + Path, Group, isFramework);<br>
  Â  Â }<br>
  Â }<br>
<br>
-  AddUnmappedPath(Path, Group, isFramework);<br>
+  return AddUnmappedPath(Path, Group, isFramework);<br>
 }<br>
<br>
-void InitHeaderSearch::AddUnmappedPath(const Twine &Path, IncludeDirGroup Group,<br>
+bool InitHeaderSearch::AddUnmappedPath(const Twine &Path, IncludeDirGroup Group,<br>
  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  bool isFramework) {<br>
  Â assert(!Path.isTriviallyEmpty() && "can't handle empty path here");<br>
<br>
@@ -150,7 +152,7 @@ void InitHeaderSearch::AddUnmappedPath(c<br>
  Â if (const DirectoryEntry *DE = FM.getDirectory(MappedPathStr)) {<br>
  Â  Â IncludePath.push_back(<br>
  Â  Â  Â std::make_pair(Group, DirectoryLookup(DE, Type, isFramework)));<br>
-  Â  return;<br>
+  Â  return true;<br>
  Â }<br>
<br>
  Â // Check to see if this is an apple-style headermap (which are not allowed to<br>
@@ -162,7 +164,7 @@ void InitHeaderSearch::AddUnmappedPath(c<br>
  Â  Â  Â  Â IncludePath.push_back(<br>
  Â  Â  Â  Â  Â std::make_pair(Group,<br>
  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  DirectoryLookup(HM, Type, Group == IndexHeaderMap)));<br>
-  Â  Â  Â  return;<br>
+  Â  Â  Â  return true;<br>
  Â  Â  Â }<br>
  Â  Â }<br>
  Â }<br>
@@ -170,15 +172,16 @@ void InitHeaderSearch::AddUnmappedPath(c<br>
  Â if (Verbose)<br>
  Â  Â llvm::errs() << "ignoring nonexistent directory \""<br>
  Â  Â  Â  Â  Â  Â  Â  Â  << MappedPathStr << "\"\n";<br>
+  return false;<br>
 }<br>
<br>
-void InitHeaderSearch::AddGnuCPlusPlusIncludePaths(StringRef Base,<br>
+bool InitHeaderSearch::AddGnuCPlusPlusIncludePaths(StringRef Base,<br>
  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  StringRef ArchDir,<br>
  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  StringRef Dir32,<br>
  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  StringRef Dir64,<br>
  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  const llvm::Triple &triple) {<br>
  Â // Add the base dir<br>
-  AddPath(Base, CXXSystem, false);<br>
+  bool IsBaseFound = AddPath(Base, CXXSystem, false);<br>
<br>
  Â // Add the multilib dirs<br>
  Â llvm::Triple::ArchType arch = triple.getArch();<br>
@@ -190,6 +193,7 @@ void InitHeaderSearch::AddGnuCPlusPlusIn<br>
<br>
  Â // Add the backward dir<br>
  Â AddPath(Base + "/backward", CXXSystem, false);<br>
+  return IsBaseFound;<br>
 }<br>
<br>
 void InitHeaderSearch::AddMinGWCPlusPlusIncludePaths(StringRef Base,<br>
@@ -354,46 +358,55 @@ void InitHeaderSearch::AddDefaultCInclud<br>
  Â }<br>
 }<br>
<br>
-void InitHeaderSearch::<br>
-AddDefaultCPlusPlusIncludePaths(const llvm::Triple &triple, const HeaderSearchOptions &HSOpts) {<br>
+void InitHeaderSearch::AddDefaultCPlusPlusIncludePaths(<br>
+  Â  const LangOptions &LangOpts, const llvm::Triple &triple,<br>
+  Â  const HeaderSearchOptions &HSOpts) {<br>
  Â llvm::Triple::OSType os = triple.getOS();<br>
  Â // FIXME: temporary hack: hard-coded paths.<br>
<br>
  Â if (triple.isOSDarwin()) {<br>
+  Â  bool IsBaseFound = true;<br>
  Â  Â switch (triple.getArch()) {<br>
  Â  Â default: break;<br>
<br>
  Â  Â case llvm::Triple::ppc:<br>
  Â  Â case llvm::Triple::ppc64:<br>
-  Â  Â  AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.2.1",<br>
-  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  "powerpc-apple-darwin10", "", "ppc64",<br>
-  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  triple);<br>
-  Â  Â  AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.0.0",<br>
-  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  "powerpc-apple-darwin10", "", "ppc64",<br>
-  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  triple);<br>
+  Â  Â  IsBaseFound = AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.2.1",<br>
+  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  "powerpc-apple-darwin10", "",<br>
+  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  "ppc64", triple);<br>
+  Â  Â  IsBaseFound |= AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.0.0",<br>
+  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â "powerpc-apple-darwin10", "",<br>
+  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â "ppc64", triple);<br>
  Â  Â  Â break;<br>
<br>
  Â  Â case llvm::Triple::x86:<br>
  Â  Â case llvm::Triple::x86_64:<br>
-  Â  Â  AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.2.1",<br>
-  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  "i686-apple-darwin10", "", "x86_64", triple);<br>
-  Â  Â  AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.0.0",<br>
-  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  "i686-apple-darwin8", "", "", triple);<br>
+  Â  Â  IsBaseFound = AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.2.1",<br>
+  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  "i686-apple-darwin10", "",<br>
+  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  "x86_64", triple);<br>
+  Â  Â  IsBaseFound |= AddGnuCPlusPlusIncludePaths(<br>
+  Â  Â  Â  Â  "/usr/include/c++/4.0.0", "i686-apple-darwin8", "", "", triple);<br>
  Â  Â  Â break;<br>
<br>
  Â  Â case llvm::Triple::arm:<br>
  Â  Â case llvm::Triple::thumb:<br>
-  Â  Â  AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.2.1",<br>
-  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  "arm-apple-darwin10", "v7", "", triple);<br>
-  Â  Â  AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.2.1",<br>
-  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  "arm-apple-darwin10", "v6", "", triple);<br>
+  Â  Â  IsBaseFound = AddGnuCPlusPlusIncludePaths(<br>
+  Â  Â  Â  Â  "/usr/include/c++/4.2.1", "arm-apple-darwin10", "v7", "", triple);<br>
+  Â  Â  IsBaseFound |= AddGnuCPlusPlusIncludePaths(<br>
+  Â  Â  Â  Â  "/usr/include/c++/4.2.1", "arm-apple-darwin10", "v6", "", triple);<br>
  Â  Â  Â break;<br>
<br>
  Â  Â case llvm::Triple::aarch64:<br>
-  Â  Â  AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.2.1",<br>
-  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  "arm64-apple-darwin10", "", "", triple);<br>
+  Â  Â  IsBaseFound = AddGnuCPlusPlusIncludePaths(<br>
+  Â  Â  Â  Â  "/usr/include/c++/4.2.1", "arm64-apple-darwin10", "", "", triple);<br>
  Â  Â  Â break;<br>
  Â  Â }<br>
+  Â  // Warn when compiling pure C++ / Objective-C++ only.<br>
+  Â  if (!IsBaseFound &&<br>
+  Â  Â  Â  !(LangOpts.CUDA || LangOpts.OpenCL || LangOpts.RenderScript)) {<br>
+  Â  Â  Headers.getDiags().Report(SourceLocation(),<br>
+  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  diag::warn_stdlibcxx_not_found);<br>
+  Â  }<br>
  Â  Â return;<br>
  Â }<br>
<br>
@@ -478,7 +491,7 @@ void InitHeaderSearch::AddDefaultInclude<br>
  Â  Â  Â }<br>
  Â  Â  Â AddPath("/usr/include/c++/v1", CXXSystem, false);<br>
  Â  Â } else {<br>
-  Â  Â  AddDefaultCPlusPlusIncludePaths(triple, HSOpts);<br>
+  Â  Â  AddDefaultCPlusPlusIncludePaths(Lang, triple, HSOpts);<br>
  Â  Â }<br>
  Â }<br>
<br>
<br>
Modified: cfe/trunk/test/CodeGenCXX/apple-kext-guard-variable.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/apple-kext-guard-variable.cpp?rev=335081&r1=335080&r2=335081&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/apple-kext-guard-variable.cpp?rev=335081&r1=335080&r2=335081&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGenCXX/apple-kext-guard-variable.cpp (original)<br>
+++ cfe/trunk/test/CodeGenCXX/apple-kext-guard-variable.cpp Tue Jun 19 15:47:53 2018<br>
@@ -1,4 +1,4 @@<br>
-// RUN: %clang -target x86_64-apple-darwin10 -S -o %t.s -mkernel -Xclang -verify %s<br>
+// RUN: %clang -target x86_64-apple-darwin10 -S -o %t.s -Wno-stdlibcxx-not-found -mkernel -Xclang -verify %s<br>
<br>
 // rdar://problem/9143356<br>
<br>
<br>
Added: cfe/trunk/test/Frontend/warning-stdlibcxx-darwin.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Frontend/warning-stdlibcxx-darwin.cpp?rev=335081&view=auto" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Frontend/warning-stdlibcxx-darwin.cpp?rev=335081&view=auto</a><br>
==============================================================================<br>
--- cfe/trunk/test/Frontend/warning-stdlibcxx-darwin.cpp (added)<br>
+++ cfe/trunk/test/Frontend/warning-stdlibcxx-darwin.cpp Tue Jun 19 15:47:53 2018<br>
@@ -0,0 +1,5 @@<br>
+// RUN: %clang -cc1 -triple arm64-apple-ios6.0.0 -isysroot %S/doesnotexist %s 2>&1 | FileCheck %s<br>
+// RUN: %clang -cc1 -triple arm64-apple-ios6.0.0 -isysroot %S/doesnotexist -stdlib=libc++ %s -verify<br>
+// CHECK: include path for stdlibc++ headers not found; pass '-std=libc++' on the command line to use the libc++ standard library instead<br>
+<br>
+// expected-no-diagnostics<br>
<br>
Modified: cfe/trunk/test/Misc/backend-stack-frame-diagnostics.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Misc/backend-stack-frame-diagnostics.cpp?rev=335081&r1=335080&r2=335081&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Misc/backend-stack-frame-diagnostics.cpp?rev=335081&r1=335080&r2=335081&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/Misc/backend-stack-frame-diagnostics.cpp (original)<br>
+++ cfe/trunk/test/Misc/backend-stack-frame-diagnostics.cpp Tue Jun 19 15:47:53 2018<br>
@@ -1,6 +1,6 @@<br>
 // REQUIRES: x86-registered-target<br>
-// RUN: %clang -target i386-apple-darwin -std=c++11 -fblocks -Wframe-larger-than=70 -Xclang -verify -o /dev/null -c %s<br>
-// RUN: %clang -target i386-apple-darwin -std=c++11 -fblocks -Wframe-larger-than=70 -Xclang -verify -o /dev/null -c %s -DIS_SYSHEADER<br>
+// RUN: %clang -target i386-apple-darwin -std=c++11 -fblocks -Wframe-larger-than=70 -Wno-stdlibcxx-not-found -Xclang -verify -o /dev/null -c %s<br>
+// RUN: %clang -target i386-apple-darwin -std=c++11 -fblocks -Wframe-larger-than=70 -Wno-stdlibcxx-not-found -Xclang -verify -o /dev/null -c %s -DIS_SYSHEADER<br>
<br>
 // Test that:<br>
 //  * The driver passes the option through to the backend.<br>
<br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
</blockquote></div>
</blockquote></div>
</blockquote></div></div>