"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "gen/runtime.cpp" between
ldc-1.32.0.tar.gz and ldc-1.32.1.tar.gz

About: LDC is a LLVM-based D compiler.

runtime.cpp  (ldc-1.32.0):runtime.cpp  (ldc-1.32.1)
skipping to change at line 367 skipping to change at line 367
// OSX: void __assert_rtn(const char *func, const char *file, unsigned line, // OSX: void __assert_rtn(const char *func, const char *file, unsigned line,
// const char *msg) // const char *msg)
// Android: void __assert(const char *file, int line, const char *msg) // Android: void __assert(const char *file, int line, const char *msg)
// MSVC: void _assert(const char *msg, const char *file, unsigned line) // MSVC: void _assert(const char *msg, const char *file, unsigned line)
// Solaris: void __assert_c99(const char *assertion, const char *filename, int l ine_num, // Solaris: void __assert_c99(const char *assertion, const char *filename, int l ine_num,
// const char *funcname); // const char *funcname);
// Musl: void __assert_fail(const char *assertion, const char *filename, int line_num, // Musl: void __assert_fail(const char *assertion, const char *filename, int line_num,
// const char *funcname); // const char *funcname);
// uClibc: void __assert(const char *assertion, const char *filename, int linen umber, // uClibc: void __assert(const char *assertion, const char *filename, int linen umber,
// const char *function); // const char *function);
// newlib: void __assert_func(const char *file, int line, const char *func,
// const char *failedexpr)
// else: void __assert(const char *msg, const char *file, unsigned line) // else: void __assert(const char *msg, const char *file, unsigned line)
static const char *getCAssertFunctionName() { static const char *getCAssertFunctionName() {
const auto &triple = *global.params.targetTriple; const auto &triple = *global.params.targetTriple;
if (triple.isOSDarwin()) { if (triple.isOSDarwin()) {
return "__assert_rtn"; return "__assert_rtn";
} else if (triple.isWindowsMSVCEnvironment()) { } else if (triple.isWindowsMSVCEnvironment()) {
return "_assert"; return "_assert";
} else if (triple.isOSSolaris()) { } else if (triple.isOSSolaris()) {
return "__assert_c99"; return "__assert_c99";
} else if (triple.isMusl()) { } else if (triple.isMusl()) {
return "__assert_fail"; return "__assert_fail";
} else if (global.params.isNewlibEnvironment) {
return "__assert_func";
} }
return "__assert"; return "__assert";
} }
static std::vector<PotentiallyLazyType> getCAssertFunctionParamTypes() { static std::vector<PotentiallyLazyType> getCAssertFunctionParamTypes() {
const auto &triple = *global.params.targetTriple; const auto &triple = *global.params.targetTriple;
const auto voidPtr = Type::tvoidptr; const auto voidPtr = Type::tvoidptr;
const auto uint = Type::tuns32; const auto uint = Type::tuns32;
if (triple.isOSDarwin() || triple.isOSSolaris() || triple.isMusl() || if (triple.isOSDarwin() || triple.isOSSolaris() || triple.isMusl() ||
global.params.isUClibcEnvironment) { global.params.isUClibcEnvironment) {
return {voidPtr, voidPtr, uint, voidPtr}; return {voidPtr, voidPtr, uint, voidPtr};
} }
if (triple.getEnvironment() == llvm::Triple::Android) { if (triple.getEnvironment() == llvm::Triple::Android) {
return {voidPtr, uint, voidPtr}; return {voidPtr, uint, voidPtr};
} }
if (global.params.isNewlibEnvironment) {
return {voidPtr, uint, voidPtr, voidPtr};
}
return {voidPtr, voidPtr, uint}; return {voidPtr, voidPtr, uint};
} }
llvm::Function *getCAssertFunction(const Loc &loc, llvm::Module &target) { llvm::Function *getCAssertFunction(const Loc &loc, llvm::Module &target) {
return getRuntimeFunction(loc, target, getCAssertFunctionName()); return getRuntimeFunction(loc, target, getCAssertFunctionName());
} }
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// Continue-unwinding function: // Continue-unwinding function:
 End of changes. 3 change blocks. 
0 lines changed or deleted 7 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)