[PATCH] Fix #include cycle between Pass.h and PassSupport.h
Richard Smith
richard at metafoo.co.uk
Mon May 11 15:50:44 PDT 2015
Hi chandlerc,
Pass.h #includes PassSupport.h and PassAnalysisSupport.h. Each of those #includes Pass.h. This makes the modules build unhappy when local submodule visibility is enabled.
The approach taken here is:
* Move the definition of the Pass base class and related types to PassBase.h
* Change the other two headers to include PassBase.h instead of Pass.h
This way including Pass.h gets the full Pass interface, and PassBase.h gets just the base Pass classes. One functional difference is that including PassSupport does *not* provide PassAnalysisSupport and vice versa. I'm doing a build right now to see if I need to add includes of those two anywhere as a result.
REPOSITORY
rL LLVM
http://reviews.llvm.org/D9685
Files:
include/llvm/Pass.h
include/llvm/PassAnalysisSupport.h
include/llvm/PassBase.h
include/llvm/PassSupport.h
include/llvm/module.modulemap
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D9685.25519.patch
Type: text/x-patch
Size: 17893 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150511/270d9201/attachment.bin>
More information about the llvm-commits
mailing list