From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27218 invoked by alias); 19 Aug 2002 18:25:37 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 27206 invoked from network); 19 Aug 2002 18:25:36 -0000 Received: from unknown (HELO desire.geoffk.org) (12.235.56.190) by sources.redhat.com with SMTP; 19 Aug 2002 18:25:36 -0000 Received: (from geoffk@localhost) by desire.geoffk.org (8.11.6/8.11.6) id g7JIPVB06810; Mon, 19 Aug 2002 11:25:31 -0700 Date: Mon, 19 Aug 2002 11:25:00 -0000 From: Geoff Keating Message-Id: <200208191825.g7JIPVB06810@desire.geoffk.org> To: shebs@apple.com CC: mrs@apple.com, gcc-patches@gcc.gnu.org In-reply-to: <3D6131E2.3090309@apple.com> (message from Stan Shebs on Mon, 19 Aug 2002 10:58:58 -0700) Subject: Re: [PCH] driver, documentation Reply-to: Geoff Keating References: <3D6131E2.3090309@apple.com> X-SW-Source: 2002-08/txt/msg01200.txt.bz2 > Date: Mon, 19 Aug 2002 10:58:58 -0700 > From: Stan Shebs > Mike Stump wrote: > > > I was wondering about flags like -fvolatile, -O2, -O0, -g and > > -ffast-math? -UMACRO? Do they rule out pch? Should they? > > I am thinking about C++ where it is possible to have significant > > portions of code for an application in header files. > > Ideally, you'd keep around tree rather than RTL, so most backend flags > shouldn't matter. That would make PCH files slower to use, because RTL would need to be regenerated (and re-optimised) if it is used. > The most problematic backend flags are the ones that > define cpp macros, so that would include -On because of __OPTIMIZE__ > (I think we get this one wrong now). It would be useful to have some > way of knowing or indicating flags that don't affect a precomp, because > it's too restrictive otherwise - consider a -Wxxx passed only to some > files in a project. I'm not so worried about cpp macros, I have a complete solution for that. I _am_ worried about, for instance, building the header with -gdwarf-2 and using it with -gstabs; this is a case we'll probably have to disallow, because there's a tree field that means different things between the two cases. The thing is, though, that we _could_ make any flag combination work. The problem is not the flag combinations that we're thinking about, the problem is that there are far too many combinations to be able to test or think about even a small proportion. -- - Geoffrey Keating