[libc] Add proxy header for ENTRY type. (#139746)

https://github.com/llvm/llvm-project/issues/139561
This commit is contained in:
lntue
2025-05-13 14:07:21 -04:00
committed by GitHub
parent d9380ec637
commit e581f1cc9a
9 changed files with 41 additions and 7 deletions

View File

@@ -19,6 +19,7 @@ add_libc_fuzzer(
SRCS
hashtable_fuzz.cpp
DEPENDS
libc.hdr.types.ENTRY
libc.src.__support.HashTable.table
COMPILE_OPTIONS
-D__LIBC_EXPLICIT_SIMD_OPT

View File

@@ -9,7 +9,7 @@
/// Fuzzing test for llvm-libc hashtable implementations.
///
//===----------------------------------------------------------------------===//
#include "include/llvm-libc-types/ENTRY.h"
#include "hdr/types/ENTRY.h"
#include "src/__support/CPP/bit.h"
#include "src/__support/CPP/string_view.h"
#include "src/__support/HashTable/table.h"

View File

@@ -374,3 +374,12 @@ add_proxy_header_library(
FULL_BUILD_DEPENDS
libc.include.llvm-libc-types.cpu_set_t
)
add_proxy_header_library(
ENTRY
HDRS
ENTRY.h
FULL_BUILD_DEPENDS
libc.include.llvm-libc-types.ENTRY
libc.include.search
)

22
libc/hdr/types/ENTRY.h Normal file
View File

@@ -0,0 +1,22 @@
//===-- Proxy header for ENTRY --------------------------------------------===//
//
// 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_HDR_TYPES_ENTRY_H
#define LLVM_LIBC_HDR_TYPES_ENTRY_H
#ifdef LIBC_FULL_BUILD
#include "include/llvm-libc-types/ENTRY.h"
#else // Overlay mode
#include <search.h>
#endif // LLVM_LIBC_FULL_BUILD
#endif // LLVM_LIBC_HDR_TYPES_ENTRY_H

View File

@@ -25,7 +25,7 @@ add_header_library(
table.h
DEPENDS
.bitmask
libc.include.llvm-libc-types.ENTRY
libc.hdr.types.ENTRY
libc.src.__support.CPP.bit
libc.src.__support.CPP.new
libc.src.__support.hash

View File

@@ -9,7 +9,7 @@
#ifndef LLVM_LIBC_SRC___SUPPORT_HASHTABLE_TABLE_H
#define LLVM_LIBC_SRC___SUPPORT_HASHTABLE_TABLE_H
#include "include/llvm-libc-types/ENTRY.h"
#include "hdr/types/ENTRY.h"
#include "src/__support/CPP/bit.h" // bit_ceil
#include "src/__support/CPP/new.h"
#include "src/__support/HashTable/bitmask.h"

View File

@@ -34,11 +34,11 @@ add_entrypoint_object(
HDRS
hsearch.h
DEPENDS
libc.hdr.types.ENTRY
libc.src.search.hsearch.global
libc.src.__support.HashTable.table
libc.src.__support.HashTable.randomness
libc.src.errno.errno
libc.include.search
)
add_entrypoint_object(
@@ -48,9 +48,9 @@ add_entrypoint_object(
HDRS
hsearch_r.h
DEPENDS
libc.hdr.types.ENTRY
libc.src.__support.HashTable.table
libc.src.errno.errno
libc.include.search
)
add_entrypoint_object(

View File

@@ -9,8 +9,9 @@
#ifndef LLVM_LIBC_SRC_SEARCH_HSEARCH_H
#define LLVM_LIBC_SRC_SEARCH_HSEARCH_H
#include "hdr/types/ENTRY.h"
#include "src/__support/macros/config.h"
#include <search.h> // ENTRY, ACTION
#include <search.h> // ACTION
namespace LIBC_NAMESPACE_DECL {
ENTRY *hsearch(ENTRY item, ACTION action);

View File

@@ -9,8 +9,9 @@
#ifndef LLVM_LIBC_SRC_SEARCH_HSEARCH_R_H
#define LLVM_LIBC_SRC_SEARCH_HSEARCH_R_H
#include "hdr/types/ENTRY.h"
#include "src/__support/macros/config.h"
#include <search.h> // ENTRY, ACTION
#include <search.h> // ACTION
namespace LIBC_NAMESPACE_DECL {
int hsearch_r(ENTRY item, ACTION action, ENTRY **retval,