microsoft / microsoft/vscode-cpptools
clang-tidy fix for cppcoreguidelines-pro-bounds-constant-array-index generates invalid code
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- TypeScript
- Estrellas
- 6.2k
- Forks
- 1.7k
- Merge medio
- 14 h 46 min
- PR fusionados (30 d)
- 61
Descripción
With 1.10.1 (currently unreleased), using "C_Cpp.codeAnalysis.clangTidy.config": "{ Checks: 'cppcoreguidelines-pro-bounds-constant-array-index', CheckOptions: [{key: cppcoreguidelines-pro-bounds-constant-array-index.GslHeader, value: '<gsl/gsl.h>'}]}"
with code
#include <array>
int func(int i)
{
std::array<int, 2> vvv;
return vvv[i];
}
generates the incorrect code return gsl::at(v, i);.
It's already reported at https://github.com/llvm/llvm-project/issues/37858 .
Bug#2: There's another related bug at https://github.com/llvm/llvm-project/issues/55088 , when there's an #if/endif at the top of the file.
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Empieza reproduciendo la configuración de clang-tidy y el ejemplo de C++ del issue, y después compara el fix generado con los issues 37858 y 55088 de LLVM. Sigue la ruta del fix de análisis de código en vscode-cpptools; hecho significa que los casos de índices de arrays reportados ya no generan código no válido, incluida la variante con un #if/endif inicial.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- cpp
- Área
- tooling
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100