Avoid unwanted expansion in macros that paste together INT<n>_C(v) and

UINT<n>_C(v) macros. 

llvm-svn: 89461
This commit is contained in:
Ken Dyck 2009-11-20 16:49:10 +00:00
parent 8dcc21420b
commit 33211d9658
2 changed files with 7 additions and 5 deletions

View File

@ -214,7 +214,6 @@ typedef __uint_least8_t uint_fast8_t;
/* C99 7.18.1.4 Integer types capable of holding object pointers.
*/
#define __stdint_join3(a,b,c) a ## b ## c
#define __stdint_exjoin3(a,b,c) __stdint_join3(a,b,c)
#define __intn_t(n) __stdint_join3( int, n, _t)
#define __uintn_t(n) __stdint_join3(uint, n, _t)
@ -638,8 +637,11 @@ typedef __uintn_t(__INTMAX_WIDTH__) uintmax_t;
#endif
/* 7.18.4.2 Macros for greatest-width integer constants. */
#define INTMAX_C(v) __stdint_exjoin3( INT, __INTMAX_WIDTH__, _C(v))
#define UINTMAX_C(v) __stdint_exjoin3(UINT, __INTMAX_WIDTH__, _C(v))
#define __INTN_C(n, v) __stdint_join3( INT, n, _C(v))
#define __UINTN_C(n, v) __stdint_join3(UINT, n, _C(v))
#define INTMAX_C(v) __INTN_C(__INTMAX_WIDTH__, v)
#define UINTMAX_C(v) __UINTN_C(__INTMAX_WIDTH__, v)
#endif /* __STDC_HOSTED__ */
#endif /* __CLANG_STDINT_H */

View File

@ -1185,8 +1185,8 @@
// JOIN:WINT_MAX_ 2147483647
// JOIN:WCHAR_MAX_ 2147483647
// JOIN:WCHAR_MIN_ (-2147483647 -1)
// TODO:INTMAX_C_(0) 0LL
// TODO:UINTMAX_C_(0) 0ULL
// JOIN:INTMAX_C_(0) 0LL
// JOIN:UINTMAX_C_(0) 0ULL
#include <stdint.h>