GCC à raison et clang à tord. Le programme est valide, c'est d'ailleurs un exemple du standard (§11.4 [class.protected])
Donc c'est un exemple de code conforme à C++98 que clang 3.8 ne peut pas compiler. (C'était l'énoncé de l'exercice)
Ce qui a changé (ou qui va changé?) c'est la CWG resolution 1873 [1]
Voir aussi [2]. Et c'est une des erreurs qui apparait fréquemment lors du port d'applications vers clang.
[^] # Re: Donc pour résumer...
Posté par Gof (site web personnel) . En réponse à la dépêche C++17, Genèse d’une version mineure. Évalué à 7.
GCC à raison et clang à tord. Le programme est valide, c'est d'ailleurs un exemple du standard (§11.4 [class.protected])
Donc c'est un exemple de code conforme à C++98 que clang 3.8 ne peut pas compiler. (C'était l'énoncé de l'exercice)
Ce qui a changé (ou qui va changé?) c'est la CWG resolution 1873 [1]
Voir aussi [2]. Et c'est une des erreurs qui apparait fréquemment lors du port d'applications vers clang.
[1] http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1873
[2] https://llvm.org/bugs/show_bug.cgi?id=6840