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

Reply via email to