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::DISubroutineType *diSubprogramType_n =
|
||||||
llvm::cast<llvm::DISubroutineType>(getDICompositeType(diSubprogramType));
|
llvm::cast<llvm::DISubroutineType>(getDICompositeType(diSubprogramType));
|
||||||
int flags = llvm::DINode::FlagPrototyped;
|
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));
|
Assert(llvm::isa<llvm::DISubroutineType>(diSubprogramType));
|
||||||
llvm::DISubroutineType *diSubprogramType_n = llvm::cast<llvm::DISubroutineType>(diSubprogramType);
|
llvm::DISubroutineType *diSubprogramType_n = llvm::cast<llvm::DISubroutineType>(diSubprogramType);
|
||||||
int flags = llvm::DINode::FlagPrototyped;
|
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
|
#endif
|
||||||
|
|
||||||
@@ -417,7 +421,16 @@ FunctionEmitContext::FunctionEmitContext(Function *func, Symbol *funSym,
|
|||||||
isStatic, true, /* is defn */
|
isStatic, true, /* is defn */
|
||||||
firstLine, flags,
|
firstLine, flags,
|
||||||
isOptimized, llvmFunction);
|
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 =
|
diSubprogram =
|
||||||
m->diBuilder->createFunction(diFile /* scope */, funSym->name,
|
m->diBuilder->createFunction(diFile /* scope */, funSym->name,
|
||||||
mangledName, diFile,
|
mangledName, diFile,
|
||||||
@@ -1821,7 +1834,11 @@ FunctionEmitContext::EmitFunctionParameterDebugInfo(Symbol *sym, int argNum) {
|
|||||||
if (m->diBuilder == NULL)
|
if (m->diBuilder == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_9
|
||||||
int flags = 0;
|
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 */
|
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_6 /* 3.2, 3.3, 3.4, 3.5, 3.6 */
|
||||||
llvm::DIScope scope = diSubprogram;
|
llvm::DIScope scope = diSubprogram;
|
||||||
llvm::DIType diType = sym->type->GetDIType(scope);
|
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::DIFile *diFile = elementPositions[i].GetDIFile();
|
||||||
llvm::DIDerivedType *fieldType =
|
llvm::DIDerivedType *fieldType =
|
||||||
#endif
|
#endif
|
||||||
|
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_9
|
||||||
m->diBuilder->createMemberType(scope, elementNames[i], diFile,
|
m->diBuilder->createMemberType(scope, elementNames[i], diFile,
|
||||||
line, eltSize, eltAlign,
|
line, eltSize, eltAlign,
|
||||||
currentSize, 0, eltType);
|
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);
|
elementLLVMTypes.push_back(fieldType);
|
||||||
|
|
||||||
currentSize += eltSize;
|
currentSize += eltSize;
|
||||||
@@ -2334,7 +2340,11 @@ llvm::DIType *StructType::GetDIType(llvm::DIScope *scope) const {
|
|||||||
pos.first_line, // Line number
|
pos.first_line, // Line number
|
||||||
currentSize, // Size in bits
|
currentSize, // Size in bits
|
||||||
align, // Alignment in bits
|
align, // Alignment in bits
|
||||||
|
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_9
|
||||||
0, // Flags
|
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
|
#if ISPC_LLVM_VERSION >= ISPC_LLVM_3_3 && ISPC_LLVM_VERSION <= ISPC_LLVM_3_6
|
||||||
llvm::DIType(), // DerivedFrom
|
llvm::DIType(), // DerivedFrom
|
||||||
#elif ISPC_LLVM_VERSION >= ISPC_LLVM_3_7 // LLVM 3.7++
|
#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
|
pos.first_line, // Line number
|
||||||
0, // Size
|
0, // Size
|
||||||
0, // Align
|
0, // Align
|
||||||
|
#if ISPC_LLVM_VERSION <= ISPC_LLVM_3_9
|
||||||
0, // Flags
|
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
|
#if ISPC_LLVM_VERSION >= ISPC_LLVM_3_3 && ISPC_LLVM_VERSION <= ISPC_LLVM_3_6
|
||||||
llvm::DIType(), // DerivedFrom
|
llvm::DIType(), // DerivedFrom
|
||||||
#elif ISPC_LLVM_VERSION >= ISPC_LLVM_3_7 // LLVM 3.7+
|
#elif ISPC_LLVM_VERSION >= ISPC_LLVM_3_7 // LLVM 3.7+
|
||||||
|
|||||||
Reference in New Issue
Block a user