[LLVMdev] Evaluation of offsetof() macro

Vadim Chugunov vadimcn at gmail.com
Fri Jan 2 01:58:14 PST 2015


Hi!
LLVM has a class, ConstantExpr, that is very handy for compile-time
evaluation of const expressions.   Unfortunately I cannot find any methods
in it that would be helpful in evaluation of expressions similar to this:
(uintptr_t)(&(*(TYPE*)0).FIELD), which is basically the implementation of
the offsetof(TYPE, FIELD) macro.  Specifically, there seem to be no
provisions for dereferencing a pointer.

Does LLVM have any facilities (that I missed), that would help language
front-ends in dealing with this sort of expressions?
Obviously, clang does it somehow, but so far I was not able to locate the
relevant bit of code.  Any pointers would be appreciated!

Vadim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150102/50e79b20/attachment.html>


More information about the llvm-dev mailing list