<?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 eval-crashes.cpp</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>5030928d - [c++20] Implement semantic restrictions for C++20 designated</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/eval-crashes.cpp#5030928d</link>
        <description>[c++20] Implement semantic restrictions for C++20 designatedinitializers.This has some interesting interactions with our existing extensions tosupport C99 designated initializers as an extension in C++. Those areresolved as follows: * We continue to permit the full breadth of C99 designated initializers   in C++, with the exception that we disallow a partial overwrite of an   initializer with a non-trivially-destructible type. (Full overwrite   is OK, because we won&apos;t run the first initializer at all.) * The C99 extensions are disallowed in SFINAE contexts and during   overload resolution, where they could change the meaning of valid   programs. * C++20 disallows reordering of initializers. We only check for that for   the simple cases that the C++20 rules permit (designators of the form   &apos;.field_name =&apos; and continue to allow reordering in other cases).   It would be nice to improve this behavior in future. * All C99 designated initializer extensions produce a warning by   default in C++20 mode. People are going to learn the C++ rules based   on what Clang diagnoses, so it&apos;s important we diagnose these properly   by default. * In C++ &lt;= 17, we apply the C++20 rules rather than the C99 rules, and   so still diagnose C99 extensions as described above. We continue to   accept designated C++20-compatible initializers in C++ &lt;= 17 silently   by default (but naturally still reject under -pedantic-errors).This is not a complete implementation of P0329R4. In particular, thatpaper introduces new non-C99-compatible syntax { .field { init } }, andwe do not support that yet.This is based on a previous patch by Don Hinton, though I&apos;ve madesubstantial changes when addressing the above interactions.Differential Revision: https://reviews.llvm.org/D59754llvm-svn: 370544

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/eval-crashes.cpp</description>
        <pubDate>Fri, 30 Aug 2019 22:52:55 +0000</pubDate>
        <dc:creator>Richard Smith &lt;richard-llvm@metafoo.co.uk&gt;</dc:creator>
    </item>
<item>
        <title>afe48f9d - Fold -Wreturn-stack-address into general initialization lifetime</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/eval-crashes.cpp#afe48f9d</link>
        <description>Fold -Wreturn-stack-address into general initialization lifetimechecking.llvm-svn: 337743

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/eval-crashes.cpp</description>
        <pubDate>Mon, 23 Jul 2018 21:21:22 +0000</pubDate>
        <dc:creator>Richard Smith &lt;richard-llvm@metafoo.co.uk&gt;</dc:creator>
    </item>
<item>
        <title>d87aab93 - Restructure checking for, and warning on, lifetime extension.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/eval-crashes.cpp#d87aab93</link>
        <description>Restructure checking for, and warning on, lifetime extension.This change implements C++ DR1696, which makes initialization of areference member of a class from a temporary object ill-formed. Thestandard wording here is imprecise, but we interpret it as meaning thatany time a mem-initializer would result in lifetime extension, theprogram is ill-formed.This reinstates r337226, reverted in r337255, with a fix for theInitializedEntity alignment problem that was breaking ARM buildbots.llvm-svn: 337329

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/eval-crashes.cpp</description>
        <pubDate>Tue, 17 Jul 2018 22:24:09 +0000</pubDate>
        <dc:creator>Richard Smith &lt;richard-llvm@metafoo.co.uk&gt;</dc:creator>
    </item>
