Author: baldrick Date: Mon Nov 19 09:05:10 2007 New Revision: 44230 URL: http://llvm.org/viewvc/llvm-project?rev=44230&view=rev Log: Add attributes corresponding to gcc's nothrow and noreturn. Get attributes via flags_from_decl_or_type.
Modified: llvm-gcc-4.2/trunk/gcc/llvm-types.cpp Modified: llvm-gcc-4.2/trunk/gcc/llvm-types.cpp URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-types.cpp?rev=44230&r1=44229&r2=44230&view=diff ============================================================================== --- llvm-gcc-4.2/trunk/gcc/llvm-types.cpp (original) +++ llvm-gcc-4.2/trunk/gcc/llvm-types.cpp Mon Nov 19 09:05:10 2007 @@ -1023,12 +1023,22 @@ ParamAttrsVector Attrs; uint16_t RAttributes = ParamAttr::None; + int flags = flags_from_decl_or_type(decl ? decl : type); + // Check for 'const' function attribute - if (decl && TREE_READONLY(decl)) + if (flags & ECF_CONST) RAttributes |= ParamAttr::Const; + // Check for 'noreturn' function attribute + if (flags & ECF_NORETURN) + RAttributes |= ParamAttr::NoReturn; + + // Check for 'nounwind' function attribute + if (flags & ECF_NOTHROW) + RAttributes |= ParamAttr::NoUnwind; + // Check for 'pure' function attribute - if (decl && DECL_IS_PURE(decl)) + if (flags & ECF_PURE) RAttributes |= ParamAttr::Pure; // Compute whether the result needs to be zext or sext'd _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits