Je me rends compte que cet article date d'un an et l'OP a probablement déjà trouvé sa réponse mais comme je cherchais la réponse moi-même, j'ai pensé que je pourrais également inclure l'information ici.
du manuel de l'utilisateur Clang:
https://clang.llvm.org/docs/UsersManual.html#controlling-diagnostics-via-pragmas
Le pragma peut contrôler tout avertissement qui peut être utilisé à partir de la ligne de commande. Les avertissements peuvent être ignorés, avertis, erronés ou fatals.
Toute tentative de définir la classe à autre chose que ci-dessus:
#pragma clang diagnostic push
#pragma clang diagnostic note "-W#pragma-messages"
#pragma message "HELLO!"
#pragma clang diagnostic pop
int main(int argc, char **argv)
{
}
résultats dans un avertissement montrant les mêmes options:
/tmp/test.cc:3:26: warning: pragma diagnostic expected 'error', 'warning', 'ignored', 'fatal', 'push', or 'pop' [-Wunknown-pragmas]
#pragma clang diagnostic note "-W#pragma-messages"
^
/tmp/test.cc:4:9: warning: HELLO! [-W#pragma-messages]
#pragma message "HELLO!"
^
2 warnings generated.
Il semble donc que, comme il de Clang 5.0 Il n'y a aucun moyen de traiter le message comme informatif plutôt que comme un avertissement.