mirror of
https://github.com/llvm/llvm-project.git
synced 2025-05-03 14:16:06 +00:00

When using a ptrtoint to a size larger than the pointer width in a global initializer, we currently create a ptr & low_bit_mask style MCExpr, which will later result in a relocation error during object file emission. This patch rejects the constant expression already during lowerConstant(), which results in a much clearer error message that references the constant expression at fault. This fixes https://github.com/llvm/llvm-project/issues/56400, for certain definitions of "fix". Differential Revision: https://reviews.llvm.org/D130366