diff options
author | Anna Zaks <ganna@apple.com> | 2012-01-17 00:37:07 +0000 |
---|---|---|
committer | Anna Zaks <ganna@apple.com> | 2012-01-17 00:37:07 +0000 |
commit | 0a151a137a68bb656acbcce7ff2407613bb80cfc (patch) | |
tree | 129f7d790b7cec9541c6d152fd876f451dd2c131 /lib/AST/Decl.cpp | |
parent | 022b3f4490bbdcde7b3f18ce0498f9a73b6cbf53 (diff) |
Use Builtin ID as the return value
for FunctionDecl::getMemoryFunctionKind().
This is a follow up on the Chris's review for r148142: We don't want to
pollute FunctionDecl with an extra enum. (To make this work, added
memcmp and family to the library builtins.)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148267 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/Decl.cpp')
-rw-r--r-- | lib/AST/Decl.cpp | 49 |
1 files changed, 26 insertions, 23 deletions
diff --git a/lib/AST/Decl.cpp b/lib/AST/Decl.cpp index 96766dca5b..195136313b 100644 --- a/lib/AST/Decl.cpp +++ b/lib/AST/Decl.cpp @@ -2290,80 +2290,83 @@ SourceRange FunctionDecl::getSourceRange() const { return SourceRange(getOuterLocStart(), EndRangeLoc); } -FunctionDecl::MemoryFunctionKind FunctionDecl::getMemoryFunctionKind() { +unsigned FunctionDecl::getMemoryFunctionKind() { IdentifierInfo *FnInfo = getIdentifier(); if (!FnInfo) - return MFK_Invalid; + return 0; // Builtin handling. switch (getBuiltinID()) { case Builtin::BI__builtin_memset: case Builtin::BI__builtin___memset_chk: case Builtin::BImemset: - return MFK_Memset; + return Builtin::BImemset; case Builtin::BI__builtin_memcpy: case Builtin::BI__builtin___memcpy_chk: case Builtin::BImemcpy: - return MFK_Memcpy; + return Builtin::BImemcpy; case Builtin::BI__builtin_memmove: case Builtin::BI__builtin___memmove_chk: case Builtin::BImemmove: - return MFK_Memmove; + return Builtin::BImemmove; case Builtin::BIstrlcpy: - return MFK_Strlcpy; + return Builtin::BIstrlcpy; case Builtin::BIstrlcat: - return MFK_Strlcat; + return Builtin::BIstrlcat; case Builtin::BI__builtin_memcmp: - return MFK_Memcmp; + case Builtin::BImemcmp: + return Builtin::BImemcmp; case Builtin::BI__builtin_strncpy: case Builtin::BI__builtin___strncpy_chk: case Builtin::BIstrncpy: - return MFK_Strncpy; + return Builtin::BIstrncpy; case Builtin::BI__builtin_strncmp: - return MFK_Strncmp; + case Builtin::BIstrncmp: + return Builtin::BIstrncmp; case Builtin::BI__builtin_strncasecmp: - return MFK_Strncasecmp; + case Builtin::BIstrncasecmp: + return Builtin::BIstrncasecmp; case Builtin::BI__builtin_strncat: case Builtin::BIstrncat: - return MFK_Strncat; + return Builtin::BIstrncat; case Builtin::BI__builtin_strndup: case Builtin::BIstrndup: - return MFK_Strndup; + return Builtin::BIstrndup; default: if (isExternC()) { if (FnInfo->isStr("memset")) - return MFK_Memset; + return Builtin::BImemset; else if (FnInfo->isStr("memcpy")) - return MFK_Memcpy; + return Builtin::BImemcpy; else if (FnInfo->isStr("memmove")) - return MFK_Memmove; + return Builtin::BImemmove; else if (FnInfo->isStr("memcmp")) - return MFK_Memcmp; + return Builtin::BImemcmp; else if (FnInfo->isStr("strncpy")) - return MFK_Strncpy; + return Builtin::BIstrncpy; else if (FnInfo->isStr("strncmp")) - return MFK_Strncmp; + return Builtin::BIstrncmp; else if (FnInfo->isStr("strncasecmp")) - return MFK_Strncasecmp; + return Builtin::BIstrncasecmp; else if (FnInfo->isStr("strncat")) - return MFK_Strncat; + return Builtin::BIstrncat; else if (FnInfo->isStr("strndup")) - return MFK_Strndup; + return Builtin::BIstrndup; } break; } - return MFK_Invalid; + return 0; } //===----------------------------------------------------------------------===// |