diff --git a/libc/config/linux/api.td b/libc/config/linux/api.td index a10dec06e2452..320f3e92183bf 100644 --- a/libc/config/linux/api.td +++ b/libc/config/linux/api.td @@ -267,5 +267,5 @@ def SearchAPI : PublicAPI<"search.h"> { } def SysStatvfsAPI : PublicAPI<"sys/statvfs.h"> { - let Types = ["fsblkcnt_t", "fsfilcnt_t", "struct statvfs"]; + let Types = ["struct statvfs"]; } diff --git a/libc/config/linux/x86_64/headers.txt b/libc/config/linux/x86_64/headers.txt index 8a52d80e1fbfb..0294f62bc2f7a 100644 --- a/libc/config/linux/x86_64/headers.txt +++ b/libc/config/linux/x86_64/headers.txt @@ -45,8 +45,7 @@ set(TARGET_PUBLIC_HEADERS libc.include.sys_select libc.include.sys_socket libc.include.sys_stat - # statvfs is broken, will uncomment once it's fixed. - # libc.include.sys_statvfs + libc.include.sys_statvfs libc.include.sys_syscall libc.include.sys_time libc.include.sys_types diff --git a/libc/newhdrgen/yaml/math.yaml b/libc/newhdrgen/yaml/math.yaml index 8588389bca4d2..ce562c653a6d2 100644 --- a/libc/newhdrgen/yaml/math.yaml +++ b/libc/newhdrgen/yaml/math.yaml @@ -64,8 +64,6 @@ functions: return_type: double arguments: - type: double - attributes: - - __LIBC_CONST_ATTR - name: fabsf standards: - stdc @@ -364,6 +362,20 @@ functions: arguments: - type: double - type: double + - name: fmull + standards: + - stdc + return_type: float + arguments: + - type: long double + - type: long double + - name: dmull + standards: + - stdc + return_type: double + arguments: + - type: long double + - type: long double - name: frexp standards: - stdc @@ -1323,6 +1335,30 @@ functions: - type: long double - type: long double guard: LIBC_TYPES_HAS_FLOAT16 + - name: f16mul + standards: + - llvm_libc_ext + return_type: _Float16 + arguments: + - type: double + - type: double + guard: LIBC_TYPES_HAS_FLOAT16 + - name: f16mulf + standards: + - llvm_libc_ext + return_type: _Float16 + arguments: + - type: float + - type: float + guard: LIBC_TYPES_HAS_FLOAT16 + - name: f16mull + standards: + - llvm_libc_ext + return_type: _Float16 + arguments: + - type: long double + - type: long double + guard: LIBC_TYPES_HAS_FLOAT16 - name: f16sqrt standards: - llvm_libc_ext @@ -1756,6 +1792,14 @@ functions: - type: float128 - type: float128 guard: LIBC_TYPES_HAS_FLOAT16_AND_FLOAT128 + - name: f16mulf128 + standards: + - stdc + return_type: _Float16 + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT16_AND_FLOAT128 - name: f16sqrtf128 standards: - llvm_libc_ext @@ -1896,6 +1940,22 @@ functions: - type: float128 - type: float128 guard: LIBC_TYPES_HAS_FLOAT128 + - name: fmulf128 + standards: + - llvm_libc_ext + return_type: float + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 + - name: dmulf128 + standards: + - llvm_libc_ext + return_type: double + arguments: + - type: float128 + - type: float128 + guard: LIBC_TYPES_HAS_FLOAT128 - name: frexpf128 standards: - stdc diff --git a/libc/newhdrgen/yaml/sys/statvfs.yaml b/libc/newhdrgen/yaml/sys/statvfs.yaml index 3651901e9f2c7..53666770a5de6 100644 --- a/libc/newhdrgen/yaml/sys/statvfs.yaml +++ b/libc/newhdrgen/yaml/sys/statvfs.yaml @@ -2,6 +2,8 @@ header: sys-statvfs.h macros: [] types: - type_name: struct_statvfs + - type_name: fsblkcnt_t + - type_name: fsfilcnt_t enums: [] objects: [] functions: diff --git a/libc/src/sys/statvfs/linux/CMakeLists.txt b/libc/src/sys/statvfs/linux/CMakeLists.txt index a6660c02badf7..2953717e70392 100644 --- a/libc/src/sys/statvfs/linux/CMakeLists.txt +++ b/libc/src/sys/statvfs/linux/CMakeLists.txt @@ -8,7 +8,7 @@ add_header_library( libc.src.__support.common libc.src.__support.CPP.optional libc.include.sys_syscall - libc.include.llvm-libc-types.struct_statvfs + libc.include.sys_statvfs ) add_entrypoint_object( @@ -19,7 +19,7 @@ add_entrypoint_object( ../statvfs.h DEPENDS libc.src.__support.libc_assert - libc.include.llvm-libc-types.struct_statvfs + libc.include.sys_statvfs .statfs_utils ) @@ -31,7 +31,7 @@ add_entrypoint_object( ../fstatvfs.h DEPENDS libc.src.__support.libc_assert - libc.include.llvm-libc-types.struct_statvfs + libc.include.sys_statvfs .statfs_utils )