llvm-project/clang/test/Parser
Mark de Wever b9be5ce8f3 [Parser] Warn when ScopeDepthOrObjCQuals overflows
Before when the overflow occured an assertion was triggered. Now check
whether the maximum has been reached and warn properly.

This patch fixes the original submission of PR19607.

Differential Revision: https://reviews.llvm.org/D63975
2019-11-09 15:33:01 +01:00
..
CompoundStmtScope.c
DelayedTemplateParsing.cpp [MS] Warn when shadowing template parameters under -fms-compatibility 2019-09-12 18:26:34 +00:00
MicrosoftExtensions.c
MicrosoftExtensions.cpp Refactor constant evaluation of typeid(T) to track a symbolic type_info 2019-05-17 07:06:46 +00:00
MicrosoftExtensionsInlineAsm.c
PR11000.cpp
PR21872.cpp
access-spec-attrs.cpp
altivec-csk-bool.c
altivec.c
annotation-token-in-lexed-body.cpp
argument_qualified.c
argument_redef.c
argument_scope.c
arm-windows-calling-convention-handling.c [AArch64] Ignore stdcall and similar on aarch64/windows 2017-08-07 20:52:04 +00:00
asm-constraints-pr7869.c
asm-goto.c Re-check in clang support gun asm goto after fixing tests. 2019-06-03 15:57:25 +00:00
asm-goto.cpp Re-check in clang support gun asm goto after fixing tests. 2019-06-03 15:57:25 +00:00
asm.c Revert "clang support gnu asm goto." 2019-05-30 15:38:02 +00:00
asm.cpp Revert "clang support gnu asm goto." 2019-05-30 15:38:02 +00:00
atomic.c Diagnose _Atomic as a C11 extension. 2019-09-04 21:01:57 +00:00
attr-availability.c
attr-external-source-symbol-cxx11.cpp
attr-external-source-symbol.m
attributes.c Require commas to separate multiple GNU-style attributes in the same attribute list. 2019-06-18 12:57:05 +00:00
attributes.mm Add support for attributes on @implementations in Objective-C 2019-04-11 17:55:30 +00:00
backtrack-crash.cpp
backtrack-off-by-one.cpp
bad-control.c
block-block-storageclass.c
block-pointer-decl.c
bracket-crash.cpp
brackets.c Fix typos in clang 2018-04-06 15:14:32 +00:00
brackets.cpp Fix typos in clang 2018-04-06 15:14:32 +00:00
builtin_classify_type.c
builtin_source_location.c Implement __builtin_LINE() et. al. to support source location capture. 2019-05-16 21:04:15 +00:00
builtin_types_compatible.c Make __builtin_types_compatible_p more like GCC's 2017-10-16 22:58:37 +00:00
c-namespace.c
c1x-alignas.c Quote the token being diagnosed for C11 extensions. 2019-08-27 13:47:51 +00:00
c1x-generic-selection.c
c2x-attributes.c Add a new language mode for C2x; enable [[attribute]] support by default in C2x. 2019-05-14 12:09:55 +00:00
c2x-attributes.m Add -f[no-]double-square-bracket-attributes as new driver options to control use of [[]] attributes in all language modes. This is the initial implementation of WG14 N2165, which is a proposal to add [[]] attributes to C2x, but also allows you to enable these attributes in C++98, or disable them in C++11 or later. 2017-10-15 15:01:42 +00:00
c11-noreturn.c Replace some custom C11 extension warnings with the generic warning. 2019-08-27 14:41:39 +00:00
c99.c Diagnose _Bool as a C99 extension. 2019-08-27 20:33:05 +00:00
captured-statements.c
char-literal-printing.c
check-objc2-syntax-1.m
check-syntax-1.m
check_cast.c
colon-colon-parentheses.cpp
completely-empty-header-file.h
compound_literal.c
control-scope.c
crash-report.c Re-land Remove REQUIRES:shell from tests that pass for me on Windows 2019-09-10 20:15:45 +00:00
cuda-force-host-device-templates.cu
cuda-force-host-device.cu
cuda-kernel-call-c++11.cu [hip] Fix ambiguity from `>>>` of CUDA. 2019-05-08 00:52:33 +00:00
cuda-kernel-call.cu [CUDA] Fixed parsing of optional template-argument-list. 2018-09-21 17:46:28 +00:00
cxx-altivec.cpp
cxx-ambig-decl-expr-xfail.cpp
cxx-ambig-decl-expr.cpp Improve function / variable disambiguation. 2019-05-07 07:36:07 +00:00
cxx-ambig-init-templ.cpp [c++20] Implement P0846R0: allow (ADL-only) calls to template-ids whose 2019-05-09 03:31:27 +00:00
cxx-ambig-paren-expr-asan.cpp
cxx-ambig-paren-expr.cpp
cxx-attributes.cpp
cxx-bool.cpp Properly parse a postfix expression following a Boolean literal. Fixes PR34273. 2017-09-28 21:29:18 +00:00
cxx-casting.cpp
cxx-class-template-specialization.cpp
cxx-class.cpp Remember to decay arrays to pointers before checking whether the 2019-05-09 22:22:48 +00:00
cxx-concept-declaration.cpp Revert rC330794 and some dependent tiny bug fixes 2018-04-26 00:42:40 +00:00
cxx-concepts-ambig-constraint-expr.cpp
cxx-concepts-requires-clause.cpp
cxx-condition.cpp
cxx-decl.cpp Parse A::template B as an identifier rather than as a template-id with no 2018-04-27 02:00:13 +00:00
cxx-default-args.cpp
cxx-default-delete.cpp
cxx-ext-delete-default.cpp
cxx-extern-c-array.cpp
cxx-extra-semi.cpp [Parser] (C++) Make -Wextra-semi slightly more useful 2018-03-14 19:31:34 +00:00
cxx-friend.cpp
cxx-in-c.c
cxx-invalid-for-range.cpp
cxx-invalid-function-decl.cpp
cxx-member-crash.cpp
cxx-member-init-missing-paren-crash.cpp
cxx-member-initializers.cpp
cxx-modules-interface.cppm
cxx-namespace-alias.cpp
cxx-reference.cpp
cxx-stmt.cpp
cxx-template-argument.cpp Make tentative parsing to detect template-argument-lists less aggressive 2019-05-15 23:36:14 +00:00
cxx-template-decl.cpp PR42071: Reject weird names for non-type template parameters. 2019-06-14 20:01:54 +00:00
cxx-throw.cpp
cxx-typeid.cpp
cxx-typeof.cpp
cxx-undeclared-identifier.cpp
cxx-using-declaration.cpp
cxx-using-directive.cpp
cxx-variadic-func.cpp
cxx0x-ambig.cpp
cxx0x-attributes.cpp Introduce the _Clang scoped attribute token. 2018-11-09 17:19:45 +00:00
cxx0x-condition.cpp Add a "vexing parse" warning for ambiguity between a variable declaration and a 2017-09-29 23:57:25 +00:00
cxx0x-decl.cpp [c++2a] Allow comparison functions to be explicitly defaulted. 2019-10-22 18:16:17 -07:00
cxx0x-for-range.cpp
cxx0x-in-cxx98.cpp
cxx0x-lambda-expressions.cpp [c++20] Implement semantic restrictions for C++20 designated 2019-08-30 22:52:55 +00:00
cxx0x-literal-operators.cpp
cxx0x-member-initializers.cpp
cxx0x-override-control-keywords.cpp
cxx0x-rvalue-reference.cpp
cxx1z-attributes.cpp
cxx1z-class-template-argument-deduction.cpp [C++17] Fix class template argument deduction for default constructors without an initializer 2018-03-24 04:32:11 +00:00
cxx1z-constexpr-lambdas.cpp Replace remaining user-visible mentions of C++1z with C++17. 2017-08-13 22:26:53 +00:00
cxx1z-coroutines.cpp
cxx1z-decomposition.cpp Part of P1091R3: permit structured bindings to be declared 'static' and 2019-05-22 19:52:55 +00:00
cxx1z-fold-expressions.cpp Parse a possible trailing postfix expression suffix after a fold expression 2018-07-27 21:55:12 +00:00
cxx1z-init-statement.cpp Refactor the way we handle diagnosing unused expression results. 2019-01-04 16:58:14 +00:00
cxx1z-nested-namespace-definition.cpp Switch to gnu++14 as the default dialect. 2017-12-09 12:09:54 +00:00
cxx1z-using-declaration.cpp
cxx2a-bitfield-init.cpp [c++2a] P0683R1: Permit default member initializers for bit-fields. 2017-08-28 00:28:14 +00:00
cxx2a-concept-declaration.cpp [Concepts] Concept Specialization Expressions 2019-10-15 15:24:26 +00:00
cxx2a-designated-init.cpp [c++20] Add support for designated direct-list-initialization syntax. 2019-08-31 01:00:37 +00:00
cxx2a-init-statement.cpp [cxx2a] P0614R1: Support init-statements in range-based for loops. 2018-09-28 18:44:09 +00:00
cxx2a-inline-nested-namespace-definition.cpp [NFC] Fix formatting in inline nested namespace definition. 2018-11-12 19:29:26 +00:00
cxx2a-spaceship.cpp [c++20] P0515R3: Parsing support and basic AST construction for operator <=>. 2017-12-14 15:16:18 +00:00
cxx2a-template-lambdas.cpp [c++20] Implement P0428R2 - Familiar template syntax for generic lambdas 2019-05-04 10:49:46 +00:00
cxx11-base-spec-attributes.cpp
cxx11-brace-initializers.cpp Improve diagonstic for braced-init-list as operand to ?: expression. 2018-05-24 22:02:52 +00:00
cxx11-stmt-attributes.cpp
cxx11-templates.cpp
cxx11-type-specifier.cpp
cxx11-user-defined-literals.cpp
debugger-import-module.m
declarators.c
declspec-recovery.c
declspec-supported.c
decomposed-condition.cpp Fix codegen for structured binding binding in conditions 2018-03-17 21:01:27 +00:00
designator.c
diag-crash.c
editor-placeholder-recovery.cpp [C++] Interpret unknown identifier in parameter clause as unknown type 2019-05-05 12:15:17 +00:00
empty-translation-unit.c
encode.m
enhanced-proto-1.m
eof.cpp
eof2.cpp
expressions.c
expressions.m
extension.c
extra-semi-resulting-in-nullstmt-in-init-statement.cpp [clang][Parse] Diagnose useless null statements / empty init-statements 2018-11-20 18:59:05 +00:00
extra-semi-resulting-in-nullstmt.cpp [clang][Parse] Diagnose useless null statements / empty init-statements 2018-11-20 18:59:05 +00:00
extra-semi.cpp
for.cpp
function-decls.c
gcc-__final-compatibility.cpp
gcc-for-loop-init-compatibility.c [Parse] Make -Wgcc-compat complain about for loop inits in C89 2018-06-28 21:36:00 +00:00
goto.c
if-scope-c90.c
if-scope-c99.c
implicit-casts.c
knr_parameter_attributes.c
lambda-attr.cu
message-expr-alt-op.mm [Parser] Support alternative operator token keyword args in Objective-C++ 2018-08-21 16:47:04 +00:00
method-def-in-class.m
method-prototype-1.m
missing-closing-rbrace.m
missing-end-2.m
missing-end-3.m
missing-end-4.m
missing-end.m
missing-selector-name.mm
ms-anachronism.c
ms-if-exists.c
ms-if-exists.cpp
ms-inline-asm-nested-braces.c
ms-inline-asm.c
ms-seh.c
ms-square-bracket-attributes.mm Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
namelookup-bug-1.c
namelookup-bug-2.c
namespace-alias-attr.cpp
namespaces.cpp
nested_blocks_overflow.cpp [Parser] Warn when ScopeDepthOrObjCQuals overflows 2019-11-09 15:33:01 +01:00
nested_function_prototype_overflow.cpp [Parser] Warn when ScopeDepthOrObjCQuals overflows 2019-11-09 15:33:01 +01:00
nested_lambda_overflow.cpp [Parser] Warn when ScopeDepthOrObjCQuals overflows 2019-11-09 15:33:01 +01:00
no-gnu-inline-asm.c Make language option `GNUAsm` discoverable with `__has_extension` macro. 2019-05-13 22:11:10 +00:00
nullability.c
objc-alias-printing.m
objc-at-directive-fixit.m
objc-at-implementation-eof-crash.m
objc-at-interface-eof-crash.m
objc-attr.m Allow the NS, CF, and ObjC attributes to be used with -fdouble-square-bracket-attributes. The syntactic locations for such attributes on ObjC constructs have been specifically chosen to follow the GNU attribute syntactic locations. 2018-02-12 13:38:25 +00:00
objc-available.m
objc-boxing.m
objc-category-neg-1.m
objc-class-property.m
objc-cxx-keyword-identifiers.mm [ObjC] Error out when using forward-declared protocol in a @protocol 2018-08-17 22:18:08 +00:00
objc-diag-width.mm
objc-error-qualified-implementation.m
objc-forcollection-1.m
objc-forcollection-neg-2.m
objc-forcollection-neg.m
objc-foreach-syntax.m
objc-implementation-attrs.m Add support for attributes on @implementations in Objective-C 2019-04-11 17:55:30 +00:00
objc-init.m [c++20] Implement semantic restrictions for C++20 designated 2019-08-30 22:52:55 +00:00
objc-interfaces.m [ObjC] Improve error message for a malformed objc-type-name 2019-06-26 23:39:23 +00:00
objc-messaging-1.m
objc-messaging-neg-1.m
objc-missing-impl.m
objc-property-syntax.m
objc-quirks.m
objc-recover.mm
objc-static-assert.m Objective-C++11: Support static_assert() in @interface/@implementation ivar lists and method declarations 2019-03-14 14:18:56 +00:00
objc-static-assert.mm Fix test after r356148 2019-03-14 14:40:48 +00:00
objc-synthesized-recover.m
objc-try-catch-1.m Reapply "[Parse] Use CapturedStmt for @finally on MSVC" 2018-06-08 00:30:00 +00:00
objc-type-printing.m
objcbridge-related-attribute.m
objcxx-at.mm
objcxx-lambda-expressions-neg.mm
objcxx0x-lambda-expressions.mm
objcxx11-attributes.mm
objcxx11-initialized-temps.mm
objcxx11-invalid-lambda.cpp Rearrange and clean up how we disambiguate lambda-introducers from ObjC 2019-05-20 18:01:54 +00:00
objcxx11-messaging-and-lambda.mm
objcxx11-protocol-in-template.mm
objcxx11-user-defined-literal.mm
objcxx14-protocol-in-template.mm
offsetof.c
opencl-astype.cl
opencl-atomics-cl20.cl
opencl-cl20.cl [OpenCL] Restrict various keywords in OpenCL C++ mode 2018-05-09 13:16:17 +00:00
opencl-cxx-keywords.cl [OpenCL] Rename lang mode flag for C++ mode 2019-07-25 11:04:29 +00:00
opencl-cxx-virtual.cl [OpenCL] Rename lang mode flag for C++ mode 2019-07-25 11:04:29 +00:00
opencl-image-access.cl
opencl-kernel.cl
opencl-keywords.cl
opencl-pragma.cl
opencl-storage-class.cl [OpenCL] Restrict various keywords in OpenCL C++ mode 2018-05-09 13:16:17 +00:00
opencl-unroll-hint.cl
parenthesis-balance.cpp
parmvardecl_conversion.c
parser_overflow.c
placeholder-recovery.m Add support for attributes on @implementations in Objective-C 2019-04-11 17:55:30 +00:00
pointer-arithmetic.c
pointer_promotion.c Factor out comparison handling for arithmetic types. 2018-01-08 21:12:04 +00:00
pragma-attribute-context.cpp [Parser] Emit descriptive diagnostic for misplaced pragma 2019-08-04 10:08:51 +00:00
pragma-attribute-declspec.cpp
pragma-attribute.cpp Add support for namespaces on #pragma clang attribute 2018-12-20 22:32:04 +00:00
pragma-fp-contract.c [Parser] Emit descriptive diagnostic for misplaced pragma 2019-08-04 10:08:51 +00:00
pragma-fp-contract.cpp [Parser] Emit descriptive diagnostic for misplaced pragma 2019-08-04 10:08:51 +00:00
pragma-fp.cpp
pragma-loop-safety.cpp Append new attributes to the end of an AttributeList. 2018-08-03 01:21:16 +00:00
pragma-loop.cpp [Clang] New loop pragma vectorize_predicate 2019-07-25 07:33:13 +00:00
pragma-optimize-diagnostics.cpp
pragma-options.c Recommit r308327 3rd time: Add a warning for missing 2017-07-28 14:41:21 +00:00
pragma-options.cpp Recommit r308327 3rd time: Add a warning for missing 2017-07-28 14:41:21 +00:00
pragma-pack.c Recommit r308327 3rd time: Add a warning for missing 2017-07-28 14:41:21 +00:00
pragma-pipeline.cpp Add two new pragmas for controlling software pipelining optimizations. 2019-01-04 17:20:00 +00:00
pragma-unroll-and-jam.cpp [Clang] New loop pragma vectorize_predicate 2019-07-25 07:33:13 +00:00
pragma-unroll.cpp Append new attributes to the end of an AttributeList. 2018-08-03 01:21:16 +00:00
pragma-visibility.c
pragma-visibility2.c
pragma-weak.c
promote_types_in_proto.c
recovery.c
recovery.cpp
recovery.m
recursion-limits.cpp
selector-1.m
skip-function-bodies.h [libclang] Allow skipping function bodies in preamble only 2018-05-17 09:24:37 +00:00
skip-function-bodies.mm [libclang] Allow skipping function bodies in preamble only 2018-05-17 09:24:37 +00:00
statements.c
struct-recursion.c
switch-recovery.cpp Refactor the way we handle diagnosing unused expression results. 2019-01-04 16:58:14 +00:00
top-level-semi-cxx0x.cpp
traditional_arg_scope.c
typeof.c
types.c
using-template.cpp Consume unexpected "template" keywords after "using" 2019-05-01 23:33:49 +00:00
vector-cast-define.cl
vsx.c
warn-cuda-compat.cu
warn-dangling-else.cpp
warn-semicolon-before-method-body.m
x64-windows-calling-convention-handling.c