Upgrade LLVM and Clang to current ToT (#305)
* Fix uses of getOrInsertFunction
* return type changed
* Fix uses of raw_fd_ostream
* enums changed
* Fix memcpy replacement
* alignments are now src and dest params
* Add default verification prefix
* needs to know what string to use with -verify
* Test updates
* struct inserts needs new targeted tests
* pointer selection needs new targeted tests
* Allow old toolchains
* rewrite function attribute copy
diff --git a/lib/Compiler.cpp b/lib/Compiler.cpp
index bd52497..8c6b12b 100644
--- a/lib/Compiler.cpp
+++ b/lib/Compiler.cpp
@@ -376,6 +376,7 @@
if (verify) {
instance.getDiagnosticOpts().VerifyDiagnostics = true;
+ instance.getDiagnosticOpts().VerifyPrefixes.push_back("expected");
}
clang::LangStandard::Kind standard = clang::LangStandard::lang_opencl12;
@@ -762,8 +763,9 @@
std::error_code error;
if (!DescriptorMapFilename.empty()) {
llvm::raw_fd_ostream descriptor_map_out_fd(DescriptorMapFilename, error,
- llvm::sys::fs::F_RW |
- llvm::sys::fs::F_Text);
+ llvm::sys::fs::CD_CreateAlways,
+ llvm::sys::fs::FA_Write,
+ llvm::sys::fs::F_Text);
if (error) {
llvm::errs() << "Unable to open descriptor map file '"
<< DescriptorMapFilename << "': " << error.message() << '\n';
@@ -791,7 +793,7 @@
OutputFilename = "a.spv";
}
}
- llvm::raw_fd_ostream outStream(OutputFilename, error, llvm::sys::fs::F_RW);
+ llvm::raw_fd_ostream outStream(OutputFilename, error, llvm::sys::fs::FA_Write);
if (error) {
llvm::errs() << "Unable to open output file '" << OutputFilename