1 // REQUIRES: x86-registered-target 2 3 // RUN: %clang -target i386-apple-darwin -S -o - %s | \ 4 // RUN: FileCheck --check-prefix=DARWIN %s 5 // DARWIN: f0: 6 // DARWIN: pushl %ebp 7 // DARWIN: ret 8 // DARWIN: f1: 9 // DARWIN: pushl %ebp 10 // DARWIN: ret 11 12 // RUN: %clang -target i386-pc-linux-gnu -S -o - %s | \ 13 // RUN: FileCheck --check-prefix=LINUX %s 14 // LINUX: f0: 15 // LINUX-NOT: pushl %ebp 16 // LINUX: ret 17 // LINUX: f1: 18 // LINUX: pushl %ebp 19 // LINUX: ret 20 21 // RUN: %clang -target i386-darwin -S -o - -fomit-frame-pointer %s | \ 22 // RUN: FileCheck --check-prefix=OMIT_ALL %s 23 // OMIT_ALL: f0: 24 // OMIT_ALL-NOT: pushl %ebp 25 // OMIT_ALL: ret 26 // OMIT_ALL: f1: 27 // OMIT_ALL-NOT: pushl %ebp 28 // OMIT_ALL: ret 29 30 // RUN: %clang -target i386-darwin -S -o - -momit-leaf-frame-pointer %s | \ 31 // RUN: FileCheck --check-prefix=OMIT_LEAF %s 32 // OMIT_LEAF: f0: 33 // OMIT_LEAF-NOT: pushl %ebp 34 // OMIT_LEAF: ret 35 // OMIT_LEAF: f1: 36 // OMIT_LEAF: pushl %ebp 37 // OMIT_LEAF: ret 38 39 void f0() {} 40 void f1() { f0(); } 41