github / github/codeql

C++: getACanonicalMemberFunction does not return some unused members

Abierto
#12,397 1 comentario 0 reacciones 0 asignados Ver en GitHub
question
Lenguaje dominante
CodeQL
Estrellas
10.1k
Forks
2.1k
Merge medio
2 d 15 h
PR fusionados (30 d)
141

Descripción

consider the simple input

```cpp
#include

int main() {
std::vector vec;
}
```

in C++20 mode with `` from libstdc++-12.

The query

```codeql
import cpp

from VariableDeclarationEntry declEntry
where declEntry.getName() = "vec"
select declEntry.getDeclaration().getType().(Class).getACanonicalMemberFunction()
```

Returns the following:

```
| col0 |
+----------------------+
| vector |
| ~vector |
| _M_data_ptr |
| _M_data_ptr |
| _M_emplace_aux |
| _M_realloc_insert |
| _M_insert_aux |
| _M_range_insert |
| _M_range_insert |
| _M_insert_dispatch |
| _M_insert_dispatch |
| _M_assign_aux |
| _M_assign_aux |
| _M_assign_dispatch |
| _M_assign_dispatch |
| _M_range_initialize |
| _M_range_initialize |
| _M_allocate_and_copy |
| insert |
| emplace |
| emplace_back |
| assign |
| vector |
```

There are many declarations missing, such as the various operators, iterators, etc. If I use any of the missing functions, they appear in the query.

Is there something I'm doing wrong? My goal is to match all declarations where a specific member function exists.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.