aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp
AgeCommit message (Collapse)AuthorFilesLines
2015-10-23Module Debugging: Emit module debug info for types inside of Objective-CAdrian Prantl1-0/+4
containers. rdar://problem/23196170 llvm-svn: 251120
2015-10-23Remove a redundant check. NFCAdrian Prantl1-2/+1
llvm-svn: 251116
2015-09-22Module Debugging: Use the clang module signature as the module's dwo_idAdrian Prantl1-1/+1
when building a module. Clang already records the module signature when building a skeleton CU to reference a clang module. Matching the id in the skeleton with the one in the module allows a DWARF consumer to verify that they found the correct version of the module without them needing to know about the clang module format. llvm-svn: 248345
2015-09-21Debug Info: When building a module, emit skeleton CUs for imported modules.Adrian Prantl1-0/+7
llvm-svn: 248184
2015-09-20Module debugging: Support submodules in the PCM/PCH debug info.Adrian Prantl1-0/+5
llvm-svn: 248127
2015-09-19Further simplify the interface of PCHContainerGeneratorAdrian Prantl1-7/+7
by dropping the const qualifier on the CI. NFC llvm-svn: 248101
2015-09-19Eliminate a redundant check.Adrian Prantl1-3/+2
llvm-svn: 248068
2015-09-18Simplify the interface of PCHContainerGenerator and friendsAdrian Prantl1-13/+12
by passing in a CompilerInstance instead of all its individual members. NFC. llvm-svn: 248053
2015-09-10Debug Info: Remove an unnecessary debug type visitor.Adrian Prantl1-7/+0
Thanks to dblaikie for spotting this. llvm-svn: 247303
2015-09-10Re-commit r247218: "Fix Clang-tidy misc-use-override warnings, other minor ↵Hans Wennborg1-3/+3
fixes" This never broke the build; it was the LLVM side, r247216, that caused problems. llvm-svn: 247302
2015-09-10Revert r247218: "Fix Clang-tidy misc-use-override warnings, other minor fixes"Hans Wennborg1-3/+3
Seems it broke the Polly build. From http://lab.llvm.org:8011/builders/perf-x86_64-penryn-O3-polly-fast/builds/11687/steps/compile/logs/stdio: In file included from /home/grosser/buildslave/perf-x86_64-penryn-O3-polly-fast/llvm.src/lib/TableGen/Record.cpp:14:0: /home/grosser/buildslave/perf-x86_64-penryn-O3-polly-fast/llvm.src/include/llvm/TableGen/Record.h:369:3: error: looser throw specifier for 'virtual llvm::TypedInit::~TypedInit()' /home/grosser/buildslave/perf-x86_64-penryn-O3-polly-fast/llvm.src/include/llvm/TableGen/Record.h:270:11: error: overriding 'virtual llvm::Init::~Init() noexcept (true)' llvm-svn: 247222
2015-09-10Fix Clang-tidy misc-use-override warnings, other minor fixesHans Wennborg1-3/+3
Patch by Eugene Zelenko! Differential Revision: http://reviews.llvm.org/D12741 llvm-svn: 247218
2015-09-08Module Debugging: Emit debug type information into clang ObjC modules.Adrian Prantl1-0/+42
When -fmodule-format is set to "obj", emit debug info for all types declared in a module or referenced by a declaration into the module's object file container. This patch adds support for Objective-C types and methods. llvm-svn: 247068
2015-09-08Module Debugging: Emit debug type information into clang modules.Adrian Prantl1-0/+58
When -fmodule-format is set to "obj", emit debug info for all types declared in a module or referenced by a declaration into the module's object file container. This patch adds support for C and C++ types. llvm-svn: 247049
2015-08-27Add a -gmodules option to the driver and a -dwarf-ext-refs to cc1Adrian Prantl1-0/+1
to enable the use of external type references in the debug info (a.k.a. module debugging). The driver expands -gmodules to "-g -fmodule-format=obj -dwarf-ext-refs" and passes that to cc1. All this does at the moment is set a flag codegenopts. http://reviews.llvm.org/D11958 llvm-svn: 246192
2015-08-18Initialize the AST consumer as soon as we have both an ASTConsumer and anRichard Smith1-4/+1
ASTContext. Fixes some cases where we could previously initialize the AST consumer more than once. llvm-svn: 245346
2015-08-13Remove and forbid raw_svector_ostream::flush() calls.Yaron Keren1-1/+0
After r244870 flush() will only compare two null pointers and return, doing nothing but wasting run time. The call is not required any more as the stream and its SmallString are always in sync. Thanks to David Blaikie for reviewing. llvm-svn: 244928
2015-08-09[modules] PR22534: Load files specified by -fmodule-file= eagerly. In ↵Richard Smith1-1/+6
particular, this avoids the need to re-parse module map files when using such a module. llvm-svn: 244416
2015-08-05Rename DescriptionString -> DataLayoutString as it matches the actualEric Christopher1-4/+4
use of the string. llvm-svn: 244178
2015-07-24LLVM API Change: the Module always owns the DataLayoutMehdi Amini1-3/+2
From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 243115
2015-07-17Make the clang module container format selectable from the command line.Adrian Prantl1-2/+2
- introduces a new cc1 option -fmodule-format=[raw,obj] with 'raw' being the default - supports arbitrary module container formats that libclang is agnostic to - adds the format to the module hash to avoid collisions - splits the old PCHContainerOperations into PCHContainerWriter and a PCHContainerReader. Thanks to Richard Smith for reviewing this patch! llvm-svn: 242499
2015-07-09Rename ModuleContainerGenerator to PCHContainergenerator for consistencyAdrian Prantl1-28/+29
and re-clang-format (NFC). llvm-svn: 241841
2015-07-08Revert "Revert r241620 and follow-up commits" and move the initializationAdrian Prantl1-0/+192
of the llvm targets from clang/CodeGen into ClangCheck.cpp and CIndex.cpp. llvm-svn: 241653
2015-07-07Revert r241620 and follow-up commits while investigating linux buildbot ↵Adrian Prantl1-199/+0
failures. llvm-svn: 241642
2015-07-07Cleanup: Use the C++ API to initialize the backend.Adrian Prantl1-4/+5
llvm-svn: 241635
2015-07-07Wrap clang modules and pch files in an object file container.Adrian Prantl1-0/+198
This patch adds ObjectFilePCHContainerOperations uses the LLVM backend to put the contents of a PCH into a __clangast section inside a COFF, ELF, or Mach-O object file container. This is done to facilitate module debugging by makeing it possible to store the debug info for the types defined by a module alongside the AST. rdar://problem/20091852 llvm-svn: 241620