summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorDouglas Yung <douglas.yung@sony.com>2018-05-12 00:06:59 +0000
committerDouglas Yung <douglas.yung@sony.com>2018-05-12 00:06:59 +0000
commitdde9de7cf943ace41ac69589df661b2ab54dd76b (patch)
tree0d035e91adb07f02d2e25e8bcd21a80baf18a363 /clang/lib/Frontend/CompilerInvocation.cpp
parent79a736136772fab259f5e28ff2581fd37f97e43f (diff)
downloadbcm5719-llvm-dde9de7cf943ace41ac69589df661b2ab54dd76b.tar.gz
bcm5719-llvm-dde9de7cf943ace41ac69589df661b2ab54dd76b.zip
Force the PS4 clang ABI version to 6.
The PS4 requires clang ABI version 6 for compatibility reasons. This change forces this and if the user specifies a different version when the PS4 target is specified, the compiler emits a warning that the specified version is being ignored. Reviewers: probinson Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D46767 llvm-svn: 332160
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r--clang/lib/Frontend/CompilerInvocation.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp
index 05e5196e32d..b8e05b523ef 100644
--- a/clang/lib/Frontend/CompilerInvocation.cpp
+++ b/clang/lib/Frontend/CompilerInvocation.cpp
@@ -2751,6 +2751,16 @@ static void ParseLangArgs(LangOptions &Opts, ArgList &Args, InputKind IK,
<< A->getAsString(Args) << A->getValue();
}
}
+ // The PS4 requires version 6 of the clang ABI.
+ if (T.isPS4()) {
+ // Issue a warning if another version of the ABI was requested.
+ if (Args.getLastArg(OPT_fclang_abi_compat_EQ) &&
+ Opts.getClangABICompat() != LangOptions::ClangABI::Ver6) {
+ Diags.Report(diag::warn_drv_ignored_clang_abi_version)
+ << 6;
+ }
+ Opts.setClangABICompat(LangOptions::ClangABI::Ver6);
+ }
}
static bool isStrictlyPreprocessorAction(frontend::ActionKind Action) {
OpenPOWER on IntegriCloud