Boost logo

Boost :

Subject: Re: [boost] [winapi] Problem with the latest clang on Windows
From: Edward Diener (eldiener_at_[hidden])
Date: 2015-06-01 17:56:59


On 6/1/2015 3:12 PM, Andrey Semashev wrote:
> On Monday 01 June 2015 11:23:36 Edward Diener wrote:
>> On 6/1/2015 10:48 AM, Andrey Semashev wrote:
>>>
>>> My understanding is that MinGW (http://mingw.org/) was discontinued in
>>> favor of MinGW64 (http://mingw-w64.org/). Not sure if we should support
>>> it.
>>
>> What do you mean by "discontinued" ?
>
> I mean it's not being released for quite some time. The last stable compiler
> release I can see was in 2013. Mailing lists[1][2] activity is rather low.
> Combined with the fact that the compiler still doesn't support 64-bit targets,
> this is a strong indication to me that the project is pretty much dead.

There is still activity on those mailing lists and I have seen nothing
on the mingw site that suggests they have come to an end. If clang
builds supported mingw64 then I agree that I would not bother with
setting up mingw, but since clang/mingw64 is hardly a viable option I
still maintain mingw for testing. I quoted you with what one of the
clang developers said about clang/mingw64. I have not made a further
issue with him or anyone else on the clang mailing list about it.

>
>> What does the C++ standard say about the extern "C" declarations
>> duplicating the same name as regular declarations but different types.
>> Is it an ODR violation ? Maybe that is what the clang problem is about
>> although gcc does not feel it is a problem seeing the exact same
>> preprocessed output.
>
> I could only find 7.5/6:
>
> ...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....
>
> It doesn't say anything about argument types. ODR also doesn't apply here
> since we're talking about the function declaration, not its definition.

OK, so just declaring a function with the same name but different
signature doesn't mean a compiler error. But when we invoke the function
with a signature that matches one of the declarations does the C++
standard say it is an error because another declaration with the same
name but a different signature exists ? Evidently clang thinks it is an
error but gcc does not.

>
> [1] http://dir.gmane.org/gmane.comp.gnu.mingw.devel
> [2] http://dir.gmane.org/gmane.comp.gnu.mingw.user


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk