Skip to content

Instantly share code, notes, and snippets.

@scythe
Created January 21, 2015 19:27
Show Gist options
  • Save scythe/7f8a9d3541a06ecfe8d9 to your computer and use it in GitHub Desktop.
Save scythe/7f8a9d3541a06ecfe8d9 to your computer and use it in GitHub Desktop.
Convert variadic macro arguments to strings
/* STR_VA_ARG(...) -- convert variadic arglist to strings
* Usage: STR_VA_ARG(phnglui, mglwnafh, cthulhu, rlyeh, wgahnagl, fhtagn)
* >> "phnglui", "mglwnafh", "cthulhu", "rlyeh", "wgahnagl", "fhtagn"
*/
#ifndef __VA_STRINGIFY_H
#define __VA_STRINGIFY_H
#define PP_NARG(...) \
PP_NARG_(__VA_ARGS__,PP_RSEQ_N())
#define PP_NARG_(...) \
PP_ARG_N(__VA_ARGS__)
#define PP_ARG_N( \
_1, _2, _3, _4, _5, _6, _7, _8, _9,_10, \
_11,_12,_13,_14,_15,_16,_17,_18,_19,_20, \
_21,_22,_23,_24,_25,_26,_27,_28,_29,_30, \
_31,_32,_33,_34,_35,_36,_37,_38,_39,_40, \
_41,_42,_43,_44,_45,_46,_47,_48,_49,_50, \
_51,_52,_53,_54,_55,_56,_57,_58,_59,_60, \
_61,_62,_63,N,...) N
#define PP_RSEQ_N() \
63,62,61,60, \
59,58,57,56,55,54,53,52,51,50, \
49,48,47,46,45,44,43,42,41,40, \
39,38,37,36,35,34,33,32,31,30, \
29,28,27,26,25,24,23,22,21,20, \
19,18,17,16,15,14,13,12,11,10, \
9,8,7,6,5,4,3,2,1,0
#define STR_VA_ARG(...) STR_VA_ARG_(PP_NARG(__VA_ARGS__), __VA_ARGS__)
#define STR_VA_ARG_(...) STR_VA_ARG__(__VA_ARGS__)
#define STR_VA_ARG__(n, ...) STR_VA_ARG_##n(__VA_ARGS__)
#define STR_VA_ARG_1(_1) #_1
#define STR_VA_ARG_2(_1, _2) #_1, #_2
#define STR_VA_ARG_3(_1, _2, _3) #_1, #_2, #_3
#define STR_VA_ARG_4(_1, _2, _3, _4) #_1, #_2, #_3, #_4
#define STR_VA_ARG_5(_1, _2, _3, _4, _5) #_1, #_2, #_3, #_4, #_5
#define STR_VA_ARG_6(_1, _2, _3, _4, _5, _6) #_1, #_2, #_3, #_4, #_5, #_6
#define STR_VA_ARG_7(_1, _2, _3, _4, _5, _6, _7) #_1, #_2, #_3, #_4, #_5, #_6 \
, #_7
#define STR_VA_ARG_8(_1, _2, _3, _4, _5, _6, _7, _8) #_1, #_2, #_3, #_4, #_5 \
, #_6, #_7, #_8
#define STR_VA_ARG_9(_1, _2, _3, _4, _5, _6, _7, _8, _9) #_1, #_2, #_3, #_4, #_5 \
, #_6, #_7, #_8, #_9
#define STR_VA_ARG_10(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10) #_1, #_2, #_3 \
, #_4, #_5, #_6, #_7, #_8, #_9, #_10
#define STR_VA_ARG_11(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11) #_1, #_2 \
, #_3, #_4, #_5, #_6, #_7, #_8, #_9, #_10, #_11
#define STR_VA_ARG_12(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12) #_1 \
, #_2, #_3, #_4, #_5, #_6, #_7, #_8, #_9, #_10, #_11, #_12
#define STR_VA_ARG_13(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
) #_1, #_2, #_3, #_4, #_5, #_6, #_7, #_8, #_9, #_10, #_11, #_12, #_13
#define STR_VA_ARG_14(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14) #_1, #_2, #_3, #_4, #_5, #_6, #_7, #_8, #_9, #_10, #_11, #_12 \
, #_13, #_14
#define STR_VA_ARG_15(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15) #_1, #_2, #_3, #_4, #_5, #_6, #_7, #_8, #_9, #_10, #_11 \
, #_12, #_13, #_14, #_15
#define STR_VA_ARG_16(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16) #_1, #_2, #_3, #_4, #_5, #_6, #_7, #_8, #_9, #_10 \
, #_11, #_12, #_13, #_14, #_15, #_16
#define STR_VA_ARG_17(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17) #_1, #_2, #_3, #_4, #_5, #_6, #_7, #_8, #_9 \
, #_10, #_11, #_12, #_13, #_14, #_15, #_16, #_17
#define STR_VA_ARG_18(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18) #_1, #_2, #_3, #_4, #_5, #_6, #_7, #_8 \
, #_9, #_10, #_11, #_12, #_13, #_14, #_15, #_16, #_17, #_18
#define STR_VA_ARG_19(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19) #_1, #_2, #_3, #_4, #_5, #_6, #_7 \
, #_8, #_9, #_10, #_11, #_12, #_13, #_14, #_15, #_16, #_17, #_18 \
, #_19
#define STR_VA_ARG_20(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20) #_1, #_2, #_3, #_4, #_5, #_6 \
, #_7, #_8, #_9, #_10, #_11, #_12, #_13, #_14, #_15, #_16, #_17, #_18 \
, #_19, #_20
#define STR_VA_ARG_21(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21) #_1, #_2, #_3, #_4, #_5 \
, #_6, #_7, #_8, #_9, #_10, #_11, #_12, #_13, #_14, #_15, #_16, #_17 \
, #_18, #_19, #_20, #_21
#define STR_VA_ARG_22(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22) #_1, #_2, #_3, #_4 \
, #_5, #_6, #_7, #_8, #_9, #_10, #_11, #_12, #_13, #_14, #_15, #_16 \
, #_17, #_18, #_19, #_20, #_21, #_22
#define STR_VA_ARG_23(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) #_1, #_2, #_3 \
, #_4, #_5, #_6, #_7, #_8, #_9, #_10, #_11, #_12, #_13, #_14, #_15 \
, #_16, #_17, #_18, #_19, #_20, #_21, #_22, #_23
#define STR_VA_ARG_24(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24) #_1, #_2 \
, #_3, #_4, #_5, #_6, #_7, #_8, #_9, #_10, #_11, #_12, #_13, #_14 \
, #_15, #_16, #_17, #_18, #_19, #_20, #_21, #_22, #_23, #_24
#define STR_VA_ARG_25(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) #_1 \
, #_2, #_3, #_4, #_5, #_6, #_7, #_8, #_9, #_10, #_11, #_12, #_13 \
, #_14, #_15, #_16, #_17, #_18, #_19, #_20, #_21, #_22, #_23, #_24 \
, #_25
#define STR_VA_ARG_26(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
) #_1, #_2, #_3, #_4, #_5, #_6, #_7, #_8, #_9, #_10, #_11, #_12, #_13 \
, #_14, #_15, #_16, #_17, #_18, #_19, #_20, #_21, #_22, #_23, #_24 \
, #_25, #_26
#define STR_VA_ARG_27(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27) #_1, #_2, #_3, #_4, #_5, #_6, #_7, #_8, #_9, #_10, #_11, #_12 \
, #_13, #_14, #_15, #_16, #_17, #_18, #_19, #_20, #_21, #_22, #_23 \
, #_24, #_25, #_26, #_27
#define STR_VA_ARG_28(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28) #_1, #_2, #_3, #_4, #_5, #_6, #_7, #_8, #_9, #_10, #_11 \
, #_12, #_13, #_14, #_15, #_16, #_17, #_18, #_19, #_20, #_21, #_22 \
, #_23, #_24, #_25, #_26, #_27, #_28
#define STR_VA_ARG_29(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29) #_1, #_2, #_3, #_4, #_5, #_6, #_7, #_8, #_9, #_10 \
, #_11, #_12, #_13, #_14, #_15, #_16, #_17, #_18, #_19, #_20, #_21 \
, #_22, #_23, #_24, #_25, #_26, #_27, #_28, #_29
#define STR_VA_ARG_30(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30) #_1, #_2, #_3, #_4, #_5, #_6, #_7, #_8, #_9 \
, #_10, #_11, #_12, #_13, #_14, #_15, #_16, #_17, #_18, #_19, #_20 \
, #_21, #_22, #_23, #_24, #_25, #_26, #_27, #_28, #_29, #_30
#define STR_VA_ARG_31(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31) #_1, #_2, #_3, #_4, #_5, #_6, #_7, #_8 \
, #_9, #_10, #_11, #_12, #_13, #_14, #_15, #_16, #_17, #_18, #_19 \
, #_20, #_21, #_22, #_23, #_24, #_25, #_26, #_27, #_28, #_29, #_30 \
, #_31
#define STR_VA_ARG_32(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32) #_1, #_2, #_3, #_4, #_5, #_6, #_7 \
, #_8, #_9, #_10, #_11, #_12, #_13, #_14, #_15, #_16, #_17, #_18 \
, #_19, #_20, #_21, #_22, #_23, #_24, #_25, #_26, #_27, #_28, #_29 \
, #_30, #_31, #_32
#define STR_VA_ARG_33(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33) #_1, #_2, #_3, #_4, #_5, #_6 \
, #_7, #_8, #_9, #_10, #_11, #_12, #_13, #_14, #_15, #_16, #_17, #_18 \
, #_19, #_20, #_21, #_22, #_23, #_24, #_25, #_26, #_27, #_28, #_29 \
, #_30, #_31, #_32, #_33
#define STR_VA_ARG_34(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34) #_1, #_2, #_3, #_4, #_5 \
, #_6, #_7, #_8, #_9, #_10, #_11, #_12, #_13, #_14, #_15, #_16, #_17 \
, #_18, #_19, #_20, #_21, #_22, #_23, #_24, #_25, #_26, #_27, #_28 \
, #_29, #_30, #_31, #_32, #_33, #_34
#define STR_VA_ARG_35(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35) #_1, #_2, #_3, #_4 \
, #_5, #_6, #_7, #_8, #_9, #_10, #_11, #_12, #_13, #_14, #_15, #_16 \
, #_17, #_18, #_19, #_20, #_21, #_22, #_23, #_24, #_25, #_26, #_27 \
, #_28, #_29, #_30, #_31, #_32, #_33, #_34, #_35
#define STR_VA_ARG_36(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36) #_1, #_2, #_3 \
, #_4, #_5, #_6, #_7, #_8, #_9, #_10, #_11, #_12, #_13, #_14, #_15 \
, #_16, #_17, #_18, #_19, #_20, #_21, #_22, #_23, #_24, #_25, #_26 \
, #_27, #_28, #_29, #_30, #_31, #_32, #_33, #_34, #_35, #_36
#define STR_VA_ARG_37(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37) #_1, #_2 \
, #_3, #_4, #_5, #_6, #_7, #_8, #_9, #_10, #_11, #_12, #_13, #_14 \
, #_15, #_16, #_17, #_18, #_19, #_20, #_21, #_22, #_23, #_24, #_25 \
, #_26, #_27, #_28, #_29, #_30, #_31, #_32, #_33, #_34, #_35, #_36 \
, #_37
#define STR_VA_ARG_38(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38) #_1 \
, #_2, #_3, #_4, #_5, #_6, #_7, #_8, #_9, #_10, #_11, #_12, #_13 \
, #_14, #_15, #_16, #_17, #_18, #_19, #_20, #_21, #_22, #_23, #_24 \
, #_25, #_26, #_27, #_28, #_29, #_30, #_31, #_32, #_33, #_34, #_35 \
, #_36, #_37, #_38
#define STR_VA_ARG_39(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39 \
) #_1, #_2, #_3, #_4, #_5, #_6, #_7, #_8, #_9, #_10, #_11, #_12, #_13 \
, #_14, #_15, #_16, #_17, #_18, #_19, #_20, #_21, #_22, #_23, #_24 \
, #_25, #_26, #_27, #_28, #_29, #_30, #_31, #_32, #_33, #_34, #_35 \
, #_36, #_37, #_38, #_39
#define STR_VA_ARG_40(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39 \
, _40) #_1, #_2, #_3, #_4, #_5, #_6, #_7, #_8, #_9, #_10, #_11, #_12 \
, #_13, #_14, #_15, #_16, #_17, #_18, #_19, #_20, #_21, #_22, #_23 \
, #_24, #_25, #_26, #_27, #_28, #_29, #_30, #_31, #_32, #_33, #_34 \
, #_35, #_36, #_37, #_38, #_39, #_40
#define STR_VA_ARG_41(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39 \
, _40, _41) #_1, #_2, #_3, #_4, #_5, #_6, #_7, #_8, #_9, #_10, #_11 \
, #_12, #_13, #_14, #_15, #_16, #_17, #_18, #_19, #_20, #_21, #_22 \
, #_23, #_24, #_25, #_26, #_27, #_28, #_29, #_30, #_31, #_32, #_33 \
, #_34, #_35, #_36, #_37, #_38, #_39, #_40, #_41
#define STR_VA_ARG_42(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39 \
, _40, _41, _42) #_1, #_2, #_3, #_4, #_5, #_6, #_7, #_8, #_9, #_10 \
, #_11, #_12, #_13, #_14, #_15, #_16, #_17, #_18, #_19, #_20, #_21 \
, #_22, #_23, #_24, #_25, #_26, #_27, #_28, #_29, #_30, #_31, #_32 \
, #_33, #_34, #_35, #_36, #_37, #_38, #_39, #_40, #_41, #_42
#define STR_VA_ARG_43(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39 \
, _40, _41, _42, _43) #_1, #_2, #_3, #_4, #_5, #_6, #_7, #_8, #_9 \
, #_10, #_11, #_12, #_13, #_14, #_15, #_16, #_17, #_18, #_19, #_20 \
, #_21, #_22, #_23, #_24, #_25, #_26, #_27, #_28, #_29, #_30, #_31 \
, #_32, #_33, #_34, #_35, #_36, #_37, #_38, #_39, #_40, #_41, #_42 \
, #_43
#define STR_VA_ARG_44(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39 \
, _40, _41, _42, _43, _44) #_1, #_2, #_3, #_4, #_5, #_6, #_7, #_8 \
, #_9, #_10, #_11, #_12, #_13, #_14, #_15, #_16, #_17, #_18, #_19 \
, #_20, #_21, #_22, #_23, #_24, #_25, #_26, #_27, #_28, #_29, #_30 \
, #_31, #_32, #_33, #_34, #_35, #_36, #_37, #_38, #_39, #_40, #_41 \
, #_42, #_43, #_44
#define STR_VA_ARG_45(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39 \
, _40, _41, _42, _43, _44, _45) #_1, #_2, #_3, #_4, #_5, #_6, #_7 \
, #_8, #_9, #_10, #_11, #_12, #_13, #_14, #_15, #_16, #_17, #_18 \
, #_19, #_20, #_21, #_22, #_23, #_24, #_25, #_26, #_27, #_28, #_29 \
, #_30, #_31, #_32, #_33, #_34, #_35, #_36, #_37, #_38, #_39, #_40 \
, #_41, #_42, #_43, #_44, #_45
#define STR_VA_ARG_46(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39 \
, _40, _41, _42, _43, _44, _45, _46) #_1, #_2, #_3, #_4, #_5, #_6 \
, #_7, #_8, #_9, #_10, #_11, #_12, #_13, #_14, #_15, #_16, #_17, #_18 \
, #_19, #_20, #_21, #_22, #_23, #_24, #_25, #_26, #_27, #_28, #_29 \
, #_30, #_31, #_32, #_33, #_34, #_35, #_36, #_37, #_38, #_39, #_40 \
, #_41, #_42, #_43, #_44, #_45, #_46
#define STR_VA_ARG_47(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39 \
, _40, _41, _42, _43, _44, _45, _46, _47) #_1, #_2, #_3, #_4, #_5 \
, #_6, #_7, #_8, #_9, #_10, #_11, #_12, #_13, #_14, #_15, #_16, #_17 \
, #_18, #_19, #_20, #_21, #_22, #_23, #_24, #_25, #_26, #_27, #_28 \
, #_29, #_30, #_31, #_32, #_33, #_34, #_35, #_36, #_37, #_38, #_39 \
, #_40, #_41, #_42, #_43, #_44, #_45, #_46, #_47
#define STR_VA_ARG_48(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39 \
, _40, _41, _42, _43, _44, _45, _46, _47, _48) #_1, #_2, #_3, #_4 \
, #_5, #_6, #_7, #_8, #_9, #_10, #_11, #_12, #_13, #_14, #_15, #_16 \
, #_17, #_18, #_19, #_20, #_21, #_22, #_23, #_24, #_25, #_26, #_27 \
, #_28, #_29, #_30, #_31, #_32, #_33, #_34, #_35, #_36, #_37, #_38 \
, #_39, #_40, #_41, #_42, #_43, #_44, #_45, #_46, #_47, #_48
#define STR_VA_ARG_49(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39 \
, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49) #_1, #_2, #_3 \
, #_4, #_5, #_6, #_7, #_8, #_9, #_10, #_11, #_12, #_13, #_14, #_15 \
, #_16, #_17, #_18, #_19, #_20, #_21, #_22, #_23, #_24, #_25, #_26 \
, #_27, #_28, #_29, #_30, #_31, #_32, #_33, #_34, #_35, #_36, #_37 \
, #_38, #_39, #_40, #_41, #_42, #_43, #_44, #_45, #_46, #_47, #_48 \
, #_49
#define STR_VA_ARG_50(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39 \
, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50) #_1, #_2 \
, #_3, #_4, #_5, #_6, #_7, #_8, #_9, #_10, #_11, #_12, #_13, #_14 \
, #_15, #_16, #_17, #_18, #_19, #_20, #_21, #_22, #_23, #_24, #_25 \
, #_26, #_27, #_28, #_29, #_30, #_31, #_32, #_33, #_34, #_35, #_36 \
, #_37, #_38, #_39, #_40, #_41, #_42, #_43, #_44, #_45, #_46, #_47 \
, #_48, #_49, #_50
#define STR_VA_ARG_51(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39 \
, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51) #_1 \
, #_2, #_3, #_4, #_5, #_6, #_7, #_8, #_9, #_10, #_11, #_12, #_13 \
, #_14, #_15, #_16, #_17, #_18, #_19, #_20, #_21, #_22, #_23, #_24 \
, #_25, #_26, #_27, #_28, #_29, #_30, #_31, #_32, #_33, #_34, #_35 \
, #_36, #_37, #_38, #_39, #_40, #_41, #_42, #_43, #_44, #_45, #_46 \
, #_47, #_48, #_49, #_50, #_51
#define STR_VA_ARG_52(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39 \
, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52 \
) #_1, #_2, #_3, #_4, #_5, #_6, #_7, #_8, #_9, #_10, #_11, #_12, #_13 \
, #_14, #_15, #_16, #_17, #_18, #_19, #_20, #_21, #_22, #_23, #_24 \
, #_25, #_26, #_27, #_28, #_29, #_30, #_31, #_32, #_33, #_34, #_35 \
, #_36, #_37, #_38, #_39, #_40, #_41, #_42, #_43, #_44, #_45, #_46 \
, #_47, #_48, #_49, #_50, #_51, #_52
#define STR_VA_ARG_53(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39 \
, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52 \
, _53) #_1, #_2, #_3, #_4, #_5, #_6, #_7, #_8, #_9, #_10, #_11, #_12 \
, #_13, #_14, #_15, #_16, #_17, #_18, #_19, #_20, #_21, #_22, #_23 \
, #_24, #_25, #_26, #_27, #_28, #_29, #_30, #_31, #_32, #_33, #_34 \
, #_35, #_36, #_37, #_38, #_39, #_40, #_41, #_42, #_43, #_44, #_45 \
, #_46, #_47, #_48, #_49, #_50, #_51, #_52, #_53
#define STR_VA_ARG_54(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39 \
, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52 \
, _53, _54) #_1, #_2, #_3, #_4, #_5, #_6, #_7, #_8, #_9, #_10, #_11 \
, #_12, #_13, #_14, #_15, #_16, #_17, #_18, #_19, #_20, #_21, #_22 \
, #_23, #_24, #_25, #_26, #_27, #_28, #_29, #_30, #_31, #_32, #_33 \
, #_34, #_35, #_36, #_37, #_38, #_39, #_40, #_41, #_42, #_43, #_44 \
, #_45, #_46, #_47, #_48, #_49, #_50, #_51, #_52, #_53, #_54
#define STR_VA_ARG_55(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39 \
, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52 \
, _53, _54, _55) #_1, #_2, #_3, #_4, #_5, #_6, #_7, #_8, #_9, #_10 \
, #_11, #_12, #_13, #_14, #_15, #_16, #_17, #_18, #_19, #_20, #_21 \
, #_22, #_23, #_24, #_25, #_26, #_27, #_28, #_29, #_30, #_31, #_32 \
, #_33, #_34, #_35, #_36, #_37, #_38, #_39, #_40, #_41, #_42, #_43 \
, #_44, #_45, #_46, #_47, #_48, #_49, #_50, #_51, #_52, #_53, #_54 \
, #_55
#define STR_VA_ARG_56(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39 \
, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52 \
, _53, _54, _55, _56) #_1, #_2, #_3, #_4, #_5, #_6, #_7, #_8, #_9 \
, #_10, #_11, #_12, #_13, #_14, #_15, #_16, #_17, #_18, #_19, #_20 \
, #_21, #_22, #_23, #_24, #_25, #_26, #_27, #_28, #_29, #_30, #_31 \
, #_32, #_33, #_34, #_35, #_36, #_37, #_38, #_39, #_40, #_41, #_42 \
, #_43, #_44, #_45, #_46, #_47, #_48, #_49, #_50, #_51, #_52, #_53 \
, #_54, #_55, #_56
#define STR_VA_ARG_57(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39 \
, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52 \
, _53, _54, _55, _56, _57) #_1, #_2, #_3, #_4, #_5, #_6, #_7, #_8 \
, #_9, #_10, #_11, #_12, #_13, #_14, #_15, #_16, #_17, #_18, #_19 \
, #_20, #_21, #_22, #_23, #_24, #_25, #_26, #_27, #_28, #_29, #_30 \
, #_31, #_32, #_33, #_34, #_35, #_36, #_37, #_38, #_39, #_40, #_41 \
, #_42, #_43, #_44, #_45, #_46, #_47, #_48, #_49, #_50, #_51, #_52 \
, #_53, #_54, #_55, #_56, #_57
#define STR_VA_ARG_58(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39 \
, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52 \
, _53, _54, _55, _56, _57, _58) #_1, #_2, #_3, #_4, #_5, #_6, #_7 \
, #_8, #_9, #_10, #_11, #_12, #_13, #_14, #_15, #_16, #_17, #_18 \
, #_19, #_20, #_21, #_22, #_23, #_24, #_25, #_26, #_27, #_28, #_29 \
, #_30, #_31, #_32, #_33, #_34, #_35, #_36, #_37, #_38, #_39, #_40 \
, #_41, #_42, #_43, #_44, #_45, #_46, #_47, #_48, #_49, #_50, #_51 \
, #_52, #_53, #_54, #_55, #_56, #_57, #_58
#define STR_VA_ARG_59(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39 \
, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52 \
, _53, _54, _55, _56, _57, _58, _59) #_1, #_2, #_3, #_4, #_5, #_6 \
, #_7, #_8, #_9, #_10, #_11, #_12, #_13, #_14, #_15, #_16, #_17, #_18 \
, #_19, #_20, #_21, #_22, #_23, #_24, #_25, #_26, #_27, #_28, #_29 \
, #_30, #_31, #_32, #_33, #_34, #_35, #_36, #_37, #_38, #_39, #_40 \
, #_41, #_42, #_43, #_44, #_45, #_46, #_47, #_48, #_49, #_50, #_51 \
, #_52, #_53, #_54, #_55, #_56, #_57, #_58, #_59
#define STR_VA_ARG_60(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39 \
, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52 \
, _53, _54, _55, _56, _57, _58, _59, _60) #_1, #_2, #_3, #_4, #_5 \
, #_6, #_7, #_8, #_9, #_10, #_11, #_12, #_13, #_14, #_15, #_16, #_17 \
, #_18, #_19, #_20, #_21, #_22, #_23, #_24, #_25, #_26, #_27, #_28 \
, #_29, #_30, #_31, #_32, #_33, #_34, #_35, #_36, #_37, #_38, #_39 \
, #_40, #_41, #_42, #_43, #_44, #_45, #_46, #_47, #_48, #_49, #_50 \
, #_51, #_52, #_53, #_54, #_55, #_56, #_57, #_58, #_59, #_60
#define STR_VA_ARG_61(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39 \
, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52 \
, _53, _54, _55, _56, _57, _58, _59, _60, _61) #_1, #_2, #_3, #_4 \
, #_5, #_6, #_7, #_8, #_9, #_10, #_11, #_12, #_13, #_14, #_15, #_16 \
, #_17, #_18, #_19, #_20, #_21, #_22, #_23, #_24, #_25, #_26, #_27 \
, #_28, #_29, #_30, #_31, #_32, #_33, #_34, #_35, #_36, #_37, #_38 \
, #_39, #_40, #_41, #_42, #_43, #_44, #_45, #_46, #_47, #_48, #_49 \
, #_50, #_51, #_52, #_53, #_54, #_55, #_56, #_57, #_58, #_59, #_60 \
, #_61
#define STR_VA_ARG_62(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39 \
, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52 \
, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62) #_1, #_2, #_3 \
, #_4, #_5, #_6, #_7, #_8, #_9, #_10, #_11, #_12, #_13, #_14, #_15 \
, #_16, #_17, #_18, #_19, #_20, #_21, #_22, #_23, #_24, #_25, #_26 \
, #_27, #_28, #_29, #_30, #_31, #_32, #_33, #_34, #_35, #_36, #_37 \
, #_38, #_39, #_40, #_41, #_42, #_43, #_44, #_45, #_46, #_47, #_48 \
, #_49, #_50, #_51, #_52, #_53, #_54, #_55, #_56, #_57, #_58, #_59 \
, #_60, #_61, #_62
#define STR_VA_ARG_63(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13 \
, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26 \
, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39 \
, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52 \
, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63) #_1, #_2 \
, #_3, #_4, #_5, #_6, #_7, #_8, #_9, #_10, #_11, #_12, #_13, #_14 \
, #_15, #_16, #_17, #_18, #_19, #_20, #_21, #_22, #_23, #_24, #_25 \
, #_26, #_27, #_28, #_29, #_30, #_31, #_32, #_33, #_34, #_35, #_36 \
, #_37, #_38, #_39, #_40, #_41, #_42, #_43, #_44, #_45, #_46, #_47 \
, #_48, #_49, #_50, #_51, #_52, #_53, #_54, #_55, #_56, #_57, #_58 \
, #_59, #_60, #_61, #_62, #_63
#endif /* __VA_STRINGIFY_H */
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment