This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

preprocessor/2069: Preprocessor defines machine-type=1



>Number:         2069
>Category:       preprocessor
>Synopsis:       Preprocessor defines machine-type=1
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    unassigned
>State:          open
>Class:          support
>Submitter-Id:   net
>Arrival-Date:   Fri Feb 23 07:26:01 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Robert Cardell
>Release:        gcc version 2.95.3 20010125 (prerelease)
>Organization:
>Environment:
i486-pc-linux-gnu
AMD 5x86, Linux 2.4.2, Glibc 2.2.2
>Description:
The preprocessor defines i386 and i486 to be equal to 1.
This makes it impossible to compile X (XFree86 3.3.6).
X builds itself with imake, and imake runs cpp on all its
input. This means that -mcpu=i486 in the compiler flags will
get translated to -mcpu=1. It also results in complaints
about no headers being in /usr/lib/gcc-lib/1-pc-linux-gnu/...
and other more subtle problems. 2.95.2.1 does not exhibit
this behaviour (although I haven't tried building X with it yet).
>How-To-Repeat:
uname -m (or echo i486) | gcc -E -
Second line of output with 2.95.3 will be 1
On 2.95.2.1, it will be (in my case) i486
>Fix:
I understand that this behaviour would be useful to people,
so if it is not considered a bug, I'd appreciate a clean way
to get round this so I can build X (and use imake once I've
got X running).
>Release-Note:
>Audit-Trail:
>Unformatted:


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]