<?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 libstdcxx_is_pod_hack.cpp</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>86330afd - SemaCXX: Don&apos;t crash when annotation tokens show up before the tag name</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/libstdcxx_is_pod_hack.cpp#86330afd</link>
        <description>SemaCXX: Don&apos;t crash when annotation tokens show up before the tag nameClang has a hack to accept definitions of structs with tag names whichhave the same name as intrinsics.  However, this hack didn&apos;t guardagainst annotation tokens showing up in the token stream.llvm-svn: 224909

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/libstdcxx_is_pod_hack.cpp</description>
        <pubDate>Mon, 29 Dec 2014 02:14:26 +0000</pubDate>
        <dc:creator>David Majnemer &lt;david.majnemer@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>8bea83a8 - Extend the &quot;__is_pod&quot; hack, which demotes various type trait keywords</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/libstdcxx_is_pod_hack.cpp#8bea83a8</link>
        <description>Extend the &quot;__is_pod&quot; hack, which demotes various type trait keywords(__is_pod, __is_signed, etc.) to normal identifiers if they areencountered in certain places in the grammar where we know that priorversions of libstdc++ or libc++ use them, to still allow the use ofthese keywords as type traits. Fixes &lt;rdar://problem/9836262&gt; and PR10184.llvm-svn: 162937

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/libstdcxx_is_pod_hack.cpp</description>
        <pubDate>Thu, 30 Aug 2012 20:04:43 +0000</pubDate>
        <dc:creator>Douglas Gregor &lt;dgregor@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>df445f0a - Turn off __has_feature(is_empty) and __has_feature(is_pod) if the</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/libstdcxx_is_pod_hack.cpp#df445f0a</link>
        <description>Turn off __has_feature(is_empty) and __has_feature(is_pod) if thelibstdc++ hack has reverted these type traits to keywords. Icky, butfixes &lt;rdar://problem/9836262&gt;.llvm-svn: 136560

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/libstdcxx_is_pod_hack.cpp</description>
        <pubDate>Sat, 30 Jul 2011 07:01:49 +0000</pubDate>
        <dc:creator>Douglas Gregor &lt;dgregor@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>f8e894a1 - Oops</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/libstdcxx_is_pod_hack.cpp#f8e894a1</link>
        <description>Oopsllvm-svn: 130469

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/libstdcxx_is_pod_hack.cpp</description>
        <pubDate>Fri, 29 Apr 2011 01:50:40 +0000</pubDate>
        <dc:creator>Douglas Gregor &lt;dgregor@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>63180b11 - libstdc++ 4.2 also uses __is_same as a struct name, which conflicts with our new type trait __is_same</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/libstdcxx_is_pod_hack.cpp#63180b11</link>
        <description>libstdc++ 4.2 also uses __is_same as a struct name, which conflicts with our new type trait __is_samellvm-svn: 130468

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/libstdcxx_is_pod_hack.cpp</description>
        <pubDate>Fri, 29 Apr 2011 01:38:03 +0000</pubDate>
        <dc:creator>Douglas Gregor &lt;dgregor@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>06873099 - libstdc++ 4.4 uses __is_signed as an identifier, while Clang treats it</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/libstdcxx_is_pod_hack.cpp#06873099</link>
        <description>libstdc++ 4.4 uses __is_signed as an identifier, while Clang treats itas a keyword for the __is_signed type trait. Cope with this conflictvia some hackish recovery: if we see a declaration of the form static const bool __is_signedthen we stop treating __is_signed as a keyword and instead treat it asan identifier. It&apos;s ugly, but it&apos;s better than making the __is_signedtype trait conditional on some language flag. Fixes PR9804.llvm-svn: 130399

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/libstdcxx_is_pod_hack.cpp</description>
        <pubDate>Thu, 28 Apr 2011 15:48:45 +0000</pubDate>
        <dc:creator>Douglas Gregor &lt;dgregor@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>01e09d9d - Introduce an egregious hack to work around a bug in libstdc++ 4.2.x&apos;s</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/libstdcxx_is_pod_hack.cpp#01e09d9d</link>
        <description>Introduce an egregious hack to work around a bug in libstdc++ 4.2.x&apos;s&lt;tr1/hashtable&gt; header, where a friend class templatestd::tr1::__detail::_Map_base is declared with the wrong templateparameters. GCC doesn&apos;t catch the problem, so Clang does a littleback-flip to avoid diagnosing just this one instance of the problem.llvm-svn: 100790

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/libstdcxx_is_pod_hack.cpp</description>
        <pubDate>Thu, 08 Apr 2010 18:16:15 +0000</pubDate>
        <dc:creator>Douglas Gregor &lt;dgregor@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>8fbe78f6 - Update tests to use %clang_cc1 instead of &apos;clang-cc&apos; or &apos;clang -cc1&apos;.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/libstdcxx_is_pod_hack.cpp#8fbe78f6</link>
        <description>Update tests to use %clang_cc1 instead of &apos;clang-cc&apos; or &apos;clang -cc1&apos;. - This is designed to make it obvious that %clang_cc1 is a &quot;test variable&quot;   which is substituted. It is &apos;%clang_cc1&apos; instead of &apos;%clang -cc1&apos; because it   can be useful to redefine what gets run as &apos;clang -cc1&apos; (for example, to set   a default target).llvm-svn: 91446

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/libstdcxx_is_pod_hack.cpp</description>
        <pubDate>Tue, 15 Dec 2009 20:14:24 +0000</pubDate>
        <dc:creator>Daniel Dunbar &lt;daniel@zuster.org&gt;</dc:creator>
    </item>
<item>
        <title>119b0c71 - Introduce an egregious hack to fix PR4828.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/libstdcxx_is_pod_hack.cpp#119b0c71</link>
        <description>Introduce an egregious hack to fix PR4828.The problem this change addresses is that we treat __is_pod and__is_empty as keywords in C++, because they are built-in type traitsin GCC &gt;= 4.3. However, GNU libstdc++ 4.2 (and possibly earlierversions) define implementation-detail struct templates named __is_podand __is_empty. This commit solves the problem by recognizing  struct __is_podand  struct __is_emptyas special token sequences. When one of these token sequences isencountered, the keyword (__is_pod or __is_empty) is implicitlydowngraded to an identifier so that parsing can continue. This is anegregious hack, but it has the virtue of &quot;just working&quot; whethersomeone is using libstdc++ 4.2 or not, without the need for specialflags.llvm-svn: 80988

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/libstdcxx_is_pod_hack.cpp</description>
        <pubDate>Fri, 04 Sep 2009 05:53:02 +0000</pubDate>
        <dc:creator>Douglas Gregor &lt;dgregor@apple.com&gt;</dc:creator>
    </item>
</channel>
</rss>
