
On Friday 05 June 2015 05:45:18 Edward Diener wrote:
The clang explanation, when asked to point to the C++ standard, is:
"[dcl.link]/6: "At most one function with a particular name can have C language linkage. Two declarations for a function with C language linkage with the same function name (ignoring the namespace names that qualify it) that appear in different namespace scopes refer to the same function."
[basic.link]/10: "the types specified by all declarations referring to a given variable or function shall be identical"
So the program is ill-formed because the same function is declared with two different types."
Ok, I'll modify Boost.WinAPI according to Peter's suggestion in a few days. I intend to keep dllimport attributes on the functions though. If that still breaks clang then I believe clang ticket should be reopened (or a MinGW ticket should be filed). Thanks Edward for communicating this through.