<?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 loop-block-counts.c</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>1ea58437 - A significant number of our tests in C accidentally use functions</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/Analysis/loop-block-counts.c#1ea58437</link>
        <description>A significant number of our tests in C accidentally use functionswithout prototypes. This patch converts the function signatures to havea prototype for the situations where the test is not specific to K&amp;R Cdeclarations. e.g.,  void func();becomes  void func(void);This is the ninth batch of tests being updated (there are asignificant number of other tests left to be updated).

            List of files:
            /llvm-project-15.0.7/clang/test/Analysis/loop-block-counts.c</description>
        <pubDate>Sun, 13 Feb 2022 13:02:46 +0000</pubDate>
        <dc:creator>Aaron Ballman &lt;aaron@aaronballman.com&gt;</dc:creator>
    </item>
<item>
        <title>6ad47e1c - [analyzer] Catch leaking stack addresses via stack variables</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/Analysis/loop-block-counts.c#6ad47e1c</link>
        <description>[analyzer] Catch leaking stack addresses via stack variablesNot only global variables can hold references to dead stack variables.Consider this example:  void write_stack_address_to(char **q) {    char local;    *q = &amp;local;  }  void test_stack() {    char *p;    write_stack_address_to(&amp;p);  }The address of &apos;local&apos; is assigned to &apos;p&apos;, which becomes a danglingpointer after &apos;write_stack_address_to()&apos; returns.The StackAddrEscapeChecker was looking for bindings in the store whichreferred to variables of the popped stack frame, but it only consideredglobal variables in this regard. This patch relaxes this, catchingstack variable bindings as well.---This patch also works for temporary objects like:  struct Bar {    const int &amp;ref;    explicit Bar(int y) : ref(y) {      // Okay.    } // End of the constructor call, `ref` is dangling now. Warning!  };  void test() {    Bar{33}; // Temporary object, so the corresponding memregion is             // *not* a VarRegion.  }---The return value optimization aka. copy-elision might kick in but thatis modeled by passing an imaginary CXXThisRegion which refers to theparent stack frame which is supposed to be the &apos;return slot&apos;.Objects residing in the &apos;return slot&apos; outlive the scope of the innercall, thus we should expect no warning about them - except if weexplicitly disable copy-elision.Reviewed By: NoQ, martongDifferential Revision: https://reviews.llvm.org/D107078

            List of files:
            /llvm-project-15.0.7/clang/test/Analysis/loop-block-counts.c</description>
        <pubDate>Fri, 27 Aug 2021 09:31:16 +0000</pubDate>
        <dc:creator>Balazs Benics &lt;balazs.benics@sigmatechnology.se&gt;</dc:creator>
    </item>
<item>
        <title>7740c6d6 - [analyzer] StackFrameContext: Add NodeBuilderContext::blockCount() to its profile</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/Analysis/loop-block-counts.c#7740c6d6</link>
        <description>[analyzer] StackFrameContext: Add NodeBuilderContext::blockCount() to its profileSummary:It allows discriminating between stack frames of the same call that iscalled multiple times in a loop.Thanks to Artem Dergachev for the great idea!Reviewed By: NoQTags: #clangDifferential Revision: https://reviews.llvm.org/D65587llvm-svn: 367608

            List of files:
            /llvm-project-15.0.7/clang/test/Analysis/loop-block-counts.c</description>
        <pubDate>Thu, 01 Aug 2019 20:41:13 +0000</pubDate>
        <dc:creator>Csaba Dabis &lt;dabis.csaba98@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>bbc6d682 - [analyzer] Fix the &quot;Zombie Symbols&quot; bug.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/Analysis/loop-block-counts.c#bbc6d682</link>
        <description>[analyzer] Fix the &quot;Zombie Symbols&quot; bug.It&apos;s an old bug that consists in stale references to symbols remaining in theGDM if they disappear from other program state sections as a result of anyoperation that isn&apos;t the actual dead symbol collection. The most common examplehere is:   FILE *fp = fopen(&quot;myfile.txt&quot;, &quot;w&quot;);   fp = 0; // leak of file descriptorIn this example the leak were not detected previously because the symboldisappears from the public part of the program state due to evaluatingthe assignment. For that reason the checker never receives a notificationthat the symbol is dead, and never reports a leak.This patch not only causes leak false negatives, but also a number of otherproblems, including false positives on some checkers.What&apos;s worse, even though the program state contains a finite number of symbols,the set of symbols that dies is potentially infinite. This means that isimpossible to compute the set of all dead symbols to pass off to the checkersfor cleaning up their part of the GDM.No longer compute the dead set at all. Disallow iterating over dead symbols.Disallow querying if any symbols are dead. Remove the API for marking symbolsas dead, as it is no longer necessary. Update checkers accordingly.Differential Revision: https://reviews.llvm.org/D18860llvm-svn: 347953

            List of files:
            /llvm-project-15.0.7/clang/test/Analysis/loop-block-counts.c</description>
        <pubDate>Fri, 30 Nov 2018 03:27:50 +0000</pubDate>
        <dc:creator>Artem Dergachev &lt;artem.dergachev@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
