diff options
Diffstat (limited to 'test/Misc/backend-stack-frame-diagnostics-fallback.cpp')
-rw-r--r-- | test/Misc/backend-stack-frame-diagnostics-fallback.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/Misc/backend-stack-frame-diagnostics-fallback.cpp b/test/Misc/backend-stack-frame-diagnostics-fallback.cpp new file mode 100644 index 0000000..8ae8c55 --- /dev/null +++ b/test/Misc/backend-stack-frame-diagnostics-fallback.cpp @@ -0,0 +1,18 @@ +// REQUIRES: x86-registered-target +// RUN: %clang_cc1 %s -mllvm -warn-stack-size=0 -emit-codegen-only -triple=i386-apple-darwin 2>&1 | FileCheck %s + +// TODO: Emit rich diagnostics for thunks and move this into the appropriate test file. +// Until then, test that we fall back and display the LLVM backend diagnostic. +namespace frameSizeThunkWarning { + struct A { + virtual void f(); + }; + + struct B : virtual A { + virtual void f(); + }; + + // CHECK: warning: stack frame size of {{[0-9]+}} bytes in function 'frameSizeThunkWarning::B::f' + // CHECK: warning: stack size limit exceeded ({{[0-9]+}}) in {{[^ ]+}} + void B::f() { } +} |