From: Chris Lattner Date: Mon, 3 Nov 2003 04:31:54 +0000 (+0000) Subject: This simplifies the CWriter code, makes the generated code easier to read, X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=8917d36229201b4cd165860167613f8ce95ce16d;p=oota-llvm.git 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 --- diff --git a/lib/Target/CBackend/CBackend.cpp b/lib/Target/CBackend/CBackend.cpp index d778d1e946f..e32987cbd2e 100644 --- a/lib/Target/CBackend/CBackend.cpp +++ b/lib/Target/CBackend/CBackend.cpp @@ -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(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(PTy->getElementType())) + ptrName = "(" + ptrName + ")"; return printType(Out, PTy->getElementType(), ptrName); } diff --git a/lib/Target/CBackend/Writer.cpp b/lib/Target/CBackend/Writer.cpp index d778d1e946f..e32987cbd2e 100644 --- a/lib/Target/CBackend/Writer.cpp +++ b/lib/Target/CBackend/Writer.cpp @@ -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(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(PTy->getElementType())) + ptrName = "(" + ptrName + ")"; return printType(Out, PTy->getElementType(), ptrName); }