summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/CompilerInstance.cpp
diff options
context:
space:
mode:
authorJustin Lebar <jlebar@google.com>2017-09-07 18:37:16 +0000
committerJustin Lebar <jlebar@google.com>2017-09-07 18:37:16 +0000
commit78137ec8686555d6fecc7914ce52a444df133f8b (patch)
tree8da154f820f8189766cd47090668359b17e1e73e /clang/lib/Frontend/CompilerInstance.cpp
parent8fe23bc5200b7963deaa6ab89fa4a54b81f6fd47 (diff)
downloadbcm5719-llvm-78137ec8686555d6fecc7914ce52a444df133f8b.tar.gz
bcm5719-llvm-78137ec8686555d6fecc7914ce52a444df133f8b.zip
[CUDA] When compilation fails, print the compilation mode.
Summary: That is, instead of "1 error generated", we now say "1 error generated when compiling for sm_35". This (partially) solves a usability foogtun wherein e.g. users call a function that's only defined on sm_60 when compiling for sm_35, and they get an unhelpful error message. Reviewers: tra Subscribers: sanjoy, cfe-commits Differential Revision: https://reviews.llvm.org/D37548 llvm-svn: 312736
Diffstat (limited to 'clang/lib/Frontend/CompilerInstance.cpp')
-rw-r--r--clang/lib/Frontend/CompilerInstance.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/clang/lib/Frontend/CompilerInstance.cpp b/clang/lib/Frontend/CompilerInstance.cpp
index 9a4bcc2722e..128de2840e4 100644
--- a/clang/lib/Frontend/CompilerInstance.cpp
+++ b/clang/lib/Frontend/CompilerInstance.cpp
@@ -1003,8 +1003,17 @@ bool CompilerInstance::ExecuteAction(FrontendAction &Act) {
OS << " and ";
if (NumErrors)
OS << NumErrors << " error" << (NumErrors == 1 ? "" : "s");
- if (NumWarnings || NumErrors)
- OS << " generated.\n";
+ if (NumWarnings || NumErrors) {
+ OS << " generated";
+ if (getLangOpts().CUDA) {
+ if (!getLangOpts().CUDAIsDevice) {
+ OS << " when compiling for host";
+ } else {
+ OS << " when compiling for " << getTargetOpts().CPU;
+ }
+ }
+ OS << ".\n";
+ }
}
if (getFrontendOpts().ShowStats) {
OpenPOWER on IntegriCloud