Hi All,
not sure if this is the right place to ask compile questions
for user apps ...
i am using a non Sun studio compiler, and it is complaining
that "long long" is not supported (i understand that the type
is standard since 1999).
after generating a .i file, i noticed that the following sections
were bring included.
/usr/include/sys/int_types.h:
83 #ifdef _LP64
84 #define _INT64_TYPE
85 typedef long int64_t;
86 #else /* _ILP32 */
87 #if defined(_LONGLONG_TYPE)
88 #define _INT64_TYPE
89 typedef long long int64_t;
90 #endif
91 #endif
i do not know how my compiler is passing
_LONGLONG_TYPE to the preprocessor.
as a test, i tried the sun studio compiler
from the sxde distribution. i tried to turn off
the macro by using -U and also:
cc -# -Wp,-U,_LONGLONG_TYPE -P tt.c
what i found is that both methods do not
turn off the _LONGLONG_TYPE symbol.
(even though the cc manpages said they
should even turn off symbols defined by
the compiler driver)
also, the verbose output does not indicate
where the -D_LONGLONG_TYPE is being
passed:
]# cc -# -P tt.c
### Note: NLSPATH =
/opt/SUNWspro/prod/bin/../lib/locale/%L/LC_MESSAGES/%N.cat:/opt/SUNWspro/prod/bin/../../lib/locale/%L/LC_MESSAGES/%N.cat
### command line files and options (expanded):
### -P tt.c
/opt/SUNWspro/prod/bin/acomp -xldscope=global -i tt.c -o tt.i
-xdbggen=no%stabs+dwarf2+usedonly -P -m32 -fparam_ir -Qy -D__SunOS_5_11
-D__SUNPRO_C=0x590 -D__SVR4 -D__sun -D__SunOS -D__unix -D__i386
-D__BUILTIN_VA_ARG_INCR -D__C99FEATURES__ -Xa -D__PRAGMA_REDEFINE_EXTNAME
-Dunix -Dsun -Di386 -D__RESTRICT -xc99=%all,no%lib -D__FLT_EVAL_METHOD__=-1
-I/opt/SUNWspro/prod/include/cc "-g/opt/SUNWspro/prod/bin/cc -P " -fsimple=0
-D__SUN_PREFETCH -destination_ir=%none
#
thanks in advance all help,
sam
--
This message posted from opensolaris.org