forked from OSchip/llvm-project
Handle CK_NullToMemberPointer casts in the constant expr emitter.
llvm-svn: 79790
This commit is contained in:
parent
3b0c5dcdd2
commit
faeccc622f
|
@ -414,6 +414,8 @@ public:
|
|||
llvm::StructType::get(C->getType()->getContext(), Types, false);
|
||||
return llvm::ConstantStruct::get(STy, Elts);
|
||||
}
|
||||
case CastExpr::CK_NullToMemberPointer:
|
||||
return CGM.EmitNullConstant(E->getType());
|
||||
default: {
|
||||
// FIXME: This should be handled by the CK_NoOp cast kind.
|
||||
// Explicit and implicit no-op casts
|
||||
|
|
|
@ -7,12 +7,15 @@ struct A {
|
|||
// RUN: grep "@a = global i64 -1" %t &&
|
||||
int A::* a;
|
||||
|
||||
// RUN: grep "@aa = global \[2 x i64\] \[i64 -1, i64 -1\], align 8" %t &&
|
||||
// RUN: grep "@aa = global \[2 x i64\] \[i64 -1, i64 -1\]" %t &&
|
||||
int A::* aa[2];
|
||||
|
||||
// RUN: grep "@aaa = global \[2 x \[2 x i64\]\] \[\[2 x i64\] \[i64 -1, i64 -1\], \[2 x i64\] \[i64 -1, i64 -1\]\]" %t &&
|
||||
int A::* aaa[2][2];
|
||||
|
||||
// RUN: grep "@b = global i64 -1" %t &&
|
||||
int A::* b = 0;
|
||||
|
||||
void f() {
|
||||
// RUN: grep "%.obool = icmp ne i64 %.mp, -1" %t
|
||||
if (a) { }
|
||||
|
|
Loading…
Reference in New Issue