diff options
author | Anton Korobeynikov <asl@math.spbu.ru> | 2007-11-14 09:52:30 +0000 |
---|---|---|
committer | Anton Korobeynikov <asl@math.spbu.ru> | 2007-11-14 09:52:30 +0000 |
commit | ea09c697d7d1fa795f13d1c1476da3a6e788e2b6 (patch) | |
tree | 439c5a9a9ba86c1d16953b8910307949ccf1f3d1 /llvm/lib/AsmParser | |
parent | 2c6387803e61c49f38424fcd4141204f4c49a515 (diff) | |
download | bcm5719-llvm-ea09c697d7d1fa795f13d1c1476da3a6e788e2b6.tar.gz bcm5719-llvm-ea09c697d7d1fa795f13d1c1476da3a6e788e2b6.zip |
Add pure/const attributes. Documentation will follow.
llvm-svn: 44109
Diffstat (limited to 'llvm/lib/AsmParser')
-rw-r--r-- | llvm/lib/AsmParser/Lexer.l | 2 | ||||
-rw-r--r-- | llvm/lib/AsmParser/llvmAsmParser.y | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/AsmParser/Lexer.l b/llvm/lib/AsmParser/Lexer.l index 0591cd99f3f..98a21cabaaa 100644 --- a/llvm/lib/AsmParser/Lexer.l +++ b/llvm/lib/AsmParser/Lexer.l @@ -275,6 +275,8 @@ noreturn { return NORETURN; } noalias { return NOALIAS; } byval { return BYVAL; } nest { return NEST; } +pure { return PURE; } +const { return CONST; } sext{WSNL} { // For auto-upgrade only, drop in LLVM 3.0 return SIGNEXT; } zext{WSNL} { // For auto-upgrade only, drop in LLVM 3.0 diff --git a/llvm/lib/AsmParser/llvmAsmParser.y b/llvm/lib/AsmParser/llvmAsmParser.y index f1c385f70e7..4c9bed0daff 100644 --- a/llvm/lib/AsmParser/llvmAsmParser.y +++ b/llvm/lib/AsmParser/llvmAsmParser.y @@ -1113,6 +1113,7 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) { // Function Attributes %token SIGNEXT ZEROEXT NORETURN INREG SRET NOUNWIND NOALIAS BYVAL NEST +%token CONST PURE // Visibility Styles %token DEFAULT HIDDEN PROTECTED @@ -1256,6 +1257,8 @@ FuncAttr : NORETURN { $$ = ParamAttr::NoReturn; } | NOUNWIND { $$ = ParamAttr::NoUnwind; } | ZEROEXT { $$ = ParamAttr::ZExt; } | SIGNEXT { $$ = ParamAttr::SExt; } + | PURE { $$ = ParamAttr::Pure; } + | CONST { $$ = ParamAttr::Const; } ; OptFuncAttrs : /* empty */ { $$ = ParamAttr::None; } |