summaryrefslogtreecommitdiff
path: root/include/llvm/ADT/PointerUnion.h
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-03-06 07:14:54 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-03-06 07:14:54 +0000
commit0db235a2b0ed6ae5c3c870012061906054b6dbc4 (patch)
treec727a12dfaf3d26181baa798e0ff3a0de6bad7b4 /include/llvm/ADT/PointerUnion.h
parentf0c094b1155e9316e93b28bfbd3153bc99d1ac95 (diff)
downloadllvm-0db235a2b0ed6ae5c3c870012061906054b6dbc4.tar.gz
llvm-0db235a2b0ed6ae5c3c870012061906054b6dbc4.tar.bz2
llvm-0db235a2b0ed6ae5c3c870012061906054b6dbc4.tar.xz
PointerUnion::getAddrOf() does not need to be template since we can only
use the first pointer type for it. Rename it to getAddrOfPtr1(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152106 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/ADT/PointerUnion.h')
-rw-r--r--include/llvm/ADT/PointerUnion.h17
1 files changed, 10 insertions, 7 deletions
diff --git a/include/llvm/ADT/PointerUnion.h b/include/llvm/ADT/PointerUnion.h
index 487096a171..036cf60388 100644
--- a/include/llvm/ADT/PointerUnion.h
+++ b/include/llvm/ADT/PointerUnion.h
@@ -142,16 +142,19 @@ namespace llvm {
return T();
}
- /// \brief If the union is set to the first pointer type we can get an
- /// address pointing to it.
- template <typename T>
- PT1 const *getAddrOf() const {
+ /// \brief If the union is set to the first pointer type get an address
+ /// pointing to it.
+ PT1 const *getAddrOfPtr1() const {
+ return const_cast<PointerUnion *>(this)->getAddrOfPtr1();
+ }
+
+ /// \brief If the union is set to the first pointer type get an address
+ /// pointing to it.
+ PT1 *getAddrOfPtr1() {
assert(is<PT1>() && "Val is not the first pointer");
assert(get<PT1>() == Val.getPointer() &&
"Can't get the address because PointerLikeTypeTraits changes the ptr");
- T const *can_only_get_address_of_first_pointer_type
- = reinterpret_cast<PT1 const *>(Val.getAddrOfPointer());
- return can_only_get_address_of_first_pointer_type;
+ return (PT1 *)Val.getAddrOfPointer();
}
/// Assignment operators - Allow assigning into this union from either