Dead loop on aarch64 platform
- Dominant language
- C++
- Stars
- 145
- Forks
- 151
- PR merge metrics
- No merged PRs in 30d
Description
There are some tautological-constant-out-of-range-compare warnings on aarch64 platform, because `char` is an unsigned type on it. `src/ext/cmd.cpp` is fine because result is still correct in this situation, but `src/ext/env.cpp` doesn't work well.
```
external/boost/libs/process/src/ext/cmd.cpp:222:28: error: result of comparison of constant -1 with expression of type '__gnu_cxx::__alloc_traits, char>::value_type' (aka 'char') is always true [-Werror,-Wtautological-constant-out-of-range-compare]
while (procargs.back() != EOF)
~~~~~~~~~~~~~~~ ^ ~~~
external/boost/libs/process/src/ext/cmd.cpp:240:25: error: result of comparison of constant -1 with expression of type '__gnu_cxx::__alloc_traits, char>::value_type' (aka 'char') is always false [-Werror,-Wtautological-constant-out-of-range-compare]
if (procargs.back() == EOF)
~~~~~~~~~~~~~~~ ^ ~~~
external/boost/libs/process/src/ext/env.cpp:130:16: error: result of comparison of constant -1 with expression of type 'char' is always true [-Werror,-Wtautological-constant-out-of-range-compare]
while (*nh != EOF)
~~~ ^ ~~~
external/boost/libs/process/src/ext/env.cpp:321:50: error: result of comparison of constant -1 with expression of type 'char' is always true [-Werror,-Wtautological-constant-out-of-range-compare]
while (!procargs || procargs.get()[size - 1] != EOF)
~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.