Adapt alpha_assert fix to recent Tru64 UNIX V5.1

Bruce Korb bkorb@gnu.org
Tue Mar 30 15:04:00 GMT 2010


Hi Rainer,

On 03/30/2010 06:18 AM, Rainer Orth wrote:
> After upgrading my Tru64 UNIX V5.1 box to V5.1B-5, mainline bootstrap
> failed in stage 2 building jc1.  It turned out that <assert.h> had been
> changed so the alpha_assert fix doesn't apply anymore.
> 
> The following patch fixes this and allows the 3-stage to finish, though
> I'm now running into an ICE building libstdc++.
> 
> Ok for mainline?

With a tweak:

> 2010-03-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
> 
> 	* inclhack.def (alpha_assert): Allow for more whitespace in
> 	select.
> 	* fixincl.x: Regenerate.
> 
> diff -r bb55ed8dd84d fixincludes/inclhack.def
> --- a/fixincludes/inclhack.def	Fri Mar 26 09:51:32 2010 +0000
> +++ b/fixincludes/inclhack.def	Fri Mar 26 16:28:52 2010 +0100
> @@ -607,7 +607,7 @@
>  fix = {
>      hackname  = alpha_assert;
>      files     = "assert.h";
> -    select    = '(#define assert\(EX\).*)\(\(int\) \(EX\)\)';
> +    select    = '(#[ \t]*define assert\(EX\).*)\(\(int\) \(EX\)\)';

This won't be what you expect.  Single quoted strings won't get "cooked".
So, the characters skipped will be spaces and quoted 't'-s.

So, use one of the following:
> +    select    = '(# *define assert\(EX\).*)\(\(int\) \(EX\)\)';
> +    select    = "(#[ \t]*" 'define assert\(EX\).*)\(\(int\) \(EX\)\)';

Cheers - Bruce



More information about the Gcc-patches mailing list