Subject: preprocessor/2143: Cygwin testsuite regressions: -dirafter and system files
From: [email-masked]
To: [email-masked]
Cc: [email-masked]
Date: 2 Mar 2001 03:13:39 -0000

>Number:         2143
>Category:       preprocessor
>Synopsis:       Cygwin testsuite regressions: -dirafter and system files
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Mar 01 19:16:00 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     David Billinghurst
>Release:        gcc 3.0 prerelease
>Organization:
>Environment:
NT4 SP1 / cygwin 
>Description:
This report summarises recent discussions on gcc-patches and gcc-bugs concerning a gcc 3.0 pre-release regression from gcc-2.95.2 on cygwin.

The following five testsuite tests pass with gcc-2.95.2 but fail with gcc 3.0.  

The tests that fail are:
  gcc.dg/cpp/19990407-1.c
  gcc.dg/cpp/19990703-1.c
  gcc.dg/cpp/20000625-2.c
  gcc.dg/cpp/strp1.c
  gcc.dg/cpp/strp2.c

Each test gnerates warnings of the form "/usr/include/sys/types.h:110: ISO C89 does not support `long long'"

The errors occur because /usr/include/sys/types.h is not treated as system header.  To be treated as a system header /usr/include  must be referenced in the specs using -isystem /usr/include, but it is referenced using -dirafter /usr/include.
>How-To-Repeat:

>Fix:
There are at least two fixes.  

1. Treat paths given with -dirafter as system files, see http://gcc.gnu.org/ml/gcc-patches/2001-02/msg01742.html.  I can confirm this bootstraps and fixes the regressions.  This change is relatively safe, as only a couple of targets use -idirafter.

2. Change the cygwin specs to that we use -isystem rather than -dirafter.  This approach could also work - see http://gcc.gnu.org/ml/gcc-bugs/2001-02/msg00678.html but see the follow-up posts as there are some issues to resolve as the use of -dirafter was deliberate.
>Release-Note:
>Audit-Trail:
>Unformatted:

--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple