fork download
  1. #include <stdio.h>
  2. #include <strings.h>
  3. #include <string.h>
  4. #include <stdbool.h>
  5. #include <stdlib.h>
  6.  
  7. #define MU_ARG_EVAL(arg)(arg ? "TRUE" : "FALSE")
  8.  
  9. void MU_Arg_append_to_string(bool cond, char *cond_str, char *string_ptr){
  10. char *tmp_str = malloc(1024);
  11. sprintf(tmp_str, ";%s: %s", cond_str, MU_ARG_EVAL(cond));
  12. sprintf(string_ptr, "%s%s", string_ptr, tmp_str);
  13. }
  14.  
  15. bool MU_Arg_evaluate_arguments(int num_args, ...){
  16. return true;
  17. }
  18.  
  19. #define MU_ARG_COUNT(...) (sizeof((bool[]){__VA_ARGS__})/sizeof(bool))
  20.  
  21. #define MU_ARG_TO_STRING(arg)("" #arg "")
  22.  
  23. #define MU_ARG_CHECK(logger, retval, ...) do { \
  24. int num_args = MU_ARG_COUNT(__VA_ARGS__); \
  25. if(MU_Arg_evaluate_arguments(num_args, __VA_ARGS__)) break; \
  26. MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  27. return retval; \
  28. } while(0)
  29.  
  30. #define MU_ARG_STRINGIFY(logger, num_args, ...) do{ \
  31. char *arg_str = calloc(1, 1024); \
  32. char *old_arg_str; \
  33. sprintf(arg_str, "%s: Invalid Argument%s=> \"", arg_str, num_args > 1 ? "s" : ""); \
  34. switch(num_args){ \
  35. case 1: MU_ARG_CHECK_1(arg_str, __VA_ARGS__); break; \
  36. case 2: MU_ARG_CHECK_2(arg_str, __VA_ARGS__); break; \
  37. case 3: MU_ARG_CHECK_3(arg_str, __VA_ARGS__); break; \
  38. case 4: MU_ARG_CHECK_4(arg_str, __VA_ARGS__); break; \
  39. case 5: MU_ARG_CHECK_5(arg_str, __VA_ARGS__); break; \
  40. case 6: MU_ARG_CHECK_6(arg_str, __VA_ARGS__); break; \
  41. case 7: MU_ARG_CHECK_7(arg_str, __VA_ARGS__); break; \
  42. case 8: MU_ARG_CHECK_8(arg_str, __VA_ARGS__); break; \
  43. } \
  44. sprintf(arg_str, "%s!\"\n", arg_str); \
  45. printf("%s", arg_str); \
  46. free(arg_str); \
  47. } while(0)
  48.  
  49.  
  50.  
  51. #define MU_ARG_CHECK_1(string_ptr, arg1) MU_Arg_append_to_string(arg1, "" #arg1 "", string_ptr)
  52.  
  53. #define MU_ARG_CHECK_2(string_ptr, arg2, ...) MU_Arg_append_to_string(arg2, "" #arg2 "", string_ptr); MU_ARG_CHECK_1(string_ptr, __VA_ARGS__)
  54.  
  55. #define MU_ARG_CHECK_3(string_ptr, arg3, ...) MU_Arg_append_to_string(arg3, "" #arg3 "", string_ptr); MU_ARG_CHECK_2(string_ptr, __VA_ARGS__)
  56.  
  57. #define MU_ARG_CHECK_4(string_ptr, arg4, ...) MU_Arg_append_to_string(arg4, "" #arg4 "", string_ptr); MU_ARG_CHECK_3(string_ptr, __VA_ARGS__)
  58.  
  59. #define MU_ARG_CHECK_5(string_ptr, arg5, ...) MU_Arg_append_to_string(arg5, "" #arg5 "", string_ptr); MU_ARG_CHECK_4(string_ptr, __VA_ARGS__)
  60.  
  61. #define MU_ARG_CHECK_6(string_ptr, arg6, ...) MU_Arg_append_to_string(arg6, "" #arg6 "", string_ptr); MU_ARG_CHECK_5(string_ptr, __VA_ARGS__)
  62.  
  63. #define MU_ARG_CHECK_7(string_ptr, arg7, ...) MU_Arg_append_to_string(arg7, "" #arg7 "", string_ptr); MU_ARG_CHECK_6(string_ptr, __VA_ARGS__)
  64.  
  65. #define MU_ARG_CHECK_8(string_ptr, arg8, ...) MU_Arg_append_to_string(arg8, "" #arg8 "", string_ptr); MU_ARG_CHECK_7(string_ptr, __VA_ARGS__)
  66.  
  67. int main(void) {
  68. char *string = "NULL";
  69. int iterations = 3;
  70. MU_ARG_CHECK(NULL, -1, string);
  71. return 0;
  72. }
  73.  
Compilation error #stdin compilation error #stdout 0s 2184KB
stdin
Standard input is empty
compilation info
prog.c: In function 'main':
prog.c:51:70: error: expected expression before ',' token
 #define MU_ARG_CHECK_1(string_ptr, arg1) MU_Arg_append_to_string(arg1, "" #arg1 "", string_ptr)
                                                                      ^
