diff --git a/clang/include/clang/Basic/DiagnosticCommonKinds.td b/clang/include/clang/Basic/DiagnosticCommonKinds.td index d6281f157eea7c..20b49605eb6f49 100644 --- a/clang/include/clang/Basic/DiagnosticCommonKinds.td +++ b/clang/include/clang/Basic/DiagnosticCommonKinds.td @@ -282,6 +282,9 @@ def err_file_modified : Error< "file '%0' modified since it was first processed">, DefaultFatal; def err_file_too_large : Error< "sorry, unsupported: file '%0' is too large for Clang to process">; +def err_include_too_large : Error< + "sorry, this include generates a translation unit too large for" + " Clang to process.">, DefaultFatal; def err_unsupported_bom : Error<"%0 byte order mark detected in '%1', but " "encoding is not supported">, DefaultFatal; def err_unable_to_rename_temp : Error< diff --git a/clang/include/clang/Lex/Preprocessor.h b/clang/include/clang/Lex/Preprocessor.h index 9716196b95c233..91f294b1d9b37a 100644 --- a/clang/include/clang/Lex/Preprocessor.h +++ b/clang/include/clang/Lex/Preprocessor.h @@ -2203,12 +2203,14 @@ class Preprocessor { ModuleBegin, ModuleImport, SkippedModuleImport, + Failure, } Kind; Module *ModuleForHeader = nullptr; ImportAction(ActionKind AK, Module *Mod = nullptr) : Kind(AK), ModuleForHeader(Mod) { - assert((AK == None || Mod) && "no module for module action"); + assert((AK == None || Mod || AK == Failure) && + "no module for module action"); } }; diff --git a/clang/lib/Basic/SourceManager.cpp b/clang/lib/Basic/SourceManager.cpp index 73f2ae96d4a3ed..187c33ab902030 100644 --- a/clang/lib/Basic/SourceManager.cpp +++ b/clang/lib/Basic/SourceManager.cpp @@ -577,13 +577,15 @@ FileID SourceManager::createFileID(const ContentCache *File, StringRef Filename, SLocEntryLoaded[Index] = true; return FileID::get(LoadedID); } + unsigned FileSize = File->getSize(); + if (!(NextLocalOffset + FileSize + 1 > NextLocalOffset && + NextLocalOffset + FileSize + 1 <= CurrentLoadedOffset)) { + Diag.Report(IncludePos, diag::err_include_too_large); + return FileID(); + } LocalSLocEntryTable.push_back( SLocEntry::get(NextLocalOffset, FileInfo::get(IncludePos, File, FileCharacter, Filename))); - unsigned FileSize = File->getSize(); - assert(NextLocalOffset + FileSize + 1 > NextLocalOffset && - NextLocalOffset + FileSize + 1 <= CurrentLoadedOffset && - "Ran out of source locations!"); // We do a +1 here because we want a SourceLocation that means "the end of the // file", e.g. for the "no newline at the end of the file" diagnostic. NextLocalOffset += FileSize + 1; diff --git a/clang/lib/Lex/PPDirectives.cpp b/clang/lib/Lex/PPDirectives.cpp index e433b2cf1b9571..660c4a5e089d10 100644 --- a/clang/lib/Lex/PPDirectives.cpp +++ b/clang/lib/Lex/PPDirectives.cpp @@ -1708,6 +1708,13 @@ void Preprocessor::HandleIncludeDirective(SourceLocation HashLoc, EnterAnnotationToken(SourceRange(HashLoc, EndLoc), tok::annot_module_include, Action.ModuleForHeader); break; + case ImportAction::Failure: + assert(TheModuleLoader.HadFatalFailure && + "This should be an early exit only to a fatal error"); + TheModuleLoader.HadFatalFailure = true; + IncludeTok.setKind(tok::eof); + CurLexer->cutOffLexing(); + return; } } @@ -2165,7 +2172,10 @@ Preprocessor::ImportAction Preprocessor::HandleHeaderIncludeOrImport( if (IncludePos.isMacroID()) IncludePos = SourceMgr.getExpansionRange(IncludePos).getEnd(); FileID FID = SourceMgr.createFileID(*File, IncludePos, FileCharacter); - assert(FID.isValid() && "Expected valid file ID"); + if (!FID.isValid()) { + TheModuleLoader.HadFatalFailure = true; + return ImportAction::Failure; + } // If all is good, enter the new file! if (EnterSourceFile(FID, CurDir, FilenameTok.getLocation())) diff --git a/clang/lib/Lex/Preprocessor.cpp b/clang/lib/Lex/Preprocessor.cpp index 0e9be3923630a1..a18dc4af42268e 100644 --- a/clang/lib/Lex/Preprocessor.cpp +++ b/clang/lib/Lex/Preprocessor.cpp @@ -906,6 +906,9 @@ void Preprocessor::Lex(Token &Result) { } } while (!ReturnedToken); + if (Result.is(tok::unknown) && TheModuleLoader.HadFatalFailure) + return; + if (Result.is(tok::code_completion) && Result.getIdentifierInfo()) { // Remember the identifier before code completion token. setCodeCompletionIdentifierInfo(Result.getIdentifierInfo()); @@ -1200,6 +1203,13 @@ bool Preprocessor::LexAfterModuleImport(Token &Result) { Suffix[0].setAnnotationValue(Action.ModuleForHeader); // FIXME: Call the moduleImport callback? break; + case ImportAction::Failure: + assert(TheModuleLoader.HadFatalFailure && + "This should be an early exit only to a fatal error"); + Result.setKind(tok::eof); + CurLexer->cutOffLexing(); + EnterTokens(Suffix); + return true; } EnterTokens(Suffix); diff --git a/clang/test/Lexer/Inputs/inc1.h b/clang/test/Lexer/Inputs/inc1.h new file mode 100644 index 00000000000000..f7fd716d54c947 --- /dev/null +++ b/clang/test/Lexer/Inputs/inc1.h @@ -0,0 +1,1470 @@ +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" +#include "inc2.h" diff --git a/clang/test/Lexer/Inputs/inc2.h b/clang/test/Lexer/Inputs/inc2.h new file mode 100644 index 00000000000000..a827dc7fc0d0a3 --- /dev/null +++ b/clang/test/Lexer/Inputs/inc2.h @@ -0,0 +1,1000 @@ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ +/*...............................................................................................*/ diff --git a/clang/test/Lexer/SourceLocationsOverflow.c b/clang/test/Lexer/SourceLocationsOverflow.c new file mode 100644 index 00000000000000..d2313ea4324d7f --- /dev/null +++ b/clang/test/Lexer/SourceLocationsOverflow.c @@ -0,0 +1,25 @@ +// RUN: not %clang %s -S -o - 2>&1 | FileCheck %s +// CHECK: In file included from {{.*}}SourceLocationsOverflow.c +// CHECK-NEXT: inc1.h{{.*}}: fatal error: sorry, this include generates a translation unit too large for Clang to process. +// CHECK-NEXT: #include "inc2.h" +// CHECK-NEXT: ^ +// CHECK-NEXT: 1 error generated. +#include "Inputs/inc1.h" +#include "Inputs/inc1.h" +#include "Inputs/inc1.h" +#include "Inputs/inc1.h" +#include "Inputs/inc1.h" +#include "Inputs/inc1.h" +#include "Inputs/inc1.h" +#include "Inputs/inc1.h" +#include "Inputs/inc1.h" +#include "Inputs/inc1.h" +#include "Inputs/inc1.h" +#include "Inputs/inc1.h" +#include "Inputs/inc1.h" +#include "Inputs/inc1.h" +#include "Inputs/inc1.h" +#include "Inputs/inc1.h" +#include "Inputs/inc1.h" +#include "Inputs/inc1.h" +#include "Inputs/inc1.h"