[LLVMdev] DEBUG

David Greene dag at cray.com
Mon Jul 7 13:15:10 PDT 2008


On Monday 07 July 2008 15:36, Chris Lattner wrote:
> On Mon, 7 Jul 2008, David Greene wrote:
> >>> from our IR to LLVM IR.  Those files need to include headers from both
> >>> LLVM and our compiler components.  That is where the DEBUG conflict
> >>> happens.
> >>
> >> Do you need to use both of the debug mechanisms in the same CPP files?
> >
> > In some cases, yes.
>
> I have mixed feelings about this.  I consider LLVM's debug macro to really
> be an internal implementation detail that shouldn't be "exported" as part
> of it's API.  It is unfortunate that the C preprocessor is so bad at this
> sort of thing.

Yes, I understand your feelings here.

> Since I think it really is a part of the LLVM internals, I don't think
> that mangling it with a prefix is the right way to go.  This would
> significantly increase verbosity in the code and would be generally
> detrimental.

Verbose, yes, but "generally detrimental?"  That's a pretty strong statement.

> As a solution for your problem, would something like this work?
>
> #include "llvm/Debug.h"
> #define LLVM_DEBUG(X) DEBUG(X)
> #undef DEBUG
> #include "DavidDebug.h"
> ...

Perhaps.  I'll have to think on that.

                                              -Dave



More information about the llvm-dev mailing list