<?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 PR10177.cpp</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>0d923af4 - Add missing diagnostic for explicit instantiation declarations naming</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/PR10177.cpp#0d923af4</link>
        <description>Add missing diagnostic for explicit instantiation declarations naminginternal linkage entities.Such constructs are ill-formed by [temp.explicit]p13. We make a specialexception to permit an invalid construct used by libc++ in some buildmodes: its &lt;valarray&gt; header declares some functions with theinternal_linkage attribute and then (meaninglessly) provides explicitinstantiation declarations for them. Luckily, Clang happens toeffectively ignore the explicit instantiation declaration whengenerating code in this case, and this change codifies that behavior.This reinstates part of r359048, reverted in r359076. (The libc++ issuetriggering the rollback has been addressed.)llvm-svn: 359259

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/PR10177.cpp</description>
        <pubDate>Fri, 26 Apr 2019 01:51:07 +0000</pubDate>
        <dc:creator>Richard Smith &lt;richard-llvm@metafoo.co.uk&gt;</dc:creator>
    </item>
<item>
        <title>b8292c95 - Revert r359048: C++ DR2387: a variable template declared wthi</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/PR10177.cpp#b8292c95</link>
        <description>Revert r359048: C++ DR2387: a variable template declared wthiThe change breaks libc++ with the follwing error:In file included from valarray:4:.../include/c++/v1/valarray:1062:60: error: explicit instantiation declaration of &apos;valarray&lt;_Tp&gt;&apos; with internal linkage_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS valarray&lt;size_t&gt;::valarray(size_t))                                                           ^.../include/c++/v1/valarray:1063:60: error: explicit instantiation declaration of &apos;~valarray&lt;_Tp&gt;&apos; with internal linkage_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS valarray&lt;size_t&gt;::~valarray())llvm-svn: 359076

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/PR10177.cpp</description>
        <pubDate>Wed, 24 Apr 2019 08:50:24 +0000</pubDate>
        <dc:creator>Ilya Biryukov &lt;ibiryukov@google.com&gt;</dc:creator>
    </item>
<item>
        <title>eeab4518 - C++ DR2387: a variable template declared wtih (or instantiated with) a</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/PR10177.cpp#eeab4518</link>
        <description>C++ DR2387: a variable template declared wtih (or instantiated with) aconst-qualified type is not implicitly given internal linkage. But avariable template declared &apos;static&apos; is.llvm-svn: 359048

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/PR10177.cpp</description>
        <pubDate>Tue, 23 Apr 2019 23:48:00 +0000</pubDate>
        <dc:creator>Richard Smith &lt;richard-llvm@metafoo.co.uk&gt;</dc:creator>
    </item>
<item>
        <title>e5945871 - Revisit PR10177: don&apos;t instantiate a variable if it&apos;s only referenced in a</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/PR10177.cpp#e5945871</link>
        <description>Revisit PR10177: don&apos;t instantiate a variable if it&apos;s only referenced in adependent context and can&apos;t be used in a constant expression.Per C++ [temp.inst]p2, &quot;the instantiation of a static data member does notoccur unless the static data member is used in a way that requires thedefinition to exist&quot;.This doesn&apos;t /quite/ match that, as we still instantiate static data membersthat are usable in constant expressions even if the use doesn&apos;t require adefinition. A followup patch will fix that for both variables and functions.llvm-svn: 291295

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/PR10177.cpp</description>
        <pubDate>Fri, 06 Jan 2017 22:52:53 +0000</pubDate>
        <dc:creator>Richard Smith &lt;richard-llvm@metafoo.co.uk&gt;</dc:creator>
    </item>
<item>
        <title>7dcc97e7 - Warn if function or variable cannot be implicitly instantiated</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/PR10177.cpp#7dcc97e7</link>
        <description>Warn if function or variable cannot be implicitly instantiatedWith this patch compiler emits warning if it tries to make implicit instantiationof a template but cannot find the template definition. The warning can be suppressedby explicit instantiation declaration or by command line options-Wundefined-var-template and -Wundefined-func-template. The implementation followsthe discussion of http://reviews.llvm.org/D12326.Differential Revision: http://reviews.llvm.org/D16396llvm-svn: 266719

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/PR10177.cpp</description>
        <pubDate>Tue, 19 Apr 2016 06:19:52 +0000</pubDate>
        <dc:creator>Serge Pavlov &lt;sepavloff@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>f73da98f - Not all instantiated variable is odr-used. Do not mark non-odr-used variable template specializations as such.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/PR10177.cpp#f73da98f</link>
        <description>Not all instantiated variable is odr-used. Do not mark non-odr-used variable template specializations as such.llvm-svn: 214267

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/PR10177.cpp</description>
        <pubDate>Wed, 30 Jul 2014 00:49:55 +0000</pubDate>
        <dc:creator>Larisse Voufo &lt;lvoufo@google.com&gt;</dc:creator>
    </item>
<item>
        <title>b6fab261 - Fix PR10177 where non-type template arguments to alias templates are not marked as used in dependent contexts. The fix actually forces non-dependent names to be checked at template definition time as expected from the standard.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/PR10177.cpp#b6fab261</link>
        <description>Fix PR10177 where non-type template arguments to alias templates are not marked as used in dependent contexts. The fix actually forces non-dependent names to be checked at template definition time as expected from the standard.llvm-svn: 214192

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/PR10177.cpp</description>
        <pubDate>Tue, 29 Jul 2014 18:44:19 +0000</pubDate>
        <dc:creator>Larisse Voufo &lt;lvoufo@google.com&gt;</dc:creator>
    </item>
<item>
        <title>764d2fe6 - Unlike in C++03, a constant-expression is not an unevaluated operand in C++11.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/PR10177.cpp#764d2fe6</link>
        <description>Unlike in C++03, a constant-expression is not an unevaluated operand in C++11.Split out a new ExpressionEvaluationContext flag for this case, and don&apos;t treatit as unevaluated in C++11. This fixes some crash-on-invalids where we wouldallow references to class members in potentially-evaluated constant expressionsin static member functions, and also fixes half of PR10177.The fix to PR10177 exposed a case where template instantiation failed to providea source location for a diagnostic, so TreeTransform has been tweaked to supplysource locations when transforming a type. The source location is still not verygood, but MarkDeclarationsReferencedInType would need to operate on a TypeLoc toimprove it further.Also fix MarkDeclarationReferenced in C++98 mode to trigger instantiation forstatic data members of class templates which are used in constant expressions.This fixes a link-time problem, but we still incorrectly treat the member asnon-constant. The rest of the fix for that issue is blocked on PCH support forearly-instantiated static data members, which will be added in a subsequentpatch.llvm-svn: 146955

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/PR10177.cpp</description>
        <pubDate>Tue, 20 Dec 2011 02:08:33 +0000</pubDate>
        <dc:creator>Richard Smith &lt;richard-llvm@metafoo.co.uk&gt;</dc:creator>
    </item>
</channel>
</rss>
