summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2014-05-23 01:22:46 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2014-05-23 01:22:46 +0000
commit0e93fa9d16b44dd93fbb7f40715ad344812185b0 (patch)
treeae983d15325ae614d42dc42fafe18e128a87907b /include
parente318ce611f265b0a1e0bfd6e51cd3cad28324278 (diff)
downloadllvm-0e93fa9d16b44dd93fbb7f40715ad344812185b0.tar.gz
llvm-0e93fa9d16b44dd93fbb7f40715ad344812185b0.tar.bz2
llvm-0e93fa9d16b44dd93fbb7f40715ad344812185b0.tar.xz
Attempt to placate compilers that warn on casts between pointer-to-object and
pointer-to-function types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209490 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/ADT/STLExtras.h40
1 files changed, 20 insertions, 20 deletions
diff --git a/include/llvm/ADT/STLExtras.h b/include/llvm/ADT/STLExtras.h
index 5b7b88b900..1cef3933b5 100644
--- a/include/llvm/ADT/STLExtras.h
+++ b/include/llvm/ADT/STLExtras.h
@@ -67,11 +67,11 @@ template<typename Fn> class function_ref;
template<typename Ret, typename ...Params>
class function_ref<Ret(Params...)> {
- Ret (*callback)(void *callable, Params ...params);
- void *callable;
+ Ret (*callback)(intptr_t callable, Params ...params);
+ intptr_t callable;
template<typename Callable>
- static Ret callback_fn(void *callable, Params ...params) {
+ static Ret callback_fn(intptr_t callable, Params ...params) {
return (*reinterpret_cast<Callable*>(callable))(
std::forward<Params>(params)...);
}
@@ -80,7 +80,7 @@ public:
template<typename Callable>
function_ref(Callable &&callable)
: callback(callback_fn<typename std::remove_reference<Callable>::type>),
- callable(reinterpret_cast<void *>(&callable)) {}
+ callable(reinterpret_cast<intptr_t>(&callable)) {}
Ret operator()(Params ...params) const {
return callback(callable, std::forward<Params>(params)...);
}
@@ -90,11 +90,11 @@ public:
template<typename Ret>
class function_ref<Ret()> {
- Ret (*callback)(void *callable);
- void *callable;
+ Ret (*callback)(intptr_t callable);
+ intptr_t callable;
template<typename Callable>
- static Ret callback_fn(void *callable) {
+ static Ret callback_fn(intptr_t callable) {
return (*reinterpret_cast<Callable*>(callable))();
}
@@ -102,17 +102,17 @@ public:
template<typename Callable>
function_ref(Callable &&callable)
: callback(callback_fn<typename std::remove_reference<Callable>::type>),
- callable(reinterpret_cast<void *>(&callable)) {}
+ callable(reinterpret_cast<intptr_t>(&callable)) {}
Ret operator()() const { return callback(callable); }
};
template<typename Ret, typename Param1>
class function_ref<Ret(Param1)> {
- Ret (*callback)(void *callable, Param1 param1);
- void *callable;
+ Ret (*callback)(intptr_t callable, Param1 param1);
+ intptr_t callable;
template<typename Callable>
- static Ret callback_fn(void *callable, Param1 param1) {
+ static Ret callback_fn(intptr_t callable, Param1 param1) {
return (*reinterpret_cast<Callable*>(callable))(
std::forward<Param1>(param1));
}
@@ -121,7 +121,7 @@ public:
template<typename Callable>
function_ref(Callable &&callable)
: callback(callback_fn<typename std::remove_reference<Callable>::type>),
- callable(reinterpret_cast<void *>(&callable)) {}
+ callable(reinterpret_cast<intptr_t>(&callable)) {}
Ret operator()(Param1 param1) {
return callback(callable, std::forward<Param1>(param1));
}
@@ -129,11 +129,11 @@ public:
template<typename Ret, typename Param1, typename Param2>
class function_ref<Ret(Param1, Param2)> {
- Ret (*callback)(void *callable, Param1 param1, Param2 param2);
- void *callable;
+ Ret (*callback)(intptr_t callable, Param1 param1, Param2 param2);
+ intptr_t callable;
template<typename Callable>
- static Ret callback_fn(void *callable, Param1 param1, Param2 param2) {
+ static Ret callback_fn(intptr_t callable, Param1 param1, Param2 param2) {
return (*reinterpret_cast<Callable*>(callable))(
std::forward<Param1>(param1),
std::forward<Param2>(param2));
@@ -143,7 +143,7 @@ public:
template<typename Callable>
function_ref(Callable &&callable)
: callback(callback_fn<typename std::remove_reference<Callable>::type>),
- callable(reinterpret_cast<void *>(&callable)) {}
+ callable(reinterpret_cast<intptr_t>(&callable)) {}
Ret operator()(Param1 param1, Param2 param2) {
return callback(callable,
std::forward<Param1>(param1),
@@ -153,11 +153,11 @@ public:
template<typename Ret, typename Param1, typename Param2, typename Param3>
class function_ref<Ret(Param1, Param2, Param3)> {
- Ret (*callback)(void *callable, Param1 param1, Param2 param2, Param3 param3);
- void *callable;
+ Ret (*callback)(intptr_t callable, Param1 param1, Param2 param2, Param3 param3);
+ intptr_t callable;
template<typename Callable>
- static Ret callback_fn(void *callable, Param1 param1, Param2 param2,
+ static Ret callback_fn(intptr_t callable, Param1 param1, Param2 param2,
Param3 param3) {
return (*reinterpret_cast<Callable*>(callable))(
std::forward<Param1>(param1),
@@ -169,7 +169,7 @@ public:
template<typename Callable>
function_ref(Callable &&callable)
: callback(callback_fn<typename std::remove_reference<Callable>::type>),
- callable(reinterpret_cast<void *>(&callable)) {}
+ callable(reinterpret_cast<intptr_t>(&callable)) {}
Ret operator()(Param1 param1, Param2 param2, Param3 param3) {
return callback(callable,
std::forward<Param1>(param1),