Unexpected behavior when using algorithm::trim() to remove spaces
- Vorherrschende Sprache
- C++
- Sterne
- 131
- Forks
- 117
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
The issue comes from boostorg/compute#817 where `boost::trim()` is invoked to sanitize OpenCL kernel arguments from preprocessor-generated strings. One of the failing cases taken directly from the boost compute repo is this:
```c++
two, pi // original string
[two, pi] // vector after split() using comma as delimiter
two // first element after trim()
p // second element after trim()
```
Here the `trim()` actually leave a leading space left of `pi` and slices one valid character on the right. One big BUT: this only happens to Linux cross-compiler targeting Android platform, downloaded from Android NDK page. Where as MSVC on Windows, GCC/Clang on Mac all run without problems. What might be the reason of this unexpected behavior?
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Beginne mit algorithm::trim() und reproduziere das durch Kommas getrennte Beispiel aus boostorg/compute#817 unter Verwendung des Linux-Cross-Compilers aus dem Android NDK. Vergleiche sein Verhalten mit MSVC unter Windows und GCC/Clang unter macOS, um die plattformspezifische Ursache einzugrenzen. Als erledigt gilt die Aufgabe, wenn die Ursache erklärt und die gemeldete Ausgabe ohne Regressionen korrigiert ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- cpp
- Bereich
- tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100