clang-1/test/Lexer
Jordan Rose 78541c4330 Allow -verify directives to be filtered by preprocessing.
This is accomplished by making VerifyDiagnosticsConsumer a CommentHandler,
which then only reads the -verify directives that are actually in live
blocks of code. It also makes it simpler to handle -verify directives that
appear in header files, though we still have to manually reparse some files
depending on how they are generated.

This requires some test changes. In particular, all PCH tests now have their
-verify directives outside the "header" portion of the file, using the @line
syntax added in r159978. Other tests have been modified mostly to make it
clear what is being tested, and to prevent polluting the expected output with
the directives themselves.

Patch by Andy Gibbs! (with slight modifications)

The new Frontend/verify-* tests exercise the functionality of this commit,
as well as r159978, r159979, and r160053 (Andy's other -verify enhancements).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160068 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-11 19:58:23 +00:00
..
11-27-2007-FloatLiterals.c Added testcase for commit r122963. 2011-01-06 16:56:00 +00:00
badstring_in_if0.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
bcpl-escaped-newline.c Allow -verify directives to be filtered by preprocessing. 2012-07-11 19:58:23 +00:00
block_cmt_end.c Change magic string "abc" to better magic string "qux". 2011-05-10 20:28:29 +00:00
c90.c PR12717: Clang supports hexadecimal floating-point literals in all language 2012-06-15 05:07:49 +00:00
char-escapes.c Fix diagnostic for reporting bad escape sequence. 2010-12-03 00:09:56 +00:00
char-literal-encoding-error.c Implement warning for non-wide string literals with an unexpected encoding. Downgrade error for non-wide character literals with an unexpected encoding to a warning for compatibility with gcc and older versions of clang. <rdar://problem/10837678>. 2012-02-11 05:08:10 +00:00
char-literal.cpp Fix off-by-one error in UTF-16 encoding: don't try to use a surrogate pair for U+FFFF. 2012-06-13 05:41:29 +00:00
clang-keywords.cpp Add __char16_t and __char32_t as aliases for the C++0x char16_t and 2010-09-13 23:21:44 +00:00
comment-escape.c Update tests to use %clang instead of 'clang', and forcibly disable use of ' 2009-12-15 22:01:24 +00:00
conflict-marker.c Allow -verify directives to be filtered by preprocessing. 2012-07-11 19:58:23 +00:00
constants.c Add and update tests for character literals 2012-01-18 12:27:10 +00:00
counter.c Update tests to use %clang instead of 'clang', and forcibly disable use of ' 2009-12-15 22:01:24 +00:00
cxx0x_keyword.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_keyword_as_cxx98.cpp Make the -Wc++11-compat warnings ignored by default, so we don't break 2011-10-25 03:07:45 +00:00
cxx0x_raw_string_delim_length.cpp When checking the encoding of an 8-bit string literal, don't just check the 2012-03-08 21:59:28 +00:00
cxx0x_raw_string_unterminated.cpp Update all tests other than Driver/std.cpp to use -std=c++11 rather than 2011-10-13 22:29:44 +00:00
digraph.c tests: Use -ffreestanding when including stdint.h, to avoid platform dependencies. 2010-09-07 22:54:28 +00:00
dollar-idents.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
escape_newline.c In Lexer::getCharAndSizeSlow[NoWarn] if we come up against 2011-12-22 04:38:07 +00:00
gnu_keywords.c Daniel re-educated me about what Alias does and does not do. Turn that off for 2010-05-22 02:21:53 +00:00
has_extension.c Accept __has_feature(__feature__) as a synonym for __has_feature(feature) (and 2012-02-25 10:41:10 +00:00
has_extension_cxx.cpp Add feature check "cxx_local_type_template_args" describing support 2012-04-04 00:48:39 +00:00
has_feature_address_sanitizer.cpp implement __has_feature(address_sanitizer); also use LangOpts.AddressSanitizer instead of CodeGenOpts.AddressSanitizer 2011-11-22 01:28:36 +00:00
has_feature_c1x.c Some improvements to the handling of C11 atomic types: 2012-01-16 17:27:18 +00:00
has_feature_cxx0x.cpp Add a query macro for C++11 N3276, decltype does not require complete 2012-04-10 20:00:33 +00:00
has_feature_exceptions.cpp tests: Use %clangxx when using driver for C++, in case C++ support is disabled. 2010-06-29 16:52:24 +00:00
has_feature_modules.m Add __has_feature(modules) to indicate when modules are available (in 2012-01-04 21:16:09 +00:00
has_feature_objc_arc.m Make -fobjc-nonfragile-abi the -cc1 default, since it's the 2011-10-02 01:16:38 +00:00
has_feature_rtti.cpp tests: Use %clangxx when using driver for C++, in case C++ support is disabled. 2010-06-29 16:52:24 +00:00
has_feature_type_traits.cpp Implement support for the __is_final type trait, to determine whether 2011-12-03 18:14:24 +00:00
hexfloat.cpp PR12717: Clang supports hexadecimal floating-point literals in all language 2012-06-15 05:07:49 +00:00
ms-extensions.c Make -fms-compatibility imply -fms-extensions. Fixes PR11204. 2011-10-24 15:27:23 +00:00
ms-extensions.cpp ext_reserved_user_defined_literal must not default to Error in MicrosoftMode. Hence create ext_ms_reserved_user_defined_literal that doesn't default to Error; otherwise MSVC headers won't parse. 2012-04-07 23:09:23 +00:00
msdos-cpm-eof.c reimplement r90860, fixing a couple of problems: 2009-12-17 05:29:40 +00:00
multiple-include.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
newline-eof-c++11.cpp C++11 no longer requires files to end with a newline 2012-04-13 01:00:34 +00:00
newline-eof-c++98-compat.cpp %clang -cc1 -> %clang_cc1 2012-04-15 04:41:49 +00:00
newline-eof.c Fix the location of the fixit for -Wnewline-eof. 2012-06-19 03:09:38 +00:00
numeric-literal-trash.c add a bunch of missing prototypes to tests 2010-01-09 20:43:19 +00:00
pragma-mark.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
pragma-message.c Have #pragma message not turn into error by -Werror, by default. Fixes rdar://9308989. 2011-04-21 17:11:44 +00:00
pragma-operators.cpp [-E] Emit a rewritten _Pragma on its own line. 2012-06-15 23:33:51 +00:00
preamble.c Make Lexer::ComputePreamble accept a LangOptions parameter, otherwise it may be 2011-08-25 20:39:19 +00:00
rdar-8914293.c Warn for missing terminating " or ' instead of error for gcc compatibility. Fixed rdar://8914293. 2011-02-15 23:45:31 +00:00
rdr-6096838-2.c Modify how the -verify flag works. Currently, the verification string and 2011-12-15 00:38:15 +00:00
rdr-6096838.c tests: Force triple to avoid limited precision warning on win32. 2010-10-18 23:37:08 +00:00
string-literal-encoding.c When checking the encoding of an 8-bit string literal, don't just check the 2012-03-08 21:59:28 +00:00
string_concat.cpp Modify how the -verify flag works. Currently, the verification string and 2011-12-15 00:38:15 +00:00
token-concat-2.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
token-concat.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
token-concat.cpp User-defined literals: reject string and character UDLs in all places where the 2012-03-06 03:21:47 +00:00
unknown-char.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
utf-16.c Fix tests that weren't actually verifying anything. 2012-04-15 22:09:44 +00:00
utf-16.c.txt enhance sourcemgr to detect various UTF BOM's and emit a fatal error 2010-04-20 18:14:03 +00:00
utf8-char-literal.cpp Add and update tests for character literals 2012-01-18 12:27:10 +00:00
wchar-signedness.c Add a predefine __WINT_UNSIGNED__, similar to __WCHAR_UNSIGNED__, and test them both for ARM and X86. 2012-05-04 11:23:40 +00:00
wchar.c Add and update tests for character literals 2012-01-18 12:27:10 +00:00