[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pcc-list
Subject:    =?utf-8?Q?pcc_is_fine=2C_except=E2=80=A6_=28was=3A_Re=3A_pcc?=
From:       Thorsten Glaser <tg () mirbsd ! de>
Date:       2008-04-14 12:56:20
Message-ID: Pine.BSM.4.64L.0804141252200.5236 () odem ! 66h ! 42h ! de
[Download RAW message or body]

Anders Magnusson dixit:

>>> configure:2494: pcc    conftest.c  >&5
>>> Can't find /usr/local/libexec/cpp

… and …

>>> cc.c  major internal compiler error: /usr/include//stdio.h, line 345

> Is this still a problem (on any platform...?)

Not with pcc-current.

>> No, on 4th of April, I could build pcc with itself. The mksh problem
>> remains (have to disable -O entirely), but when building without -O,
>> except for the bool issue I told you about, it works fine and passes
>> all of its regression tests.

> Hm, I would like to get this bug fixed now :-/

Apparently you fixed both at once. I can reproduce neither the optimi-
sation bug nor the bool bug any longer. Great! pcc becomes usable.

Find attached two diffs:
• for the manpage: even if SCO Unix ® uses GNU groff, not every other
  unixoid operating system does. AT&T nroff does not grok all GNU
  extensions to the troff languge – the attached diff makes the man-
  page source portable between both *roff processors (and possibly,
  ditroff and Plan 9's nroff)
• for the compiler driver: quick hack until switching to getopt:
  recognise -O0 and turn off optimisation (untested, but I would
  *VERY* much like this functionality to go in; I don't know what
  the standards say about supporting -O0 but I'm pretty sure that
  many people understand me being annoyed when -O0 == -O1 and the
  optimiser has bugs – which it had until today).

Thanks!
//mirabilos
-- 
I believe no one can invent an algorithm. One just happens to hit upon it
when God enlightens him. Or only God invents algorithms, we merely copy them.
If you don't believe in God, just consider God as Nature if you won't deny
existence.		-- Coywolf Qi Hunt
["manpage.diff" (TEXT/PLAIN)]

Index: cc.1
===================================================================
RCS file: /cvsroot/pcc/cc/cc/cc.1,v
retrieving revision 1.14
diff -u -p -r1.14 cc.1
--- cc.1	13 Apr 2008 16:35:40 -0000	1.14
+++ cc.1	14 Apr 2008 12:50:46 -0000
@@ -57,29 +57,29 @@ Unrecognized options are all sent direct
 Filenames that end with
 .Sy \&.c
 are passed via
-.Xr cpp 1 -\*[Gt]
-.Xr ccom 1 -\*[Gt]
-.Xr as 1 -\*[Gt]
+.Xr cpp 1 -\*(Gt
+.Xr ccom 1 -\*(Gt
+.Xr as 1 -\*(Gt
 .Xr ld 1 .
 .Pp
 Filenames that end with
 .Sy \&.i
 are passed via
-.Xr ccom 1 -\*[Gt]
-.Xr as 1 -\*[Gt]
+.Xr ccom 1 -\*(Gt
+.Xr as 1 -\*(Gt
 .Xr ld 1 .
 .Pp
 Filenames that end with
 .Sy \&.s
 are passed via
-.Xr as 1 -\*[Gt]
+.Xr as 1 -\*(Gt
 .Xr ld 1 .
 .Pp
 Filenames that end with
 .Sy \&.S
 are passed via
-.Xr cpp 1 -\*[Gt]
-.Xr as 1 -\*[Gt]
+.Xr cpp 1 -\*(Gt
+.Xr as 1 -\*(Gt
 .Xr ld 1 .
 .Pp
 Filenames that end with

["oflag.diff" (TEXT/PLAIN)]

Index: cc.c
===================================================================
RCS file: /cvsroot/pcc/cc/cc/cc.c,v
retrieving revision 1.84
diff -u -p -r1.84 cc.c
--- cc.c	13 Apr 2008 16:35:40 -0000	1.84
+++ cc.c	14 Apr 2008 12:51:58 -0000
@@ -301,7 +301,10 @@ main(int argc, char *argv[])
 				outfile = argv[++i];
 				break;
 			case 'O':
-				Oflag++;
+				if (argv[i][2] == '0' && argv[i][3] == '\0')
+					Oflag = 0;
+				else
+					Oflag++;
 				break;
 			case 'E':
 				Eflag++;


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic