Message ID | 584A8E9E.22035.590FC72@pageexec.freemail.hu (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 09/12/16 21:59, PaX Team wrote: >>>> the specific problem addressed here can (and IMHO should) be solved in >>>> another way: remove the inclusion of the offending headers in gcc-common.h >>>> as neither tm.h nor c-common.h are needed by existing plugins. for background, >> >> We can't build without tm.h: http://pastebin.com/W0azfCr0 > > you'll need to repeat the removal of dependent headers. based on a quick > test here across gcc 4.5-6.2, if you remove rtl.h, tm_p.h, hard-reg-set.h > and emit-rtl.h in addition to tm.h, the plugins should build fine. OK, I finally have a chance to look at this series again. basic-block.h includes tm.h, and I don't believe we can remove that. I'm not convinced there's a way around this.
On 27/01/17 16:52, Andrew Donnellan wrote: > basic-block.h includes tm.h, and I don't believe we can remove that. I'm > not convinced there's a way around this. Includes via function.h, I should say.
--- a/scripts/gcc-plugins/gcc-generate-gimple-pass.h 2016-12-06 01:01:54.521724573 +0100 +++ b/scripts/gcc-plugins/gcc-generate-gimple-pass.h 2016-12-09 11:43:32.225226164 +0100 @@ -136,6 +136,7 @@ return new _PASS_NAME_PASS(); } #else +struct opt_pass *_MAKE_PASS_NAME_PASS(void); struct opt_pass *_MAKE_PASS_NAME_PASS(void) { return &_PASS_NAME_PASS.pass;