Changes in directory llvm/include/llvm:
DerivedTypes.h updated: 1.76 -> 1.77 --- Log message: Change the syntax for parameter attributes: 1. The @ sign is no longer necessary. 2. We now support "function attributes" as parameter attribute 0. 3. Instead of locating the return type attributes after the type of a function result, they are now located after the function header's closing paranthesis and before any alignment or section options. 4. The way has been prepared for a new "noreturn" function attribute but there is no support for recognizing it in the lexer nor doing anything with it if it does get set. 5. The FunctionType::getParamAttrsText method now has support for returning multiple attributes. This required a change in its interface. I'm unhappy that this change leads to 6 new shift/reduce conflicts, but in each case bison's decision to choose the shift is correct so there shouldn't be any damage from these conflicts. --- Diffs of the changes: (+5 -4) DerivedTypes.h | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-) Index: llvm/include/llvm/DerivedTypes.h diff -u llvm/include/llvm/DerivedTypes.h:1.76 llvm/include/llvm/DerivedTypes.h:1.77 --- llvm/include/llvm/DerivedTypes.h:1.76 Thu Jan 4 11:50:42 2007 +++ llvm/include/llvm/DerivedTypes.h Fri Jan 5 11:06:19 2007 @@ -81,9 +81,10 @@ /// set of possible attributes. /// @brief Function parameter attributes enumeration. enum ParameterAttributes { - NoAttributeSet = 0, ///< No attribute value has been set on the parameter - ZExtAttribute = 1, ///< The parameter should be zero extended before call - SExtAttribute = 2 ///< The parameter should be sign extended before call + NoAttributeSet = 0, ///< No attribute value has been set + ZExtAttribute = 1, ///< zero extended before/after call + SExtAttribute = 1 << 1, ///< sign extended before/after call + NoReturnAttribute = 1 << 2 ///< mark the function as not returning }; typedef std::vector<ParameterAttributes> ParamAttrsList; private: @@ -142,7 +143,7 @@ } /// @brief Convert a ParameterAttribute into its assembly text - static const char * getParamAttrsText(ParameterAttributes Attr); + static std::string getParamAttrsText(ParameterAttributes Attr); // Implement the AbstractTypeUser interface. virtual void refineAbstractType(const DerivedType *OldTy, const Type *NewTy); _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits