Trunk fix for Rev.280686.
This commit is contained in:
21
ctx.cpp
21
ctx.cpp
@@ -385,10 +385,14 @@ FunctionEmitContext::FunctionEmitContext(Function *func, Symbol *funSym,
|
||||
llvm::DISubroutineType *diSubprogramType_n =
|
||||
llvm::cast<llvm::DISubroutineType>(getDICompositeType(diSubprogramType));
|
||||
int flags = llvm::DINode::FlagPrototyped;
|
||||
#else /* LLVM 3.8+ */
|
||||
#elif ISPC_LLVM_VERSION == ISPC_LLVM_3_8 || ISPC_LLVM_VERSION == ISPC_LLVM_3_9 /* LLVM 3.8, 3.9 */
|
||||
Assert(llvm::isa<llvm::DISubroutineType>(diSubprogramType));
|
||||
llvm::DISubroutineType *diSubprogramType_n = llvm::cast<llvm::DISubroutineType>(diSubprogramType);
|
||||
int flags = llvm::DINode::FlagPrototyped;
|
||||
#else /* LLVM 4.0+ */
|
||||
Assert(llvm::isa<llvm::DISubroutineType>(diSubprogramType));
|
||||
llvm::DISubroutineType *diSubprogramType_n = llvm::cast<llvm::DISubroutineType>(diSubprogramType);
|
||||
llvm::DINode::DIFlags flags = llvm::DINode::FlagPrototyped;
|
||||
|
||||
#endif
|
||||
|
||||
@@ -417,7 +421,16 @@ FunctionEmitContext::FunctionEmitContext(Function *func, Symbol *funSym,
|
||||
isStatic, true, /* is defn */
|
||||
firstLine, flags,
|
||||
isOptimized, llvmFunction);
|
||||
#else /* LLVM 3.8+ */
|
||||
#elif ISPC_LLVM_VERSION == ISPC_LLVM_3_8 || ISPC_LLVM_VERSION == ISPC_LLVM_3_9 /* LLVM 3.8, 3.9 */
|
||||
diSubprogram =
|
||||
m->diBuilder->createFunction(diFile /* scope */, funSym->name,
|
||||
mangledName, diFile,
|
||||
firstLine, diSubprogramType_n,
|
||||
isStatic, true, /* is defn */
|
||||
firstLine, flags,
|
||||
isOptimized);
|
||||
llvmFunction->setSubprogram(diSubprogram);
|
||||
#else /* LLVM 4.0+ */
|
||||
diSubprogram =
|
||||
m->diBuilder->createFunction(diFile /* scope */, funSym->name,
|
||||
mangledName, diFile,
|
||||
@@ -1821,7 +1834,11 @@ FunctionEmitContext::EmitFunctionParameterDebugInfo(Symbol *sym, int argNum) {
|
||||
if (m->diBuilder == NULL)
|
||||
return;
|
||||
|
||||
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_9
|
||||
int flags = 0;
|
||||
#else // LLVM 4.0+
|
||||
llvm::DINode::DIFlags flags = llvm::DINode::FlagZero;
|
||||
#endif
|
||||
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_6 /* 3.2, 3.3, 3.4, 3.5, 3.6 */
|
||||
llvm::DIScope scope = diSubprogram;
|
||||
llvm::DIType diType = sym->type->GetDIType(scope);
|
||||
|
||||
14
type.cpp
14
type.cpp
@@ -2307,9 +2307,15 @@ llvm::DIType *StructType::GetDIType(llvm::DIScope *scope) const {
|
||||
llvm::DIFile *diFile = elementPositions[i].GetDIFile();
|
||||
llvm::DIDerivedType *fieldType =
|
||||
#endif
|
||||
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_9
|
||||
m->diBuilder->createMemberType(scope, elementNames[i], diFile,
|
||||
line, eltSize, eltAlign,
|
||||
currentSize, 0, eltType);
|
||||
#else // LLVM 4.0+
|
||||
m->diBuilder->createMemberType(scope, elementNames[i], diFile,
|
||||
line, eltSize, eltAlign,
|
||||
currentSize, llvm::DINode::FlagZero, eltType);
|
||||
#endif
|
||||
elementLLVMTypes.push_back(fieldType);
|
||||
|
||||
currentSize += eltSize;
|
||||
@@ -2334,7 +2340,11 @@ llvm::DIType *StructType::GetDIType(llvm::DIScope *scope) const {
|
||||
pos.first_line, // Line number
|
||||
currentSize, // Size in bits
|
||||
align, // Alignment in bits
|
||||
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_9
|
||||
0, // Flags
|
||||
#else // LLVM 4.0+
|
||||
llvm::DINode::FlagZero, // Flags
|
||||
#endif
|
||||
#if ISPC_LLVM_VERSION >= ISPC_LLVM_3_3 && ISPC_LLVM_VERSION <= ISPC_LLVM_3_6
|
||||
llvm::DIType(), // DerivedFrom
|
||||
#elif ISPC_LLVM_VERSION >= ISPC_LLVM_3_7 // LLVM 3.7++
|
||||
@@ -2584,7 +2594,11 @@ llvm::DIType *UndefinedStructType::GetDIType(llvm::DIScope *scope) const {
|
||||
pos.first_line, // Line number
|
||||
0, // Size
|
||||
0, // Align
|
||||
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_9
|
||||
0, // Flags
|
||||
#else // LLVM 4.0+
|
||||
llvm::DINode::FlagZero, // Flags
|
||||
#endif
|
||||
#if ISPC_LLVM_VERSION >= ISPC_LLVM_3_3 && ISPC_LLVM_VERSION <= ISPC_LLVM_3_6
|
||||
llvm::DIType(), // DerivedFrom
|
||||
#elif ISPC_LLVM_VERSION >= ISPC_LLVM_3_7 // LLVM 3.7+
|
||||
|
||||
Reference in New Issue
Block a user