boostorg / boostorg/algorithm

Unexpected behavior when using algorithm::trim() to remove spaces

Aberta
#58 3 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
C++
Estrelas
131
Forks
117
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

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?

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Direção de pesquisa

Comece com algorithm::trim() e reproduza o exemplo de separação por vírgulas de boostorg/compute#817 usando o compilador cruzado Linux do Android NDK. Compare o comportamento com o MSVC no Windows e o GCC/Clang no macOS para isolar a causa específica da plataforma. Está concluído quando a causa estiver explicada e a saída reportada estiver corrigida sem regressões.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
cpp
Domínio
tooling
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Precisa de esclarecimento
Facilidade para iniciantes
25/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.