Как уже сказал Нейл, совместимость включает в себя такие вещи, как соглашение о вызовах, искажение имен и т. Д. Хотя эти два являются наименьшими возможными проблемами. LLVM уже знает обо всех соглашениях о вызовах для Windows (stdcall, fastcall, thiscall), поэтому вы можете вызывать вещи из .dll.
Если мы говорим о коде C ++, то основной проблемой является ABI C ++: компоновка vtable, реализация rtti и т. Д. Clang следует Itanium C ++ ABI (который, например, использует gcc), VCPP - нет, и все эти без документов, к сожалению. В этом направлении в Clang проделана определенная работа, поэтому все может начать работать. Обратите внимание, что, скорее всего, некоторые части никогда не будут покрыты, например, Обработка исключений на основе seh в win32, потому что она запатентована.
Связывание с чистым кодом C работало целую вечность, так что вы можете обойти эти проблемы, связанные с C ++ ABI, через заглушки / оболочки C.