prog.c:53:103: note: in expansion of macro 'MU_ARG_CHECK_1'
 #define MU_ARG_CHECK_2(string_ptr, arg2, ...) MU_Arg_append_to_string(arg2, "" #arg2 "", string_ptr); MU_ARG_CHECK_1(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:36:11: note: in expansion of macro 'MU_ARG_CHECK_2'
   case 2: MU_ARG_CHECK_2(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:53:75: error: expected expression before ',' token
 #define MU_ARG_CHECK_2(string_ptr, arg2, ...) MU_Arg_append_to_string(arg2, "" #arg2 "", string_ptr); MU_ARG_CHECK_1(string_ptr, __VA_ARGS__)
                                                                           ^
prog.c:55:103: note: in expansion of macro 'MU_ARG_CHECK_2'
 #define MU_ARG_CHECK_3(string_ptr, arg3, ...) MU_Arg_append_to_string(arg3, "" #arg3 "", string_ptr); MU_ARG_CHECK_2(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:37:11: note: in expansion of macro 'MU_ARG_CHECK_3'
   case 3: MU_ARG_CHECK_3(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:51:70: error: expected expression before ',' token
 #define MU_ARG_CHECK_1(string_ptr, arg1) MU_Arg_append_to_string(arg1, "" #arg1 "", string_ptr)
                                                                      ^
prog.c:53:103: note: in expansion of macro 'MU_ARG_CHECK_1'
 #define MU_ARG_CHECK_2(string_ptr, arg2, ...) MU_Arg_append_to_string(arg2, "" #arg2 "", string_ptr); MU_ARG_CHECK_1(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:55:103: note: in expansion of macro 'MU_ARG_CHECK_2'
 #define MU_ARG_CHECK_3(string_ptr, arg3, ...) MU_Arg_append_to_string(arg3, "" #arg3 "", string_ptr); MU_ARG_CHECK_2(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:37:11: note: in expansion of macro 'MU_ARG_CHECK_3'
   case 3: MU_ARG_CHECK_3(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:55:75: error: expected expression before ',' token
 #define MU_ARG_CHECK_3(string_ptr, arg3, ...) MU_Arg_append_to_string(arg3, "" #arg3 "", string_ptr); MU_ARG_CHECK_2(string_ptr, __VA_ARGS__)
                                                                           ^
prog.c:57:103: note: in expansion of macro 'MU_ARG_CHECK_3'
 #define MU_ARG_CHECK_4(string_ptr, arg4, ...) MU_Arg_append_to_string(arg4, "" #arg4 "", string_ptr); MU_ARG_CHECK_3(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:38:11: note: in expansion of macro 'MU_ARG_CHECK_4'
   case 4: MU_ARG_CHECK_4(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:53:75: error: expected expression before ',' token
 #define MU_ARG_CHECK_2(string_ptr, arg2, ...) MU_Arg_append_to_string(arg2, "" #arg2 "", string_ptr); MU_ARG_CHECK_1(string_ptr, __VA_ARGS__)
                                                                           ^
prog.c:55:103: note: in expansion of macro 'MU_ARG_CHECK_2'
 #define MU_ARG_CHECK_3(string_ptr, arg3, ...) MU_Arg_append_to_string(arg3, "" #arg3 "", string_ptr); MU_ARG_CHECK_2(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:57:103: note: in expansion of macro 'MU_ARG_CHECK_3'
 #define MU_ARG_CHECK_4(string_ptr, arg4, ...) MU_Arg_append_to_string(arg4, "" #arg4 "", string_ptr); MU_ARG_CHECK_3(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:38:11: note: in expansion of macro 'MU_ARG_CHECK_4'
   case 4: MU_ARG_CHECK_4(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:51:70: error: expected expression before ',' token
 #define MU_ARG_CHECK_1(string_ptr, arg1) MU_Arg_append_to_string(arg1, "" #arg1 "", string_ptr)
                                                                      ^
prog.c:53:103: note: in expansion of macro 'MU_ARG_CHECK_1'
 #define MU_ARG_CHECK_2(string_ptr, arg2, ...) MU_Arg_append_to_string(arg2, "" #arg2 "", string_ptr); MU_ARG_CHECK_1(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:55:103: note: in expansion of macro 'MU_ARG_CHECK_2'
 #define MU_ARG_CHECK_3(string_ptr, arg3, ...) MU_Arg_append_to_string(arg3, "" #arg3 "", string_ptr); MU_ARG_CHECK_2(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:57:103: note: in expansion of macro 'MU_ARG_CHECK_3'
 #define MU_ARG_CHECK_4(string_ptr, arg4, ...) MU_Arg_append_to_string(arg4, "" #arg4 "", string_ptr); MU_ARG_CHECK_3(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:38:11: note: in expansion of macro 'MU_ARG_CHECK_4'
   case 4: MU_ARG_CHECK_4(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:57:75: error: expected expression before ',' token
 #define MU_ARG_CHECK_4(string_ptr, arg4, ...) MU_Arg_append_to_string(arg4, "" #arg4 "", string_ptr); MU_ARG_CHECK_3(string_ptr, __VA_ARGS__)
                                                                           ^
prog.c:59:103: note: in expansion of macro 'MU_ARG_CHECK_4'
 #define MU_ARG_CHECK_5(string_ptr, arg5, ...) MU_Arg_append_to_string(arg5, "" #arg5 "", string_ptr); MU_ARG_CHECK_4(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:39:11: note: in expansion of macro 'MU_ARG_CHECK_5'
   case 5: MU_ARG_CHECK_5(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:55:75: error: expected expression before ',' token
 #define MU_ARG_CHECK_3(string_ptr, arg3, ...) MU_Arg_append_to_string(arg3, "" #arg3 "", string_ptr); MU_ARG_CHECK_2(string_ptr, __VA_ARGS__)
                                                                           ^
prog.c:57:103: note: in expansion of macro 'MU_ARG_CHECK_3'
 #define MU_ARG_CHECK_4(string_ptr, arg4, ...) MU_Arg_append_to_string(arg4, "" #arg4 "", string_ptr); MU_ARG_CHECK_3(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:59:103: note: in expansion of macro 'MU_ARG_CHECK_4'
 #define MU_ARG_CHECK_5(string_ptr, arg5, ...) MU_Arg_append_to_string(arg5, "" #arg5 "", string_ptr); MU_ARG_CHECK_4(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:39:11: note: in expansion of macro 'MU_ARG_CHECK_5'
   case 5: MU_ARG_CHECK_5(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:53:75: error: expected expression before ',' token
 #define MU_ARG_CHECK_2(string_ptr, arg2, ...) MU_Arg_append_to_string(arg2, "" #arg2 "", string_ptr); MU_ARG_CHECK_1(string_ptr, __VA_ARGS__)
                                                                           ^
prog.c:55:103: note: in expansion of macro 'MU_ARG_CHECK_2'
 #define MU_ARG_CHECK_3(string_ptr, arg3, ...) MU_Arg_append_to_string(arg3, "" #arg3 "", string_ptr); MU_ARG_CHECK_2(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:57:103: note: in expansion of macro 'MU_ARG_CHECK_3'
 #define MU_ARG_CHECK_4(string_ptr, arg4, ...) MU_Arg_append_to_string(arg4, "" #arg4 "", string_ptr); MU_ARG_CHECK_3(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:59:103: note: in expansion of macro 'MU_ARG_CHECK_4'
 #define MU_ARG_CHECK_5(string_ptr, arg5, ...) MU_Arg_append_to_string(arg5, "" #arg5 "", string_ptr); MU_ARG_CHECK_4(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:39:11: note: in expansion of macro 'MU_ARG_CHECK_5'
   case 5: MU_ARG_CHECK_5(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:51:70: error: expected expression before ',' token
 #define MU_ARG_CHECK_1(string_ptr, arg1) MU_Arg_append_to_string(arg1, "" #arg1 "", string_ptr)
                                                                      ^
prog.c:53:103: note: in expansion of macro 'MU_ARG_CHECK_1'
 #define MU_ARG_CHECK_2(string_ptr, arg2, ...) MU_Arg_append_to_string(arg2, "" #arg2 "", string_ptr); MU_ARG_CHECK_1(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:55:103: note: in expansion of macro 'MU_ARG_CHECK_2'
 #define MU_ARG_CHECK_3(string_ptr, arg3, ...) MU_Arg_append_to_string(arg3, "" #arg3 "", string_ptr); MU_ARG_CHECK_2(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:57:103: note: in expansion of macro 'MU_ARG_CHECK_3'
 #define MU_ARG_CHECK_4(string_ptr, arg4, ...) MU_Arg_append_to_string(arg4, "" #arg4 "", string_ptr); MU_ARG_CHECK_3(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:59:103: note: in expansion of macro 'MU_ARG_CHECK_4'
 #define MU_ARG_CHECK_5(string_ptr, arg5, ...) MU_Arg_append_to_string(arg5, "" #arg5 "", string_ptr); MU_ARG_CHECK_4(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:39:11: note: in expansion of macro 'MU_ARG_CHECK_5'
   case 5: MU_ARG_CHECK_5(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:59:75: error: expected expression before ',' token
 #define MU_ARG_CHECK_5(string_ptr, arg5, ...) MU_Arg_append_to_string(arg5, "" #arg5 "", string_ptr); MU_ARG_CHECK_4(string_ptr, __VA_ARGS__)
                                                                           ^
prog.c:61:103: note: in expansion of macro 'MU_ARG_CHECK_5'
 #define MU_ARG_CHECK_6(string_ptr, arg6, ...) MU_Arg_append_to_string(arg6, "" #arg6 "", string_ptr); MU_ARG_CHECK_5(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:40:11: note: in expansion of macro 'MU_ARG_CHECK_6'
   case 6: MU_ARG_CHECK_6(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:57:75: error: expected expression before ',' token
 #define MU_ARG_CHECK_4(string_ptr, arg4, ...) MU_Arg_append_to_string(arg4, "" #arg4 "", string_ptr); MU_ARG_CHECK_3(string_ptr, __VA_ARGS__)
                                                                           ^
prog.c:59:103: note: in expansion of macro 'MU_ARG_CHECK_4'
 #define MU_ARG_CHECK_5(string_ptr, arg5, ...) MU_Arg_append_to_string(arg5, "" #arg5 "", string_ptr); MU_ARG_CHECK_4(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:61:103: note: in expansion of macro 'MU_ARG_CHECK_5'
 #define MU_ARG_CHECK_6(string_ptr, arg6, ...) MU_Arg_append_to_string(arg6, "" #arg6 "", string_ptr); MU_ARG_CHECK_5(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:40:11: note: in expansion of macro 'MU_ARG_CHECK_6'
   case 6: MU_ARG_CHECK_6(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:55:75: error: expected expression before ',' token
 #define MU_ARG_CHECK_3(string_ptr, arg3, ...) MU_Arg_append_to_string(arg3, "" #arg3 "", string_ptr); MU_ARG_CHECK_2(string_ptr, __VA_ARGS__)
                                                                           ^
prog.c:57:103: note: in expansion of macro 'MU_ARG_CHECK_3'
 #define MU_ARG_CHECK_4(string_ptr, arg4, ...) MU_Arg_append_to_string(arg4, "" #arg4 "", string_ptr); MU_ARG_CHECK_3(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:59:103: note: in expansion of macro 'MU_ARG_CHECK_4'
 #define MU_ARG_CHECK_5(string_ptr, arg5, ...) MU_Arg_append_to_string(arg5, "" #arg5 "", string_ptr); MU_ARG_CHECK_4(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:61:103: note: in expansion of macro 'MU_ARG_CHECK_5'
 #define MU_ARG_CHECK_6(string_ptr, arg6, ...) MU_Arg_append_to_string(arg6, "" #arg6 "", string_ptr); MU_ARG_CHECK_5(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:40:11: note: in expansion of macro 'MU_ARG_CHECK_6'
   case 6: MU_ARG_CHECK_6(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:53:75: error: expected expression before ',' token
 #define MU_ARG_CHECK_2(string_ptr, arg2, ...) MU_Arg_append_to_string(arg2, "" #arg2 "", string_ptr); MU_ARG_CHECK_1(string_ptr, __VA_ARGS__)
                                                                           ^
prog.c:55:103: note: in expansion of macro 'MU_ARG_CHECK_2'
 #define MU_ARG_CHECK_3(string_ptr, arg3, ...) MU_Arg_append_to_string(arg3, "" #arg3 "", string_ptr); MU_ARG_CHECK_2(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:57:103: note: in expansion of macro 'MU_ARG_CHECK_3'
 #define MU_ARG_CHECK_4(string_ptr, arg4, ...) MU_Arg_append_to_string(arg4, "" #arg4 "", string_ptr); MU_ARG_CHECK_3(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:59:103: note: in expansion of macro 'MU_ARG_CHECK_4'
 #define MU_ARG_CHECK_5(string_ptr, arg5, ...) MU_Arg_append_to_string(arg5, "" #arg5 "", string_ptr); MU_ARG_CHECK_4(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:61:103: note: in expansion of macro 'MU_ARG_CHECK_5'
 #define MU_ARG_CHECK_6(string_ptr, arg6, ...) MU_Arg_append_to_string(arg6, "" #arg6 "", string_ptr); MU_ARG_CHECK_5(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:40:11: note: in expansion of macro 'MU_ARG_CHECK_6'
   case 6: MU_ARG_CHECK_6(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:51:70: error: expected expression before ',' token
 #define MU_ARG_CHECK_1(string_ptr, arg1) MU_Arg_append_to_string(arg1, "" #arg1 "", string_ptr)
                                                                      ^
prog.c:53:103: note: in expansion of macro 'MU_ARG_CHECK_1'
 #define MU_ARG_CHECK_2(string_ptr, arg2, ...) MU_Arg_append_to_string(arg2, "" #arg2 "", string_ptr); MU_ARG_CHECK_1(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:55:103: note: in expansion of macro 'MU_ARG_CHECK_2'
 #define MU_ARG_CHECK_3(string_ptr, arg3, ...) MU_Arg_append_to_string(arg3, "" #arg3 "", string_ptr); MU_ARG_CHECK_2(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:57:103: note: in expansion of macro 'MU_ARG_CHECK_3'
 #define MU_ARG_CHECK_4(string_ptr, arg4, ...) MU_Arg_append_to_string(arg4, "" #arg4 "", string_ptr); MU_ARG_CHECK_3(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:59:103: note: in expansion of macro 'MU_ARG_CHECK_4'
 #define MU_ARG_CHECK_5(string_ptr, arg5, ...) MU_Arg_append_to_string(arg5, "" #arg5 "", string_ptr); MU_ARG_CHECK_4(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:61:103: note: in expansion of macro 'MU_ARG_CHECK_5'
 #define MU_ARG_CHECK_6(string_ptr, arg6, ...) MU_Arg_append_to_string(arg6, "" #arg6 "", string_ptr); MU_ARG_CHECK_5(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:40:11: note: in expansion of macro 'MU_ARG_CHECK_6'
   case 6: MU_ARG_CHECK_6(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:61:75: error: expected expression before ',' token
 #define MU_ARG_CHECK_6(string_ptr, arg6, ...) MU_Arg_append_to_string(arg6, "" #arg6 "", string_ptr); MU_ARG_CHECK_5(string_ptr, __VA_ARGS__)
                                                                           ^
prog.c:63:103: note: in expansion of macro 'MU_ARG_CHECK_6'
 #define MU_ARG_CHECK_7(string_ptr, arg7, ...) MU_Arg_append_to_string(arg7, "" #arg7 "", string_ptr); MU_ARG_CHECK_6(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:41:11: note: in expansion of macro 'MU_ARG_CHECK_7'
   case 7: MU_ARG_CHECK_7(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:59:75: error: expected expression before ',' token
 #define MU_ARG_CHECK_5(string_ptr, arg5, ...) MU_Arg_append_to_string(arg5, "" #arg5 "", string_ptr); MU_ARG_CHECK_4(string_ptr, __VA_ARGS__)
                                                                           ^
prog.c:61:103: note: in expansion of macro 'MU_ARG_CHECK_5'
 #define MU_ARG_CHECK_6(string_ptr, arg6, ...) MU_Arg_append_to_string(arg6, "" #arg6 "", string_ptr); MU_ARG_CHECK_5(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:63:103: note: in expansion of macro 'MU_ARG_CHECK_6'
 #define MU_ARG_CHECK_7(string_ptr, arg7, ...) MU_Arg_append_to_string(arg7, "" #arg7 "", string_ptr); MU_ARG_CHECK_6(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:41:11: note: in expansion of macro 'MU_ARG_CHECK_7'
   case 7: MU_ARG_CHECK_7(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:57:75: error: expected expression before ',' token
 #define MU_ARG_CHECK_4(string_ptr, arg4, ...) MU_Arg_append_to_string(arg4, "" #arg4 "", string_ptr); MU_ARG_CHECK_3(string_ptr, __VA_ARGS__)
                                                                           ^
prog.c:59:103: note: in expansion of macro 'MU_ARG_CHECK_4'
 #define MU_ARG_CHECK_5(string_ptr, arg5, ...) MU_Arg_append_to_string(arg5, "" #arg5 "", string_ptr); MU_ARG_CHECK_4(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:61:103: note: in expansion of macro 'MU_ARG_CHECK_5'
 #define MU_ARG_CHECK_6(string_ptr, arg6, ...) MU_Arg_append_to_string(arg6, "" #arg6 "", string_ptr); MU_ARG_CHECK_5(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:63:103: note: in expansion of macro 'MU_ARG_CHECK_6'
 #define MU_ARG_CHECK_7(string_ptr, arg7, ...) MU_Arg_append_to_string(arg7, "" #arg7 "", string_ptr); MU_ARG_CHECK_6(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:41:11: note: in expansion of macro 'MU_ARG_CHECK_7'
   case 7: MU_ARG_CHECK_7(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:55:75: error: expected expression before ',' token
 #define MU_ARG_CHECK_3(string_ptr, arg3, ...) MU_Arg_append_to_string(arg3, "" #arg3 "", string_ptr); MU_ARG_CHECK_2(string_ptr, __VA_ARGS__)
                                                                           ^
prog.c:57:103: note: in expansion of macro 'MU_ARG_CHECK_3'
 #define MU_ARG_CHECK_4(string_ptr, arg4, ...) MU_Arg_append_to_string(arg4, "" #arg4 "", string_ptr); MU_ARG_CHECK_3(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:59:103: note: in expansion of macro 'MU_ARG_CHECK_4'
 #define MU_ARG_CHECK_5(string_ptr, arg5, ...) MU_Arg_append_to_string(arg5, "" #arg5 "", string_ptr); MU_ARG_CHECK_4(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:61:103: note: in expansion of macro 'MU_ARG_CHECK_5'
 #define MU_ARG_CHECK_6(string_ptr, arg6, ...) MU_Arg_append_to_string(arg6, "" #arg6 "", string_ptr); MU_ARG_CHECK_5(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:63:103: note: in expansion of macro 'MU_ARG_CHECK_6'
 #define MU_ARG_CHECK_7(string_ptr, arg7, ...) MU_Arg_append_to_string(arg7, "" #arg7 "", string_ptr); MU_ARG_CHECK_6(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:41:11: note: in expansion of macro 'MU_ARG_CHECK_7'
   case 7: MU_ARG_CHECK_7(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:53:75: error: expected expression before ',' token
 #define MU_ARG_CHECK_2(string_ptr, arg2, ...) MU_Arg_append_to_string(arg2, "" #arg2 "", string_ptr); MU_ARG_CHECK_1(string_ptr, __VA_ARGS__)
                                                                           ^
prog.c:55:103: note: in expansion of macro 'MU_ARG_CHECK_2'
 #define MU_ARG_CHECK_3(string_ptr, arg3, ...) MU_Arg_append_to_string(arg3, "" #arg3 "", string_ptr); MU_ARG_CHECK_2(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:57:103: note: in expansion of macro 'MU_ARG_CHECK_3'
 #define MU_ARG_CHECK_4(string_ptr, arg4, ...) MU_Arg_append_to_string(arg4, "" #arg4 "", string_ptr); MU_ARG_CHECK_3(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:59:103: note: in expansion of macro 'MU_ARG_CHECK_4'
 #define MU_ARG_CHECK_5(string_ptr, arg5, ...) MU_Arg_append_to_string(arg5, "" #arg5 "", string_ptr); MU_ARG_CHECK_4(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:61:103: note: in expansion of macro 'MU_ARG_CHECK_5'
 #define MU_ARG_CHECK_6(string_ptr, arg6, ...) MU_Arg_append_to_string(arg6, "" #arg6 "", string_ptr); MU_ARG_CHECK_5(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:63:103: note: in expansion of macro 'MU_ARG_CHECK_6'
 #define MU_ARG_CHECK_7(string_ptr, arg7, ...) MU_Arg_append_to_string(arg7, "" #arg7 "", string_ptr); MU_ARG_CHECK_6(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:41:11: note: in expansion of macro 'MU_ARG_CHECK_7'
   case 7: MU_ARG_CHECK_7(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:51:70: error: expected expression before ',' token
 #define MU_ARG_CHECK_1(string_ptr, arg1) MU_Arg_append_to_string(arg1, "" #arg1 "", string_ptr)
                                                                      ^
prog.c:53:103: note: in expansion of macro 'MU_ARG_CHECK_1'
 #define MU_ARG_CHECK_2(string_ptr, arg2, ...) MU_Arg_append_to_string(arg2, "" #arg2 "", string_ptr); MU_ARG_CHECK_1(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:55:103: note: in expansion of macro 'MU_ARG_CHECK_2'
 #define MU_ARG_CHECK_3(string_ptr, arg3, ...) MU_Arg_append_to_string(arg3, "" #arg3 "", string_ptr); MU_ARG_CHECK_2(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:57:103: note: in expansion of macro 'MU_ARG_CHECK_3'
 #define MU_ARG_CHECK_4(string_ptr, arg4, ...) MU_Arg_append_to_string(arg4, "" #arg4 "", string_ptr); MU_ARG_CHECK_3(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:59:103: note: in expansion of macro 'MU_ARG_CHECK_4'
 #define MU_ARG_CHECK_5(string_ptr, arg5, ...) MU_Arg_append_to_string(arg5, "" #arg5 "", string_ptr); MU_ARG_CHECK_4(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:61:103: note: in expansion of macro 'MU_ARG_CHECK_5'
 #define MU_ARG_CHECK_6(string_ptr, arg6, ...) MU_Arg_append_to_string(arg6, "" #arg6 "", string_ptr); MU_ARG_CHECK_5(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:63:103: note: in expansion of macro 'MU_ARG_CHECK_6'
 #define MU_ARG_CHECK_7(string_ptr, arg7, ...) MU_Arg_append_to_string(arg7, "" #arg7 "", string_ptr); MU_ARG_CHECK_6(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:41:11: note: in expansion of macro 'MU_ARG_CHECK_7'
   case 7: MU_ARG_CHECK_7(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:63:75: error: expected expression before ',' token
 #define MU_ARG_CHECK_7(string_ptr, arg7, ...) MU_Arg_append_to_string(arg7, "" #arg7 "", string_ptr); MU_ARG_CHECK_6(string_ptr, __VA_ARGS__)
                                                                           ^
prog.c:65:103: note: in expansion of macro 'MU_ARG_CHECK_7'
 #define MU_ARG_CHECK_8(string_ptr, arg8, ...) MU_Arg_append_to_string(arg8, "" #arg8 "", string_ptr); MU_ARG_CHECK_7(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:42:11: note: in expansion of macro 'MU_ARG_CHECK_8'
   case 8: MU_ARG_CHECK_8(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:61:75: error: expected expression before ',' token
 #define MU_ARG_CHECK_6(string_ptr, arg6, ...) MU_Arg_append_to_string(arg6, "" #arg6 "", string_ptr); MU_ARG_CHECK_5(string_ptr, __VA_ARGS__)
                                                                           ^
prog.c:63:103: note: in expansion of macro 'MU_ARG_CHECK_6'
 #define MU_ARG_CHECK_7(string_ptr, arg7, ...) MU_Arg_append_to_string(arg7, "" #arg7 "", string_ptr); MU_ARG_CHECK_6(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:65:103: note: in expansion of macro 'MU_ARG_CHECK_7'
 #define MU_ARG_CHECK_8(string_ptr, arg8, ...) MU_Arg_append_to_string(arg8, "" #arg8 "", string_ptr); MU_ARG_CHECK_7(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:42:11: note: in expansion of macro 'MU_ARG_CHECK_8'
   case 8: MU_ARG_CHECK_8(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:59:75: error: expected expression before ',' token
 #define MU_ARG_CHECK_5(string_ptr, arg5, ...) MU_Arg_append_to_string(arg5, "" #arg5 "", string_ptr); MU_ARG_CHECK_4(string_ptr, __VA_ARGS__)
                                                                           ^
prog.c:61:103: note: in expansion of macro 'MU_ARG_CHECK_5'
 #define MU_ARG_CHECK_6(string_ptr, arg6, ...) MU_Arg_append_to_string(arg6, "" #arg6 "", string_ptr); MU_ARG_CHECK_5(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:63:103: note: in expansion of macro 'MU_ARG_CHECK_6'
 #define MU_ARG_CHECK_7(string_ptr, arg7, ...) MU_Arg_append_to_string(arg7, "" #arg7 "", string_ptr); MU_ARG_CHECK_6(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:65:103: note: in expansion of macro 'MU_ARG_CHECK_7'
 #define MU_ARG_CHECK_8(string_ptr, arg8, ...) MU_Arg_append_to_string(arg8, "" #arg8 "", string_ptr); MU_ARG_CHECK_7(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:42:11: note: in expansion of macro 'MU_ARG_CHECK_8'
   case 8: MU_ARG_CHECK_8(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:57:75: error: expected expression before ',' token
 #define MU_ARG_CHECK_4(string_ptr, arg4, ...) MU_Arg_append_to_string(arg4, "" #arg4 "", string_ptr); MU_ARG_CHECK_3(string_ptr, __VA_ARGS__)
                                                                           ^
prog.c:59:103: note: in expansion of macro 'MU_ARG_CHECK_4'
 #define MU_ARG_CHECK_5(string_ptr, arg5, ...) MU_Arg_append_to_string(arg5, "" #arg5 "", string_ptr); MU_ARG_CHECK_4(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:61:103: note: in expansion of macro 'MU_ARG_CHECK_5'
 #define MU_ARG_CHECK_6(string_ptr, arg6, ...) MU_Arg_append_to_string(arg6, "" #arg6 "", string_ptr); MU_ARG_CHECK_5(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:63:103: note: in expansion of macro 'MU_ARG_CHECK_6'
 #define MU_ARG_CHECK_7(string_ptr, arg7, ...) MU_Arg_append_to_string(arg7, "" #arg7 "", string_ptr); MU_ARG_CHECK_6(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:65:103: note: in expansion of macro 'MU_ARG_CHECK_7'
 #define MU_ARG_CHECK_8(string_ptr, arg8, ...) MU_Arg_append_to_string(arg8, "" #arg8 "", string_ptr); MU_ARG_CHECK_7(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:42:11: note: in expansion of macro 'MU_ARG_CHECK_8'
   case 8: MU_ARG_CHECK_8(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:55:75: error: expected expression before ',' token
 #define MU_ARG_CHECK_3(string_ptr, arg3, ...) MU_Arg_append_to_string(arg3, "" #arg3 "", string_ptr); MU_ARG_CHECK_2(string_ptr, __VA_ARGS__)
                                                                           ^
prog.c:57:103: note: in expansion of macro 'MU_ARG_CHECK_3'
 #define MU_ARG_CHECK_4(string_ptr, arg4, ...) MU_Arg_append_to_string(arg4, "" #arg4 "", string_ptr); MU_ARG_CHECK_3(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:59:103: note: in expansion of macro 'MU_ARG_CHECK_4'
 #define MU_ARG_CHECK_5(string_ptr, arg5, ...) MU_Arg_append_to_string(arg5, "" #arg5 "", string_ptr); MU_ARG_CHECK_4(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:61:103: note: in expansion of macro 'MU_ARG_CHECK_5'
 #define MU_ARG_CHECK_6(string_ptr, arg6, ...) MU_Arg_append_to_string(arg6, "" #arg6 "", string_ptr); MU_ARG_CHECK_5(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:63:103: note: in expansion of macro 'MU_ARG_CHECK_6'
 #define MU_ARG_CHECK_7(string_ptr, arg7, ...) MU_Arg_append_to_string(arg7, "" #arg7 "", string_ptr); MU_ARG_CHECK_6(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:65:103: note: in expansion of macro 'MU_ARG_CHECK_7'
 #define MU_ARG_CHECK_8(string_ptr, arg8, ...) MU_Arg_append_to_string(arg8, "" #arg8 "", string_ptr); MU_ARG_CHECK_7(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:42:11: note: in expansion of macro 'MU_ARG_CHECK_8'
   case 8: MU_ARG_CHECK_8(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:53:75: error: expected expression before ',' token
 #define MU_ARG_CHECK_2(string_ptr, arg2, ...) MU_Arg_append_to_string(arg2, "" #arg2 "", string_ptr); MU_ARG_CHECK_1(string_ptr, __VA_ARGS__)
                                                                           ^
prog.c:55:103: note: in expansion of macro 'MU_ARG_CHECK_2'
 #define MU_ARG_CHECK_3(string_ptr, arg3, ...) MU_Arg_append_to_string(arg3, "" #arg3 "", string_ptr); MU_ARG_CHECK_2(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:57:103: note: in expansion of macro 'MU_ARG_CHECK_3'
 #define MU_ARG_CHECK_4(string_ptr, arg4, ...) MU_Arg_append_to_string(arg4, "" #arg4 "", string_ptr); MU_ARG_CHECK_3(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:59:103: note: in expansion of macro 'MU_ARG_CHECK_4'
 #define MU_ARG_CHECK_5(string_ptr, arg5, ...) MU_Arg_append_to_string(arg5, "" #arg5 "", string_ptr); MU_ARG_CHECK_4(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:61:103: note: in expansion of macro 'MU_ARG_CHECK_5'
 #define MU_ARG_CHECK_6(string_ptr, arg6, ...) MU_Arg_append_to_string(arg6, "" #arg6 "", string_ptr); MU_ARG_CHECK_5(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:63:103: note: in expansion of macro 'MU_ARG_CHECK_6'
 #define MU_ARG_CHECK_7(string_ptr, arg7, ...) MU_Arg_append_to_string(arg7, "" #arg7 "", string_ptr); MU_ARG_CHECK_6(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:65:103: note: in expansion of macro 'MU_ARG_CHECK_7'
 #define MU_ARG_CHECK_8(string_ptr, arg8, ...) MU_Arg_append_to_string(arg8, "" #arg8 "", string_ptr); MU_ARG_CHECK_7(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:42:11: note: in expansion of macro 'MU_ARG_CHECK_8'
   case 8: MU_ARG_CHECK_8(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:51:70: error: expected expression before ',' token
 #define MU_ARG_CHECK_1(string_ptr, arg1) MU_Arg_append_to_string(arg1, "" #arg1 "", string_ptr)
                                                                      ^
prog.c:53:103: note: in expansion of macro 'MU_ARG_CHECK_1'
 #define MU_ARG_CHECK_2(string_ptr, arg2, ...) MU_Arg_append_to_string(arg2, "" #arg2 "", string_ptr); MU_ARG_CHECK_1(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:55:103: note: in expansion of macro 'MU_ARG_CHECK_2'
 #define MU_ARG_CHECK_3(string_ptr, arg3, ...) MU_Arg_append_to_string(arg3, "" #arg3 "", string_ptr); MU_ARG_CHECK_2(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:57:103: note: in expansion of macro 'MU_ARG_CHECK_3'
 #define MU_ARG_CHECK_4(string_ptr, arg4, ...) MU_Arg_append_to_string(arg4, "" #arg4 "", string_ptr); MU_ARG_CHECK_3(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:59:103: note: in expansion of macro 'MU_ARG_CHECK_4'
 #define MU_ARG_CHECK_5(string_ptr, arg5, ...) MU_Arg_append_to_string(arg5, "" #arg5 "", string_ptr); MU_ARG_CHECK_4(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:61:103: note: in expansion of macro 'MU_ARG_CHECK_5'
 #define MU_ARG_CHECK_6(string_ptr, arg6, ...) MU_Arg_append_to_string(arg6, "" #arg6 "", string_ptr); MU_ARG_CHECK_5(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:63:103: note: in expansion of macro 'MU_ARG_CHECK_6'
 #define MU_ARG_CHECK_7(string_ptr, arg7, ...) MU_Arg_append_to_string(arg7, "" #arg7 "", string_ptr); MU_ARG_CHECK_6(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:65:103: note: in expansion of macro 'MU_ARG_CHECK_7'
 #define MU_ARG_CHECK_8(string_ptr, arg8, ...) MU_Arg_append_to_string(arg8, "" #arg8 "", string_ptr); MU_ARG_CHECK_7(string_ptr, __VA_ARGS__)
                                                                                                       ^
prog.c:42:11: note: in expansion of macro 'MU_ARG_CHECK_8'
   case 8: MU_ARG_CHECK_8(arg_str, __VA_ARGS__); break; \
           ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:32:8: warning: unused variable 'old_arg_str' [-Wunused-variable]
  char *old_arg_str; \
        ^
prog.c:26:2: note: in expansion of macro 'MU_ARG_STRINGIFY'
  MU_ARG_STRINGIFY(logger, num_args, __VA_ARGS__); \
  ^
prog.c:70:2: note: in expansion of macro 'MU_ARG_CHECK'
  MU_ARG_CHECK(NULL, -1, string);
  ^
prog.c:69:6: warning: unused variable 'iterations' [-Wunused-variable]
  int iterations = 3;
      ^
stdout
Standard output is empty