llvm-project/clang/test/Modules
Andy Gibbs fcc699aee8 Extended VerifyDiagnosticConsumer to also verify source file for diagnostic.
VerifyDiagnosticConsumer previously would not check that the diagnostic and
its matching directive referenced the same source file.  Common practice was
to create directives that referenced other files but only by line number,
and this led to problems such as when the file containing the directive
didn't have enough lines to match the location of the diagnostic in the
other file, leading to bizarre file formatting and other oddities.

This patch causes VerifyDiagnosticConsumer to match source files as well as
line numbers.  Therefore, a new syntax is made available for directives, for
example:

// expected-error@file:line {{diagnostic message}}

This extends the @line feature where "file" is the file where the diagnostic
is generated.  The @line syntax is still available and uses the current file
for the diagnostic.  "file" can be specified either as a relative or absolute
path - although the latter has less usefulness, I think!  The #include search
paths will be used to locate the file and if it is not found an error will be
generated.

The new check is not optional: if the directive is in a different file to the
diagnostic, the file must be specified.  Therefore, a number of test-cases
have been updated with regard to this.

This closes out PR15613.

llvm-svn: 179677
2013-04-17 08:06:46 +00:00
..
Inputs Add a module testcase with a using declaration. 2013-04-05 00:52:14 +00:00
auto-module-import.m Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
autolink.m [Modules] Convert module specific -fno-modules-autolink into -fno-autolink. 2013-04-16 18:21:19 +00:00
build-fail-notes.m Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
builtins.m <rdar://problem/13560075> Teach name lookup for builtin names to find hidden declarations. 2013-04-03 23:06:26 +00:00
compiler_builtins.m Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
config_macros.m <rdar://problem/10796651> Introduce configuration macros into module maps. 2013-03-20 00:22:05 +00:00
conflicts.m <rdar://problem/12368093> Extend module maps with a 'conflict' declaration, and warn when a newly-imported module conflicts with an already-imported module. 2013-03-20 21:10:35 +00:00
cstd.m Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
cxx-inline-namespace.cpp Remove an assert which triggers when a decl context in a module hits the 'has 2013-02-12 02:32:35 +00:00
cxx-linkage-cache.cpp Fix a bug reduced from a crash when trying to use modules with libc++. We check 2013-02-12 05:48:23 +00:00
cxx-many-overloads.cpp Fix conflict between r174685 and r174645 (rename -fmodule-cache-path <foo> to -fmodules-cache-path=<foo>). 2013-02-08 01:35:44 +00:00
cycles.c Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
decldef.m Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
decldef.mm Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
diag-pragma.c [modules] Make sure enabled diagnostic pragmas inside the module don't affect the translation unit that 2013-03-27 17:17:23 +00:00
diamond-pch.c Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
diamond.c Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
direct-module-import.m Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
driver.c <rdar://problem/13477190> Give the Clang module cache directory some structure, so it's easier to find. 2013-03-21 21:48:48 +00:00
epic-fail.m Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
global_index.m Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
header-import.m Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
ignored_macros.m Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
import-decl.cpp Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
inferred-frameworks.m Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
inferred-submodules.m Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
irgen.c Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
linkage-merge.cpp Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
linkage-merge.m Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
load_failure.c Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
lookup.cpp Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
lookup.m Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
macros.c Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
method_pool.m Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
modify-module.m <rdar://problem/13037793> Allow the names of modules to differ from the name of their subdirectory in the include path. 2013-03-21 01:08:50 +00:00
module-private.cpp Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
module_file_info.m <rdar://problem/13509689> Introduce -module-file-info option that provides information about a particular module file. 2013-03-27 16:47:18 +00:00
namespaces.cpp Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
normal-module-map.cpp Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
objc-categories.m Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
objc_redef.m Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
on-demand-build.m Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
on-demand-macros.m Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
prune.m Remove local path from test. 2013-03-25 21:52:42 +00:00
redecl-merge.m Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
redecl-merge2.m [Modules] Cope better with top-level declarations loaded after being declared in the current translation unit <rdar://problem/13189985>. 2013-02-11 18:16:18 +00:00
redecl-namespaces.mm Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
redeclarations.m Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
renamed.m <rdar://problem/13037793> Allow the names of modules to differ from the name of their subdirectory in the include path. 2013-03-21 01:08:50 +00:00
requires.m Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
stddef.m <rdar://problem/13479214> Make Clang's <stddef.h> robust against system headers defining size_t/ptrdiff_t/wchar_t. 2013-03-22 00:10:49 +00:00
subframeworks.m Extended VerifyDiagnosticConsumer to also verify source file for diagnostic. 2013-04-17 08:06:46 +00:00
submodules-preprocess.cpp Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
submodules.cpp Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
submodules.m Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
system_version.m Make sure we have the include paths we need 2013-04-12 00:23:25 +00:00
templates.mm Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00
wildcard-submodule-exports.cpp Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. 2013-02-07 19:01:24 +00:00