forked from OSchip/llvm-project
Tidy up `pragma comment lib` handling and testing
A bit of historical research shows that over the years: Commit99efc036
added `pragma comment lib` support for PS4. Commitfd4db533
added `pragma comment lib` support for all ELF targets. Commit1d16515f
reworked dependent-library support for all ELF targets. The upshot is that some PS4-specific code became dead, and the testing became somewhat fragmented. I've removed the dead code and combined the previous PS4-specific and linux-specific tests for the diagnostics into one generic ELF test. Also added a couple of PS5 runs while I was in there.
This commit is contained in:
parent
883b09b664
commit
5a6352bc70
|
@ -3027,14 +3027,6 @@ void PragmaCommentHandler::HandlePragma(Preprocessor &PP,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// On PS4, issue a warning about any pragma comments other than
|
|
||||||
// #pragma comment lib.
|
|
||||||
if (PP.getTargetInfo().getTriple().isPS4() && Kind != PCK_Lib) {
|
|
||||||
PP.Diag(Tok.getLocation(), diag::warn_pragma_comment_ignored)
|
|
||||||
<< II->getName();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Read the optional string if present.
|
// Read the optional string if present.
|
||||||
PP.Lex(Tok);
|
PP.Lex(Tok);
|
||||||
std::string ArgumentString;
|
std::string ArgumentString;
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
// RUN: %clang_cc1 %s -triple thumbv7-linux-gnueabihf -fms-extensions -emit-llvm -o - | FileCheck -check-prefix ELF %s --implicit-check-not llvm.linker.options
|
// RUN: %clang_cc1 %s -triple thumbv7-linux-gnueabihf -fms-extensions -emit-llvm -o - | FileCheck -check-prefix ELF %s --implicit-check-not llvm.linker.options
|
||||||
// RUN: %clang_cc1 %s -triple i686-pc-linux -fms-extensions -emit-llvm -o - | FileCheck -check-prefix ELF %s --implicit-check-not llvm.linker.options
|
// RUN: %clang_cc1 %s -triple i686-pc-linux -fms-extensions -emit-llvm -o - | FileCheck -check-prefix ELF %s --implicit-check-not llvm.linker.options
|
||||||
// RUN: %clang_cc1 %s -triple x86_64-scei-ps4 -fms-extensions -emit-llvm -o - | FileCheck -check-prefix ELF %s --implicit-check-not llvm.linker.options
|
// RUN: %clang_cc1 %s -triple x86_64-scei-ps4 -fms-extensions -emit-llvm -o - | FileCheck -check-prefix ELF %s --implicit-check-not llvm.linker.options
|
||||||
|
// RUN: %clang_cc1 %s -triple x86_64-sie-ps5 -fms-extensions -emit-llvm -o - | FileCheck -check-prefix ELF %s --implicit-check-not llvm.linker.options
|
||||||
// RUN: %clang_cc1 %s -triple aarch64-windows-msvc -fms-extensions -emit-llvm -o - | FileCheck %s
|
// RUN: %clang_cc1 %s -triple aarch64-windows-msvc -fms-extensions -emit-llvm -o - | FileCheck %s
|
||||||
|
|
||||||
#pragma comment(lib, "msvcrt.lib")
|
#pragma comment(lib, "msvcrt.lib")
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
// RUN: %clang_cc1 %s -triple x86_64-scei-ps4 -fsyntax-only -verify -fms-extensions
|
// RUN: %clang_cc1 %s -fsyntax-only -verify -fms-extensions -triple x86_64-scei-ps4
|
||||||
|
// RUN: %clang_cc1 %s -fsyntax-only -verify -fms-extensions -triple x86_64-sie-ps5
|
||||||
|
// RUN: %clang_cc1 %s -fsyntax-only -verify -fms-extensions -triple i686-unknown-linux-gnu
|
||||||
|
|
||||||
// On PS4, issue a diagnostic that pragma comments are ignored except:
|
// On ELF targets, issue a diagnostic that pragma comments are ignored except:
|
||||||
// #pragma comment lib
|
// #pragma comment lib
|
||||||
|
|
||||||
#pragma comment(lib)
|
#pragma comment(lib)
|
|
@ -1,5 +0,0 @@
|
||||||
// RUN: %clang_cc1 -triple i686-unknown-linux-gnu -fsyntax-only -verify %s -Wunknown-pragmas
|
|
||||||
|
|
||||||
#pragma comment(linker, "")
|
|
||||||
// expected-warning@-1 {{'#pragma comment linker' ignored}}
|
|
||||||
|
|
Loading…
Reference in New Issue