mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-01-10 01:55:08 +00:00
Add a query macro for C++11 N3276, decltype does not require complete
return types, from Michel Morin! llvm-svn: 154428
This commit is contained in:
parent
f7345b027a
commit
0598962a7b
@ -767,7 +767,11 @@ enabled.</p>
|
||||
|
||||
<p>Use <tt>__has_feature(cxx_decltype)</tt> or
|
||||
<tt>__has_extension(cxx_decltype)</tt> to determine if support for the
|
||||
<tt>decltype()</tt> specifier is enabled.</p>
|
||||
<tt>decltype()</tt> specifier is enabled. C++11's <tt>decltype</tt>
|
||||
does not require type-completeness of a function call expression.
|
||||
Use <tt>__has_feature(cxx_decltype_incomplete_return_types)</tt>
|
||||
or <tt>__has_extension(cxx_decltype_incomplete_return_types)</tt>
|
||||
to determine if support for this feature is enabled.</p>
|
||||
|
||||
<h4 id="cxx_default_function_template_args">C++11 default template arguments in function templates</h4>
|
||||
|
||||
|
@ -649,6 +649,7 @@ static bool HasFeature(const Preprocessor &PP, const IdentifierInfo *II) {
|
||||
.Case("cxx_auto_type", LangOpts.CPlusPlus0x)
|
||||
.Case("cxx_constexpr", LangOpts.CPlusPlus0x)
|
||||
.Case("cxx_decltype", LangOpts.CPlusPlus0x)
|
||||
.Case("cxx_decltype_incomplete_return_types", LangOpts.CPlusPlus0x)
|
||||
.Case("cxx_default_function_template_args", LangOpts.CPlusPlus0x)
|
||||
.Case("cxx_defaulted_functions", LangOpts.CPlusPlus0x)
|
||||
.Case("cxx_delegating_constructors", LangOpts.CPlusPlus0x)
|
||||
|
@ -40,6 +40,16 @@ int no_decltype();
|
||||
// CHECK-NO-0X: no_decltype
|
||||
|
||||
|
||||
#if __has_feature(cxx_decltype_incomplete_return_types)
|
||||
int has_decltype_incomplete_return_types();
|
||||
#else
|
||||
int no_decltype_incomplete_return_types();
|
||||
#endif
|
||||
|
||||
// CHECK-0X: has_decltype_incomplete_return_types
|
||||
// CHECK-NO-0X: no_decltype_incomplete_return_types
|
||||
|
||||
|
||||
#if __has_feature(cxx_auto_type)
|
||||
int has_auto_type();
|
||||
#else
|
||||
|
@ -119,6 +119,11 @@ with clang; other versions have not been tested.</p>
|
||||
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2343.pdf">N2343</a></td>
|
||||
<td class="full" align="center">Clang 2.9</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> Incomplete return types</td>
|
||||
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf">N3276</a></td>
|
||||
<td class="svn" align="center">SVN</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Right angle brackets</td>
|
||||
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1757.html">N1757</a></td>
|
||||
|
Loading…
Reference in New Issue
Block a user