@@ -72,13 +72,9 @@ struct MemUnit;
72
72
#define TARGETS_USING_REGS (CL, ...) TARGETS_USING_REGS_##CL(__VA_ARGS__)
73
73
#define REGSETS_IN_CLASS (CL, ...) REGSETS_IN_CLASS_##CL(__VA_ARGS__)
74
74
75
- #define EXPAND (...) __VA_ARGS__
76
- #define EXPAND_COMMA (...) , ##__VA_ARGS__
77
- #define EXPAND_COMMA_CLOSE (...) ,##__VA_ARGS__ )
78
75
#define INSTANTIATE_TARGET_TEMPLATE (TARGET, FUNC, ...) template FUNC(Target::TARGET::__VA_ARGS__);
79
76
#define DECLARE_TARGET_CLASS (TARGET, ...) class TARGET __VA_ARGS__;
80
77
#define FRIEND_TARGET_CLASS (TARGET, ...) friend class Target ::TARGET __VA_ARGS__;
81
- #define TARGET_OVERLOAD (TARGET, FN, ARGS, ...) FN(Target::TARGET::EXPAND ARGS) __VA_ARGS__;
82
78
83
79
#define PER_TARGET_CONSTANTS (M ) \
84
80
M (const char *, name) \
@@ -700,6 +696,12 @@ void emit_parser_registers(const Target::JBay::top_level_regs *regs, std::ostrea
700
696
* will all have a Target::type argument prepended. The final ARGS argument is the argument
701
697
* list that that will be forwarded (basically ARGDECL without the types)
702
698
*/
699
+
700
+ #define EXPAND (...) __VA_ARGS__
701
+ #define EXPAND_COMMA (...) __VA_OPT__(, )##__VA_ARGS__
702
+ #define EXPAND_COMMA_CLOSE (...) __VA_OPT__(,)##__VA_ARGS__ __VA_OPT__ ())
703
+ #define TARGET_OVERLOAD (TARGET, FN, ARGS, ...) FN(Target::TARGET::EXPAND ARGS) __VA_ARGS__;
704
+
703
705
#define DECL_OVERLOAD_FUNC (TARGET, RTYPE, NAME, ARGDECL, ARGS ) \
704
706
RTYPE NAME (Target::TARGET EXPAND_COMMA_CLOSE ARGDECL;
705
707
#define OVERLOAD_FUNC_FOREACH (GROUP, RTYPE, NAME, ARGDECL, ARGS, ...) \
0 commit comments