[llvm-dev] PtrToInt in array initializer

Doug Christman via llvm-dev llvm-dev at lists.llvm.org
Thu Sep 8 10:37:25 PDT 2016


Hello all,

I'm trying to use the C API to initialize a global integer array with
the address of another global, but ptrtoint yields an array instead of
an integer.  You can see a short program demonstrating the issue here
(tested with LLVM 3.8.1 and 4.0.0svn-r280709 on Linux x86_64):

https://raw.githubusercontent.com/dobyrch/dbc/master/llvm_bug/example.c

Note that the use of ptrtoint in the array initializer causes all array
elements to take on the type [2 x i64] instead of i64.  If the output
is manually edited to change the element types to i64, llc compiles it
without error.

Is this a bug, or am I misunderstanding/misusing ptrtoint?

Thanks,
Doug


More information about the llvm-dev mailing list