É seguro vincular objetos C ++ 17, C ++ 14 e C ++ 11

Suponha que eu tenha três objetos compilados, todos produzidos pelomesmo compilador / versão:

A foi compilado com o padrão C ++ 11B foi compilado com o padrão C ++ 14C foi compilado com o padrão C ++ 17

Para simplificar, vamos assumir que todos os cabeçalhos foram escritos em C ++ 11,usando apenas construções cuja semântica não mudou entre as três versões padrãoe, portanto, quaisquer interdependências foram expressas corretamente com a inclusão do cabeçalho e o compilador não se opôs.

Quais combinações desses objetos são e não é seguro vincular um único binário? Por quê?

EDIT: respostas que abrangem os principais compiladores (por exemplo, gcc, clang, vs ++) são bem-vindas

questionAnswers(3)

yourAnswerToTheQuestion