tree BUGFIX avoid using variadic macro without arguments

It is allowed in GNU C but not in standard C.
It should not be required to use GNU to use
public libyang macros.
diff --git a/src/tree.h b/src/tree.h
index 135bcad..66e9146 100644
--- a/src/tree.h
+++ b/src/tree.h
@@ -164,7 +164,7 @@
  * The ARRAY is again a sized-array to go through, the INDEX is a variable (LY_ARRAY_COUNT_TYPE) for storing iterating ARRAY's index
  * to access the items of ARRAY in the loops. This functionality is provided by LY_ARRAY_FOR_INDEX macro.
  */
-#define LY_ARRAY_FOR(ARRAY, ...) LY_ARRAY_SELECT(__VA_ARGS__, LY_ARRAY_FOR_ITER, LY_ARRAY_FOR_INDEX)(ARRAY, __VA_ARGS__)
+#define LY_ARRAY_FOR(ARRAY, ...) LY_ARRAY_SELECT(__VA_ARGS__, LY_ARRAY_FOR_ITER, LY_ARRAY_FOR_INDEX, LY_UNDEF)(ARRAY, __VA_ARGS__)
 
 /**
  * @brief Macro to iterate via all sibling elements without affecting the list itself