<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in warn-range-loop-analysis-trivially-copyable.cpp</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>33bb32bb - [Sema] Reword -Wrange-loop-analysis warning messages</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/warn-range-loop-analysis-trivially-copyable.cpp#33bb32bb</link>
        <description>[Sema] Reword -Wrange-loop-analysis warning messagesSummary:The messages for two of the warnings are misleading:* warn_for_range_const_reference_copy suggests that the initialization  of the loop variable results in a copy. But that&apos;s not always true,  we just know that some conversion happens, potentially invoking a  constructor or conversion operator. The constructor might copy, as in  the example that lead to this message [1], but it might also not.  However, the constructed object is bound to a reference, which is  potentially misleading, so we rewrite the message to emphasize that.  We also make sure that we print the reference type into the warning  message to clarify that this warning only appears when operator*  returns a reference.* warn_for_range_variable_always_copy suggests that a reference type  loop variable initialized from a temporary &quot;is always a copy&quot;. But  we don&apos;t know this, the range might just return temporary objects  which aren&apos;t copies of anything. (Assuming RVO a copy constructor  might never have been called.)The message for warn_for_range_copy is a bit repetitive: the type of aVarDecl and its initialization Expr are the same up to cv-qualifiers,because Sema will insert implicit casts or constructor calls to makethem match.[1] https://bugs.llvm.org/show_bug.cgi?id=32823Reviewers: aaron.ballman, Mordante, rtrieuReviewed By: aaron.ballmanDifferential Revision: https://reviews.llvm.org/D75613

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/warn-range-loop-analysis-trivially-copyable.cpp</description>
        <pubDate>Fri, 06 Mar 2020 13:56:47 +0000</pubDate>
        <dc:creator>Aaron Puchert &lt;aaron.puchert@sap.com&gt;</dc:creator>
    </item>
<item>
        <title>9c74fb40 - [Sema] Improve -Wrange-loop-analysis warnings.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/warn-range-loop-analysis-trivially-copyable.cpp#9c74fb40</link>
        <description>[Sema] Improve -Wrange-loop-analysis warnings.No longer generate a diagnostic when a small trivially copyable type isused without a reference. Before the test looked for a POD type and had nosize restriction. Since the range-based for loop is only available inC++11 and POD types are trivially copyable in C++11 it&apos;s not required totest for a POD type.Since copying a large object will be expensive its size has beenrestricted. 64 bytes is a common size of a cache line and if the object isaligned the copy will be cheap. No performance impact testing has beendone.Differential Revision: https://reviews.llvm.org/D72212

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/warn-range-loop-analysis-trivially-copyable.cpp</description>
        <pubDate>Sat, 11 Jan 2020 09:16:40 +0000</pubDate>
        <dc:creator>Mark de Wever &lt;koraq@xs4all.nl&gt;</dc:creator>
    </item>
</channel>
</rss>
