mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 04:32:44 +01:00
[TargetMachine] error message unsupported code model
When the tiny code model is requested for a target machine that does not support this, we get an error message (which is nice) but also this diagnostic and request to submit a bug report: fatal error: error in backend: Target does not support the tiny CodeModel [Inferior 2 (process 31509) exited with code 0106] clang-9: error: clang frontend command failed with exit code 70 (use -v to see invocation) (gdb) clang version 9.0.0 (http://llvm.org/git/clang.git 29994b0c63a40f9c97c664170244a7bba5ecc15e) (http://llvm.org/git/llvm.git 95606fdf91c2d63a931e865f4b78b2e9828ddc74) Target: arm-arm-none-eabi Thread model: posix clang-9: note: diagnostic msg: PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script. clang-9: note: diagnostic msg: ******************** PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: Preprocessed source(s) and associated run script(s) are located at: clang-9: note: diagnostic msg: /tmp/tiny-dfe1a2.c clang-9: note: diagnostic msg: /tmp/tiny-dfe1a2.sh clang-9: note: diagnostic msg: But this is not a bug, this is a feature. :-) Not only is this not a bug, this is also pretty confusing. This patch causes just to print the fatal error and not the diagnostic: fatal error: error in backend: Target does not support the tiny CodeModel Differential Revision: https://reviews.llvm.org/D62236 llvm-svn: 361370
This commit is contained in:
parent
400d5be82b
commit
27556576bb
@ -390,9 +390,9 @@ inline CodeModel::Model getEffectiveCodeModel(Optional<CodeModel::Model> CM,
|
||||
if (CM) {
|
||||
// By default, targets do not support the tiny and kernel models.
|
||||
if (*CM == CodeModel::Tiny)
|
||||
report_fatal_error("Target does not support the tiny CodeModel");
|
||||
report_fatal_error("Target does not support the tiny CodeModel", false);
|
||||
if (*CM == CodeModel::Kernel)
|
||||
report_fatal_error("Target does not support the kernel CodeModel");
|
||||
report_fatal_error("Target does not support the kernel CodeModel", false);
|
||||
return *CM;
|
||||
}
|
||||
return Default;
|
||||
|
@ -244,9 +244,9 @@ static CodeModel::Model getEffectivePPCCodeModel(const Triple &TT,
|
||||
bool JIT) {
|
||||
if (CM) {
|
||||
if (*CM == CodeModel::Tiny)
|
||||
report_fatal_error("Target does not support the tiny CodeModel");
|
||||
report_fatal_error("Target does not support the tiny CodeModel", false);
|
||||
if (*CM == CodeModel::Kernel)
|
||||
report_fatal_error("Target does not support the kernel CodeModel");
|
||||
report_fatal_error("Target does not support the kernel CodeModel", false);
|
||||
return *CM;
|
||||
}
|
||||
if (!TT.isOSDarwin() && !JIT &&
|
||||
|
@ -75,9 +75,9 @@ getEffectiveSparcCodeModel(Optional<CodeModel::Model> CM, Reloc::Model RM,
|
||||
bool Is64Bit, bool JIT) {
|
||||
if (CM) {
|
||||
if (*CM == CodeModel::Tiny)
|
||||
report_fatal_error("Target does not support the tiny CodeModel");
|
||||
report_fatal_error("Target does not support the tiny CodeModel", false);
|
||||
if (*CM == CodeModel::Kernel)
|
||||
report_fatal_error("Target does not support the kernel CodeModel");
|
||||
report_fatal_error("Target does not support the kernel CodeModel", false);
|
||||
return *CM;
|
||||
}
|
||||
if (Is64Bit) {
|
||||
|
@ -133,9 +133,9 @@ getEffectiveSystemZCodeModel(Optional<CodeModel::Model> CM, Reloc::Model RM,
|
||||
bool JIT) {
|
||||
if (CM) {
|
||||
if (*CM == CodeModel::Tiny)
|
||||
report_fatal_error("Target does not support the tiny CodeModel");
|
||||
report_fatal_error("Target does not support the tiny CodeModel", false);
|
||||
if (*CM == CodeModel::Kernel)
|
||||
report_fatal_error("Target does not support the kernel CodeModel");
|
||||
report_fatal_error("Target does not support the kernel CodeModel", false);
|
||||
return *CM;
|
||||
}
|
||||
if (JIT)
|
||||
|
@ -195,7 +195,7 @@ static CodeModel::Model getEffectiveX86CodeModel(Optional<CodeModel::Model> CM,
|
||||
bool JIT, bool Is64Bit) {
|
||||
if (CM) {
|
||||
if (*CM == CodeModel::Tiny)
|
||||
report_fatal_error("Target does not support the tiny CodeModel");
|
||||
report_fatal_error("Target does not support the tiny CodeModel", false);
|
||||
return *CM;
|
||||
}
|
||||
if (JIT)
|
||||
|
Loading…
Reference in New Issue
Block a user