diff --git a/libc/src/__support/CMakeLists.txt b/libc/src/__support/CMakeLists.txt --- a/libc/src/__support/CMakeLists.txt +++ b/libc/src/__support/CMakeLists.txt @@ -23,11 +23,22 @@ ) add_header_library( - str_conv_utils + str_to_integer + HDRS + str_to_integer.h + DEPENDS + .ctype_utils + libc.include.errno + libc.src.errno.__errno_location + libc.src.__support.CPP.standalone_cpp +) + +add_header_library( + str_to_float HDRS - str_conv_utils.h str_to_float.h DEPENDS + .str_to_integer .ctype_utils .high_precision_decimal libc.include.errno diff --git a/libc/src/__support/detailed_powers_of_ten.h b/libc/src/__support/detailed_powers_of_ten.h --- a/libc/src/__support/detailed_powers_of_ten.h +++ b/libc/src/__support/detailed_powers_of_ten.h @@ -21,7 +21,7 @@ // and contains the 128 bit mantissa approximations of the powers of 10 from // -348 to 347. The exponents are implied by a linear expression with slope // 217706.0/65536.0 ≈ log(10)/log(2). This is used by the Eisel-Lemire algorithm -// in str_conv_utils.h. +// in str_to_float.h. constexpr int32_t DETAILED_POWERS_OF_TEN_MIN_EXP_10 = -348; constexpr int32_t DETAILED_POWERS_OF_TEN_MAX_EXP_10 = 347; diff --git a/libc/src/__support/high_precision_decimal.h b/libc/src/__support/high_precision_decimal.h --- a/libc/src/__support/high_precision_decimal.h +++ b/libc/src/__support/high_precision_decimal.h @@ -10,7 +10,7 @@ #define LIBC_SRC_SUPPORT_HIGH_PRECISION_DECIMAL_H #include "src/__support/ctype_utils.h" -#include "src/__support/str_conv_utils.h" +#include "src/__support/str_to_integer.h" #include namespace __llvm_libc { diff --git a/libc/src/__support/str_to_float.h b/libc/src/__support/str_to_float.h --- a/libc/src/__support/str_to_float.h +++ b/libc/src/__support/str_to_float.h @@ -14,7 +14,7 @@ #include "src/__support/ctype_utils.h" #include "src/__support/detailed_powers_of_ten.h" #include "src/__support/high_precision_decimal.h" -#include "src/__support/str_conv_utils.h" +#include "src/__support/str_to_integer.h" #include namespace __llvm_libc { diff --git a/libc/src/__support/str_conv_utils.h b/libc/src/__support/str_to_integer.h rename from libc/src/__support/str_conv_utils.h rename to libc/src/__support/str_to_integer.h --- a/libc/src/__support/str_conv_utils.h +++ b/libc/src/__support/str_to_integer.h @@ -1,4 +1,4 @@ -//===-- Stdlib utils --------------------------------------------*- C++ -*-===// +//===-- String to integer conversion utils ----------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. @@ -6,8 +6,8 @@ // //===----------------------------------------------------------------------===// -#ifndef LIBC_SRC_STDLIB_STDLIB_UTILS_H -#define LIBC_SRC_STDLIB_STDLIB_UTILS_H +#ifndef LIBC_SRC_SUPPORT_STR_TO_INTEGER_H +#define LIBC_SRC_SUPPORT_STR_TO_INTEGER_H #include "src/__support/CPP/Limits.h" #include "src/__support/ctype_utils.h" @@ -148,4 +148,4 @@ } // namespace internal } // namespace __llvm_libc -#endif // LIBC_SRC_STDLIB_STDLIB_UTILS_H +#endif // LIBC_SRC_SUPPORT_STR_TO_INTEGER_H diff --git a/libc/src/inttypes/CMakeLists.txt b/libc/src/inttypes/CMakeLists.txt --- a/libc/src/inttypes/CMakeLists.txt +++ b/libc/src/inttypes/CMakeLists.txt @@ -5,7 +5,7 @@ HDRS strtoimax.h DEPENDS - libc.src.__support.str_conv_utils + libc.src.__support.str_to_integer ) add_entrypoint_object( @@ -15,7 +15,7 @@ HDRS strtoumax.h DEPENDS - libc.src.__support.str_conv_utils + libc.src.__support.str_to_integer ) add_entrypoint_object( diff --git a/libc/src/inttypes/strtoimax.cpp b/libc/src/inttypes/strtoimax.cpp --- a/libc/src/inttypes/strtoimax.cpp +++ b/libc/src/inttypes/strtoimax.cpp @@ -8,7 +8,7 @@ #include "src/inttypes/strtoimax.h" #include "src/__support/common.h" -#include "src/__support/str_conv_utils.h" +#include "src/__support/str_to_integer.h" namespace __llvm_libc { diff --git a/libc/src/inttypes/strtoumax.cpp b/libc/src/inttypes/strtoumax.cpp --- a/libc/src/inttypes/strtoumax.cpp +++ b/libc/src/inttypes/strtoumax.cpp @@ -8,7 +8,7 @@ #include "src/inttypes/strtoumax.h" #include "src/__support/common.h" -#include "src/__support/str_conv_utils.h" +#include "src/__support/str_to_integer.h" namespace __llvm_libc { diff --git a/libc/src/stdlib/CMakeLists.txt b/libc/src/stdlib/CMakeLists.txt --- a/libc/src/stdlib/CMakeLists.txt +++ b/libc/src/stdlib/CMakeLists.txt @@ -5,7 +5,7 @@ HDRS atoi.h DEPENDS - libc.src.__support.str_conv_utils + libc.src.__support.str_to_integer ) add_entrypoint_object( @@ -15,7 +15,7 @@ HDRS atof.h DEPENDS - libc.src.__support.str_conv_utils + libc.src.__support.str_to_float ) add_entrypoint_object( @@ -25,7 +25,7 @@ HDRS atol.h DEPENDS - libc.src.__support.str_conv_utils + libc.src.__support.str_to_integer ) add_entrypoint_object( @@ -35,7 +35,7 @@ HDRS atoll.h DEPENDS - libc.src.__support.str_conv_utils + libc.src.__support.str_to_integer ) add_entrypoint_object( @@ -45,7 +45,7 @@ HDRS strtof.h DEPENDS - libc.src.__support.str_conv_utils + libc.src.__support.str_to_float ) add_entrypoint_object( @@ -55,7 +55,7 @@ HDRS strtod.h DEPENDS - libc.src.__support.str_conv_utils + libc.src.__support.str_to_float ) add_entrypoint_object( @@ -65,7 +65,7 @@ HDRS strtol.h DEPENDS - libc.src.__support.str_conv_utils + libc.src.__support.str_to_integer ) add_entrypoint_object( @@ -75,7 +75,7 @@ HDRS strtoll.h DEPENDS - libc.src.__support.str_conv_utils + libc.src.__support.str_to_integer ) add_entrypoint_object( @@ -85,7 +85,7 @@ HDRS strtoul.h DEPENDS - libc.src.__support.str_conv_utils + libc.src.__support.str_to_integer ) add_entrypoint_object( @@ -95,7 +95,7 @@ HDRS strtoull.h DEPENDS - libc.src.__support.str_conv_utils + libc.src.__support.str_to_integer ) add_entrypoint_object( diff --git a/libc/src/stdlib/atoi.cpp b/libc/src/stdlib/atoi.cpp --- a/libc/src/stdlib/atoi.cpp +++ b/libc/src/stdlib/atoi.cpp @@ -8,7 +8,7 @@ #include "src/stdlib/atoi.h" #include "src/__support/common.h" -#include "src/__support/str_conv_utils.h" +#include "src/__support/str_to_integer.h" namespace __llvm_libc { diff --git a/libc/src/stdlib/atol.cpp b/libc/src/stdlib/atol.cpp --- a/libc/src/stdlib/atol.cpp +++ b/libc/src/stdlib/atol.cpp @@ -8,7 +8,7 @@ #include "src/stdlib/atol.h" #include "src/__support/common.h" -#include "src/__support/str_conv_utils.h" +#include "src/__support/str_to_integer.h" namespace __llvm_libc { diff --git a/libc/src/stdlib/atoll.cpp b/libc/src/stdlib/atoll.cpp --- a/libc/src/stdlib/atoll.cpp +++ b/libc/src/stdlib/atoll.cpp @@ -8,7 +8,7 @@ #include "src/stdlib/atoll.h" #include "src/__support/common.h" -#include "src/__support/str_conv_utils.h" +#include "src/__support/str_to_integer.h" namespace __llvm_libc { diff --git a/libc/src/stdlib/strtol.cpp b/libc/src/stdlib/strtol.cpp --- a/libc/src/stdlib/strtol.cpp +++ b/libc/src/stdlib/strtol.cpp @@ -8,7 +8,7 @@ #include "src/stdlib/strtol.h" #include "src/__support/common.h" -#include "src/__support/str_conv_utils.h" +#include "src/__support/str_to_integer.h" namespace __llvm_libc { diff --git a/libc/src/stdlib/strtoll.cpp b/libc/src/stdlib/strtoll.cpp --- a/libc/src/stdlib/strtoll.cpp +++ b/libc/src/stdlib/strtoll.cpp @@ -8,7 +8,7 @@ #include "src/stdlib/strtoll.h" #include "src/__support/common.h" -#include "src/__support/str_conv_utils.h" +#include "src/__support/str_to_integer.h" namespace __llvm_libc { diff --git a/libc/src/stdlib/strtoul.cpp b/libc/src/stdlib/strtoul.cpp --- a/libc/src/stdlib/strtoul.cpp +++ b/libc/src/stdlib/strtoul.cpp @@ -8,7 +8,7 @@ #include "src/stdlib/strtoul.h" #include "src/__support/common.h" -#include "src/__support/str_conv_utils.h" +#include "src/__support/str_to_integer.h" namespace __llvm_libc { diff --git a/libc/src/stdlib/strtoull.cpp b/libc/src/stdlib/strtoull.cpp --- a/libc/src/stdlib/strtoull.cpp +++ b/libc/src/stdlib/strtoull.cpp @@ -8,7 +8,7 @@ #include "src/stdlib/strtoull.h" #include "src/__support/common.h" -#include "src/__support/str_conv_utils.h" +#include "src/__support/str_to_integer.h" namespace __llvm_libc { diff --git a/libc/test/src/__support/CMakeLists.txt b/libc/test/src/__support/CMakeLists.txt --- a/libc/test/src/__support/CMakeLists.txt +++ b/libc/test/src/__support/CMakeLists.txt @@ -27,7 +27,7 @@ SRCS str_to_float_test.cpp DEPENDS - libc.src.__support.str_conv_utils + libc.src.__support.str_to_float ) add_executable(