O trecho a seguir gera erros de compilação ao adicionar -pedantic
e -Werror
em compiladores um pouco antigos.
#include <cstdint>
#include <iostream>
int add(int a, int b){
return a + b;
}; // <-- stray semicolon
int main (){
return 0;
}
No entanto, isso não acontece nas versões mais recentes do compilador. Encontre uma matriz de gcc
(10.x, 11.x) e clang
(5.x, 6.x) demonstrando a diferença em https://godbolt.org/z/KWeb8WTxz .
Tenho duas partes na minha pergunta:
- Por que isso não é acionado em compiladores recentes?
- É possível ativar o comportamento antigo em versões recentes do
clang
ougcc
?