[libc-commits] [libc] [libc] Add `VISIT` enum for `search.h` (PR #132746)

via libc-commits libc-commits at lists.llvm.org
Mon Mar 24 07:43:46 PDT 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-libc

Author: Connector Switch (c8ef)

<details>
<summary>Changes</summary>

This patch introduces the `VISIT` enum for tree search. Existing tests ensure the correct generation of headers.

---
Full diff: https://github.com/llvm/llvm-project/pull/132746.diff


4 Files Affected:

- (modified) libc/include/CMakeLists.txt (+1) 
- (modified) libc/include/llvm-libc-types/CMakeLists.txt (+1) 
- (added) libc/include/llvm-libc-types/VISIT.h (+14) 
- (modified) libc/include/search.yaml (+1) 


``````````diff
diff --git a/libc/include/CMakeLists.txt b/libc/include/CMakeLists.txt
index 409737762ac41..d1e116ac547d7 100644
--- a/libc/include/CMakeLists.txt
+++ b/libc/include/CMakeLists.txt
@@ -245,6 +245,7 @@ add_header_macro(
     .llvm-libc-types.ENTRY
     .llvm-libc-types.struct_hsearch_data
     .llvm-libc-types.size_t
+    .llvm-libc-types.VISIT
     .llvm-libc-types.__lsearchcompare_t
 )
 
diff --git a/libc/include/llvm-libc-types/CMakeLists.txt b/libc/include/llvm-libc-types/CMakeLists.txt
index bf8bdfe89943c..66e8527701873 100644
--- a/libc/include/llvm-libc-types/CMakeLists.txt
+++ b/libc/include/llvm-libc-types/CMakeLists.txt
@@ -128,6 +128,7 @@ add_header(struct_iovec HDR struct_iovec.h DEPENDS .size_t)
 add_header(struct_msghdr HDR struct_msghdr.h DEPENDS .size_t .socklen_t .struct_iovec)
 add_header(ACTION HDR ACTION.h)
 add_header(ENTRY HDR ENTRY.h)
+add_header(VISIT HDR VISIT.h)
 add_header(struct_hsearch_data HDR struct_hsearch_data.h)
 add_header(struct_epoll_event HDR struct_epoll_event.h)
 add_header(struct_epoll_data HDR struct_epoll_data.h)
diff --git a/libc/include/llvm-libc-types/VISIT.h b/libc/include/llvm-libc-types/VISIT.h
new file mode 100644
index 0000000000000..0a7ff6e50d469
--- /dev/null
+++ b/libc/include/llvm-libc-types/VISIT.h
@@ -0,0 +1,14 @@
+//===-- Definition of VISIT type ------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIBC_TYPES_VISIT_H
+#define LLVM_LIBC_TYPES_VISIT_H
+
+typedef enum { preorder, postorder, endorder, leaf } VISIT;
+
+#endif // LLVM_LIBC_TYPES_VISIT_H
diff --git a/libc/include/search.yaml b/libc/include/search.yaml
index f6f5d6cb062e5..e2e711cc93f4d 100644
--- a/libc/include/search.yaml
+++ b/libc/include/search.yaml
@@ -5,6 +5,7 @@ types:
   - type_name: struct_hsearch_data
   - type_name: ENTRY
   - type_name: ACTION
+  - type_name: VISIT
   - type_name: __lsearchcompare_t
 enums: []
 objects: []

``````````

</details>


https://github.com/llvm/llvm-project/pull/132746


More information about the libc-commits mailing list