150
|
1 // REQUIRES: x86-registered-target
|
|
2 // RUN: %clang_cc1 %s -mllvm -warn-stack-size=0 -emit-codegen-only -triple=i386-apple-darwin 2>&1 | FileCheck %s
|
|
3
|
|
4 // TODO: Emit rich diagnostics for thunks and move this into the appropriate test file.
|
|
5 // Until then, test that we fall back and display the LLVM backend diagnostic.
|
|
6 namespace frameSizeThunkWarning {
|
|
7 struct A {
|
|
8 virtual void f();
|
|
9 };
|
|
10
|
|
11 struct B : virtual A {
|
|
12 virtual void f();
|
|
13 };
|
|
14
|
|
15 // CHECK: warning: stack frame size of {{[0-9]+}} bytes in function 'frameSizeThunkWarning::B::f'
|
|
16 // CHECK: warning: stack size limit exceeded ({{[0-9]+}}) in {{[^ ]+}}
|
|
17 void B::f() {
|
|
18 volatile int x = 0; // Ensure there is stack usage.
|
|
19 }
|
|
20 }
|