Add condition for sparcv8plus to knows instruction sets #2491

Closed
wants to merge 1 commit into
from

Conversation

Projects
None yet
2 participants
@dago
Contributor

dago commented Apr 13, 2018

With specific compiler options selecting the arch like -xarch=sparc on newer compilers like Oracle Studio 12.4 there is no definition of __sparcv8 but __sparcv8plus which means the V9 ISA, but limited to the 32–bit subset defined by the V8plus ISA specification, without the Visual Instruction Set (VIS), and without other implementation-specific ISA extensions. So it should be the same as __sparcv8.

@dago

This comment has been minimized.

Show comment Hide comment
@dago

dago Apr 13, 2018

Contributor

Just for reference here is the current list of predefined macros with the compiler settings which triggered the error. Please note that __sparcv8 is missing but __sparcv8plus is present.

dam@unstable10s [unstable10s]:/home/dam > /opt/solarisstudio12.4/bin/cc -xarch=sparc -std=c99 -I/opt/csw/include -xO3 -m32  -DSSL_EXPERIMENTAL -DSSL_ENGINE -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -D_LARGEFILE64_SOURCE -E -xdumpmacros /dev/null
#define __LINE__ 
#define __FILE__ 
#define __STDC__ 0
#define __STDC_VERSION__ 199901L
#define __DATE__ "Apr 13 2018"
#define __TIME__ "11:45:30"
#define __STDC_IEC_559__ 1
#define __STDC_IEC_559_COMPLEX__ 1
#define __STDC_HOSTED__ 1
#define __STDC_ANALYZABLE__ 0
#define __STDC_NO_ATOMICS__ 0
#define __STDC_NO_THREADS__ 0
#define __has_attribute (attr) ___has_attribute___ ( attr )
#define SSL_EXPERIMENTAL 1
#define SSL_ENGINE 1
#define SOLARIS2 10
#define _POSIX_PTHREAD_SEMANTICS 1
#define _REENTRANT 1
#define _LARGEFILE64_SOURCE 1
#define __SunOS_5_10 1
#define __SUNPRO_C 0x5130
#define __unix 1
#define __SVR4 1
#define __sun 1
#define __SunOS 1
#define __sparcv8plus 1
#define __sparc 1
#define __BUILTIN_VA_ARG_INCR 1
#define __C99FEATURES__ 1
#define __PRAGMA_REDEFINE_EXTNAME 1
#define unix 1
#define sun 1
#define sparc 1
#define __RESTRICT 1
#define __FLT_EVAL_METHOD__ 0
#define __SUN_PREFETCH 1
# 1 "/dev/null"
#ident "acomp: Sun C 5.13 SunOS_sparc Patch 151632-06 2016/07/19"
Contributor

dago commented Apr 13, 2018

Just for reference here is the current list of predefined macros with the compiler settings which triggered the error. Please note that __sparcv8 is missing but __sparcv8plus is present.

dam@unstable10s [unstable10s]:/home/dam > /opt/solarisstudio12.4/bin/cc -xarch=sparc -std=c99 -I/opt/csw/include -xO3 -m32  -DSSL_EXPERIMENTAL -DSSL_ENGINE -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -D_LARGEFILE64_SOURCE -E -xdumpmacros /dev/null
#define __LINE__ 
#define __FILE__ 
#define __STDC__ 0
#define __STDC_VERSION__ 199901L
#define __DATE__ "Apr 13 2018"
#define __TIME__ "11:45:30"
#define __STDC_IEC_559__ 1
#define __STDC_IEC_559_COMPLEX__ 1
#define __STDC_HOSTED__ 1
#define __STDC_ANALYZABLE__ 0
#define __STDC_NO_ATOMICS__ 0
#define __STDC_NO_THREADS__ 0
#define __has_attribute (attr) ___has_attribute___ ( attr )
#define SSL_EXPERIMENTAL 1
#define SSL_ENGINE 1
#define SOLARIS2 10
#define _POSIX_PTHREAD_SEMANTICS 1
#define _REENTRANT 1
#define _LARGEFILE64_SOURCE 1
#define __SunOS_5_10 1
#define __SUNPRO_C 0x5130
#define __unix 1
#define __SVR4 1
#define __sun 1
#define __SunOS 1
#define __sparcv8plus 1
#define __sparc 1
#define __BUILTIN_VA_ARG_INCR 1
#define __C99FEATURES__ 1
#define __PRAGMA_REDEFINE_EXTNAME 1
#define unix 1
#define sun 1
#define sparc 1
#define __RESTRICT 1
#define __FLT_EVAL_METHOD__ 0
#define __SUN_PREFETCH 1
# 1 "/dev/null"
#ident "acomp: Sun C 5.13 SunOS_sparc Patch 151632-06 2016/07/19"

@jay jay closed this in 631f64c Apr 15, 2018

@jay

This comment has been minimized.

Show comment Hide comment
@jay

jay Apr 15, 2018

Member

Thanks

Member

jay commented Apr 15, 2018

Thanks

@dago dago deleted the dago:sparcv8plus branch Apr 16, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment