Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

`-Wunused-but-set-parameter` is only suppressed in Debug

Aperta Adatta ai principianti
#2,079 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
1/5
Tempo stimato
Meno di un'ora
Idoneità per principianti
90/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
cpp
Ambito
build-system

Direzione di ricerca

Modifica include/godot_cpp/core/binder_common.hpp: rimuovi il #if defined(DEBUG_ENABLED) guard attorno a #pragma GCC diagnostic push così che corrisponda al pop incondizionato. Builda godot-cpp in Release con -Wunused-but-set-parameter e -Werror per confermare che compili. Fatto quando l'avviso è soppresso in Release.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Godot version

4.7.2-stable

godot-cpp version

10.0.0-stable

System information

Windows 11

Issue description

The file in question:
include/godot_cpp/core/binder_common.hpp

The issue is that when godot-cpp is built in Release with GCC with -Wunused-but-set-parameter, this parameter is not suppressed and with -Werror it fails to compile. Also, it seems like an inconsistent check, because #pragma push checks DEBUG_ENABLED, but #pragma pop doesn't.

Suggested fix:
Remove #if defined(DEBUG_ENABLED), so the warning suppression applies in Release too.

// GCC raises "parameter 'p_args' set but not used" when P = {},
// it's not clever enough to treat other P values as making this branch valid.
#if defined(DEBUG_ENABLED) && defined(__GNUC__) && !defined(__clang__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-but-set-parameter"
#endif

...

#if defined(__GNUC__) && !defined(__clang__)
#pragma GCC diagnostic pop
#endif
Steps to reproduce

Build godot-cpp in Release with -Wunused-but-set-parameter

Minimal reproduction project

N/A

Lingua principale
C++
Stelle
2.7k
Fork
821
Merge medio
3g 18h
PR unite (30g)
15

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di godotengine/godot-cpp

Tutte le issue di godotengine/godot-cpp

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.