I've had to revert this in r265601 because it was breaking the PS4 bots. In the future, please keep an eye on them! It's a total bummer leaving them red for 2 days.
http://lab.llvm.org:8011/waterfall?builder=llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast&builder=llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast&reload=120 -- Sean Silva On Mon, Apr 4, 2016 at 3:56 PM, Sunil Srivastava via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: ssrivastava > Date: Mon Apr 4 17:56:05 2016 > New Revision: 265359 > > URL: http://llvm.org/viewvc/llvm-project?rev=265359&view=rev > Log: > Set the default C standard to C99 when targeting the PS4. > > Patch by Douglas Yung! > > Differential Revision: http://reviews.llvm.org/D18708 > > Modified: > cfe/trunk/include/clang/Frontend/CompilerInvocation.h > cfe/trunk/lib/Frontend/CompilerInvocation.cpp > cfe/trunk/test/Preprocessor/init.c > > Modified: cfe/trunk/include/clang/Frontend/CompilerInvocation.h > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/CompilerInvocation.h?rev=265359&r1=265358&r2=265359&view=diff > > ============================================================================== > --- cfe/trunk/include/clang/Frontend/CompilerInvocation.h (original) > +++ cfe/trunk/include/clang/Frontend/CompilerInvocation.h Mon Apr 4 > 17:56:05 2016 > @@ -153,8 +153,10 @@ public: > /// > /// \param Opts - The LangOptions object to set up. > /// \param IK - The input language. > + /// \param T - The target triple. > /// \param LangStd - The input language standard. > static void setLangDefaults(LangOptions &Opts, InputKind IK, > + const llvm::Triple &T, > LangStandard::Kind LangStd = > LangStandard::lang_unspecified); > > /// \brief Retrieve a module hash string that is suitable for uniquely > > Modified: cfe/trunk/lib/Frontend/CompilerInvocation.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/CompilerInvocation.cpp?rev=265359&r1=265358&r2=265359&view=diff > > ============================================================================== > --- cfe/trunk/lib/Frontend/CompilerInvocation.cpp (original) > +++ cfe/trunk/lib/Frontend/CompilerInvocation.cpp Mon Apr 4 17:56:05 2016 > @@ -1355,6 +1355,7 @@ static void ParseHeaderSearchArgs(Header > } > > void CompilerInvocation::setLangDefaults(LangOptions &Opts, InputKind IK, > + const llvm::Triple &T, > LangStandard::Kind LangStd) { > // Set some properties which depend solely on the input kind; it would > be nice > // to move these to the language standard, and have the driver resolve > the > @@ -1387,7 +1388,11 @@ void CompilerInvocation::setLangDefaults > case IK_PreprocessedC: > case IK_ObjC: > case IK_PreprocessedObjC: > - LangStd = LangStandard::lang_gnu11; > + // The PS4 uses C99 as the default C standard. > + if (T.isPS4()) > + LangStd = LangStandard::lang_gnu99; > + else > + LangStd = LangStandard::lang_gnu11; > break; > case IK_CXX: > case IK_PreprocessedCXX: > @@ -1541,7 +1546,8 @@ static void ParseLangArgs(LangOptions &O > LangStd = OpenCLLangStd; > } > > - CompilerInvocation::setLangDefaults(Opts, IK, LangStd); > + llvm::Triple T(TargetOpts.Triple); > + CompilerInvocation::setLangDefaults(Opts, IK, T, LangStd); > > // We abuse '-f[no-]gnu-keywords' to force overriding all GNU-extension > // keywords. This behavior is provided by GCC's poorly named '-fasm' > flag, > @@ -1861,7 +1867,6 @@ static void ParseLangArgs(LangOptions &O > // Provide diagnostic when a given target is not expected to be an > OpenMP > // device or host. > if (Opts.OpenMP && !Opts.OpenMPIsDevice) { > - llvm::Triple T(TargetOpts.Triple); > switch (T.getArch()) { > default: > break; > > Modified: cfe/trunk/test/Preprocessor/init.c > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Preprocessor/init.c?rev=265359&r1=265358&r2=265359&view=diff > > ============================================================================== > --- cfe/trunk/test/Preprocessor/init.c (original) > +++ cfe/trunk/test/Preprocessor/init.c Mon Apr 4 17:56:05 2016 > @@ -8358,6 +8358,7 @@ > // PS4:#define __SSE2__ 1 > // PS4:#define __SSE_MATH__ 1 > // PS4:#define __SSE__ 1 > +// PS4:#define __STDC_VERSION__ 199901L > // PS4:#define __UINTMAX_TYPE__ long unsigned int > // PS4:#define __USER_LABEL_PREFIX__ > // PS4:#define __WCHAR_MAX__ 65535 > > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits