+const char *get_atomic_kind_name(atomic_type_kind_t kind)
+{
+ switch(kind) {
+ case ATOMIC_TYPE_INVALID: break;
+ case ATOMIC_TYPE_VOID: return "void";
+ case ATOMIC_TYPE_WCHAR_T: return "wchar_t";
+ case ATOMIC_TYPE_BOOL: return c_mode & _CXX ? "bool" : "_Bool";
+ case ATOMIC_TYPE_CHAR: return "char";
+ case ATOMIC_TYPE_SCHAR: return "signed char";
+ case ATOMIC_TYPE_UCHAR: return "unsigned char";
+ case ATOMIC_TYPE_INT: return "int";
+ case ATOMIC_TYPE_UINT: return "unsigned int";
+ case ATOMIC_TYPE_SHORT: return "short";
+ case ATOMIC_TYPE_USHORT: return "unsigned short";
+ case ATOMIC_TYPE_LONG: return "long";
+ case ATOMIC_TYPE_ULONG: return "unsigned long";
+ case ATOMIC_TYPE_LONGLONG: return "long long";
+ case ATOMIC_TYPE_ULONGLONG: return "unsigned long long";
+ case ATOMIC_TYPE_LONG_DOUBLE: return "long double";
+ case ATOMIC_TYPE_FLOAT: return "float";
+ case ATOMIC_TYPE_DOUBLE: return "double";
+ }
+ return "INVALIDATOMIC";
+}
+