llvm / llvm/llvm-project

[libc] Compilation and test failures under some LIBC_COPT_FLOAT_TO_STR flags

Open
#201,621 2 comments 0 reactions 0 assignees View on GitHub
libc
Dominant language
LLVM
Stars
40.5k
Forks
18.7k
PR merge metrics
PR metrics pending

Description

In [libc/src/__support/float_to_string.h](https://github.com/llvm/llvm-project/blob/main/libc/src/__support/float_to_string.h):

* Setting `LIBC_COPT_FLOAT_TO_STR_NO_TABLE` does not compile, because some code still assumes the table constant globals are included.
* `LIBC_COPT_FLOAT_TO_STR_NO_SPECIALIZE_LD` results in test failures for strfroml_test and sprintf_test, unless `LIBC_COPT_FLOAT_TO_STR_USE_MEGA_LONG_DOUBLE_TABLE` is also set.

@michaelrj-google, @lntue Do you have any preferences for the following:
1. remove `LIBC_COPT_FLOAT_TO_STR_NO_TABLE` VS try to fix the code when set?
2. remove `LIBC_COPT_FLOAT_TO_STR_NO_SPECIALIZE_LD` VS compile as though `LIBC_COPT_FLOAT_TO_STR_USE_MEGA_LONG_DOUBLE_TABLE` is also set?

I would prefer to remove the two flags if you are OK with it. This came up when working on some problems with #199110 around the same place as `LIBC_COPT_FLOAT_TO_STR_NO_SPECIALIZE_LD` is checked.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.