// RUN: %clang_cc1 -triple aarch64-windows -ffreestanding -emit-llvm -O0 \ // RUN: -x c++ -o - %s | FileCheck %s struct pod { int a, b, c, d, e; }; struct non_pod { int a; non_pod() {} }; struct pod s; struct non_pod t; struct pod bar() { return s; } struct non_pod foo() { return t; } // CHECK: define {{.*}} void @{{.*}}bar{{.*}}(%struct.pod* noalias sret %agg.result) // CHECK: define {{.*}} void @{{.*}}foo{{.*}}(%struct.non_pod* noalias %agg.result) // Check instance methods. struct pod2 { int x; }; struct Baz { pod2 baz(); }; int qux() { return Baz().baz().x; } // CHECK: declare {{.*}} void @{{.*}}baz@Baz{{.*}}(%struct.Baz*, %struct.pod2*)