undefine it.

This definition conflicts with usage in smatch, as it has a valid
meaning in processing syntactic tree, not a mark that part of the
smatch state itself can't be reached.

Other possible solution would be mass-rename of all usages to prevent
conflict.

Gentoo bug https://bugs.gentoo.org/944322
---
smatch.h | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/smatch.h b/smatch.h
index fcca134f..0cf658dd 100644
--- a/smatch.h
+++ b/smatch.h
@@ -825,6 +825,10 @@ void __set_fake_cur_stree_fast(struct stree *stree);
void __pop_fake_cur_stree_fast(void);
void __merge_stree_into_cur(struct stree *stree);

+#if __STDC_VERSION__ > 201710L
+#undef unreachable //defined in C23
+#endif
+
int unreachable(void);
void __set_cur_stree_readonly(void);
void __set_cur_stree_writable(void);
--
2.48.1



Reply via email to