Re: Commit fcd8843c40 breaks old compilers

From: Boris Ostrovsky
Date: Mon Nov 20 2017 - 09:12:58 EST


On 11/20/2017 07:52 AM, Arnd Bergmann wrote:
> On Sat, Nov 18, 2017 at 7:07 PM, Boris Ostrovsky
> <boris.ostrovsky@xxxxxxxxxx> wrote:
>>
>> On 11/18/2017 12:39 PM, Trond Myklebust wrote:
>>> On Sat, 2017-11-18 at 12:19 -0500, Boris Ostrovsky wrote:
>>>> A similar bug was fixed by e0714ec4f9efe7b86828b0dcc077fd8f5d8e5e91
>>>> but
>>>> I don't think the same approach can work here.
>>>
>>>
>>> I don't have any setups with gcc 4.4.4. What is it expecting here? Is
>>> it expecting an extra set of braces due to the anonymous "struct"?
> I can reproduce it with gcc-4.5 but not 4.6. We've had similar problems
> in the past in other anonymous unions.

IIRC anonymous struct initializers were added in 4.6.1.

>
>> I don't know if you want to change public header file just to get around
>> this problem.
> I think flipping the two members around should be safe here. It's
> not exported to user space, and all other users of that structure
> don't care about the order inside of the union.

Trond already submitted a fix ---
<20171118185011.4729-1-trond.myklebust@xxxxxxxxxxxxxxx> (sorry, I can't
provide a direct link right now)

-boris