1. [Sema] Improve -Wrange-loop-analysis warnings. (details)
Commit 9c74fb402e1b7aad4a509a49ab4792154b8ba2c8 by koraq
[Sema] Improve -Wrange-loop-analysis warnings.
No longer generate a diagnostic when a small trivially copyable type is
used without a reference. Before the test looked for a POD type and had
no size restriction. Since the range-based for loop is only available in
C++11 and POD types are trivially copyable in C++11 it's not required to
test for a POD type.
Since copying a large object will be expensive its size has been
restricted. 64 bytes is a common size of a cache line and if the object
is aligned the copy will be cheap. No performance impact testing has
been done.
Differential Revision:
The file was addedclang/test/SemaCXX/warn-range-loop-analysis-trivially-copyable.cpp
The file was modifiedclang/test/SemaCXX/warn-range-loop-analysis.cpp
The file was modifiedclang/lib/Sema/SemaStmt.cpp