stack-protector.c revision c0dcc2d7beaeb6a80c0c7d69086b4c8894b662a0
1// RUN: %clang_cc1 -emit-llvm -o - %s -stack-protector 0 | FileCheck -check-prefix=NOSSP %s
2// NOSSP: define void @test1(i8* %msg) nounwind {{.*}} {
3// RUN: %clang_cc1 -emit-llvm -o - %s -stack-protector 1 | FileCheck -check-prefix=WITHSSP %s
4// WITHSSP: define void @test1(i8* %msg) nounwind ssp {{.*}} {
5// RUN: %clang_cc1 -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