diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2007-03-22 02:13:23 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2007-03-22 02:13:23 +0000 |
commit | a39dfd39e4836f1fdc49b970884523f0917c9080 (patch) | |
tree | a7af539ee2c91f85e3f6c2a2228e6686b5a32b9d /lib/AsmParser | |
parent | 27e4da93b6924879aabf941bc6c71d4299e92229 (diff) | |
download | llvm-a39dfd39e4836f1fdc49b970884523f0917c9080.tar.gz llvm-a39dfd39e4836f1fdc49b970884523f0917c9080.tar.bz2 llvm-a39dfd39e4836f1fdc49b970884523f0917c9080.tar.xz |
Add support for the noreturn and nounwind function attributes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35258 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AsmParser')
-rw-r--r-- | lib/AsmParser/Lexer.l | 2 | ||||
-rw-r--r-- | lib/AsmParser/llvmAsmParser.y | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/lib/AsmParser/Lexer.l b/lib/AsmParser/Lexer.l index 3cd08e9aee..7c524a2ba5 100644 --- a/lib/AsmParser/Lexer.l +++ b/lib/AsmParser/Lexer.l @@ -235,6 +235,8 @@ x86_fastcallcc { return X86_FASTCALLCC_TOK; } inreg { return INREG; } sret { return SRET; } +nounwind { return NOUNWIND; } +noreturn { return NORETURN; } void { RET_TY(Type::VoidTy, VOID); } float { RET_TY(Type::FloatTy, FLOAT); } diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y index 8bd2f432d8..4271273573 100644 --- a/lib/AsmParser/llvmAsmParser.y +++ b/lib/AsmParser/llvmAsmParser.y @@ -1078,7 +1078,7 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) { %token <OtherOpVal> EXTRACTELEMENT INSERTELEMENT SHUFFLEVECTOR // Function Attributes -%token NORETURN INREG SRET +%token NORETURN INREG SRET NOUNWIND // Visibility Styles %token DEFAULT HIDDEN @@ -1204,6 +1204,7 @@ OptParamAttrs : /* empty */ { $$ = FunctionType::NoAttributeSet; } ; FuncAttr : NORETURN { $$ = FunctionType::NoReturnAttribute; } + | NOUNWIND { $$ = FunctionType::NoUnwindAttribute; } | ParamAttr ; |