Nov 17, 2010 kl. 3:11 PM skrev Argyrios Kyrtzidis:
> Author: akirtzidis
> Date: Wed Nov 17 17:11:54 2010
> New Revision: 119583
>
> URL: http://llvm.org/viewvc/llvm-project?rev=119583&view=rev
> Log:
> Introduce option -Wargument-larger-than[=N] which warns about function
> definitions if they take by-value
> or return by-value any POD that is larger than some threshold (default is 64
> bytes).
Very cool!
However, I don't think "isPOD" is the right type here. It won't warn for:
struct A {
private:
int a[100];
};
for example.
I think what you want to check for (on Itanium at least) is "record type with a
trivial copy constructor or destructor."
If a record type has a non-trivial copy constructor or destructor it will
always be passed by pointer.
- Anders
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits