Teach sema and codegen about the difference between address of labels,
which is a common idiom to improve PIC'ness of code using the addr of
label extension.  This implementation is a gross hack, but the only other
alternative would be to teach evalutate about this horrid combination.
While GCC allows things like "&&foo - &&bar + 1", people don't use this
in practice.  This implements PR5131.

llvm-svn: 83957
3 files changed
tree: 8d08f6dd8942b0d6d0ac3dca63fde8188a4b2013
  1. clang/
  2. compiler-rt/
  3. llvm/