1 // REQUIRES: powerpc-registered-target 2 // RUN: %clang_cc1 -no-opaque-pointers -triple powerpc-unknown-openbsd -emit-llvm -o - %s | FileCheck %s 3 4 #include <stdarg.h> 5 6 class something; 7 typedef void (something::*method)(); 8 9 method test(va_list ap) { 10 return va_arg(ap, method); 11 } 12 // CHECK: using_regs: 13 // CHECK-NEXT: getelementptr inbounds %struct.__va_list_tag, %struct.__va_list_tag* %{{[0-9]+}}, i32 0, i32 4 14 // CHECK-NEXT: load i8*, i8** %{{[0-9]+}}, align 4 15 // CHECK-NEXT: mul i8 %numUsedRegs, 4 16 // CHECK-NEXT: getelementptr inbounds i8, i8* %{{[0-9]+}}, i8 %{{[0-9]+}} 17 // CHECK-NEXT: bitcast i8* %{{[0-9]+}} to { i32, i32 }** 18 // CHECK-NEXT: add i8 %numUsedRegs, 1 19 // CHECK-NEXT: store i8 %{{[0-9]+}}, i8* %gpr, align 4 20 // CHECK-NEXT: br label %cont 21