<item>
        <title>0aa117dd - Temporarily revert r337226 &quot;Restructure checking for, and warning on, lifetime extension.&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/eval-crashes.cpp#0aa117dd</link>
        <description>Temporarily revert r337226 &quot;Restructure checking for, and warning on, lifetime extension.&quot;This change breaks on ARM because pointers to clang::InitializedEntity are only4 byte aligned and do not have 3 bits to store values. A possible solutionwould be to change the fields in clang::InitializedEntity to enforce a biggeralignment requirement.The error message isllvm/include/llvm/ADT/PointerIntPair.h:132:3: error: static_assert failed &quot;PointerIntPair with integer size too large for pointer&quot;  static_assert(IntBits &lt;= PtrTraits::NumLowBitsAvailable,include/llvm/ADT/PointerIntPair.h:73:13: note: in instantiation of template class &apos;llvm::PointerIntPairInfo&lt;const clang::InitializedEntity *, 3, llvm::PointerLikeTypeTraits&lt;const clang::InitializedEntity *&gt; &gt;&apos; requested here    Value = Info::updateInt(Info::updatePointer(0, PtrVal),llvm/include/llvm/ADT/PointerIntPair.h:51:5: note: in instantiation of member function &apos;llvm::PointerIntPair&lt;const clang::InitializedEntity *, 3, (anonymous namespace)::LifetimeKind, llvm::PointerLikeTypeTraits&lt;const clang::InitializedEntity *&gt;, llvm::PointerIntPairInfo&lt;const clang::InitializedEntity *, 3, llvm::PointerLikeTypeTraits&lt;const clang::InitializedEntity *&gt; &gt; &gt;::setPointerAndInt&apos; requested here    setPointerAndInt(PtrVal, IntVal);    ^llvm/tools/clang/lib/Sema/SemaInit.cpp:6237:12: note: in instantiation of member function &apos;llvm::PointerIntPair&lt;const clang::InitializedEntity *, 3, (anonymous namespace)::LifetimeKind, llvm::PointerLikeTypeTraits&lt;const clang::InitializedEntity *&gt;, llvm::PointerIntPairInfo&lt;const clang::InitializedEntity *, 3, llvm::PointerLikeTypeTraits&lt;const clang::InitializedEntity *&gt; &gt; &gt;::PointerIntPair&apos; requested here    return {Entity, LK_Extended};Full log here:http://lab.llvm.org:8011/builders/clang-cmake-armv7-global-isel/builds/1330http://lab.llvm.org:8011/builders/clang-cmake-armv7-full/builds/1394llvm-svn: 337255

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/eval-crashes.cpp</description>
        <pubDate>Tue, 17 Jul 2018 09:23:31 +0000</pubDate>
        <dc:creator>Florian Hahn &lt;florian.hahn@arm.com&gt;</dc:creator>
    </item>
<item>
        <title>0a9969b3 - Restructure checking for, and warning on, lifetime extension.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/eval-crashes.cpp#0a9969b3</link>
        <description>Restructure checking for, and warning on, lifetime extension.This change implements C++ DR1696, which makes initialization of areference member of a class from a temporary object ill-formed. Thestandard wording here is imprecise, but we interpret it as meaning thatany time a mem-initializer would result in lifetime extension, theprogram is ill-formed.llvm-svn: 337226

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/eval-crashes.cpp</description>
        <pubDate>Tue, 17 Jul 2018 00:11:41 +0000</pubDate>
        <dc:creator>Richard Smith &lt;richard-llvm@metafoo.co.uk&gt;</dc:creator>
    </item>
<item>
        <title>9f7df0c0 - Revert r301742, which caused us to try to evaluate all full-expressions.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/eval-crashes.cpp#9f7df0c0</link>
        <description>Revert r301742, which caused us to try to evaluate all full-expressions.Also add testcases for a bunch of expression forms that cause our evaluator tocrash. See PR33140 and PR32864 for crashes that this was causing.This reverts r305287, which reverted r305239, which reverted r301742. Theprevious revert claimed that buildbots were broken, but did not add anytestcases and the buildbots have lost all memory of what was wrong here.Changes to test/OpenMP are not reverted; another change has triggered thosetests to change their output in the same way that r301742 did.llvm-svn: 306346

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/eval-crashes.cpp</description>
        <pubDate>Mon, 26 Jun 2017 23:19:32 +0000</pubDate>
        <dc:creator>Richard Smith &lt;richard-llvm@metafoo.co.uk&gt;</dc:creator>
    </item>
</channel>
</rss>
