@@ -922,55 +922,21 @@ static const scan_data_t zero_scan_data = {
922
922
m, REPORT_LOCATION_ARGS(RExC_parse)); \
923
923
} STMT_END
924
924
925
- /*
926
- * Calls SAVEDESTRUCTOR_X if needed, then Simple_vFAIL()
927
- */
928
- #define vFAIL (m ) STMT_START { \
929
- Simple_vFAIL(m); \
930
- } STMT_END
931
-
932
- /*
933
- * Like Simple_vFAIL(), but accepts two arguments.
934
- */
935
- #define Simple_vFAIL2 (m ,a1 ) STMT_START { \
936
- S_re_croak(aTHX_ UTF, m REPORT_LOCATION, a1, \
937
- REPORT_LOCATION_ARGS(RExC_parse)); \
938
- } STMT_END
925
+ #define vFAIL (m ) Simple_vFAIL(m)
939
926
940
927
/*
941
- * Calls SAVEDESTRUCTOR_X if needed, then Simple_vFAIL2() .
928
+ * Like Simple_vFAIL(), but accepts extra arguments .
942
929
*/
943
- #define vFAIL2 (m ,a1 ) STMT_START { \
944
- Simple_vFAIL2(m, a1); \
930
+ #define Simple_vFAILn (m , ...) STMT_START { \
931
+ S_re_croak(aTHX_ UTF, m REPORT_LOCATION, __VA_ARGS__, \
932
+ REPORT_LOCATION_ARGS(RExC_parse)); \
945
933
} STMT_END
946
934
935
+ #define vFAIL2 (m ,a1 ) Simple_vFAILn(m, a1)
947
936
948
- /*
949
- * Like Simple_vFAIL(), but accepts three arguments.
950
- */
951
- #define Simple_vFAIL3 (m , a1 , a2 ) STMT_START { \
952
- S_re_croak(aTHX_ UTF, m REPORT_LOCATION, a1, a2, \
953
- REPORT_LOCATION_ARGS(RExC_parse)); \
954
- } STMT_END
937
+ #define vFAIL3 (m ,a1 ,a2 ) Simple_vFAILn(m, a1, a2)
955
938
956
- /*
957
- * Calls SAVEDESTRUCTOR_X if needed, then Simple_vFAIL3().
958
- */
959
- #define vFAIL3 (m ,a1 ,a2 ) STMT_START { \
960
- Simple_vFAIL3(m, a1, a2); \
961
- } STMT_END
962
-
963
- /*
964
- * Like Simple_vFAIL(), but accepts four arguments.
965
- */
966
- #define Simple_vFAIL4 (m , a1 , a2 , a3 ) STMT_START { \
967
- S_re_croak(aTHX_ UTF, m REPORT_LOCATION, a1, a2, a3, \
968
- REPORT_LOCATION_ARGS(RExC_parse)); \
969
- } STMT_END
970
-
971
- #define vFAIL4 (m ,a1 ,a2 ,a3 ) STMT_START { \
972
- Simple_vFAIL4(m, a1, a2, a3); \
973
- } STMT_END
939
+ #define vFAIL4 (m ,a1 ,a2 ,a3 ) Simple_vFAILn(m, a1, a2, a3)
974
940
975
941
/* A specialized version of vFAIL2 that works with UTF8f */
976
942
#define vFAIL2utf8f (m , a1 ) STMT_START { \
0 commit comments