llvm-project/clang/test/Parser
David Majnemer 2d3663e559 Parse: Don't parse after the eof has been consumed
ParseCXXNonStaticMemberInitializer stashes away all the tokens for the
initializer and an additional EOF token to denote where the initializer
ends.  However, it is possible for ParseLexedMemberInitializer to get
its hands on the "real" EOF token; since the two tokens are
indistinguishable, we end up consuming the EOF and descend into madness.

Instead, make it possible to tell which EOF token we are looking at.

This fixes PR21872.

llvm-svn: 224505
2014-12-18 09:57:31 +00:00
..
CompoundStmtScope.c
DelayedTemplateParsing.cpp Handle -fdelayed-template-parsing of out-of-line definitions of 2014-05-02 02:01:07 +00:00
MicrosoftExtensions.c Parse qualifiers after comma in declarator lists as a Microsoft extension 2014-12-04 23:31:08 +00:00
MicrosoftExtensions.cpp [Objective-C]. Modern property getters have side-effects. 2014-12-18 00:30:54 +00:00
MicrosoftExtensionsInlineAsm.c This test case does not require -Wno-missing-declarations or -x objective-c++. 2014-07-06 19:44:38 +00:00
PR11000.cpp Add 'not' to commands that are expected to fail. 2013-07-04 16:16:58 +00:00
PR21872.cpp Parse: Don't parse after the eof has been consumed 2014-12-18 09:57:31 +00:00
access-spec-attrs.cpp Sema: attribute((annotate)) must have at least one argument 2014-12-14 01:05:01 +00:00
altivec-csk-bool.c [PPC64LE] Run some existing Altivec tests on powerpc64le as well 2014-06-13 18:30:06 +00:00
altivec.c [PowerPC] Initial VSX intrinsic support, with min/max for vector double 2014-10-31 19:19:24 +00:00
argument_qualified.c
argument_redef.c
argument_scope.c
arm-windows-calling-convention-handling.c Driver: add target definition for Windows on ARM 2014-04-04 20:31:19 +00:00
asm-constraints-pr7869.c
asm.c Parse: Avoid crashing on unterminated top-level asm strings 2013-12-10 21:29:48 +00:00
asm.cpp Parse: Concatenated string literals should be verified in inline asm 2014-12-11 01:00:48 +00:00
atomic.c PR20634: add some more cases that can legitimately come after a struct declaration to our list of special cases. 2014-08-13 02:13:15 +00:00
attr-availability.c Parse: Diagnose malformed 'message' arguments for 'availability' attr 2014-07-18 05:43:12 +00:00
attributes.c Uniformed parsing of GNU attributes at line beginnning and added GNU attributes parsing FIXMEs. 2014-08-16 08:29:27 +00:00
attributes.mm Revert "Don't require -re suffix on -verify directives with regexes." 2013-12-14 01:07:05 +00:00
backtrack-crash.cpp
bad-control.c Fix to PR8880 (clang dies processing a for loop) 2014-01-23 15:05:00 +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
brackets.c Revert "clang/test/Driver/crash-report.c: This requires rewriter for -frewrite-includes. [PR20321]" 2014-07-16 15:12:48 +00:00
brackets.cpp Revert "clang/test/Driver/crash-report.c: This requires rewriter for -frewrite-includes. [PR20321]" 2014-07-16 15:12:48 +00:00
builtin_classify_type.c Replace "can not" with "cannot" in diagnostics messages. 2014-03-07 22:36:23 +00:00
builtin_types_compatible.c
c-namespace.c
c1x-alignas.c Switch C compilations to C11 by default. 2014-10-20 23:26:58 +00:00
c1x-generic-selection.c
c11-noreturn.c Improve diagnostics if _Noreturn is placed after a function declarator. (This sometimes happens when a macro is used that expands to either the GNU noreturn attribute or _Noreturn.) 2014-11-10 21:10:32 +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 [Parser] Remove "add -fmodules" from the "use of '@import' when modules are disabled, add -fmodules" error. 2014-04-17 02:32:52 +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 Parse: Consume tokens more carefully in CheckForLParenAfterColonColon 2014-12-17 01:39:22 +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 Replace completely bogus ambiguous-compound-literal-in-C++ code with something 2014-05-15 02:51:15 +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-c++11.cu Fix PR20081: Parsing templates in the presence of -x cuda -std=c++11 2014-06-20 13:09:59 +00:00
cuda-kernel-call.cu Fix PR20081: Parsing templates in the presence of -x cuda -std=c++11 2014-06-20 13:09:59 +00:00
cxx-altivec.cpp [PowerPC] Initial VSX intrinsic support, with min/max for vector double 2014-10-31 19:19:24 +00:00
cxx-ambig-decl-expr-xfail.cpp Add a PR reference for XFAILed test 2014-05-28 12:26:32 +00:00
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 Fix default argument comma disambiguation bug following the 'template' keyword. 2014-07-27 05:38:12 +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 PR19751: (T())++ is not a cast-expression. 2014-07-15 00:11:48 +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 Don't crash on access decls with invalid scope specifier, PR20887. 2014-09-10 00:59:37 +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 Replace "can not" with "cannot" in diagnostics messages. 2014-03-07 22:36:23 +00:00
cxx-default-args.cpp Test case for my r218780 patch. 2014-10-01 21:33:22 +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 Revert "clang/test/Driver/crash-report.c: This requires rewriter for -frewrite-includes. [PR20321]" 2014-07-16 15:12:48 +00:00
cxx-friend.cpp Sema: Implement DR317 2014-03-30 06:44:54 +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 PR13110: Add a -Wignored-qualifiers warning when ignoring a const, volatile, or 2014-02-19 00:13:27 +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 PR18793: If we try to EnterTokenStream when our current lexer is a caching 2014-09-23 21:05:52 +00:00
cxx-template-decl.cpp Diagnose function template definitions inside functions 2014-12-15 23:16:32 +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 Replace "can not" with "cannot" in diagnostics messages. 2014-03-07 22:36:23 +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 Reject varargs '...' in function prototype if there are more parameters after 2014-08-11 23:30:23 +00:00
cxx0x-ambig.cpp Recover from errors in enum definition 2013-12-31 06:26:03 +00:00
cxx0x-attributes.cpp Updated the wording for a diagnostic to be more grammatically correct, and use a %select. Also ensure that nested namespace definitions are diagnosed properly. Both changes are motivated by post-commit feedback from r221580. 2014-11-08 17:07:15 +00:00
cxx0x-condition.cpp Cleaning up the self initialization checker. 2012-10-01 17:39:51 +00:00
cxx0x-decl.cpp PR20991: ::decltype is not valid. 2014-10-04 01:57:39 +00:00
cxx0x-for-range.cpp Revised wording for diagnostics in r208299 2014-05-09 09:49:29 +00:00
cxx0x-in-cxx98.cpp PR21367: Don't accept rvalue references as an extension in C++98 mode if we're in a new-type-id or conversion-type-id, since those things can legitimately be followed by a binary && operator. 2014-10-28 16:55:02 +00:00
cxx0x-lambda-expressions.cpp PR19339: Disambiguate lambdas with init-captures from designated initializers 2014-04-13 04:31:48 +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 PR19993: don't assert/crash if a static data member is initialized by '= delete;'. 2014-06-11 00:49:52 +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 PR13110: Add a -Wignored-qualifiers warning when ignoring a const, volatile, or 2014-02-19 00:13:27 +00:00
cxx1z-attributes.cpp Missing testcase from r221581. 2014-11-08 17:09:50 +00:00
cxx1z-fold-expressions.cpp [c++1z] N4295: fold-expressions. 2014-11-08 05:07:16 +00:00
cxx1z-nested-namespace-definition.cpp [c++1z] Implement nested-namespace-definitions. 2014-11-08 05:37:34 +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 Diagnose C++11 attributes before fp_contract pragmas. 2013-11-15 21:10:54 +00:00
cxx11-templates.cpp Reject varargs '...' in function prototype if there are more parameters after 2014-08-11 23:30:23 +00:00
cxx11-type-specifier.cpp Replace "can not" with "cannot" in diagnostics messages. 2014-03-07 22:36:23 +00:00
cxx11-user-defined-literals.cpp Preprocessor: support defined() with operator names for MS compatibility 2014-05-21 06:13:51 +00:00
debugger-import-module.m Added a testcase to make sure the parser allows 2014-12-10 18:57:09 +00:00
declarators.c revert patch r216469. 2014-08-26 21:10:47 +00:00
designator.c
diag-crash.c Fix crash when both ExpectAndConsume and ConsumeAnyToken emit diagnostics 2014-02-23 03:45:03 +00:00
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
eof.cpp Fix PR 19630, don't crash when file ends with whitespace. 2014-05-02 23:40:32 +00:00
eof2.cpp Parse: Don't crash on trailing whitespace before EOF 2014-07-26 05:41:31 +00:00
expressions.c Continue parsing an expression list even after an error is encountered. 2014-07-14 22:48:10 +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-if-exists.c Fix crash when using __if_exists in C mode 2014-11-24 17:29:35 +00:00
ms-if-exists.cpp Fix parsing nested __if_exists blocks 2014-06-25 00:28:35 +00:00
ms-inline-asm-nested-braces.c Add support for nested blocks in Microsoft inline assembly 2014-07-06 05:26:54 +00:00
ms-inline-asm.c ms-inline-asm: Scope inline asm labels to functions 2014-09-22 02:21:54 +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 Replace "can not" with "cannot" in diagnostics messages. 2014-03-07 22:36:23 +00:00
namespaces.cpp Fix crash on missing namespace name in namespace alias definition -- PR14085. 2012-10-27 23:44:27 +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 Replace "can not" with "cannot" in diagnostics messages. 2014-03-07 22:36:23 +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
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
objcbridge-related-attribute.m ObjectiveC - Introducing objc_bridge_related attribute 2013-12-04 20:32:50 +00:00
objcxx-at.mm
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 Adding the Subjects entry back for the noreturn attributes. This caused some test cases to be updated because the original diagnostic was about applying to methods as well as functions, but the semantic checking disallowed methods. 2013-11-27 18:53:58 +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 Print detailed vector type information on diagnostics. 2014-04-25 20:41:38 +00:00
opencl-cl20.cl [OpenCL] Generic address space parsing and diagnostics test (forgotten previously) 2014-11-26 14:14:05 +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-keywords.cl Fix a typo in r204164 that made *all* keywords available in OpenCL mode. 2014-03-18 22:43:19 +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
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 Fix bogus diagnostic wording. There's no such thing as a compound expression. 2013-11-15 21:08:45 +00:00
pragma-loop.cpp Allow constant expressions in pragma loop hints. 2014-10-12 20:46:07 +00:00
pragma-optimize-diagnostics.cpp Implemented support for "pragma clang optimize on/off", based on attribute 'optnone'. 2014-05-23 12:13:25 +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-unroll.cpp Allow constant expressions in pragma loop hints. 2014-10-12 20:46:07 +00:00
pragma-visibility.c
pragma-visibility2.c
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 Improve error recovery around colon. 2014-04-13 16:52:03 +00:00
recovery.m
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 Sema: Don't leave switch stack inconsistent when recovering 2014-12-15 07:46:12 +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
vsx.c [PowerPC] Initial VSX intrinsic support, with min/max for vector double 2014-10-31 19:19:24 +00:00
warn-cuda-compat.cu Add support for '#pragma unroll'. 2014-07-21 18:08:34 +00:00
warn-dangling-else.cpp Add -Wdangling-else. 2011-12-22 23:26:17 +00:00
warn-semicolon-before-method-body.m Fix a tranche of comment, test and doc typos 2013-12-05 16:25:25 +00:00