c++/7178: "CONST" pre-processed to "const" -- case problem (pre-processing bug)

Danny Smith danny_r_smith_2001@yahoo.co.nz
Tue Jul 2 01:36:00 GMT 2002


>Number:         7178
>Category:       c++
>Synopsis:       "CONST" pre-processed to "const" -- case problem
(pre-processing bug)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          accepts-illegal
>Submitter-Id:   net
>Arrival-Date:   Mon Jul 01 12:46:07 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Nickolai Dobrynin, University of WI-Milwaukee
>Release:        gcc version 3.1
>Organization:
>Environment:
  Windows 2000 Pro, Pentium 3, Dell Dimension

  the options given when GCC was configured/built:
    Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as
--host=
    mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls
--enable
    -languages=f77,c++,objc,ada --disable-win32-registry --disable-shared

  the compiler output (error messages, warnings, etc.):
    bug1.cpp:7: declaration does not declare anything
    bug1.cpp:7: duplicate `const'
    bug1.cpp:7: storage class specified for typename
    bug1.cpp:7: parse error before `=' token
    bug1.cpp: In function `int main()':
    bug1.cpp:18: parse error before `const'




This arises from the inclusion of windows.h by gthr-win32.h.  This leads to
this define in windef.h:

#ifndef CONST
#define CONST const
#endif

The pollution by win32 api names can be avoided in GCC 3.2 by defining
__GTHREAD_HIDE_WIN32API

see this patch:
http://gcc.gnu.org/ml/gcc-cvs/2002-06/msg00335.html

The patch has been backported to gcc-3_1-cygwin-mingw-branch.

Danny 

http://www.sold.com.au - SOLD.com.au
- Find yourself a bargain!



More information about the Gcc-bugs mailing list