Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions libc/hdr/types/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,15 @@ add_proxy_header_library(
libc.include.fcntl
)

add_proxy_header_library(
constraint_handler_t
HDRS
constraint_handler_t.h
FULL_BUILD_DEPENDS
libc.include.llvm-libc-types.constraint_handler_t
libc.include.stdlib
)

add_proxy_header_library(
errno_t
HDRS
Expand Down
18 changes: 18 additions & 0 deletions libc/hdr/types/constraint_handler_t.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
//===-- Proxy for constraint_handler_t ------------------------------------===//
//
// 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_CONSTRAINT_HANDLER_T_H
#define LLVM_LIBC_HDR_TYPES_CONSTRAINT_HANDLER_T_H

#define LIBC_HAS_ANNEX_K

#include "include/llvm-libc-types/constraint_handler_t.h"

#undef LIBC_HAS_ANNEX_K

#endif // LLVM_LIBC_HDR_TYPES_CONSTRAINT_HANDLER_T_H
1 change: 1 addition & 0 deletions libc/include/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -366,6 +366,7 @@ add_header_macro(
.llvm-libc-types.__qsortcompare_t
.llvm-libc-types.__qsortrcompare_t
.llvm-libc-types.__search_compare_t
.llvm-libc-types.constraint_handler_t
.llvm-libc-types.div_t
.llvm-libc-types.ldiv_t
.llvm-libc-types.lldiv_t
Expand Down
1 change: 1 addition & 0 deletions libc/include/llvm-libc-types/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ add_header(DIR HDR DIR.h)
add_header(dev_t HDR dev_t.h)
add_header(div_t HDR div_t.h)
add_header(errno_t HDR errno_t.h)
add_header(constraint_handler_t HDR constraint_handler_t.h DEPENDS .errno_t)
add_header(ldiv_t HDR ldiv_t.h)
add_header(lldiv_t HDR lldiv_t.h)
add_header(FILE HDR FILE.h)
Expand Down
21 changes: 21 additions & 0 deletions libc/include/llvm-libc-types/constraint_handler_t.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
//===-- Definition of type constraint_handler_t ---------------------------===//
//
// 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_INCLUDE_LLVM_LIBC_TYPES_CONSTRAINT_HANDLER_T_H
#define LLVM_LIBC_INCLUDE_LLVM_LIBC_TYPES_CONSTRAINT_HANDLER_T_H

#include "errno_t.h"

#ifdef LIBC_HAS_ANNEX_K

typedef void (*constraint_handler_t)(const char *__restrict, void *__restrict,
errno_t);

#endif // LIBC_HAS_ANNEX_K

#endif // LLVM_LIBC_INCLUDE_LLVM_LIBC_TYPES_CONSTRAINT_HANDLER_T_H
1 change: 1 addition & 0 deletions libc/include/stdlib.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ types:
- type_name: __qsortcompare_t
- type_name: __qsortrcompare_t
- type_name: __search_compare_t
- type_name: constraint_handler_t
- type_name: div_t
- type_name: ldiv_t
- type_name: lldiv_t
Expand Down
Loading