hanchenye-llvm-project/clang/test/Modules
Chandler Carruth 6a4a524146 Add some infuriatingly necessary comments to this test case.
Without these comments, by "luck" the contents of SomeKit's SKWidget.h
are precisely the same as SomeKitCore's SomeKitCore.h. This can create
havoc if anything canonicalizes on the inode and your filesystem assigns
a common inode to files with identical file content. Alternatively, if
your build system uses symlinks into a content-addressed-storage (as
Google's does), you end up with these files being symlinks to the same
file.

The end result is that Clang deduplicates them internally, and then
believes that the SomeKit framework includes the SomeKitCore.h header,
and does not include the SKWidget.h in SomeKit. This in turn results in
warnings in this test and eventually errors as Clang becomes confused
because the umbrella header for SomeKitCore has already been included
into another framework's module (SomeKit). Yay.

If anyone has a better idea about how to avoid this, I'm all ears.
Nothing other than causing the file content to change worked for me.

llvm-svn: 330184
2018-04-17 11:08:05 +00:00
..
Inputs Add some infuriatingly necessary comments to this test case. 2018-04-17 11:08:05 +00:00
DebugInfoNamespace.cpp
DebugInfoSubmoduleImport.c
DebugInfoSubmodules.c
DebugInfoTransitiveImport.m Update for LLVM IR metadata changes (DIImportedEntity now needs a DIFile). 2017-07-19 00:09:58 +00:00
ExtDebugInfo.cpp -gmodules: Emit debug info for implicit module imports via #include. 2018-01-03 19:10:21 +00:00
ExtDebugInfo.m
ModuleDebugInfo.cpp Re-commit r324490: [DebugInfo] Improvements to representation of enumeration types (PR36168) 2018-02-12 16:12:52 +00:00
ModuleDebugInfo.m Debug Info: Set the MainFileName when generating -gmodules debug info for PCM. 2017-07-18 23:58:34 +00:00
ModuleModuleDebugInfo.cpp
Rmodule-build.m
Werror-Wsystem-headers.m
Werror.m
add-remove-private.m [Modules] Change private modules rules and warnings 2017-12-22 02:53:30 +00:00
adl.cpp [modules] Fix visibility checking for using declarations via ADL. 2017-10-11 01:49:57 +00:00
anon-linkage.cpp [Modules TS] Module ownership semantics for redeclarations. 2017-10-10 22:33:17 +00:00
anon-namespace.cpp
anon-redecl.cpp
attr-unavailable.m
auto-import-unavailable.cpp
auto-module-import.m [Modules] Change private modules rules and warnings 2017-12-22 02:53:30 +00:00
autolink.m
autolinkTBD.m
available-is-better.cpp
bad-private-include.m [Modules] Honor -fmodule-name when handling private framework modules 2018-03-20 22:36:39 +00:00
build-fail-notes.m
builtin-import.mm Fix Modules/{builtin-import.mm,umbrella-header-include-builtin.mm} to be able to handle non-Darwin targets 2017-09-29 15:45:34 +00:00
builtins.m
check-for-sanitizer-feature.cpp
codegen-flags.test
codegen-nodep.test
codegen-opt.test Modular Codegen: Don't home/modularize static functions in headers 2017-11-02 21:55:40 +00:00
codegen.test Modular Codegen: Don't home always_inline functions 2017-11-02 22:28:50 +00:00
compiler_builtins.m
compiler_builtins_aarch64.m
compiler_builtins_arm.m
compiler_builtins_x86.c
config-mismatch.cpp
config_macros.m
conflicts.m
const-var-init-update.cpp
crash-typo-correction-visibility.cpp [clang] Get rid of "%T" expansions 2017-08-15 19:47:06 +00:00
crash-vfs-headermaps.m
crash-vfs-include-pch.m
crash-vfs-ivfsoverlay.m [test] Disable leak checking on a clang crash test on Darwin 2017-09-29 15:46:27 +00:00
crash-vfs-path-emptydir-entries.m Replace cp -a in various Clang tests 2018-01-04 01:15:52 +00:00
crash-vfs-path-symlink-component.m Replace cp -a in various Clang tests 2018-01-04 01:15:52 +00:00
crash-vfs-path-symlink-topheader.m Replace cp -a in various Clang tests 2018-01-04 01:15:52 +00:00
crash-vfs-path-traversal.m
crash-vfs-relative-incdir.m
crash-vfs-relative-overlay.m
crash-vfs-run-reproducer.m
crash-vfs-umbrella-frameworks.m Replace cp -a in various Clang tests 2018-01-04 01:15:52 +00:00
crashes.m
cstd.m
cxx-decls.cpp
cxx-dtor.cpp
cxx-inline-namespace.cpp
cxx-irgen.cpp Bring r325915 back. 2018-02-23 19:30:48 +00:00
cxx-linkage-cache.cpp
cxx-lookup.cpp
cxx-many-overloads.cpp
cxx-templates.cpp Extend -ast-dump for CXXRecordDecl to dump the flags from the DefinitionData. 2017-09-22 00:11:15 +00:00
cxx17-inline-variables.cpp PR33746: Store the 'inline'ness of a static data member with the update record 2017-11-02 01:06:00 +00:00
cxx17.cpp
cycles.c
darwin_specific_modulemap_hacks.m
debug-info-moduleimport-in-module.m Update for LLVM IR metadata changes (DIImportedEntity now needs a DIFile). 2017-07-19 00:09:58 +00:00
debug-info-moduleimport.m Update for LLVM IR metadata changes (DIImportedEntity now needs a DIFile). 2017-07-19 00:09:58 +00:00
declare-use-compatible.cpp
declare-use.S
declare-use1.cpp
declare-use2.cpp
declare-use3.cpp
declare-use4.cpp
declare-use5.cpp
decldef.m
decldef.mm
deferred-lookup.cpp
dependency-dump-dependent-module.m
dependency-dump.m
dependency-gen-inferred-map.m
dependency-gen-pch.m
dependency-gen.m
dependency-gen.modulemap
diag-flags.cpp [modules] Fix incorrect diagnostic mapping computation when a module changes 2018-02-09 01:15:13 +00:00
diag-pragma.c
diag-pragma.cpp
diagnose-missing-import.m
diagnostic-options-out-of-date.m
diagnostics.modulemap
diamond-pch.c
diamond.c
direct-module-import.m
driver.c
elaborated-type-specifier-from-hidden-module.m [Modules] Implement ODR-like semantics for tag types in C/ObjC 2017-07-01 00:06:47 +00:00
embed-files-compressed.cpp
embed-files.cpp
empty.modulemap
epic-fail.m
exclude-header.c
explicit-build-extra-files.cpp
explicit-build-flags.cpp
explicit-build-missing-files.cpp
explicit-build-overlap.cpp
explicit-build-prefer-self.cpp
explicit-build-relpath.cpp
explicit-build.cpp
exponential-paths.cpp
export_as_test.c [Module map] Introduce a private module re-export directive. 2017-09-14 23:38:44 +00:00
extensions.c
extern_c.cpp
extern_c_bad.cpp
extern_cxx.cpp
fatal-module-loader-error.m
filename.cpp
find-privateheaders.m
fmodules-validate-once-per-build-session.c
framework-name.m
friend-definition.cpp [modules] Don't diagnose "redefinition" of a friend with a pending definition 2018-03-01 22:20:13 +00:00
getSourceDescriptor-crash.cpp
global-init.cpp
global_index.m [Modules] Change private modules rules and warnings 2017-12-22 02:53:30 +00:00
gnumode-non-benign.cpp
header-attribs.cpp
header-import.m
header-in-multiple-maps.cpp
hidden-definition.cpp
hidden-names.cpp
ignored_macros.m
implementation-of-module.m
implicit-build-config-out-of-date.m
implicit-built-Werror-using-W.cpp
implicit-map-dot-private.m [Modules] Map missing private submodules from Foo.Private to Foo_Private 2017-12-22 05:04:43 +00:00
implicit-private-canonical.m [Modules] Change private modules rules and warnings 2017-12-22 02:53:30 +00:00
implicit-private-with-different-name.m [Modules] Change private modules rules and warnings 2017-12-22 02:53:30 +00:00
implicit-private-with-submodule.m [Modules] Improve fixit for framework private module maps 2018-03-30 05:17:58 +00:00
import-decl.cpp
import-self.m
import-syntax.c
import-textual-noguard.mm
import-textual.mm
include-own-headers.m
include-relative.c
include_next.c
incomplete-module.m
incomplete-umbrella.m
inferred-attributes.mm
inferred-framework-case.m
inferred-frameworks.m
inferred-submodules.m
initializer_list.cpp
inner-struct-redefines-invisible.m [modules] Set the lexical DC for dummy tag decls that refer to hidden 2017-08-11 12:06:52 +00:00
interface-visibility.m
internal-constants.cpp
invalid-pch-module-id.m
invalidate-identifiers.c
irgen.c
lambda-context.cpp
libc-libcxx.cpp
libstdcxx-ambiguous-internal.cpp
linkage-merge.cpp
linkage-merge.m
load-after-failure.m
load_failure.c
localsubmodulevis.m
lookup-assert-protocol.m [ASTReader] Add test for previous change r306583 / 145692e. 2017-06-29 19:42:35 +00:00
lookup-assert.m
lookup.cpp
lookup.m
macro-ambiguity.cpp
macro-hiding.cpp
macro-masking.cpp
macro-redefinition.cpp
macro-reexport.cpp
macro-undef-through-pch.m
macros.c
macros2.c
malformed-overload.m
malformed.cpp
merge-anon-in-extern_c.cpp [modules] Add a regression test for merging anon decls in extern C contexts. 2017-10-24 14:52:35 +00:00
merge-anon-in-template.cpp
merge-class-definition-visibility.cpp
merge-decl-context.cpp
merge-decl-order.cpp
merge-dependent-friends.cpp
merge-enumerators.cpp
merge-fn-prototype-tags.c
merge-friends.cpp
merge-function-defs.cpp
merge-implicit-special-members.cpp
merge-name-for-linkage.cpp
merge-nested-templates.cpp
merge-target-features.cpp
merge-template-friend.cpp
merge-template-members.cpp
merge-template-pattern-visibility.cpp
merge-template-specializations.cpp
merge-typedefs.cpp
merge-using-decls.cpp
merge-var-template-def.cpp
merge-vtable-codegen.cpp
method_pool.m
method_pool_write.m
minimal-identifier-tables.cpp
misplaced-1.cpp
misplaced-2.cpp
misplaced-3.cpp
misplaced-4.cpp
misplaced-5.c
missing-flag.cpp Reject attempts to build a module without -fmodules, rather than silently doing weird things. 2017-07-06 21:05:56 +00:00
missing-header.m
missing-submodule.m
modify-module.m Avoid assumption that lit tests are writable (in a couple more places). NFC 2018-01-09 09:32:53 +00:00
modular_maps.cpp
module-feature.m
module-file-modified.c
module-impl-with-link.c
module-imported-by-pch-path.m Change path used in a test from r318503 to work on windows 2017-11-17 04:26:07 +00:00
module-map-path-hash.cpp
module-name-private.m [Modules] Extend -fmodule-name semantic for frameworks with private modules 2018-02-16 00:12:57 +00:00
module-private.cpp
module_file_info.m
module_map_cwd.c
modulemap-locations.m [Modules] Change private modules rules and warnings 2017-12-22 02:53:30 +00:00
modules-cache-path-canonicalization.m [clang] Get rid of "%T" expansions 2017-08-15 19:47:06 +00:00
modules-with-same-name.m
modules.idx
multiple-include.cpp
namespaces.cpp
no-implicit-builds.cpp
no-implicit-maps.cpp
no-linkage.cpp
no-stale-modtime.m
normal-module-map.cpp
objc-at-keyword.m
objc-categories.m
objc-category-2.m
objc-category-3.m
objc-category.m
objc-designated-init-mod.m
objc-hidden.m
objc-initializer.m
objc-method-redecl.m
objc_redef.m
odr.cpp [AST] Incorrectly qualified unscoped enumeration as template actual parameter. 2017-12-21 21:47:22 +00:00
odr_hash-Friend.cpp [ODRHash] Fix hashing for friend functions. 2018-02-22 05:50:29 +00:00
odr_hash-Unresolved.cpp Test case for r321396 2018-01-06 03:20:59 +00:00
odr_hash-blocks.cpp Allow BlockDecl in CXXRecord scope to have no access specifier. 2018-01-19 20:46:19 +00:00
odr_hash.cpp [ODRHash] Support pointer and reference types. 2018-04-13 22:34:43 +00:00
on-demand-build.m
on-demand-macros.m
outofdate-rebuild.m
overloadable-attrs.cpp
parse-attributes.modulemap
path-resolution.modulemap Fix incorrect use of current directory to find moved paths in ASTReader. 2017-07-25 10:22:06 +00:00
pch-module-macro.m
pch-used.m
pch-with-module-name.m
pch_container.m
pr19692.cpp
pr20399.cpp
pr20786.cpp
pr21217.cpp
pr21547.cpp
pr21687.cpp
pr24954.cpp
pr25501.cpp
pr26014.cpp
pr26179.cpp
pr27041.cpp
pr27186.cpp
pr27401.cpp
pr27513.cpp
pr27699.cpp
pr27739.cpp
pr27754.cpp
pr27890.cpp
pr28332.cpp
pr28438.cpp
pr28752.cpp
pr28812.cpp
pr31469.cpp
pragma-pack.cpp
prebuilt-module.m
preprocess-build-diamond.m
preprocess-build.cpp Reject attempts to build a module without -fmodules, rather than silently doing weird things. 2017-07-06 21:05:56 +00:00
preprocess-decluse.cpp Track the set of module maps read while building a .pcm file and reload those when preprocessing from that .pcm file. 2017-06-29 02:19:42 +00:00
preprocess-missing.modulemap
preprocess-module.cpp
preprocess-nested.cpp
preprocess-unavailable.cpp
preprocess.cpp
preprocess.m
private.cpp
private.modulemap
private1.cpp
prune.m [Modules] Change private modules rules and warnings 2017-12-22 02:53:30 +00:00
public-private.modulemap
rebuild.m
recursive.c
recursive_visibility.mm
redecl-add-after-load.cpp
redecl-found-building-chains.cpp
redecl-merge.m
redecl-merge2.m
redecl-namespaces.mm
redecl-templates.cpp
redeclarations.m
redecls.m
redefinition-c-tagtypes.m [Modules] Change private modules rules and warnings 2017-12-22 02:53:30 +00:00
redefinition-same-header.m [Modules] Implement ODR-like semantics for tag types in C/ObjC 2017-07-01 00:06:47 +00:00
redundant-include.mm
relative-dep-gen.cpp Reject attempts to build a module without -fmodules, rather than silently doing weird things. 2017-07-06 21:05:56 +00:00
renamed.m
require-modular-includes.m
requires-coroutines.mm [Modules] Change private modules rules and warnings 2017-12-22 02:53:30 +00:00
requires-gnuinlineasm.m
requires.m [Modules] Add more language features to be used with requires-declaration 2018-02-14 19:01:03 +00:00
requires.mm [Modules] Change private modules rules and warnings 2017-12-22 02:53:30 +00:00
resolution-change.m
self-import-header.m
self-referencing-lambda.cpp [Modules] Update test to mention it requires C++14. 2018-03-23 00:16:06 +00:00
separate_map_tree.cpp
serialized-diags.m
shadow.m Reapply r321781: [Modules] Allow modules specified by -fmodule-map-file to shadow implicitly found ones 2018-01-05 02:33:18 +00:00
shadowed-submodule.m Reapply r321781: [Modules] Allow modules specified by -fmodule-map-file to shadow implicitly found ones 2018-01-05 02:33:18 +00:00
signal.m
static_assert.cpp
stddef.c
stddef.m
stress-objc.m
stress1.cpp
strict-decluse.cpp
string_names.cpp
subframework-from-intermediate-path.m [Modules] Change private modules rules and warnings 2017-12-22 02:53:30 +00:00
subframeworks.m [Modules] Change private modules rules and warnings 2017-12-22 02:53:30 +00:00
submodule-visibility-cycles.cpp
submodule-visibility.cpp
submodules-merge-defs.cpp
submodules-preprocess.cpp
submodules.cpp
submodules.m
suggest-include.cpp
system-out-of-date-test.m
system_headers.m
tag-injection.c
tag-injection.cpp
target-features.m [PATCH] [RISCV] Extend getTargetDefines for RISCVTargetInfo 2018-04-05 12:54:00 +00:00
template-default-args.cpp
template-specialization-visibility.cpp
templates-2.mm
templates.mm [ObjC] Allow declaring __weak pointer fields in C structs in ARC. 2018-03-19 17:38:40 +00:00
textual-hdr-in-umbrella-hdr.m
textual-headers.cpp
thread-safety.cpp
typedef-tag-not-visible.m
typo.m
umbrella-header-include-builtin.mm Fix Modules/{builtin-import.mm,umbrella-header-include-builtin.mm} to be able to handle non-Darwin targets 2017-09-29 15:45:34 +00:00
undefined-type-fixit1.cpp
unnecessary-module-map-parsing.c
unused-global-init.cpp
update-after-load.cpp
update-exception-spec.cpp
use-after-free.m
use-exportas-for-link.m Use export_as for autolinking frameworks 2018-04-16 19:42:32 +00:00
using-decl-friend-2.cpp Serialize the IDNS for a UsingShadowDecl rather than recomputing it. 2018-01-06 01:07:05 +00:00
using-decl-friend.cpp When name lookup finds a non-imported declaration and looks back along the 2018-01-06 00:09:23 +00:00
using-decl-inheritance.cpp [modules] Add test for using declaration in classes. 2017-08-29 09:27:41 +00:00
using-decl-redecl.cpp
using-decl.cpp
using-directive-redecl.cpp [modules] Retain multiple using-directives in the same scope even if they name the same namespace. 2017-10-30 22:38:20 +00:00
using-directive.cpp [modules] Only take visible using-directives into account during name lookup. 2017-10-11 01:19:11 +00:00
va_list.cpp
va_list.m
validate-system-headers.m
var-templates.cpp Use an even more precise triple to avoid errors on Darwin, where we don't use comdats for inline entities. 2017-12-05 21:29:36 +00:00
visibility-in-instantiation.cpp [modules] When finding the owning module of an instantiated context in template 2017-10-18 01:41:38 +00:00
warn-unused-local-typedef.cpp
warning-mismatch.m
wildcard-submodule-exports.cpp
working-dir-flag.m