diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2018-07-28 11:06:01 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2018-07-28 11:06:01 +0000 |
| commit | 486754660bb926339aefcf012a3f848592babb8b (patch) | |
| tree | ecdbc446c9876f4f120f701c243373cd3cb43db3 /test/CodeGen/stack-protector.c | |
| parent | 55e6d896ad333f07bb3b1ba487df214fc268a4ab (diff) | |
Notes
Diffstat (limited to 'test/CodeGen/stack-protector.c')
| -rw-r--r-- | test/CodeGen/stack-protector.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/CodeGen/stack-protector.c b/test/CodeGen/stack-protector.c index 7a45a2f4acf6..5037a3e0d6fe 100644 --- a/test/CodeGen/stack-protector.c +++ b/test/CodeGen/stack-protector.c @@ -22,6 +22,14 @@ void test1(const char *msg) { printf("%s\n", a); } +// DEF: define {{.*}}void @test2(i8* %msg) #[[B:.*]] { +__attribute__((no_stack_protector)) +void test2(const char *msg) { + char a[strlen(msg) + 1]; + strcpy(a, msg); + printf("%s\n", a); +} + // NOSSP-NOT: attributes #[[A]] = {{.*}} ssp // SSP: attributes #[[A]] = {{.*}} ssp{{ }} // SSPSTRONG: attributes #[[A]] = {{.*}} sspstrong @@ -33,3 +41,15 @@ void test1(const char *msg) { // SAFESTACK-SSP: attributes #[[A]] = {{.*}} safestack ssp{{ }} // SAFESTACK-SSPSTRONG: attributes #[[A]] = {{.*}} safestack sspstrong // SAFESTACK-SSPREQ: attributes #[[A]] = {{.*}} safestack sspreq + +// NOSSP-NOT: attributes #[[B]] = {{.*}} ssp +// SSP-NOT: attributes #[[B]] = {{.*}} ssp{{ }} +// SSPSTRONG-NOT: attributes #[[B]] = {{.*}} sspstrong +// SSPREQ-NOT: attributes #[[B]] = {{.*}} sspreq + +// SAFESTACK-SSP: attributes #[[B]] = {{.*}} safestack +// SAFESTACK-SSP-NOT: attributes #[[B]] = {{.*}} safestack ssp{{ }} +// SAFESTACK-SSPSTRONG: attributes #[[B]] = {{.*}} safestack +// SAFESTACK-SSPSTRONG-NOT: attributes #[[B]] = {{.*}} safestack sspstrong +// SAFESTACK-SSPREQ: attributes #[[B]] = {{.*}} safestack +// SAFESTACK-SSPREQ-NOT: attributes #[[B]] = {{.*}} safestack sspreq |
