<?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 designated-initializers.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/designated-initializers.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/designated-initializers.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>cd839ccf - Fix silent wrong-code bugs and crashes with designated initialization.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/designated-initializers.cpp#cd839ccf</link>
        <description>Fix silent wrong-code bugs and crashes with designated initialization.We failed to correctly handle the &apos;holes&apos; left behind by designatedinitializers in VerifyOnly mode. This would result in us thinking that adesignated initialization would be valid, only to find that it is notactually valid when we come to build it. In a +Asserts build, that wouldassert, and in a -Asserts build, that would silently lose some part ofthe initialization or crash.With this change, when an InitListExpr contains any designators, we nowalways build a structured list so that we can track the locations of the&apos;holes&apos; that we need to go back and fill in.We could in principle do better: we only need the structured form ifthere is a designator that jumps backwards (and can otherwise check forthe holes as we progress through the initializer list), but dealing withthat turns out to be rather complicated, so it&apos;s not done as part ofthis patch.llvm-svn: 370419

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/designated-initializers.cpp</description>
        <pubDate>Thu, 29 Aug 2019 22:49:34 +0000</pubDate>
        <dc:creator>Richard Smith &lt;richard-llvm@metafoo.co.uk&gt;</dc:creator>
    </item>
<item>
        <title>2383aad5 - [SemaCXX] add -Woverride-init alias to -Winitializer-overrides</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/designated-initializers.cpp#2383aad5</link>
        <description>[SemaCXX] add -Woverride-init alias to -Winitializer-overridesSummary:https://bugs.llvm.org/show_bug.cgi?id=40251https://github.com/ClangBuiltLinux/linux/issues/307Reviewers: rsmithReviewed By: rsmithSubscribers: cfe-commits, nathanchance, srhinesDifferential Revision: https://reviews.llvm.org/D56522llvm-svn: 350877

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/designated-initializers.cpp</description>
        <pubDate>Thu, 10 Jan 2019 19:12:39 +0000</pubDate>
        <dc:creator>Nick Desaulniers &lt;ndesaulniers@google.com&gt;</dc:creator>
    </item>
<item>
        <title>cb642b91 - [Sema][TreeTransform] Re-create DesignatedInitExpr when a field designator</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/designated-initializers.cpp#cb642b91</link>
        <description>[Sema][TreeTransform] Re-create DesignatedInitExpr when a field designatorhas no field declaration.This commit fixes an invalid Winitializer-overrides warning that&apos;s shownwhen analyzing a second (or any after the first) instantiation of a designatedinitializer. This invalid warning is fixed by making sure that aDesignatedInitExpr is rebuilt by the tree transformer when it has a fielddesignator whose FieldDecl* hasn&apos;t been yet initialized. This ensures that adifferent DesignatedInitExpr is processed by Sema for every instantiation, andthus the invalid warning is avoided.rdar://28768441Differential Revision: https://reviews.llvm.org/D25777llvm-svn: 284959

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/designated-initializers.cpp</description>
        <pubDate>Mon, 24 Oct 2016 09:33:32 +0000</pubDate>
        <dc:creator>Alex Lorenz &lt;arphaman@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
