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