This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: plugins header file

On 09/15/2014 02:18 PM, Andrew MacLeod wrote:
During the re-architecture session at Cauldron, I mentioned the possibility of introducing a plugin-headers.h.

This would be a file which plugins could use which would protect them somewhat from header file restructuring. The idea is that it includes all the common things plugins need, (like gimple.h, rtl.h, most-of-the-world.h, etc etc),. When header files are restructured, that file would also be adjusted so that the correct include order is still maintained. This could also give plugins a little more stability across releases since header files do come and go..

I am about to start another round of flattening and shuffling, so figured this might be a good time to introduce it. Any of you plugin users have a list of includes you want to see in it, or better yet, provide me with a plugin-headers.h? ( Out of curiosity, is there a reason gcc-plugins.h doesn't include a pile of these common things? or is that simply to avoid bringing in the world?) Or would you rather just continue to deal with the pain of header file name changing/content shuffling? or is there a different solution proposal?

Not a lot of response... just one...

so I'll ask a different question before I check in the function.h flattening patch which has been approved...

Rather than a new file, is there any reason not to include most of the gcc world that we care might about in the current gcc-plugin.h file? it includes:
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "highlev-plugin-common.h"
#include "hashtab.h"

so I presume most plugins include this file. if we added a set of includes to this (even just the minimal required to compile the file being flattened) , flattening might be transparent to most plugins...

Otherwise I'm just going ahead shortly with the flattening patch as is, and we can deal with any fallout the same way as last year. my intention/hope is to get cgraph.h and basic-block.h flattened as well.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]