1 // RUN: clang-cc -triple i686-unknown-unknown -emit-llvm -o %t %s &&
2 // RUN: not grep 'ssp' %t &&
3 // RUN: clang-cc -triple i686-apple-darwin9 -emit-llvm -o %t %s &&
4 // RUN: not grep 'ssp' %t &&
5 // RUN: clang-cc -triple i686-apple-darwin10 -emit-llvm -o %t %s &&
6 // RUN: grep 'ssp' %t &&
7 // RUN: clang -fstack-protector-all -emit-llvm -S -o %t %s &&
8 // RUN: grep 'sspreq' %t &&
9 // RUN: clang -fstack-protector -emit-llvm -S -o %t %s &&
10 // RUN: grep 'ssp' %t &&
11 // RUN: clang -fno-stack-protector -emit-llvm -S -o %t %s &&
12 // RUN: not grep 'ssp' %t &&
13 // RUN: true
14 
15 #include <stdio.h>
16 #include <string.h>
17 
18 void test1(const char *msg) {
19   char a[strlen(msg) + 1];
20   strcpy(a, msg);
21   printf("%s\n", a);
22 }
23