]> granicus.if.org Git - clang/commit
Generate a marker token when entering or leaving a submodule when building a
authorRichard Smith <richard-llvm@metafoo.co.uk>
Sat, 23 Nov 2013 04:06:09 +0000 (04:06 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Sat, 23 Nov 2013 04:06:09 +0000 (04:06 +0000)
commit8a88a0b71520b418800ce1a4eb8bd4541b02d057
tree927daada9a47ff15a9249b3569168ae76e2003e0
parente6d601f912ea8fb367204f342f799196782195dd
Generate a marker token when entering or leaving a submodule when building a
module. Use the marker to diagnose cases where we try to transition between
submodules when not at the top level (most likely because a closing brace was
missing at the end of a header file, but is also possible if submodule headers
attempt to do something fundamentally non-modular, like our .def files).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195543 91177308-0d34-0410-b5e6-96231b3b80d8
21 files changed:
include/clang/Basic/TokenKinds.def
include/clang/Lex/Preprocessor.h
include/clang/Parse/Parser.h
lib/Frontend/PrintPreprocessedOutput.cpp
lib/Lex/PPDirectives.cpp
lib/Lex/PPLexerChange.cpp
lib/Lex/Preprocessor.cpp
lib/Parse/ParseCXXInlineMethods.cpp
lib/Parse/ParseDecl.cpp
lib/Parse/ParseDeclCXX.cpp
lib/Parse/ParseInit.cpp
lib/Parse/ParseObjc.cpp
lib/Parse/ParseStmt.cpp
lib/Parse/Parser.cpp
test/Modules/Inputs/malformed/a1.h [new file with mode: 0644]
test/Modules/Inputs/malformed/a2.h [new file with mode: 0644]
test/Modules/Inputs/malformed/b1.h [new file with mode: 0644]
test/Modules/Inputs/malformed/b2.h [new file with mode: 0644]
test/Modules/Inputs/malformed/module.map [new file with mode: 0644]
test/Modules/auto-module-import.m
test/Modules/malformed.cpp [new file with mode: 0644]