github / github/codeql

LGTM.com - c++ false positive "Expression has no effect"

Offen
#5,125 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
C++ false-positive
Vorherrschende Sprache
CodeQL
Sterne
10.1k
Forks
2.1k
Ø Merge
2 T. 15 Std.
Gemergte PRs (30 T.)
141

Beschreibung

LGTM is reporting a false-positive "Expression has no effect" warning. The expression LGTM is highlighting is this:

```c++
add_global(varName);
```

The definition of `add_global` follows right after the constructor:

```c++
static auto add_global(std::string var) -> bool {
return variables.insert(std::move(var)).second;
}
```

The `variables` variable is a static class variable which is being mutated by this function, which is most definitely an observable side-effect (which is, indeed, observed on parse.yy). There is no other `add_global` function accessible on this point, and no other `variables` variable accessible.

Here is the [link to the alert page](https://lgtm.com/projects/g/flamewing/sorcery-xtractobb/snapshot/eef1e0280b104529e9cd9321ccb4720099e814b7/files/statement.hh?sort=name&dir=ASC&mode=heatmap#x780384747974377a:1).

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.