58878f85ab89b13e9eea4af3ccf055e42c557bc8 |
|
06-May-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master clang for rebase to r235153 Change-Id: Ia94bbcb6da7c75b6e7c2afedd1001094d62a7324
/external/clang/test/Parser/cxx0x-attributes.cpp
|
0e2c34f92f00628d48968dfea096d36381f494cb |
|
23-Mar-2015 |
Stephen Hines <srhines@google.com> |
Update aosp/master clang for rebase to r230699. Change-Id: I6a546ab3d4ae37119eebb735e102cca4f80ab520
/external/clang/test/Parser/cxx0x-attributes.cpp
|
176edba5311f6eff0cad2631449885ddf4fbc9ea |
|
01-Dec-2014 |
Stephen Hines <srhines@google.com> |
Update aosp/master Clang for rebase to r222490. Change-Id: Ic557ac55e97fbf6ee08771c7b7c3594777b0aefd
/external/clang/test/Parser/cxx0x-attributes.cpp
|
6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for 3.5 rebase (r209713). Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
/external/clang/test/Parser/cxx0x-attributes.cpp
|
651f13cea278ec967336033dd032faef0e9fc2ec |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Updated to Clang 3.5a. Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/test/Parser/cxx0x-attributes.cpp
|
8fa2cbf31edbd5124692864007de566d59125559 |
|
29-Oct-2013 |
Nick Lewycky <nicholas@mxc.ca> |
Add missing attributes [[gnu::no_sanitize_address]] and [[gnu::no_address_safety_analysis]]. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@193583 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
966a0fc4681a6c3b55ed6c1404c10d9816eeefda |
|
29-Oct-2013 |
Nick Lewycky <nicholas@mxc.ca> |
Treat [[gnu::__const]] the same as [[gnu::const]]. GCC's tokenizer can't tell the difference. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@193582 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
5eed7e00b4ac8d589ca83e126dafa8767e8a0358 |
|
15-Oct-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Tidy up and improve error recovery for C++11 attributes in bad places. Based on a patch by Michael Han. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192666 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
9ec28913dcec67bf3f6b841f34d1401229ba4604 |
|
06-Sep-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
C++11 attributes after 'constructor-name (' unambiguously signal that we have a constructor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190111 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
684aa73192d92850a926870be62a1787eb5b7ed9 |
|
22-Feb-2013 |
Michael Han <fragmentshaders@gmail.com> |
[Sema] Semantic analysis for empty-declaration and attribute-declaration. Introduce a new AST Decl node "EmptyDecl" to model empty-declaration. Have attributes from attribute-declaration appertain to the EmptyDecl node by creating the AST representations of these attributes and attach them to the EmptyDecl node so these attributes can be sema checked just as attributes attached to "normal" declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
68ea3aeff1be9412658f4c96fdab0d8ad875be6c |
|
22-Feb-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Per the grammar in [dcl.dcl]p1, a simple-declaration can only have attributes if it has declarators. We were missing the check for this in a couple of places. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175876 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
6b3d3e54c003b03f16e235ad2ff49e95587bbf92 |
|
20-Feb-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Process and handle attributes on conditions and for loop variables. Process and diagnose attributes on alias declarations, using directives, and attribute declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175649 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
d03de6aaa312d57dcd6e2bc76bed1e89f5c5019d |
|
29-Jan-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Downgrade 'attribute ignored when parsing type' from error to warning, to match the diagnostic's warn_ name. Switch some places (notably C++11 attributes) which really wanted an error over to a different diagnostic. Finally, suppress the diagnostic entirely for __ptr32, __ptr64 and __w64, to avoid producing diagnostics in important system headers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173788 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
cd8ab51a44e80625d84126780b0d85a7732e25af |
|
17-Jan-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Implement C++11 semantics for [[noreturn]] attribute. This required splitting it apart from [[gnu::noreturn]] / __attribute__((noreturn)), since their semantics are not equivalent (for instance, we treat [[gnu::noreturn]] as affecting the function type, whereas [[noreturn]] does not). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172691 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
f7a052732c2b6c82f74708038f75fa92c9b4dba0 |
|
14-Jan-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Accept [[gnu::*]] for all __attribute__((*))s which are: 1) Supported by Clang, and 2) Supported by GCC, and 3) Documented in GCC's manual. g++ allows its C++11-style attributes to appertain only to the entity being declared, and never to a type (even for a type attribute), so we do the same. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172382 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
07fc1ba7553f2f5bf26984091197311decd9028e |
|
07-Jan-2013 |
Michael Han <fragmentshaders@gmail.com> |
Add fixit hints for misplaced C++11 attributes around class specifiers. Following r168626, in class declaration or definition, there are a combination of syntactic locations where C++11 attributes could appear, and among those the only valid location permitted by standard is between class-key and class-name. So for those attributes appear at wrong locations, fixit is used to move them to expected location and we recover by applying them to the class specifier. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
52b501cd723d56efe3ad2ab708c2b75530fe6caa |
|
29-Nov-2012 |
Michael Han <Michael.Han@autodesk.com> |
Implement C++11 [dcl.attr.grammar] p4: If an attribute-specifier-seq appertains to a friend declaration, that declaration shall be a definition. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168826 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
2e39713a3d72c243a2bcd13cc8f5036ba6b487d9 |
|
26-Nov-2012 |
Michael Han <Michael.Han@autodesk.com> |
Improve diagnostic on C++11 attribute specifiers that appear at wrong syntactic locations around class specifiers. This change list implemented logic that explicitly detects several combinations of locations where C++11 attribute specifiers might be incorrectly placed within a class specifier. Previously we emit generic diagnostics like "expected identifier" for such cases; now we emit specific diagnostic against the misplaced attributes, this also fixed a bug in old code where attributes appear at legitimate locations were incorrectly rejected. Thanks to Richard Smith for reviewing! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168626 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
f64231e9f47234826fbcdc3b4fe0370ef6c9961d |
|
06-Nov-2012 |
Michael Han <Michael.Han@autodesk.com> |
Teach Clang parser to reject C++11 attributes that appertain to declaration specifiers. We don't support any C++11 attributes that appertain to declaration specifiers so reject the attributes in parser until we support them; this also conforms to what g++ 4.8 is doing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167481 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
6880f492365cc4fa4c941aa83688635003ee7498 |
|
03-Oct-2012 |
Michael Han <Michael.Han@autodesk.com> |
Improve C++11 attribute parsing. - General C++11 attributes were previously parsed and ignored. Now they are parsed and stored in AST. - Add support to parse arguments of attributes that in 'gnu' namespace. - Differentiate unknown attributes and known attributes that can't be applied to statements when emitting diagnostic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165082 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
1e12b3d777b36b80527da566192f8aeefad8f9d4 |
|
24-Jun-2012 |
John McCall <rjmccall@apple.com> |
Recognize GNU attributes after 'enum class'. Fixes the libc++ build. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159089 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
2edf0a2520313cde900799b1eb9bd11c9c776afe |
|
23-Jun-2012 |
Sean Hunt <scshunt@csclub.uwaterloo.ca> |
Clean up a large number of C++11 attribute parse issues, including parsing attributes in more places where we didn't and catching a lot more issues. This implements nearly every aspect of C++11 attribute parsing, except for: - Attributes are permitted on explicit instantiations inside the declarator (but not preceding the decl-spec) - Attributes are permitted on friend declarations of functions. - Multiple instances of the same attribute in an attribute-list (e.g. [[noreturn, noreturn]], not [[noreturn]] [[noreturn]] which is conforming) are allowed. The first two are marked as expected-FIXME in the test file and the latter is probably a defect and is currently untested. Thanks to Richard Smith for providing the lion's share of the testcases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
6ce48a70ace62eb0eaf7b2769d05c5f13b7c7b6c |
|
11-Apr-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Support C++11 attributes at the start of a parameter-declaration. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154476 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
c56298d87a9df507805a548d7d515e8b511df2c0 |
|
10-Apr-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Parsing of C++11 attributes: * Alternative tokens (such as 'compl') are treated as identifiers in attribute names. * An attribute-list can start with a comma. * An ellipsis may not be used with either of our currently-supported C++11 attributes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154381 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
6ee326af4e77e6f05973486097884d7431f2108d |
|
10-Apr-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Disambiguation of '[[': * In C++11, '[[' is ill-formed unless it starts an attribute-specifier. Reject array sizes and array indexes which begin with a lambda-expression. Recover by parsing the lambda as a lambda. * In Objective-C++11, either '[' could be the start of a message-send. Fully disambiguate this case: it turns out that the grammars of message-sends, lambdas and attributes do not actually overlap. Accept any occurrence of '[[' where either '[' starts a message send, but reject a lambda in an array index just like in C++11 mode. Implement a couple of changes to the attribute wording which occurred after our attributes implementation landed: * In a function-declaration, the attributes go after the exception specification, not after the right paren. * A reference type can have attributes applied. * An 'identifier' in an attribute can also be a keyword. Support for alternative tokens (iso646 keywords) in attributes to follow. And some bug fixes: * Parse attributes after declarator-ids, even if they are not simple identifiers. * Do not accept attributes after a parenthesized declarator. * Accept attributes after an array size in a new-type-id. * Partially disamiguate 'delete' followed by a lambda. More work is required here for the case where the lambda-introducer is '[]'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154369 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
282e7e66748cc6dd14d6f7f2cb52e5373c531e61 |
|
04-Feb-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
In C++11 mode, when an integral constant expression is desired and we have a value of class type, look for a unique conversion operator converting to integral or unscoped enumeration type and use that. Implements [expr.const]p5. Sema::VerifyIntegerConstantExpression now performs the conversion and returns the converted result. Some important callers of Expr::isIntegralConstantExpr have been switched over to using it (including all of those required for C++11 conformance); this switch brings a side-benefit of improved diagnostics and, in several cases, simpler code. However, some language extensions and attributes have not been moved across and will not perform implicit conversions on constant expressions of literal class type where an ICE is required. In passing, fix static_assert to perform a contextual conversion to bool on its argument. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
dc3b723d35067e5d13474247b94a10c869cc7e58 |
|
04-Jan-2012 |
Eli Friedman <eli.friedman@gmail.com> |
Stub out the Sema interface for lambda expressions, and change the parser to use it. Unconditionally error on lambda expressions because they don't work in any meaningful way yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147515 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
762bb9d0ad20320b9f97a841dce57ba5e8e48b07 |
|
14-Oct-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Update all tests other than Driver/std.cpp to use -std=c++11 rather than -std=c++0x. Patch by Ahmed Charles! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
82d0b0aab9088e977c2a44c4a5a90479c63149fe |
|
29-Sep-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Add support for alignment-specifiers in C1X and C++11, remove support for the C++0x draft [[align]] attribute and add the C1X standard header file stdalign.h git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140796 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
3497fdfdb742f55d7b7ec8e22779fb08962b8441 |
|
29-Sep-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Add support for parsing an attribute-specifier-seq containing multiple attribute-specifiers git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140794 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
f19076848566cb52a40ddbdb2555c53d12e9a003 |
|
29-Sep-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Add support for parsing the optional attribute-specifier-seq at the end of a decl-specifier-seq git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140793 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
ae7902c4293d9de8b9591759513f0d075f45022a |
|
04-Aug-2011 |
Douglas Gregor <dgregor@apple.com> |
Parsing of C++0x lambda expressions, from John Freeman with help from David Blaikie! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136876 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
abea951c34876a5374d0e3678c7989b225c5c895 |
|
28-Feb-2011 |
Anders Carlsson <andersca@mac.com> |
Add -fcxx-exceptions to all tests that use C++ exceptions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126599 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
e41721e7dfabcc15cb50be9075a4153f1ad648ea |
|
19-Feb-2011 |
Anders Carlsson <andersca@mac.com> |
Pass -fexceptions to all tests that use try/catch/throw. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126037 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
f89e0424b8903438179f4a2f16dddd5e5bdc814e |
|
23-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
Get rid of the [[final]] C++0x attribute. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124083 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
a5728872c7702ddd09537c95bc3cbd20e1f2fb09 |
|
15-Dec-2009 |
Daniel Dunbar <daniel@zuster.org> |
Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. - This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|
bbd37c62e34db3f5a95c899723484a76c71d7757 |
|
21-Nov-2009 |
Sean Hunt <rideau3@gmail.com> |
Added rudimentary C++0x attribute support. The following attributes are currently supported in C++0x attribute lists (and in GNU ones as well): - align() - semantics believed to be conformant to n3000, except for redeclarations and what entities it may apply to - final - semantics believed to be conformant to CWG issue 817's proposed wording, except for redeclarations - noreturn - semantics believed to be conformant to n3000, except for redeclarations - carries_dependency - currently ignored (this is an optimization hint) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89543 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/cxx0x-attributes.cpp
|