diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2012-03-06 07:14:54 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2012-03-06 07:14:54 +0000 |
commit | 0db235a2b0ed6ae5c3c870012061906054b6dbc4 (patch) | |
tree | c727a12dfaf3d26181baa798e0ff3a0de6bad7b4 /include/llvm/ADT/PointerUnion.h | |
parent | f0c094b1155e9316e93b28bfbd3153bc99d1ac95 (diff) | |
download | llvm-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.h | 17 |
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 |