stack-protector.c revision 9e5cc6b703b2d0013f13800c2ffbeb3cf85fcfad
1// RUN: clang-cc -emit-llvm -o - %s -stack-protector=0 | FileCheck -check-prefix=NOSSP %s
2// NOSSP: define void @test1(i8* %msg) nounwind {
3// RUN: clang-cc -emit-llvm -o - %s -stack-protector=1 | FileCheck -check-prefix=WITHSSP %s
4// WITHSSP: define void @test1(i8* %msg) nounwind ssp {
5// RUN: clang-cc -emit-llvm -o - %s -stack-protector=2 | FileCheck -check-prefix=SSPREQ %s
6// SSPREQ: define void @test1(i8* %msg) nounwind sspreq {
7
8int printf(const char * _Format, ...);
9
10void test1(const char *msg) {
11  char a[strlen(msg) + 1];
12  strcpy(a, msg);
13  printf("%s\n", a);
14}
15