r205197 - Sema: Check dll attributes on redeclarations

Alp Toker alp at nuanti.com
Wed Jul 16 14:00:45 PDT 2014


On 16/07/2014 23:03, Reid Kleckner wrote:
> On Wed, Jul 16, 2014 at 7:13 AM, Nico Rieck <nico.rieck at gmail.com 
> <mailto:nico.rieck at gmail.com>> wrote:
>
>     On 14.07.2014 16:33, Alp Toker wrote:
>     > We just started internal integration testing for 3.5. This
>     commit breaks
>     > cross-compilation bootstrap builds to Windows from Fedora 20, Ubuntu
>     > 14.04 and other current distributions, I believe due to a
>     MinGW64 header
>     > bug that was only fixed upstream in April 2014.
>     >
>     > We'll want to remove setInvalidDecl() and make the diagnostic
>     either (a)
>     > a DefaultError warning complete with a warning group name or (b) a
>     > SuppressInSystemHeader error.
>     >
>     > Do you know what the correct recovery is when accepting the invalid
>     > code? Should we drop or accept the attribute, and does that decision
>     > change based on whether we're in GCC or MSVC compatibility mode?
>
>     GCC's behavior here seems strange. They don't diagnose the case of
>     adding a dll attribute. If you define a function, then declare it as
>     imported, the definition will be emitted, but the imported declaration
>     is used. Which code triggers this diagnostic?
>

http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20140331/102567.html

(At this point I'm in favour of relaxing the warning as much as 
necessary in order not to regress MinGW support in the upcoming release.)

>
>     So for GCC-compat the attribute has to be accepted. But I have no idea
>     whether user code relies on this so I would tend to (a).
>
>
> I don't think this extension-of-an-extension is so bad that it needs a 
> DefaultError warning.  I'd just do a regular warning, which of course 
> will be silenced in a system header.

A warning is fine by me. Reid / Nico, could you suggest a name for the 
diagnostic group?

-- 
http://www.nuanti.com
the browser experts




More information about the cfe-commits mailing list