1 // RUN: %clang_cc1 -verify -fsyntax-only -Wlarge-by-value-copy=100 %s
4 namespace rdar8548050
{
14 S100
f100(S100 s
) { return s
; }
16 S101
f101(S101 s
) { return s
; } // expected-warning {{return value of 'f101' is a large (101 bytes) pass-by-value object}} \
17 // expected-warning {{'s' is a large (101 bytes) pass-by-value argument}}
27 NonPOD
fNonPOD(NonPOD s
) { return s
; }
29 template <unsigned size
>
34 template <unsigned size
>
35 void tf(TS
<size
> ts
) {} // expected-warning {{ts' is a large (300 bytes) pass-by-value argument}}
39 tf
<300>(ts
); // expected-note {{instantiation}}