Hi Udit,
Indeed S32DS for Power is based on GCC tool chain (v4.9.x). The offline documentation is available here:
"<S32DS_Power...>\Cross_Tools\powerpc-eabivle-4_9\powerpc-eabivle\share\docs\pdf"
"<S32DS_Power...>\Cross_Tools\powerpc-eabivle-4_9\powerpc-eabivle\share\docs\pdf\gcc\"
Some useful information can be found in the gcc release notes:
"<S32DS_Power...>\Cross_Tools\powerpc-eabivle-4_9\releasenotes.pdf"
For improving code portability across different compilers you can inspire from AMMCLIB header files that contains built-in macros to distinguish between different compilers (e.g. see below the snippet from:
"<S32DS_Power...>\S32DS\AMMCLIB\MPC574xP_AMMCLIB_v1.1.9\include\SWLIBS_Defines.h" )
#if defined(__ghs__)
#ifndef INLINE
#define INLINE inline
#endif
#elif defined(__MWERKS__) || defined(__CWCC__)
#ifndef INLINE
#define INLINE static __inline
#endif
#elif defined(__DCC__)
#ifndef INLINE
#define INLINE static __inline__
#endif
#elif defined(__CSMC__)
#ifndef INLINE
#define INLINE static @inline
#endif
#elif defined(__IAR_SYSTEMS_ICC__)
#ifndef INLINE
#define INLINE static inline
#endif
#elif defined(__GNUC__) && defined(__PPC_EABI__)
#ifndef INLINE
#define INLINE static inline
#endif
#elif defined(__GNUC__)
#ifndef INLINE
#define INLINE static __inline__
#endif
#elif defined(_MATLAB_BAM_CREATE)
#ifndef INLINE
#define INLINE static __inline
#endif
#else
#ifndef INLINE
#define INLINE static inline
#endif
#endif
Hope it helps.
Stan