From 979825e4528bebf5ed83b5580e3d39fb738f43b7 Mon Sep 17 00:00:00 2001 From: Waffl3x <waff...@baylibre.com> Date: Tue, 8 Jul 2025 19:28:12 -0600 Subject: [PATCH 2/3] tree: Add 7 and 8 argument TREE_[NOT_]CHECK_*
I needed an 8 argument version of TREE_NOT_CHECK_*, it felt wrong to leave a gap so the other versions are also added. Maybe we should add a variadic version instead though? gcc/ChangeLog: * tree.h (TREE_CHECK7): Define. (TREE_NOT_CHECK7): Likewise. (TREE_CHECK8): Likewise. (TREE_NOT_CHECK8): Likewise. (tree_check7): New. (tree_not_check7): New. (tree_check8): New. (tree_not_check8): New. Signed-off-by: Waffl3x <waff...@baylibre.com> --- gcc/tree.h | 169 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 169 insertions(+) diff --git a/gcc/tree.h b/gcc/tree.h index 40255b535f6..289dcf320af 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -370,6 +370,23 @@ code_helper::is_builtin_fn () const #define TREE_NOT_CHECK6(T, CODE1, CODE2, CODE3, CODE4, CODE5, CODE6) \ (tree_not_check6 ((T), __FILE__, __LINE__, __FUNCTION__, \ (CODE1), (CODE2), (CODE3), (CODE4), (CODE5), (CODE6))) +#define TREE_CHECK7(T, CODE1, CODE2, CODE3, CODE4, CODE5, CODE6, CODE7) \ +(tree_check7 ((T), __FILE__, __LINE__, __FUNCTION__, \ + (CODE1), (CODE2), (CODE3), (CODE4), (CODE5), (CODE6), (CODE7))) + +#define TREE_NOT_CHECK7(T, CODE1, CODE2, CODE3, CODE4, CODE5, CODE6, CODE7) \ +(tree_not_check7 ((T), __FILE__, __LINE__, __FUNCTION__, \ + (CODE1), (CODE2), (CODE3), (CODE4), \ + (CODE5), (CODE6), (CODE7))) +#define TREE_CHECK8(T, CODE1, CODE2, CODE3, CODE4, CODE5, CODE6, CODE7, CODE8) \ +(tree_check8 ((T), __FILE__, __LINE__, __FUNCTION__, \ + (CODE1), (CODE2), (CODE3), (CODE4), \ + (CODE5), (CODE6), (CODE7), (CODE8))) + +#define TREE_NOT_CHECK8(T, CODE1, CODE2, CODE3, CODE4, CODE5, CODE6, CODE7, CODE8) \ +(tree_not_check8 ((T), __FILE__, __LINE__, __FUNCTION__, \ + (CODE1), (CODE2), (CODE3), (CODE4), \ + (CODE5), (CODE6), (CODE7), CODE8)) #define CONTAINS_STRUCT_CHECK(T, STRUCT) \ (contains_struct_check ((T), (STRUCT), __FILE__, __LINE__, __FUNCTION__)) @@ -503,6 +520,10 @@ extern void omp_clause_range_check_failed (const_tree, const char *, int, #define TREE_NOT_CHECK5(T, CODE1, CODE2, CODE3, CODE4, CODE5) (T) #define TREE_CHECK6(T, CODE1, CODE2, CODE3, CODE4, CODE5, CODE6) (T) #define TREE_NOT_CHECK6(T, CODE1, CODE2, CODE3, CODE4, CODE5, CODE6) (T) +#define TREE_CHECK7(T, CODE1, CODE2, CODE3, CODE4, CODE5, CODE6, CODE7) (T) +#define TREE_NOT_CHECK7(T, CODE1, CODE2, CODE3, CODE4, CODE5, CODE6, CODE7) (T) +#define TREE_CHECK8(T, CODE1, CODE2, CODE3, CODE4, CODE5, CODE6, CODE7, CODE8) (T) +#define TREE_NOT_CHECK8(T, CODE1, CODE2, CODE3, CODE4, CODE5, CODE6, CODE7, CODE8) (T) #define TREE_CLASS_CHECK(T, CODE) (T) #define TREE_RANGE_CHECK(T, CODE1, CODE2) (T) #define TREE_NOT_RANGE_CHECK(T, CODE1, CODE2) (T) @@ -3863,6 +3884,80 @@ tree_not_check6 (tree __t, const char *__f, int __l, const char *__g, return __t; } +inline tree +tree_check7 (tree __t, const char *__f, int __l, const char *__g, + enum tree_code __c1, enum tree_code __c2, enum tree_code __c3, + enum tree_code __c4, enum tree_code __c5, enum tree_code __c6, + enum tree_code __c7) +{ + if (TREE_CODE (__t) == __c1 + || TREE_CODE (__t) == __c2 + || TREE_CODE (__t) == __c3 + || TREE_CODE (__t) == __c4 + || TREE_CODE (__t) == __c5 + || TREE_CODE (__t) == __c6 + || TREE_CODE (__t) == __c7) + tree_check_failed (__t, __f, __l, __g, __c1, __c2, __c3, __c4, __c5, __c6, + __c7, 0); + return __t; +} + +inline tree +tree_not_check7 (tree __t, const char *__f, int __l, const char *__g, + enum tree_code __c1, enum tree_code __c2, enum tree_code __c3, + enum tree_code __c4, enum tree_code __c5, enum tree_code __c6, + enum tree_code __c7) +{ + if (TREE_CODE (__t) == __c1 + || TREE_CODE (__t) == __c2 + || TREE_CODE (__t) == __c3 + || TREE_CODE (__t) == __c4 + || TREE_CODE (__t) == __c5 + || TREE_CODE (__t) == __c6 + || TREE_CODE (__t) == __c7) + tree_not_check_failed (__t, __f, __l, __g, __c1, __c2, __c3, __c4, __c5, + __c6, __c7, 0); + return __t; +} + +inline tree +tree_check8 (tree __t, const char *__f, int __l, const char *__g, + enum tree_code __c1, enum tree_code __c2, enum tree_code __c3, + enum tree_code __c4, enum tree_code __c5, enum tree_code __c6, + enum tree_code __c7, enum tree_code __c8) +{ + if (TREE_CODE (__t) == __c1 + || TREE_CODE (__t) == __c2 + || TREE_CODE (__t) == __c3 + || TREE_CODE (__t) == __c4 + || TREE_CODE (__t) == __c5 + || TREE_CODE (__t) == __c6 + || TREE_CODE (__t) == __c7 + || TREE_CODE (__t) == __c8) + tree_check_failed (__t, __f, __l, __g, __c1, __c2, __c3, __c4, __c5, __c6, + __c7, __c8, 0); + return __t; +} + +inline tree +tree_not_check8 (tree __t, const char *__f, int __l, const char *__g, + enum tree_code __c1, enum tree_code __c2, enum tree_code __c3, + enum tree_code __c4, enum tree_code __c5, enum tree_code __c6, + enum tree_code __c7, enum tree_code __c8) +{ + if (TREE_CODE (__t) == __c1 + || TREE_CODE (__t) == __c2 + || TREE_CODE (__t) == __c3 + || TREE_CODE (__t) == __c4 + || TREE_CODE (__t) == __c5 + || TREE_CODE (__t) == __c6 + || TREE_CODE (__t) == __c7 + || TREE_CODE (__t) == __c8) + tree_not_check_failed (__t, __f, __l, __g, __c1, __c2, __c3, __c4, __c5, + __c6, __c7, __c8, 0); + return __t; +} + inline tree contains_struct_check (tree __t, const enum tree_node_structure_enum __s, const char *__f, int __l, const char *__g) @@ -4161,6 +4256,80 @@ tree_not_check6 (const_tree __t, const char *__f, int __l, const char *__g, return __t; } +inline const_tree +tree_check7 (const_tree __t, const char *__f, int __l, const char *__g, + enum tree_code __c1, enum tree_code __c2, enum tree_code __c3, + enum tree_code __c4, enum tree_code __c5, enum tree_code __c6, + enum tree_code __c7) +{ + if (TREE_CODE (__t) == __c1 + || TREE_CODE (__t) == __c2 + || TREE_CODE (__t) == __c3 + || TREE_CODE (__t) == __c4 + || TREE_CODE (__t) == __c5 + || TREE_CODE (__t) == __c6 + || TREE_CODE (__t) == __c7) + tree_check_failed (__t, __f, __l, __g, __c1, __c2, __c3, __c4, __c5, __c6, + __c7, 0); + return __t; +} + +inline const_tree +tree_not_check7 (const_tree __t, const char *__f, int __l, const char *__g, + enum tree_code __c1, enum tree_code __c2, enum tree_code __c3, + enum tree_code __c4, enum tree_code __c5, enum tree_code __c6, + enum tree_code __c7) +{ + if (TREE_CODE (__t) == __c1 + || TREE_CODE (__t) == __c2 + || TREE_CODE (__t) == __c3 + || TREE_CODE (__t) == __c4 + || TREE_CODE (__t) == __c5 + || TREE_CODE (__t) == __c6 + || TREE_CODE (__t) == __c7) + tree_not_check_failed (__t, __f, __l, __g, __c1, __c2, __c3, __c4, __c5, + __c6, __c7, 0); + return __t; +} + +inline const_tree +tree_check8 (const_tree __t, const char *__f, int __l, const char *__g, + enum tree_code __c1, enum tree_code __c2, enum tree_code __c3, + enum tree_code __c4, enum tree_code __c5, enum tree_code __c6, + enum tree_code __c7, enum tree_code __c8) +{ + if (TREE_CODE (__t) == __c1 + || TREE_CODE (__t) == __c2 + || TREE_CODE (__t) == __c3 + || TREE_CODE (__t) == __c4 + || TREE_CODE (__t) == __c5 + || TREE_CODE (__t) == __c6 + || TREE_CODE (__t) == __c7 + || TREE_CODE (__t) == __c8) + tree_check_failed (__t, __f, __l, __g, __c1, __c2, __c3, __c4, __c5, __c6, + __c7, __c8, 0); + return __t; +} + +inline const_tree +tree_not_check8 (const_tree __t, const char *__f, int __l, const char *__g, + enum tree_code __c1, enum tree_code __c2, enum tree_code __c3, + enum tree_code __c4, enum tree_code __c5, enum tree_code __c6, + enum tree_code __c7, enum tree_code __c8) +{ + if (TREE_CODE (__t) == __c1 + || TREE_CODE (__t) == __c2 + || TREE_CODE (__t) == __c3 + || TREE_CODE (__t) == __c4 + || TREE_CODE (__t) == __c5 + || TREE_CODE (__t) == __c6 + || TREE_CODE (__t) == __c7 + || TREE_CODE (__t) == __c8) + tree_not_check_failed (__t, __f, __l, __g, __c1, __c2, __c3, __c4, __c5, + __c6, __c7, __c8, 0); + return __t; +} + inline const_tree contains_struct_check (const_tree __t, const enum tree_node_structure_enum __s, const char *__f, int __l, const char *__g) -- 2.49.0