mirror of https://github.com/microsoft/clang.git
[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 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@312736 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
6d4cb407f1
commit
640d10c8b0
|
@ -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) {
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
// RUN: not %clang_cc1 -fsyntax-only %s 2>&1 | FileCheck --check-prefix HOST %s
|
||||
// RUN: not %clang_cc1 -triple nvptx-unknown-unknown -target-cpu sm_35 \
|
||||
// RUN: -fcuda-is-device -fsyntax-only %s 2>&1 | FileCheck --check-prefix SM35 %s
|
||||
|
||||
// HOST: 1 error generated when compiling for host
|
||||
// SM35: 1 error generated when compiling for sm_35
|
||||
error;
|
Loading…
Reference in New Issue