brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · f6e795f Raw
23 lines · c
1/// Check that stack frame size warnings behave the same when safe stack is enabled2 3// REQUIRES: x86-registered-target4 5// RUN: %clang_cc1 %s -fwarn-stack-size=48 -S -o - -triple=i386-apple-darwin 2>&1 | FileCheck --check-prefix=REGULAR %s6// RUN: %clang_cc1 %s -fwarn-stack-size=1060 -S -o - -triple=i386-apple-darwin 2>&1 | FileCheck --check-prefix=IGNORE %s7 8// RUN: %clang_cc1 %s -fsanitize=safe-stack -fwarn-stack-size=48 -S -o - -triple=i386-apple-darwin 2>&1 | FileCheck --check-prefix=SAFESTACK %s9// RUN: %clang_cc1 %s -fsanitize=safe-stack -fwarn-stack-size=1060 -S -o - -triple=i386-apple-darwin 2>&1 | FileCheck --check-prefix=IGNORE %s10 11extern void init(char *buf, int size);12extern int use_buf(char *buf, int size);13 14// REGULAR: warning: stack frame size ([[#]]) exceeds limit ([[#]]) in 'stackSizeWarning'15// SAFESTACK: warning: stack frame size ([[#]]) exceeds limit ([[#]]) in 'stackSizeWarning'16// IGNORE-NOT: stack frame size ([[#]]) exceeds limit ([[#]]) in 'stackSizeWarning'17void stackSizeWarning() {18  char buf[1024];19  init(buf, sizeof(buf));20  if (buf[0] < 42)21    use_buf(buf, sizeof(buf));22}23