delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2003/05/25/16:14:27

Sender: rich AT phekda DOT freeserve DOT co DOT uk
Message-ID: <3ED11B0E.D046CB25@phekda.freeserve.co.uk>
Date: Sun, 25 May 2003 20:35:42 +0100
From: Richard Dawe <rich AT phekda DOT freeserve DOT co DOT uk>
X-Mailer: Mozilla 4.77 [en] (X11; U; Linux 2.2.23 i586)
X-Accept-Language: de,fr
MIME-Version: 1.0
To: Andrew Cottrell <acottrel AT ihug DOT com DOT au>
CC: djgpp-workers AT delorie DOT com, Andris Pavenis <pavenis AT latnet DOT lv>
Subject: Re: GCC 3.3 & LIBC patch #2 - build process change
References: <002301c31cfb$6ebfabd0$0100a8c0 AT acp42g> <001901c31dfe$cb7cfa90$0100a8c0 AT acp42g>
Reply-To: djgpp-workers AT delorie DOT com

Hello.

Andrew Cottrell wrote:
[snip]
> The major problem encounted:-
> d:/dj204/bin/make.exe -C src
> gcc -MD -O2 -mcpu=pentium -march=i386 -Wall -Wbad-function-cast -Wcast-qual
> -Werror           -Wmissing-declarations -Wmissing-prototypes -Wpointer-arit
> h -Wshadow -Wstrict-prototypes -Wwrite-strings -Wundef -Wcast-align -Wsign-c
> ompare -nostdinc -fno-strict-aliasing -I. -I- -isystem
> ../../../include -DGAS_MAJOR=2 -DGAS_MINOR=13 -DGAS_MINORMINOR=Copyright -c
> -fno-exceptions emu387.cc
> cc1plus.exe: warning: "-Wbad-function-cast" is valid for C/ObjC but not for
> C++
> cc1plus.exe: warning: "-Wmissing-declarations" is valid for C/ObjC but not
> for C++
> make.exe[3]: *** [emu387.o] Error 1
> make.exe[2]: *** [all_subs] Error 2
> make.exe[1]: *** [all] Error 2
> make.exe: *** [subs] Error 2
> 
> Analaysis:-
> The problem is caused by GCC 3.3 changing its checking. The current LIBC
> make process does not include a specific gcc option file for C++ files and
> instead uses the gcc.opt file.
> 
> Proposal:-
> Add a GPP.OPT file and modifiy the relevant files to use this.
[snip]

Perhaps we could generate gpp.opt from gcc.opt using a script that filters out
invalid options for C++. For an example see noprof.sed, which we use to filter
out the profiling options, when building the profiling code. noprof.sed is
only used with one source file, so we apply that on the fly with sed to
gcc.opt. gpp.opt should be generated once, I think, to avoid the overhead of
starting sed for each C++ file.

The fix to emu387 looks fine. I was thinking that we could make the 'tag'
member of 'struct reg' an int, to avoid the typecast, but that's probably not
worth it. Do you want me to commit that part of the patch?

Bye, Rich =]

-- 
Richard Dawe [ http://www.phekda.freeserve.co.uk/richdawe/ ]

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019