<?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 z3-refute-enum-crash.cpp</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>fd7efe33 - [analyzer] Fix cast evaluation on scoped enums in ExprEngine</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/Analysis/z3-refute-enum-crash.cpp#fd7efe33</link>
        <description>[analyzer] Fix cast evaluation on scoped enums in ExprEngineWe ignored the cast if the enum was scoped.This is bad since there is no implicit conversion from the scoped enum to the corresponding underlying type.The fix is basically: isIntegralOrEnumerationType() -&gt; isIntegralOr**Unscoped**EnumerationType()This materialized in crashes on analyzing the LLVM itself using the Z3 refutation.Refutation synthesized the given Z3 Binary expression (`BO_And` of `unsigned char` aka. 8 bitsand an `int` 32 bits) with the wrong bitwidth in the end, which triggered an assert.Now, we evaluate the cast according to the standard.This bug could have been triggered using the Z3 CM according tohttps://bugs.llvm.org/show_bug.cgi?id=44030Fixes #47570 #43375Reviewed By: martongDifferential Revision: https://reviews.llvm.org/D85528

            List of files:
            /llvm-project-15.0.7/clang/test/Analysis/z3-refute-enum-crash.cpp</description>
        <pubDate>Mon, 02 May 2022 08:54:26 +0000</pubDate>
        <dc:creator>Balazs Benics &lt;balazs.benics@sigmatechnology.se&gt;</dc:creator>
    </item>
</channel>
</rss>
