Gibt es eine Möglichkeit, mich vor globalen Namespace-Verschmutzungen zu warnen?

8

Hat gcc (oder irgendein anderer Compiler) eine Option, um mich globale Namespace-Verschmutzungen zu warnen?

Ich habe versucht, eine Beispielanwendung Suite zu kompilieren, aber es stellte sich heraus, einige der Header-Dateien dieser Proben sind mit globalen Namespace-Verschmutzungen ( using namespace in Header-Dateien), so dass Mac OS X globale Struktur Rect wird mehrdeutig. Ich habe auch versucht, die Reihenfolge von #include zu ändern, um das Rect-Symbol des Systems vor dem Minenfeld von using namespace aufzulösen, aber das führte dazu, dass einige Symbole nicht aufgelöst wurden.

Meine frühere Suche mit Google ist fehlgeschlagen, schlechte Vorahnung aber, wenn diese Art von Warnoption existiert, bitte geben Sie mir Informationen.

    
Shigerello 28.04.2011, 05:05
quelle

1 Antwort

3

Ich weiß nichts über gcc, aber CLang hat es:

%Vor%

Sie können es direkt mit -Wusing-directive-in-header oder über die Gruppe -Wheader-hygiene aktivieren (es ist jetzt das einzige Mitglied der Gruppe).

Es wurde gründlich auf der Mailingliste überprüft und warnt normalerweise nicht vor regulären Fällen.

    
Matthieu M. 28.04.2011, 06:32
quelle

Tags und Links