joerg added a comment.
In https://reviews.llvm.org/D34158#837281, @hfinkel wrote:
> In https://reviews.llvm.org/D34158#837130, @joerg wrote:
> > In https://reviews.llvm.org/D34158#836026, @jyknight wrote:
> > > In https://reviews.llvm.org/D34158#827178, @joerg wrote:
> > >
> > > > (2) It adds magic behavior that can make debugging more difficult.
> > > > Partially preprocessed sources for example could be compiled with plain
> > > > -c before, now they need a different command line.
> > >
> > >
> > > If this is a problem, making it be Linux-only does _nothing_ to solve it.
> > > But I don't actually see how this is a substantively new problem?
> > > Compiling with plain -c before
> > > would get #defines for those predefined macros that the compiler sets,
> > > even though you may not have wanted those. Is this fundamentally
> > > different?
> > It makes it a linux-only problem. As such, it is something *I* only care
> > about secondary. A typical use case I care about a lot is pulling the crash
> > report sources from my (NetBSD) build machine,
> > extracting the original command line to rerun the normal compilation with
> > -save-temps. I don't necessarily have the (same) system headers on the
> > machine I use for debugging and that's exactly
> > the kind of use case this change breaks. All other predefined macros are
> > driven by the target triple and remain stable.
> Don't you use preprocessed source files from a crash?
The crash rewrite tool creates semi-preprocessed output. It resolves includes
along all code branches, but keeps macros and CPP conditionals alone.
cfe-commits mailing list