github / github/codeql

LGTM.com - false positive for C++ missing return statement

Aberta
#4,105 3 comentários 0 reações 1 responsável Reivindicada por @dbartol Ver no GitHub
C++ false-positive
Linguagem predominante
CodeQL
Estrelas
10.1k
Forks
2.1k
Merge médio
2d 15h
PRs com merge (30d)
141

Descrição

**Description of the false positive**

Hi, there! I'm trying to add a fatal logging level to the logging infra. `LOG(FATAL)` will abort hence won't return. The macro is a wrapper around a stream-like class, whose destructor will call `abort()`, so after printing out the fatal error message, the program will be ternminated (refer to [this](https://github.com/iovisor/bpftrace/pull/1449/commits/89e940313767b4bcd475d535a788f1f1f825e39a) for more context). The destructor is marked with C++ attribute `[[noreturn]]`, which will make the compiler happy. I've also tried to suppress the alert with `// lgtm[cpp/missing-return]` but it won't work (remind me if I have done it in the wrong way). My guess is "missing return" is taken as an error so it won't be suppressed. But I'd think that since C++ provides the `[[noreturn]]` attribute to reassure the compiler, it should be considered an accepted behavior. Any thoughts on this?

**URL to the alert on the project page on LGTM.com**
https://lgtm.com/projects/g/iovisor/bpftrace/snapshot/0c6cc31868a95d11756df15ba2a4540058de15b0/files/src/attached_probe.cpp?sort=name&dir=ASC&mode=heatmap#x119f230625cb95f3:1

https://lgtm.com/projects/g/iovisor/bpftrace/snapshot/0c6cc31868a95d11756df15ba2a4540058de15b0/files/src/types.cpp?sort=name&dir=ASC&mode=heatmap#x65ffd3725acdcabb:1

https://lgtm.com/projects/g/iovisor/bpftrace/snapshot/0c6cc31868a95d11756df15ba2a4540058de15b0/files/src/ast/ast.cpp?sort=name&dir=ASC&mode=heatmap#x38807acfecd9b7d1:1

Guia de contribuição

Abrir o guia de contribuição

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

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