|
Quick Lists
|
|
Bug ID:
|
6449991
|
|
Votes
|
0
|
|
Synopsis
|
__i386__ macro is not defined by compiler when using -Ox flag with -m32
|
|
Category
|
c++:driver
|
|
Reported Against
|
|
|
Release Fixed
|
mars_dev(42)
|
|
State
|
10-Fix Delivered,
bug
|
|
Priority:
|
3-Medium
|
|
Related Bugs
|
|
|
Submit Date
|
18-JUL-2006
|
|
Description
|
FULL PRODUCT VERSION :
Sun C++ 5.9 DEV 2006/06/08
ADDITIONAL OS VERSION INFORMATION :
Linux 2.6.9-34.ELsmp - Red Hat EL4
A DESCRIPTION OF THE PROBLEM :
When using -Ox and -m32 the macro __i386__ is not defined.
Command line to reproduce:
CC -m32 -O2 dummy.cpp
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
echo "" > dummy.cpp
CC -m32 -O2 -xdumpmacros dummy.cpp | & grep __i386__
No output is produced. When run without the -O2 flag the macro is defined:
CC -m32 -xdumpmacros dummy.cpp | & grep __i386__
#define __i386__ 1
This is a problem because a lot of gnu headers use the __i386__ macro. Specific example
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Expect the __i386__ macro to be defined in this case.
ACTUAL -
Macro is not defined.
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
echo "" > dummy.cpp
CC -m32 -O2 -xdumpmacros dummy.cpp | & grep __i386__
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
CC -m32 -D__i386__ -O2 dummy.cpp
Posted Date : 2006-07-18 16:36:33.0
|
|
Work Around
|
N/A
|
|
Evaluation
|
__i386__ should be defined on Linux (but not on Solaris), same as C driver.
Posted Date : 2006-07-18 20:17:28.0
It is a typo. see suggested fix
Posted Date : 2007-02-16 20:39:42.0
|
|
Comments
|
PLEASE NOTE: JDK6 is formerly known as Project Mustang
|
|
|
 |