[llvm-commits] [PATCH 1/2] Fix Casting

dag at cray.com dag at cray.com
Wed Jan 9 15:05:29 PST 2013


David Greene <dag at cray.com> writes:

> Do proper casting to eliminate a const-away-cast compiler warning.
> ---
>  llvm/lib/ExecutionEngine/ExecutionEngine.cpp |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/llvm/lib/ExecutionEngine/ExecutionEngine.cpp b/llvm/lib/ExecutionEngine/ExecutionEngine.cpp
> index ef5f589..6f71ffb 100644
> --- a/llvm/lib/ExecutionEngine/ExecutionEngine.cpp
> +++ b/llvm/lib/ExecutionEngine/ExecutionEngine.cpp
> @@ -893,7 +893,8 @@ void ExecutionEngine::StoreValueToMemory(const GenericValue &Val,
>  /// from Src into IntVal, which is assumed to be wide enough and to hold zero.
>  static void LoadIntFromMemory(APInt &IntVal, uint8_t *Src, unsigned LoadBytes) {
>    assert((IntVal.getBitWidth()+7)/8 >= LoadBytes && "Integer too small!");
> -  uint8_t *Dst = (uint8_t *)IntVal.getRawData();
> +  uint8_t *Dst = reinterpret_cast<uint8_t *>(
> +                   const_cast<uint64_t *>(IntVal.getRawData()));
>  
>    if (sys::isLittleEndianHost())
>      // Little-endian host - the destination must be ordered from LSB to MSB.

Ping?  I have a whole bunch of these (~40) for llvm and clang.  I didn't
want to flood the commits list with each one, they all basically do the
same kind of thing.

                              -David



More information about the llvm-commits mailing list