8#ifndef INCLUDED_BSLS_IDENT
9#define INCLUDED_BSLS_IDENT
164#undef BDE_DONT_ALLOW_TRANSITIVE_INCLUDES
165#ifdef BDE_FORCE_DONT_ALLOW_TRANSITIVE_INCLUDES
166 #define BDE_DONT_ALLOW_TRANSITIVE_INCLUDES
176#undef BDE_OMIT_INTERNAL_DEPRECATED
177#ifdef BDE_FORCE_OMIT_INTERNAL_DEPRECATED
178 #define BDE_OMIT_INTERNAL_DEPRECATED
179 #if !defined(BDE_DONT_ALLOW_TRANSITIVE_INCLUDES)
180 #define BDE_DONT_ALLOW_TRANSITIVE_INCLUDES
190#if !defined(BSLS_IDENT_ON) && !defined(BSLS_IDENT_OFF)
191 #define BSLS_IDENT_OFF
192#elif defined(BSLS_IDENT_ON) && defined(BSLS_IDENT_OFF)
193 #error Command line cannot define both `BSLS_IDENT_ON` and `BSLS_IDENT_OFF`
202#define BSLS_IDENT_JOIN2(x,y) x ## y
203#define BSLS_IDENT_JOIN(x,y) BSLS_IDENT_JOIN2(x,y)
216 #define _BSLS_IDENT(str) __asm__(#str);
217 #define BSLS_IDENT(str) _BSLS_IDENT(.ident str)
219#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
220 #define _BSLS_IDENT(str) _Pragma(#str)
221 #define BSLS_IDENT(str) _BSLS_IDENT(ident str)
222#elif defined(__IBMC__) || defined(__IBMCPP__)
223 #define _BSLS_IDENT(str) _Pragma(#str)
224 #define BSLS_IDENT(str) _BSLS_IDENT(comment (user, str))
225#elif defined(_MSC_VER)
229 #define _BSLS_IDENT(str) __pragma(comment (user, #str))
230 #define BSLS_IDENT(str) _BSLS_IDENT(str)
232#elif defined(__HP_cc) || defined(__HP_aCC)
233 #define _BSLS_IDENT(str) _Pragma(#str)
234 #define BSLS_IDENT(str) _BSLS_IDENT(versionid str)
238 #define BSLS_IDENT(str)
244#define BSLS_IDENT_RCSID(tag,str) BSLS_IDENT(str)
249 #define BSLS_IDENT_PRAGMA_ONCE _Pragma("once")
250#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
255 #define BSLS_IDENT_PRAGMA_ONCE
256#elif defined(__IBMC__) || defined(__IBMCPP__)
257 #define BSLS_IDENT_PRAGMA_ONCE _Pragma("once")
258#elif defined(_MSC_VER)
259 #define BSLS_IDENT_PRAGMA_ONCE __pragma(once)
260#elif defined(__HP_cc) || defined(__HP_aCC)
261 #define BSLS_IDENT_PRAGMA_ONCE _Pragma("once")
263 #define BSLS_IDENT_PRAGMA_ONCE
279 #define _BSLS_IDENT_BUILDID_IMP2(str) BSLS_IDENT(#str)
280 #define _BSLS_IDENT_BUILDID_IMP(str) _BSLS_IDENT_BUILDID_IMP2(str)
281 _BSLS_IDENT_BUILDID_IMP($cc: BUILDID $)
282 #undef _BSLS_IDENT_BUILDID_IMP
283 #undef _BSLS_IDENT_BUILDID_IMP2
#define BSLS_IDENT_JOIN2(x, y)
Definition bsls_ident.h:202
#define BSLS_IDENT_RCSID(tag, str)
BSLS_IDENT_RCSID() - insert ident str (specific to platform/compiler)
Definition bsls_ident.h:244
#define BSLS_IDENT_PRAGMA_ONCE
BSLS_IDENT_PRAGMA_ONCE - macro to avoid multiple inclusion
Definition bsls_ident.h:263
#define BSLS_IDENT_OFF
Definition bsls_ident.h:191
#define BSLS_IDENT_JOIN(x, y)
Definition bsls_ident.h:203
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238