llvm-project/clang/test/Parser
Richard Smith b1f9a283ac Factor out custom parsing for iboutletcollection and vec_type_hint attributes
into a separate "parse an attribute that takes a type argument" codepath. This
results in both codepaths being a lot cleaner and simpler, and fixes some bugs
where the type argument handling bled into the expression argument handling and
caused us to both accept invalid and reject valid attribute arguments.

llvm-svn: 193731
2013-10-31 01:56:18 +00:00
..
CompoundStmtScope.c
DelayedTemplateParsing.cpp Parse: Disable delayed template parsing for constexpr functions 2013-10-23 21:31:20 +00:00
MicrosoftExtensions.c Revert "Re-enable passing MS inline asm test." 2013-10-21 22:56:09 +00:00
MicrosoftExtensions.cpp -Wmicrosoft: Don't warn on non-inline pure virtual method definitions 2013-10-08 22:45:29 +00:00
PR11000.cpp Add 'not' to commands that are expected to fail. 2013-07-04 16:16:58 +00:00
access-spec-attrs.cpp Allow for annotate attributes after access specifiers. When such 2011-10-13 09:41:32 +00:00
altivec-csk-bool.c "bool" should be a context-sensitive keyword in Altivec mode. 2013-07-03 20:54:09 +00:00
altivec.c Stop AltiVec parsing from going down the 'implicit int' codepath as part of its 2012-05-09 18:56:43 +00:00
argument_qualified.c
argument_redef.c
argument_scope.c
asm-constraints-pr7869.c
asm.c Support C11 _Atomic type qualifier. This is more-or-less just syntactic sugar for the _Atomic type specifier. 2013-03-28 01:55:44 +00:00
asm.cpp User-defined literals: reject string and character UDLs in all places where the 2012-03-06 03:21:47 +00:00
atomic.c Support C11 _Atomic type qualifier. This is more-or-less just syntactic sugar for the _Atomic type specifier. 2013-03-28 01:55:44 +00:00
attr-availability.c As Aaron pointed out it's simpler to reject wide string availability attr messages in the parser. 2013-09-13 17:31:48 +00:00
attributes.c Factor out custom parsing for iboutletcollection and vec_type_hint attributes 2013-10-31 01:56:18 +00:00
attributes.mm Make the ObjC attributes diagnostics a bit more informative. 2013-04-04 00:15:10 +00:00
backtrack-crash.cpp
bad-control.c Revert r193073 and the attempt to fix it in r193170. 2013-10-22 18:07:04 +00:00
block-block-storageclass.c Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
block-pointer-decl.c Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
bracket-crash.cpp PR14549. Don't assert if we see an incomplete decltype specifier at the end of the file. 2012-12-09 04:17:57 +00:00
builtin_classify_type.c Change the representation of builtin functions in the AST 2012-08-31 00:14:07 +00:00
builtin_types_compatible.c
c-namespace.c
c1x-alignas.c Implement C++11 [dcl.align]p1 and C11 6.7.5/2 rules for alignas and _Alignas. 2013-01-29 09:02:09 +00:00
c1x-generic-selection.c C1X: implement generic selections 2011-04-15 00:35:48 +00:00
c11-noreturn.c Add missing diagnostic for a nested-name-specifier on a free-standing type definition. Bump some related diagnostics from warning to extension in C++, since they're errors there. Add some missing checks for function specifiers on non-function declarations. 2013-03-18 22:52:47 +00:00
captured-statements.c Parser support for #pragma clang __debug captured 2013-04-16 18:41:26 +00:00
char-literal-printing.c Update all tests other than Driver/std.cpp to use -std=c++11 rather than 2011-10-13 22:29:44 +00:00
check-objc2-syntax-1.m Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
check-syntax-1.m Modify how the -verify flag works. Currently, the verification string and 2011-12-15 00:38:15 +00:00
check_cast.c
colon-colon-parentheses.cpp Fix test cases I broken when fixing grammar in diagnostic message. 2012-11-02 21:41:42 +00:00
completely-empty-header-file.h Add pedantic warning -Wempty-translation-unit (C11 6.9p1). 2012-06-06 17:25:21 +00:00
compound_literal.c Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
control-scope.c
crash-report.c Use the new --crash option in commands that are expected to crash. 2013-07-05 02:53:30 +00:00
cuda-kernel-call.cu Extend the error recovery for a template-argument-list terminated by '>>' to 2012-06-18 06:11:04 +00:00
cxx-altivec.cpp Fix Altivec vector literal parser hack for C++11. 2013-08-13 23:38:34 +00:00
cxx-ambig-decl-expr-xfail.cpp
cxx-ambig-decl-expr.cpp When disambiguating an expression-statement from a declaraton-statement, if the 2012-08-23 20:19:14 +00:00
cxx-ambig-init-templ.cpp Modify the uninitialized field visitor to detect uninitialized use across the 2013-09-20 03:03:06 +00:00
cxx-ambig-paren-expr.cpp
cxx-attributes.cpp Factor out custom parsing for iboutletcollection and vec_type_hint attributes 2013-10-31 01:56:18 +00:00
cxx-bool.cpp
cxx-casting.cpp Add quotation marks to template names in diagnostics. 2013-03-05 06:21:38 +00:00
cxx-class-template-specialization.cpp Fix for PR 16367, display the name of a function in a diagnostic instead of 2013-06-19 22:25:01 +00:00
cxx-class.cpp Add missing diagnostic for a nested-name-specifier on a free-standing type definition. Bump some related diagnostics from warning to extension in C++, since they're errors there. Add some missing checks for function specifiers on non-function declarations. 2013-03-18 22:52:47 +00:00
cxx-condition.cpp Accept braced-init-lists in conditions, and, in passing, dramatically improve 2012-02-22 06:49:09 +00:00
cxx-decl.cpp PR17567: Improve diagnostic for a mistyped constructor name. If we see something 2013-10-15 00:00:26 +00:00
cxx-default-args.cpp PR13657 (and duplicates): 2013-09-12 23:28:08 +00:00
cxx-default-delete.cpp Drive-by fix of incorrect diagnostic, and a test case for said diagnostic. The double error is unfortunate, but I really don't see an alternative whose effort is worth it. 2012-02-11 23:51:21 +00:00
cxx-ext-delete-default.cpp Change the diagnostics which said 'accepted as an extension' to instead say 2011-12-29 21:57:33 +00:00
cxx-extern-c-array.cpp Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
cxx-extra-semi.cpp Add diagnostics for comma at end of enum and for extra semicolon at namespace 2012-07-23 05:45:25 +00:00
cxx-friend.cpp Check "late parsed" friend functions for redefinition 2013-10-18 05:54:24 +00:00
cxx-in-c.c
cxx-member-crash.cpp Add 'not' to commands that are expected to fail. 2013-07-04 16:16:58 +00:00
cxx-member-init-missing-paren-crash.cpp Fix a crash-on-invalid. 2011-09-23 22:39:23 +00:00
cxx-member-initializers.cpp PR16480: Reimplement token-caching for constructor initializer lists. This 2013-07-04 00:13:48 +00:00
cxx-namespace-alias.cpp
cxx-reference.cpp Switch diagnostic text from "C++0x" over to "C++11". 2011-10-12 19:26:40 +00:00
cxx-stmt.cpp If a comma operator is followed by a token which unambiguously indicates the 2012-09-18 00:52:05 +00:00
cxx-template-argument.cpp Avoid spurious error messages if parent template class cannot be instantiated 2013-08-10 05:54:47 +00:00
cxx-template-decl.cpp PR8302: Check for shadowing a template parameter when declaring a template 2013-06-25 22:21:36 +00:00
cxx-throw.cpp Push the knowledge that we are parsing a type-id/type-name further into the 2012-05-09 20:55:26 +00:00
cxx-typeid.cpp Modify how the -verify flag works. Currently, the verification string and 2011-12-15 00:38:15 +00:00
cxx-typeof.cpp Improve diagnostics for invalid use of non-static members / this: 2012-04-05 01:13:04 +00:00
cxx-undeclared-identifier.cpp In C++, if we hit an error in the class-head, don't try to parse the class body. 2012-12-05 11:34:06 +00:00
cxx-using-declaration.cpp Imrpove the note text for when a non-type decl hides a tag type 2012-04-27 18:26:49 +00:00
cxx-using-directive.cpp Allow CorrectTypo to replace CXXScopeSpecifiers that refer to classes. 2013-10-19 00:05:00 +00:00
cxx-variadic-func.cpp
cxx0x-ambig.cpp The 'constexpr implies const' rule for non-static member functions is gone in 2013-04-21 01:08:50 +00:00
cxx0x-attributes.cpp Add missing attributes [[gnu::no_sanitize_address]] and 2013-10-29 03:54:41 +00:00
cxx0x-condition.cpp Cleaning up the self initialization checker. 2012-10-01 17:39:51 +00:00
cxx0x-decl.cpp Support GNU attributes in alias-declarations now that GCC has implemented them 2013-10-24 01:21:09 +00:00
cxx0x-for-range.cpp PR11297: Provide a better diagnostic for code which contains a 2011-12-20 22:56:20 +00:00
cxx0x-in-cxx98.cpp PR17567: Improve diagnostic for a mistyped constructor name. If we see something 2013-10-15 00:00:26 +00:00
cxx0x-lambda-expressions.cpp Add compat/extension warnings for init captures. 2013-09-28 05:38:27 +00:00
cxx0x-literal-operators.cpp Implement C++11 [lex.ext]p10 for string and character literals: a ud-suffix not 2012-03-08 02:39:21 +00:00
cxx0x-member-initializers.cpp PR13657 (and duplicates): 2013-09-12 23:28:08 +00:00
cxx0x-override-control-keywords.cpp Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
cxx0x-rvalue-reference.cpp Update all tests other than Driver/std.cpp to use -std=c++11 rather than 2011-10-13 22:29:44 +00:00
cxx11-base-spec-attributes.cpp PR15300: Support C++11 attributes on base-specifiers. We don't support any such 2013-02-19 23:47:15 +00:00
cxx11-brace-initializers.cpp PR14918: Don't confuse braced-init-lists after template variable declarations 2013-01-15 06:49:38 +00:00
cxx11-stmt-attributes.cpp PR15300: Support C++11 attributes on base-specifiers. We don't support any such 2013-02-19 23:47:15 +00:00
cxx11-type-specifier.cpp If parsing a trailing-return-type fails, don't pretend we didn't have one at 2012-06-12 01:51:59 +00:00
cxx11-user-defined-literals.cpp DR1473: Do not require a space between operator"" and the ud-suffix in a 2012-10-20 08:41:10 +00:00
declarators.c Recognition of empty structures and unions is moved to semantic stage 2013-06-08 13:29:58 +00:00
designator.c
empty-translation-unit.c Our style for diagnostic messages is to not include a trailing dot. 2012-11-05 05:32:00 +00:00
encode.m Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
enhanced-proto-1.m Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
expressions.c Make wording for certain invalid unary expressions more consistent. 2013-10-09 00:22:23 +00:00
expressions.m
extension.c
for.cpp
function-decls.c
goto.c
if-scope-c90.c Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
if-scope-c99.c
implicit-casts.c
knr_parameter_attributes.c Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
method-def-in-class.m In Parser::SkipUntil do not stop at '@' unconditionally. 2011-12-17 04:13:22 +00:00
method-prototype-1.m
missing-closing-rbrace.m Do the error recovery for @end only. 2013-03-20 18:45:49 +00:00
missing-end-2.m Extend warnings for missing '@end'. 2011-12-06 09:25:23 +00:00
missing-end-3.m Extend warnings for missing '@end'. 2011-12-06 09:25:23 +00:00
missing-end-4.m Revert my patch in r191155 to allow forward 2013-09-24 17:03:07 +00:00
missing-end.m Extend warnings for missing '@end'. 2011-12-06 09:25:23 +00:00
missing-selector-name.mm objective-c parsing. Don't crash when selector name 2012-07-26 17:32:28 +00:00
ms-inline-asm.c Temporarily disabling ms-asm test 2013-01-25 22:13:50 +00:00
namelookup-bug-1.c Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
namelookup-bug-2.c Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
namespace-alias-attr.cpp
namespaces.cpp Fix crash on missing namespace name in namespace alias definition -- PR14085. 2012-10-27 23:44:27 +00:00
nested-namespaces-recovery.cpp Add a fix-it and better error recovery for improperly nested namespaces. This will give a better error message for cases such as "namespace foo::bar::baz {}" and a suggested fix-it of "namespace foo { namespace bar { namespace baz {} } }" 2011-05-26 20:11:09 +00:00
objc-alias-printing.m
objc-boxing.m Objective-C parsing [qoi]: Provide good recovery when 2013-04-18 19:37:43 +00:00
objc-category-neg-1.m Modify how the -verify flag works. Currently, the verification string and 2011-12-15 00:38:15 +00:00
objc-diag-width.mm Add 'not' to commands that are expected to fail. 2013-07-04 16:16:58 +00:00
objc-error-qualified-implementation.m Objective-C parsing. Error recovery when category implementation 2013-05-17 17:58:11 +00:00
objc-forcollection-1.m
objc-forcollection-neg-2.m Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
objc-forcollection-neg.m objective-c: improve diagnostic when collection expression is 2012-06-22 15:37:00 +00:00
objc-foreach-syntax.m Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
objc-init.m Restructure how the driver communicates information about the 2012-06-20 06:18:46 +00:00
objc-interfaces.m
objc-messaging-1.m
objc-messaging-neg-1.m Parsing of C++0x lambda expressions, from John Freeman with help from 2011-08-04 15:30:47 +00:00
objc-missing-impl.m Extend warnings for missing '@end'. 2011-12-06 09:25:23 +00:00
objc-property-syntax.m Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
objc-quirks.m Improve diagnostics for dangling '}'. 2012-01-17 01:04:27 +00:00
objc-recover.mm Better parser recovery in Objective-C containers. 2012-07-09 16:54:53 +00:00
objc-synthesized-recover.m Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
objc-try-catch-1.m
objc-type-printing.m
objcxx-at.mm Parse an '@' in an Objective-C++ class member specification, 2011-04-14 17:21:19 +00:00
objcxx-lambda-expressions-neg.mm Fix tests for r150123 2012-02-09 01:02:27 +00:00
objcxx0x-lambda-expressions.mm Add compat/extension warnings for init captures. 2013-09-28 05:38:27 +00:00
objcxx11-attributes.mm PR15300: Support C++11 attributes on base-specifiers. We don't support any such 2013-02-19 23:47:15 +00:00
objcxx11-initialized-temps.mm Objective-C++: Enable passing of modern C++11 style 2013-04-18 23:43:21 +00:00
objcxx11-protocol-in-template.mm Don't require a space between the two ">" in "vector<id<protocol>>" in objc++11. 2012-12-14 18:22:38 +00:00
objcxx11-user-defined-literal.mm User-defined literals: reject string and character UDLs in all places where the 2012-03-06 03:21:47 +00:00
offsetof.c
opencl-astype.cl Modify a diagnostic introduced in r132612 to emit QualTypes directly 2011-06-08 15:15:17 +00:00
opencl-image-access.cl Re-commit r170428 changes with Linux style file endings. 2012-12-18 14:38:23 +00:00
opencl-kernel.cl Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
opencl-pragma.cl Add pedantic warning -Wempty-translation-unit (C11 6.9p1). 2012-06-06 17:25:21 +00:00
opencl-storage-class.cl OpenCL: add a non-standard extension, cl_clang_storage_class_specifiers, 2011-10-06 03:01:00 +00:00
parenthesis-balance.cpp For code such as: 2011-07-01 20:54:02 +00:00
parmvardecl_conversion.c Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
parser_overflow.c Add 'not' to commands that are expected to fail. 2013-07-04 16:16:58 +00:00
placeholder-recovery.m Fix warning text of my last patch. 2013-02-28 23:16:39 +00:00
pointer-arithmetic.c
pointer_promotion.c
pragma-fp-contract.c Test case for r167363. 2012-11-04 05:08:08 +00:00
pragma-options.c [Parser] Handle #pragma pack/align inside C structs. 2013-04-18 01:42:35 +00:00
pragma-options.cpp Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
pragma-pack.c [Parser] Handle #pragma pack/align inside C structs. 2013-04-18 01:42:35 +00:00
pragma-visibility.c
pragma-visibility2.c PR10392: "#pragma GCC visibility" must not expand macros in its 2011-07-20 01:03:50 +00:00
pragma-weak.c Fix a parser crash when there are #pragmas in a context which requires a single 2013-10-28 22:04:30 +00:00
promote_types_in_proto.c
recovery.c improve error recovery for extra ')'s after a if/switch/while condition. Before: 2012-04-28 16:24:20 +00:00
recovery.cpp Refactor all diagnosing of TypoCorrections through a common function, in 2013-08-17 00:46:16 +00:00
recovery.m Fix the recovery from missing semis on @property declarations to not consume 2011-03-26 01:53:26 +00:00
recursion-limits.cpp Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
selector-1.m Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
skip-function-bodies.mm Added a flag to the parser to skip method bodies. 2012-04-12 10:11:59 +00:00
statements.c If a comma operator is followed by a token which unambiguously indicates the 2012-09-18 00:52:05 +00:00
struct-recursion.c
switch-recovery.cpp Allow CorrectTypo to replace CXXScopeSpecifiers that refer to classes. 2013-10-19 00:05:00 +00:00
top-level-semi-cxx0x.cpp Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
traditional_arg_scope.c
typeof.c
types.c Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
warn-dangling-else.cpp Add -Wdangling-else. 2011-12-22 23:26:17 +00:00
warn-semicolon-before-method-body.m Add a test for -Wsemicolon-before-method-body fixit 2013-01-15 18:29:04 +00:00