c/2248: gcc 2.95.2 preprocessor bug with -O options

jdmorgen@rational.com jdmorgen@rational.com
Fri Mar 9 17:36:00 GMT 2001


>Number:         2248
>Category:       c
>Synopsis:       gcc 2.95.2 preprocessor bug with -O options
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Mar 09 17:36:00 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     J. David Morgenthaler
>Release:        gcc-2.95.5
>Organization:
>Environment:
Linux 2.2.12-20smp #1 SMP Mon Sep 27 10:34:45 EDT 1999 i686 unknown
>Description:
preprocessor fails on this input file (bad.c):

#include <string.h>

void bad()
{
  if(( strcmp( "mystr",                
#if defined(SOMETHING)
	       "yourstr") 
#else 
               "") 
#endif  
	!= 0 ) ) 
     ;
}
>How-To-Repeat:
gcc -O bad.c
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="bad.i.bz2"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="bad.i.bz2"

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
I9B/6Qu9YmYGSMVAgkg/4u5IpwoSFOlRFcA=



More information about the Gcc-bugs mailing list