aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-02-18 00:29:14 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-02-18 00:29:14 +0000
commit0cd7fc28d4f69b281522b1bc96decd2b92cfd812 (patch)
tree74b599f9907f4bac6f7a51aeafe414998e694503
parent6f541026b6dffc2801ed825d769e5fa0af95178d (diff)
Add ASTContext::MakeIntValue
- Makes an APSInt given a uint64_t and a type, with the appropriate width and signedness to match the type. Yay for functional over imperative. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64863 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/clang/AST/ASTContext.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/clang/AST/ASTContext.h b/include/clang/AST/ASTContext.h
index 0cb2b35f5a..349b6e3f83 100644
--- a/include/clang/AST/ASTContext.h
+++ b/include/clang/AST/ASTContext.h
@@ -615,6 +615,18 @@ public:
void Emit(llvm::Serializer& S) const;
static ASTContext* Create(llvm::Deserializer& D);
+ //===--------------------------------------------------------------------===//
+ // Integer Values
+ //===--------------------------------------------------------------------===//
+
+ /// MakeIntValue - Make an APSInt of the appropriate width and
+ /// signedness for the given \arg Value and integer \arg Type.
+ llvm::APSInt MakeIntValue(uint64_t Value, QualType Type) {
+ llvm::APSInt Res(getIntWidth(Type), !Type->isSignedIntegerType());
+ Res = Value;
+ return Res;
+ }
+
private:
ASTContext(const ASTContext&); // DO NOT IMPLEMENT
void operator=(const ASTContext&); // DO NOT IMPLEMENT