Pipe through source file locations of structure element declarations; these are now supplied to the llvm::DIBuilder::createMemberType() method rather than giving it the position of the overall struct declaration for each one. Fixes issue #31
This commit is contained in:
13
parse.yy
13
parse.yy
@@ -564,9 +564,11 @@ struct_or_union_specifier
|
||||
{
|
||||
std::vector<const Type *> elementTypes;
|
||||
std::vector<std::string> elementNames;
|
||||
GetStructTypesAndNames(*$4, &elementTypes, &elementNames);
|
||||
std::vector<SourcePos> elementPositions;
|
||||
GetStructTypesNamesPositions(*$4, &elementTypes, &elementNames,
|
||||
&elementPositions);
|
||||
StructType *st = new StructType($2, elementTypes, elementNames,
|
||||
false, true, @2);
|
||||
elementPositions, false, true, @2);
|
||||
m->symbolTable->AddType($2, st, @2);
|
||||
$$ = st;
|
||||
}
|
||||
@@ -574,8 +576,11 @@ struct_or_union_specifier
|
||||
{
|
||||
std::vector<const Type *> elementTypes;
|
||||
std::vector<std::string> elementNames;
|
||||
GetStructTypesAndNames(*$3, &elementTypes, &elementNames);
|
||||
$$ = new StructType("", elementTypes, elementNames, false, true, @1);
|
||||
std::vector<SourcePos> elementPositions;
|
||||
GetStructTypesNamesPositions(*$3, &elementTypes, &elementNames,
|
||||
&elementPositions);
|
||||
$$ = new StructType("", elementTypes, elementNames, elementPositions,
|
||||
false, true, @1);
|
||||
}
|
||||
| struct_or_union '{' '}'
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user