diff --git a/clang/lib/CodeGen/Address.h b/clang/lib/CodeGen/Address.h --- a/clang/lib/CodeGen/Address.h +++ b/clang/lib/CodeGen/Address.h @@ -22,16 +22,17 @@ /// An aligned address. class Address { - llvm::Value *Pointer; + llvm::Value *Pointer = nullptr; CharUnits Alignment; public: + Address() { assert(!isValid()); } Address(llvm::Value *pointer, CharUnits alignment) : Pointer(pointer), Alignment(alignment) { assert((!alignment.isZero() || pointer == nullptr) && "creating valid address with invalid alignment"); } - static Address invalid() { return Address(nullptr, CharUnits()); } + static Address invalid() { return Address(); } bool isValid() const { return Pointer != nullptr; } llvm::Value *getPointer() const {