mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-16 14:31:59 +00:00
This simplifies the CWriter code, makes the generated code easier to read,
and makes the output work with the intel compiler. Overall, a win. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9671 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
de90b76670
commit
8917d36229
@ -163,11 +163,6 @@ namespace {
|
||||
};
|
||||
}
|
||||
|
||||
// A pointer type should not use parens around *'s alone, e.g., (**)
|
||||
inline bool ptrTypeNameNeedsParens(const std::string &NameSoFar) {
|
||||
return NameSoFar.find_last_not_of('*') != std::string::npos;
|
||||
}
|
||||
|
||||
// Pass the Type* and the variable name and this prints out the variable
|
||||
// declaration.
|
||||
//
|
||||
@ -240,12 +235,8 @@ std::ostream &CWriter::printType(std::ostream &Out, const Type *Ty,
|
||||
const PointerType *PTy = cast<PointerType>(Ty);
|
||||
std::string ptrName = "*" + NameSoFar;
|
||||
|
||||
// Do not need parens around "* NameSoFar" if NameSoFar consists only
|
||||
// of zero or more '*' chars *and* this is not an unnamed pointer type
|
||||
// such as the result type in a cast statement. Otherwise, enclose in ( ).
|
||||
if (ptrTypeNameNeedsParens(NameSoFar) ||
|
||||
PTy->getElementType()->getPrimitiveID() == Type::ArrayTyID)
|
||||
ptrName = "(" + ptrName + ")"; //
|
||||
if (isa<ArrayType>(PTy->getElementType()))
|
||||
ptrName = "(" + ptrName + ")";
|
||||
|
||||
return printType(Out, PTy->getElementType(), ptrName);
|
||||
}
|
||||
|
@ -163,11 +163,6 @@ namespace {
|
||||
};
|
||||
}
|
||||
|
||||
// A pointer type should not use parens around *'s alone, e.g., (**)
|
||||
inline bool ptrTypeNameNeedsParens(const std::string &NameSoFar) {
|
||||
return NameSoFar.find_last_not_of('*') != std::string::npos;
|
||||
}
|
||||
|
||||
// Pass the Type* and the variable name and this prints out the variable
|
||||
// declaration.
|
||||
//
|
||||
@ -240,12 +235,8 @@ std::ostream &CWriter::printType(std::ostream &Out, const Type *Ty,
|
||||
const PointerType *PTy = cast<PointerType>(Ty);
|
||||
std::string ptrName = "*" + NameSoFar;
|
||||
|
||||
// Do not need parens around "* NameSoFar" if NameSoFar consists only
|
||||
// of zero or more '*' chars *and* this is not an unnamed pointer type
|
||||
// such as the result type in a cast statement. Otherwise, enclose in ( ).
|
||||
if (ptrTypeNameNeedsParens(NameSoFar) ||
|
||||
PTy->getElementType()->getPrimitiveID() == Type::ArrayTyID)
|
||||
ptrName = "(" + ptrName + ")"; //
|
||||
if (isa<ArrayType>(PTy->getElementType()))
|
||||
ptrName = "(" + ptrName + ")";
|
||||
|
||||
return printType(Out, PTy->getElementType(), ptrName);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user