Index: clang/lib/Driver/ToolChain.cpp =================================================================== --- clang/lib/Driver/ToolChain.cpp +++ clang/lib/Driver/ToolChain.cpp @@ -884,8 +884,14 @@ else if (LibName == "platform") return GetDefaultRuntimeLibType(); - if (A) - getDriver().Diag(diag::err_drv_invalid_rtlib_name) << A->getAsString(Args); + if (A) { + static bool Warned = false; + if (!Warned) { + getDriver().Diag(diag::err_drv_invalid_rtlib_name) + << A->getAsString(Args); + Warned = true; + } + } return GetDefaultRuntimeLibType(); } @@ -910,9 +916,14 @@ } else if (LibName == "libgcc") return ToolChain::UNW_Libgcc; - if (A) - getDriver().Diag(diag::err_drv_invalid_unwindlib_name) - << A->getAsString(Args); + if (A) { + static bool Warned = false; + if (!Warned) { + getDriver().Diag(diag::err_drv_invalid_unwindlib_name) + << A->getAsString(Args); + Warned = true; + } + } return GetDefaultUnwindLibType(); } @@ -929,8 +940,14 @@ else if (LibName == "platform") return GetDefaultCXXStdlibType(); - if (A) - getDriver().Diag(diag::err_drv_invalid_stdlib_name) << A->getAsString(Args); + if (A) { + static bool Warned = false; + if (!Warned) { + getDriver().Diag(diag::err_drv_invalid_stdlib_name) + << A->getAsString(Args); + Warned = true; + } + } return GetDefaultCXXStdlibType(); }