hanchenye-llvm-project/clang/test/Parser
Richard Trieu 0d7305470e Fix code so that a SkipUntil will ignore semicolons when skipping a
function body.  This keeps the brace count accurate to prevent
additional errors.  Also, moved the caret from the brace to the function
name.

Code:
class F{ int Foo{ return 1; } };

Fixed error:
parameters.cc:1:14: error: function definition does not declare parameters
class F{ int Foo{ return 1; } };
             ^
1 error generated.

Old errors:
parameters.cc:1:17: error: function definition does not declare parameters
class F{ int Foo{ return 1; } };
                ^
parameters.cc:1:30: error: expected ';' after class
class F{ int Foo{ return 1; } };
                             ^
                             ;
parameters.cc:1:31: error: expected external declaration
class F{ int Foo{ return 1; } };
                              ^
3 errors generated.

llvm-svn: 148621
2012-01-21 02:59:18 +00:00
..
CompoundStmtScope.c
DelayedTemplateParsing.cpp Enable delayed template parsing for friend functions declared at template class scope. 2011-11-18 23:47:17 +00:00
MicrosoftExtensions.c Hey, maybe we shouldn't silently ignore decl attributes 2011-10-01 05:17:03 +00:00
MicrosoftExtensions.cpp Implement the Microsoft __if_exists/if_not_exists extension in initializer-list. 2011-12-12 23:24:39 +00:00
PR11000.cpp Update all tests other than Driver/std.cpp to use -std=c++11 rather than 2011-10-13 22:29:44 +00:00
access-spec-attrs.cpp Allow for annotate attributes after access specifiers. When such 2011-10-13 09:41:32 +00:00
altivec.c Remove some more hard CR-LF lines. These were particularly weird as they were 2011-04-25 07:09:43 +00:00
argument_qualified.c
argument_redef.c
argument_scope.c
asm-constraints-pr7869.c Added '|' delimiter to separate inline asm multiple alternative constraints for Clang side of support. 2010-09-18 01:15:13 +00:00
asm.c Diagnose use of wide string literal in 'asm' instead of crashing. Fixes <rdar://problem/10465079>. 2011-12-02 00:35:46 +00:00
attr-availability.c Modify how the -verify flag works. Currently, the verification string and 2011-12-15 00:38:15 +00:00
attributes.c Refactor __attribute__ parsing, and add a diagnostic if the r_paren at the end 2011-10-17 21:20:17 +00:00
backtrack-crash.cpp we do in fact have to cache the EOF token returned by the preprocessor. 2010-07-12 04:25:32 +00:00
bad-control.c
block-block-storageclass.c Eliminate the "minimal" and printing parser actions, which only ever 2010-07-26 04:08:02 +00:00
block-pointer-decl.c Eliminate the "minimal" and printing parser actions, which only ever 2010-07-26 04:08:02 +00:00
bracket-crash.cpp revert a hunk of code that Argiris added in r106213, which is the 2010-07-12 01:48:28 +00:00
builtin_classify_type.c
builtin_types_compatible.c Improve diagnostics when we fail to convert from a source type to a 2010-04-09 00:35:39 +00:00
c-namespace.c
c1x-alignas.c Add support for alignment-specifiers in C1X and C++11, remove 2011-09-29 18:04:28 +00:00
c1x-generic-selection.c C1X: implement generic selections 2011-04-15 00:35:48 +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
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
compound_literal.c
control-scope.c
cuda-kernel-call.cu Parse: add support for parsing CUDA kernel calls 2011-02-09 21:12:02 +00:00
cxx-altivec.cpp Modify how the -verify flag works. Currently, the verification string and 2011-12-15 00:38:15 +00:00
cxx-ambig-decl-expr-xfail.cpp When we're performing tentative parsing to determine whether the 2010-07-15 21:05:01 +00:00
cxx-ambig-decl-expr.cpp When we're performing tentative parsing to determine whether the 2010-07-15 21:05:01 +00:00
cxx-ambig-paren-expr.cpp
cxx-attributes.cpp Convert this file to not have Windows line endings -- likely committed from 2010-08-05 03:16:33 +00:00
cxx-bool.cpp
cxx-casting.cpp Fix a problem in digraph handling where "[:" might be treated as "<::" and 2011-09-20 20:03:50 +00:00
cxx-class.cpp Fix code so that a SkipUntil will ignore semicolons when skipping a 2012-01-21 02:59:18 +00:00
cxx-condition.cpp Eliminate the "minimal" and printing parser actions, which only ever 2010-07-26 04:08:02 +00:00
cxx-decl.cpp Improve the diagnostic when a comma ends up at the end of a declarator group 2011-10-19 21:33:05 +00:00
cxx-default-args.cpp Change warning about incomplete parsing of C++ default arg to error and provide a test case; thanks Doug! 2010-08-09 21:08:13 +00:00
cxx-default-delete.cpp PR11148: Fix crash-on-invalid if an invalid member declaration is marked as 2011-11-10 09:08:44 +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
cxx-friend.cpp Tweak the diagnostics for the C++0x extensions to friend types to note 2011-05-10 21:23:31 +00:00
cxx-in-c.c Fix test for previous commit 2011-02-04 11:59:47 +00:00
cxx-member-crash.cpp If the declaration of a C++ member function with an inline definition 2011-04-14 23:19:27 +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 Fix a bug in the token caching for inline constructors in C++11, and improve error recovery in both dialects. This should fix the GCC test suite failures as well. 2011-09-30 08:32:17 +00:00
cxx-namespace-alias.cpp Eliminate the "minimal" and printing parser actions, which only ever 2010-07-26 04:08:02 +00:00
cxx-reference.cpp Switch diagnostic text from "C++0x" over to "C++11". 2011-10-12 19:26:40 +00:00
cxx-stmt.cpp Add -fcxx-exceptions to all tests that use C++ exceptions. 2011-02-28 00:40:07 +00:00
cxx-template-argument.cpp When we're inside a functional cast, '>' is an operator. Fixes PR8912. 2011-01-11 00:33:19 +00:00
cxx-template-decl.cpp When we are missing the ',' or '>' to terminate a template parameter 2010-10-15 01:15:58 +00:00
cxx-throw.cpp Add -fcxx-exceptions to all tests that use C++ exceptions. 2011-02-28 00:40:07 +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 Preserve invalidity of typeof operands in C++. 2010-08-24 23:41:43 +00:00
cxx-undeclared-identifier.cpp Fix PR7180. 2010-06-22 11:30:04 +00:00
cxx-using-declaration.cpp
cxx-using-directive.cpp
cxx-variadic-func.cpp
cxx0x-attributes.cpp 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. 2012-01-04 02:40:39 +00:00
cxx0x-decl.cpp Improve the diagnostic when a comma ends up at the end of a declarator group 2011-10-19 21:33:05 +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 Change the diagnostics which said 'accepted as an extension' to instead say 2011-12-29 21:57:33 +00:00
cxx0x-lambda-expressions.cpp 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. 2012-01-04 02:40:39 +00:00
cxx0x-literal-operators.cpp Update all tests other than Driver/std.cpp to use -std=c++11 rather than 2011-10-13 22:29:44 +00:00
cxx0x-member-initializers.cpp Update all tests other than Driver/std.cpp to use -std=c++11 rather than 2011-10-13 22:29:44 +00:00
cxx0x-override-control-keywords.cpp Update all tests other than Driver/std.cpp to use -std=c++11 rather than 2011-10-13 22:29:44 +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
declarators.c ...I forgot to check my new test after adding it, and lo, there's slightly different 2010-08-26 17:42:30 +00:00
designator.c
encode.m Enhance the array bounds checking to work for several other constructs, 2011-02-17 21:10:52 +00:00
enhanced-proto-1.m objc: diagnose duplicate declaration of methods 2011-12-13 19:40:34 +00:00
expressions.c Diagnose a missing ')' on what looks like a statement expression. 2011-04-06 02:35:25 +00:00
expressions.m Revert r114316, -Wunused-value enabled by default was intended. 2010-09-19 23:03:35 +00:00
extension.c
for.cpp Improve parser recovery in "for" statements, from Richard Smith! 2011-02-17 03:38:46 +00:00
function-decls.c
goto.c implement basic support for __label__. I wouldn't be shocked if there are 2011-02-18 02:08:43 +00:00
if-scope-c90.c
if-scope-c99.c
implicit-casts.c Improve diagnostics when we fail to convert from a source type to a 2010-04-09 00:35:39 +00:00
knr_parameter_attributes.c Retain attributes for K&R style parameter declarations. 2010-02-23 12:22:13 +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 Eliminate the "minimal" and printing parser actions, which only ever 2010-07-26 04:08:02 +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 Fix: allow @protocol forward declarations inside @implementation-s. 2011-12-08 09:58:43 +00:00
missing-end.m Extend warnings for missing '@end'. 2011-12-06 09:25:23 +00:00
ms-inline-asm.c Some fixes for MS-style asm parsing: specifically, add some error checking, and handle asm comments using semicolons correctly. (The comments are actually surprisingly tricky.) 2011-09-30 01:13:51 +00:00
namelookup-bug-1.c
namelookup-bug-2.c
namespace-alias-attr.cpp
namespaces.cpp Namespaces can only be defined at global or namespace scope. Fixes PR6596. 2010-05-14 05:08:22 +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-category-neg-1.m Modify how the -verify flag works. Currently, the verification string and 2011-12-15 00:38:15 +00:00
objc-forcollection-1.m
objc-forcollection-neg-2.m Modify how the -verify flag works. Currently, the verification string and 2011-12-15 00:38:15 +00:00
objc-forcollection-neg.m Fix scoping of method declarations and issue 2011-02-09 22:20:01 +00:00
objc-foreach-syntax.m Fix scoping of method declarations and issue 2011-02-09 22:20:01 +00:00
objc-init.m Modify how the -verify flag works. Currently, the verification string and 2011-12-15 00:38:15 +00:00
objc-interfaces.m Improve error recovery when we see ':' and expect a ';'. 2010-09-07 18:31:03 +00:00
objc-messaging-1.m Revert r114316, -Wunused-value enabled by default was intended. 2010-09-19 23:03:35 +00:00
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 Use Parser::ExpectAndConsume() uniformly to eat semicolons after 2011-01-05 01:10:06 +00:00
objc-quirks.m Improve diagnostics for dangling '}'. 2012-01-17 01:04:27 +00:00
objc-synthesized-recover.m
objc-try-catch-1.m Make clang -cc1 disable Objective-C exceptions by default, and add a -fobjc-exceptions flag to turn them on. 2011-02-22 01:52:06 +00:00
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 Parsing of C++0x lambda expressions, from John Freeman with help from 2011-08-04 15:30:47 +00:00
objcxx0x-lambda-expressions.mm More lambda work: semantic analysis of capturing 'this'. It's a bit complicated, but we have to be careful about when exactly captures are marked given PotentiallyPotentiallyEvaluated contexts. (Actually, it's not 100% correct yet, but it's close enough for the moment.) 2012-01-07 04:59:52 +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 Add support for language-specific address spaces. On top of that, 2011-03-18 22:38:29 +00:00
opencl-kernel.cl OpenCL: add support for __kernel, kernel keywords and EXTENSION, 2011-02-14 01:42:53 +00:00
opencl-pragma.cl OpenCL: disallow '#pragma OPENCL EXTENSION all : enable', per OpenCL 1.1 9.1 2011-10-06 03:00:50 +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
parser_overflow.c Introduce BalancedDelimiterTracker, to better track open/close 2011-10-12 16:37:45 +00:00
placeholder-recovery.m When parsing something that looks like an ill-formed 2010-11-19 17:10:50 +00:00
pointer-arithmetic.c
pointer_promotion.c
pragma-options.c Parser: Add support for #pragma align, which is just another spelling of #pragma 2010-07-31 19:17:07 +00:00
pragma-pack.c
pragma-visibility.c Tests for #pragma GCC visibility. 2010-08-05 07:00:53 +00:00
pragma-visibility2.c PR10392: "#pragma GCC visibility" must not expand macros in its 2011-07-20 01:03:50 +00:00
pragma-weak.c
prefix-attributes.m
promote_types_in_proto.c
recovery.c Improve diagnostics for dangling '}'. 2012-01-17 01:04:27 +00:00
recovery.m Fix the recovery from missing semis on @property declarations to not consume 2011-03-26 01:53:26 +00:00
selector-1.m fix the second part of rdar://8366474 - clang fails to parse ObjC selectors with '::', when :: isn't the first part of the selector. 2011-03-26 18:11:38 +00:00
statements.c Don't skip past the '}' if an expression has error and is not followed by ';'. 2010-03-31 00:37:59 +00:00
struct-recursion.c
switch-recovery.cpp Remove the last FIXMEs on -Wunused-comparison since it got moved to 2011-08-18 02:04:29 +00:00
top-level-semi-cxx0x.cpp Update all tests other than Driver/std.cpp to use -std=c++11 rather than 2011-10-13 22:29:44 +00:00
traditional_arg_scope.c
typeof.c The grammar for GNU typeof in C requires an expression to be 2010-07-28 18:22:12 +00:00
types.c Eliminate the "minimal" and printing parser actions, which only ever 2010-07-26 04:08:02 +00:00
warn-dangling-else.cpp Add -Wdangling-else. 2011-12-22 23:26:17 +00:00