Idea from: sys/cdefs.h on FreeBSD.
svn path=/trunk/yasm/; revision=197
#ifdef __RCSID
# define RCSID(s) __RCSID(s)
#else
-# define RCSID(s) static const char rcsid[] = s
+# ifdef __GNUC__
+# ifdef __ELF__
+# define RCSID(s) __asm__(".ident\t\"" s "\"")
+# else
+# define RCSID(s) static const char rcsid[] __unused = s
+# endif
+# else
+# define RCSID(s) static const char rcsid[] = s
+# endif
#endif
#endif
#ifdef __RCSID
# define RCSID(s) __RCSID(s)
#else
-# define RCSID(s) static const char rcsid[] = s
+# ifdef __GNUC__
+# ifdef __ELF__
+# define RCSID(s) __asm__(".ident\t\"" s "\"")
+# else
+# define RCSID(s) static const char rcsid[] __unused = s
+# endif
+# else
+# define RCSID(s) static const char rcsid[] = s
+# endif
#endif
#endif
#ifdef __RCSID
# define RCSID(s) __RCSID(s)
#else
-# define RCSID(s) static const char rcsid[] = s
+# ifdef __GNUC__
+# ifdef __ELF__
+# define RCSID(s) __asm__(".ident\t\"" s "\"")
+# else
+# define RCSID(s) static const char rcsid[] __unused = s
+# endif
+# else
+# define RCSID(s) static const char rcsid[] = s
+# endif
#endif
#endif