Richard Smith 56471fdba8 Check for non-POD vararg argument type after default argument promotion, not
before, so we don't incorrectly think arguments of function type are non-POD.

llvm-svn: 159290
2012-06-27 20:23:58 +00:00

18 lines
398 B
C

// RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s
// PR6433 - Don't crash on va_arg(typedef).
typedef double gdouble;
void focus_changed_cb () {
__builtin_va_list pa;
double mfloat;
mfloat = __builtin_va_arg((pa), gdouble);
}
void vararg(int, ...);
void function_as_vararg() {
// CHECK: define {{.*}}function_as_vararg
// CHECK-NOT: llvm.trap
vararg(0, focus_changed_cb);
}