llvm-project/llvm/include/llvm-c
Chandler Carruth 3c57aa4111 [Modules] Fix a layering issue that is actually impacting the modules
selfhost.

The 'Core.h' C-API header is part of the IR LLVM library. (One might
even argue it should be called IR.h, but that's a separate point.) We
can't include it into a Support header without violating the layering,
and in a way that breaks modules. MemoryBuffer's opaque C type was being
defined in the Core.h C-API header despite being in the Support library,
and thus we ended up with this weird issue.

It turns out that there were other constructs from the Support library
in the Core.h header. This patch lifts all of them into Support.h and
then includes that into Core.h.

The only possible fallout is if someone was including Support.h and
relying on Core.h to be visible for their own uses. Considering the
narrow interface actually provided by the C-API for the Support library,
this seems a very, very unlikely mistake.

llvm-svn: 203071
2014-03-06 04:13:12 +00:00
..
Transforms Add a Scalarizer pass. 2013-11-22 16:58:05 +00:00
Analysis.h Organize LLVM C API docs into doxygen modules; add docs 2012-03-21 03:54:29 +00:00
BitReader.h include/llvm-c: Whitespace. 2013-10-23 17:56:29 +00:00
BitWriter.h include/llvm-c: Whitespace. 2013-10-23 17:56:29 +00:00
Core.h [Modules] Fix a layering issue that is actually impacting the modules 2014-03-06 04:13:12 +00:00
Disassembler.h For the 'C' disassembler API, add a new ReferenceType for the 2014-01-06 22:08:08 +00:00
ExecutionEngine.h Add target analysis passes to the codegen pipeline for MCJIT. 2014-01-23 19:23:28 +00:00
IRReader.h Fix known typos 2014-01-24 17:20:08 +00:00
Initialization.h Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00
LinkTimeOptimizer.h include/llvm-c: Whitespace. 2013-10-23 17:56:29 +00:00
Linker.h Supply a C interface to the "LinkModules" method. 2012-05-09 08:55:40 +00:00
Object.h include/llvm-c: Whitespace. 2013-10-23 17:56:29 +00:00
Support.h [Modules] Fix a layering issue that is actually impacting the modules 2014-03-06 04:13:12 +00:00
Target.h [llvm-c] Remove dead typedef 2013-11-11 14:47:01 +00:00
TargetMachine.h Add target analysis passes to the codegen pipeline for MCJIT. 2014-01-23 19:23:28 +00:00
lto.h Add 'remark' diagnostic type in LLVM 2014-02-28 09:08:45 +00:00