delorie.com/archives/browse.cgi | search |
>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
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |