IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage C++ Discussion :

Option du compilateur pour signaler ce qui ne correspondent pas au C++ moderne


Sujet :

Langage C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    D�cembre 2009
    Messages
    22
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : D�cembre 2009
    Messages : 22
    Par d�faut Option du compilateur pour signaler ce qui ne correspondent pas au C++ moderne
    Bonjour,

    Y a-t-il un moyen de demander au compilateur de signaler les syntaxes anciennes qui ne correspondent pas au C++ moderne ?

    Par exemple envoyer un warning si le code contient du vieux C++ d�avant C++98

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    std::empty(maChaine)
    empty(maChaine);
    Plut�t que :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    std::string::empty()
    maChaine.empty()
    J'ai essay� g++ -Wall -std=gnu++23 :

    mais il ne dit rien avec :

    Merci d'avance.

    --
    Beno�t

  2. #2
    Expert confirm�
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 273
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 273
    Par d�faut
    Hello,

    Il n�y a pas d�option de compilation directe avec GCC ou Clang pour signaler cette forme jug�e � non moderne �.
    Si vous voulez vraiment une alerte, il faudra passer par un outil externe (clang-tidy) ou adapter un script de v�rification personnalis�e (grep, par exemple) pour d�tecter ces appels et les signaler.

    Par contre,

    std::empty() est m�me plus r�cent (introduit en C++17) que la m�thode membre empty(), ce qui le rend encore moins susceptible d��tre trait� comme � ancien code � ou code deprecated.
    Il n�y a donc � mon sens, pas de raison, du point de vue du standard, d��mettre un warning.

  3. #3
    Expert �minent

    Femme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par d�faut
    Salut,

    Les options -Wold-style-cast et -Weffc++ peut servir � am�liorer un peu les choses.(mais pas dans ce cas pr�cis).

    Personnellement, je compile en g�n�ral en -Wall -Wextra -Weffc++ et j'ajoute -Wold-style-cast pour les codes que je modernise.

  4. #4
    Membre Expert