llvm-project/clang/test/Lexer
Diogo Sampaio bce360b704 Detect source location overflow due includes
Summary:
As discussed in http://lists.llvm.org/pipermail/cfe-dev/2019-October/063459.html
the overflow of the souce locations (limited to 2^31 chars) can generate all sorts of
weird things (bogus warnings, hangs, crashes, miscompilation and correct compilation).
In debug mode this assert would fail. So it might be a good start, as in PR42301,
to detect the failure and exit with a proper error message.

Reviewers: rsmith, thakis, miyuki

Reviewed By: miyuki

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D70183
2020-01-24 23:56:47 +00:00
..
Inputs Detect source location overflow due includes 2020-01-24 23:56:47 +00:00
11-27-2007-FloatLiterals.c
SourceLocationsOverflow.c Detect source location overflow due includes 2020-01-24 23:56:47 +00:00
aligned-allocation.cpp [Preprocessor] Allow libc++ to detect when aligned allocation is unavailable. 2018-08-03 23:12:37 +00:00
asm-preproc-no-unicode.s Skip Unicode character expansion in assembly files 2017-04-07 10:13:00 +00:00
badstring_in_if0.c
bcpl-escaped-newline.c
block_cmt_end.c
builtin_redef.c
c90.c
case-insensitive-include-ms.c [clang] Get rid of "%T" expansions 2017-08-15 19:47:06 +00:00
case-insensitive-include-pr31836.sh [clang] Get rid of "%T" expansions 2017-08-15 19:47:06 +00:00
case-insensitive-include.c [clang] Get rid of "%T" expansions 2017-08-15 19:47:06 +00:00
case-insensitive-system-include.c [clang] Get rid of "%T" expansions 2017-08-15 19:47:06 +00:00
char-escapes.c
char-literal-encoding-error.c
char-literal.cpp
char8_t.cpp Implement P0482R2, support for char8_t type. 2018-05-01 05:02:45 +00:00
comment-escape.c
conflict-marker.c
constants.c
coroutines.cpp [coroutines] Rename driver flag -fcoroutines to -fcoroutines-ts 2016-10-02 03:31:58 +00:00
counter.c
cross-windows-on-linux-default.cpp Move normalization of `\` in #includes from -fms-compatibility to -fms-extensions 2019-09-26 17:19:22 +00:00
cross-windows-on-linux.cpp Move normalization of `\` in #includes from -fms-compatibility to -fms-extensions 2019-09-26 17:19:22 +00:00
cxx-features.cpp [Concepts] Deprecate -fconcepts-ts, enable Concepts under -std=c++2a 2020-01-24 00:48:59 +02:00
cxx0x_keyword_as_cxx98.cpp
cxx0x_raw_string_delim_length.cpp
cxx0x_raw_string_directives.cpp
cxx0x_raw_string_unterminated.cpp
cxx1y_binary_literal.cpp
cxx1y_digit_separators.cpp [Lex] Fix handling numerical literals ending with ' and signed exponent. 2018-02-06 22:39:25 +00:00
cxx1z-trigraphs.cpp Do not warn about whitespace between ??/ trigraph and newline in line comments if trigraphs are disabled in the current language. 2017-04-18 21:45:04 +00:00
cxx2a-spaceship.cpp [c++2a] P0515R3: Support for overloaded operator<=>. 2017-12-01 02:13:10 +00:00
cxx2a_keyword_as_cxx17.cpp [c++20] P1143R2: Add support for the C++20 'constinit' keyword. 2019-09-04 20:30:37 +00:00
digraph.c [Driver] Add -fno-digraphs 2018-07-17 04:56:22 +00:00
dollar-idents.c
eof-char.c
eof-conflict-marker.c [Lexer] Don't read out of bounds if a conflict marker is at the end of a file 2016-04-01 09:58:45 +00:00
eof-file.c
eof-include.c Factor out repeated code parsing and concatenating header-names from 2019-03-19 01:51:19 +00:00
eof-number.c
eof-string.c
escape_newline.c
gnu-flags.c
half-literal.cpp [NFC] Explicitly add -std=c++14 option to tests that rely on the C++14 default 2019-02-05 12:05:53 +00:00
has_attribute_objc_boxable.m
has_extension.c
has_extension_cxx.cpp
has_feature_address_sanitizer.cpp hwasan: add -fsanitize=kernel-hwaddress flag 2018-04-13 18:05:21 +00:00
has_feature_boxed_nsvalue_expressions.m
has_feature_c1x.c
has_feature_cxx0x.cpp P0426: Make the library implementation of constexpr char_traits a little easier 2017-01-20 00:45:35 +00:00
has_feature_exceptions.cpp
has_feature_leak_sanitizer.cpp [clang] [Basic] Enable __has_feature(leak_sanitizer) 2019-09-22 20:55:01 +00:00
has_feature_memory_sanitizer.cpp [MSan] add KMSAN support to Clang driver 2018-09-07 09:21:09 +00:00
has_feature_memtag_sanitizer.cpp ARM MTE stack sanitizer. 2019-07-15 20:02:23 +00:00
has_feature_modules.m
has_feature_objc_arc.m [ObjC] Allow declaring __strong pointer fields in structs in Objective-C 2018-02-28 07:15:55 +00:00
has_feature_rtti.cpp
has_feature_thread_sanitizer.cpp
has_feature_type_traits.cpp Revert "[Lex] Support more type-traits in __has_feature" 2016-05-24 17:21:42 +00:00
has_feature_undefined_behavior_sanitizer.cpp [Lexer] Add udefined_behavior_sanitizer feature 2018-09-22 01:03:16 +00:00
has_feature_xray_instrument.cpp [Lexer] Add xray_instrument feature 2018-09-17 05:25:47 +00:00
header.cpp
hexfloat.cpp Replace remaining user-visible mentions of C++1z with C++17. 2017-08-13 22:26:53 +00:00
keywords_test.c [MSVC] Recognize `static_assert` keyword in C and C++98 2019-02-15 19:59:45 +00:00
keywords_test.cpp [Concepts] Deprecate -fconcepts-ts, enable Concepts under -std=c++2a 2020-01-24 00:48:59 +02:00
long-long.cpp
minimize_source_to_dependency_directives_at_import_extra_tokens.m Add clang source minimizer that reduces source to directives 2019-06-03 22:59:17 +00:00
minimize_source_to_dependency_directives_at_import_missing_semi.m Add clang source minimizer that reduces source to directives 2019-06-03 22:59:17 +00:00
minimize_source_to_dependency_directives_include.c [clang-scan-deps] Minimizer: Correctly skip over double slashes in angle bracket #include 2019-08-26 23:28:05 +00:00
minimize_source_to_dependency_directives_invalid_error.c Revert "Revert "As a follow-up to my initial mail to llvm-dev here's a first pass at the O1 described there."" 2019-11-26 20:28:52 -08:00
minimize_source_to_dependency_directives_invalid_macro_name.c Add clang source minimizer that reduces source to directives 2019-06-03 22:59:17 +00:00
minimize_source_to_dependency_directives_utf8bom.c [clang-scan-deps] Skip UTF-8 BOM in source minimizer 2019-08-27 00:13:52 +00:00
modules-ts.cpp Add -fmodules-ts flag to cc1 for the provisional C++ modules TS, and mark 2016-07-23 02:32:21 +00:00
ms-compatibility.c
ms-extensions.c
ms-extensions.cpp
msdos-cpm-eof.c
multiple-include.c
newline-eof-c++98-compat.cpp
newline-eof.c
newline-nul.c Fix mishandling of escaped newlines followed by newlines or nuls. 2017-04-17 23:44:51 +00:00
null-character-in-literal.c [Lex] Avoid out-of-bounds dereference in LexAngledStringLiteral. 2018-01-12 18:54:35 +00:00
numeric-literal-trash.c
objc_macros.m
opencl-half-literal.cl [OpenCL] Add supported OpenCL extensions to target info. 2016-05-16 17:06:34 +00:00
pragma-mark.c
pragma-message.c
pragma-message2.c
pragma-operators.cpp
pragma-region.c
preamble.c Allow for unfinished #if blocks in preambles 2017-05-30 11:54:55 +00:00
preamble2.c Allow for unfinished #if blocks in preambles 2017-05-30 11:54:55 +00:00
rdar-8914293.c
rdr-6096838-2.c
rdr-6096838.c
string-literal-encoding.c
string-literal-errors.cpp
string_concat.cpp
token-concat.c
token-concat.cpp
unicode-strings.c
unicode.c Don't emit "will be treated as an identifier character" warning for 2018-09-25 22:34:45 +00:00
unknown-char.c
utf-16.c
utf-16.c.txt
utf8-char-literal.cpp
utf8-invalid.c
warn-date-time.c
warn_binary_literals.cpp
wchar-signedness.c
wchar.c Driver: hoist the `wchar_t` handling to the driver 2017-10-06 23:09:55 +00:00