CursorVisitor: migrate handling of
[clang.git] / test / SemaCXX / warn-argument-larger-than.cpp
blob7a8002530b013211dccc3737299c007c4ffd558e
1 // RUN: %clang_cc1 -verify -fsyntax-only -Wargument-larger-than=100 %s
3 // rdar://8548050
4 namespace rdar8548050 {
6 struct S100 {
7 char x[100];
8 };
10 struct S101 {
11 char x[101];
14 S100 f100(S100 s) { return s; }
16 S101 f101(S101 s) { return s; } // expected-warning {{return value of 'f101' is 101 bytes}} \
17 // expected-warning {{size of 's' is 101 bytes}}
19 typedef int Arr[200];
20 void farr(Arr a) { }
22 struct NonPOD {
23 char x[200];
24 virtual void m();
27 NonPOD fNonPOD(NonPOD s) { return s; }
29 template <unsigned size>
30 struct TS {
31 char x[size];
34 template <unsigned size>
35 void tf(TS<size> ts) {} // expected-warning {{size of 'ts' is 300 bytes}}
37 void g() {
38 TS<300> ts;
39 tf<300>(ts); // expected-note {{instantiation}}