xref: /freebsd/contrib/llvm-project/clang/include/clang/Basic/BuiltinsBPF.td (revision 0fca6ea1d4eea4c934cfff25ac9ee8ad6fe95583)
1//===--- BuiltinsBPF.td - BPF Builtin function database ---------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9include "clang/Basic/BuiltinsBase.td"
10
11// Get record field information
12def PreserveFieldInfo : TargetBuiltin {
13  let Spellings = ["__builtin_preserve_field_info"];
14  let Attributes = [CustomTypeChecking];
15  let Prototype = "unsigned int(...)";
16}
17
18// Get BTF type id
19def BtfTypeID : TargetBuiltin {
20  let Spellings = ["__builtin_btf_type_id"];
21  let Attributes = [CustomTypeChecking];
22  let Prototype = "long unsigned int(...)";
23}
24
25// Get type information
26def PreserveTypeInfo : TargetBuiltin {
27  let Spellings = ["__builtin_preserve_type_info"];
28  let Attributes = [CustomTypeChecking];
29  let Prototype = "long unsigned int(...)";
30}
31
32// Preserve enum value
33def PreserveEnumValue : TargetBuiltin {
34  let Spellings = ["__builtin_preserve_enum_value"];
35  let Attributes = [CustomTypeChecking];
36  let Prototype = "long int(...)";
37}
38