[Qt-creator] Clang Code Model: add -Wno-padded

Ziller Eike Eike.Ziller at theqtcompany.com
Mon Mar 7 08:36:52 CET 2016


> On Mar 4, 2016, at 5:28 PM, Andrzej Telszewski <atelszewski at gmail.com> wrote:
> 
> On 04/03/16 01:05, Bubke Marco wrote:
>> Can you file a bug report?
> 
> But is it really a bug?

bugreports.qt.io is used for all kinds of issues, be it bugs, suggestions, feature requests, ...

Br, Eike

> Have a look at the attached image.
> 
> If I add -Wno-padded, then the warning disappears.
> 
> In my opinion, adding -Wno-padded to the default flags would be sufficient.
> 
>> 
>> --
>> Sent from cellphone, sorry for the typos
>> 
>> 
>> 
>> On March 3, 2016 22:22:26 Andrzej Telszewski <atelszewski at gmail.com> wrote:
>> 
>>> On 03/03/16 21:55, Bubke Marco wrote:
>>>> You don't have to silence the warning,  it is a warning not a error. And you can  change that in the settings.
>>>> 
>>>> I think it quite informative that
>>>> 
>>>> bool x, y,  z;
>>>> int w;
>>>> char c;
>>>> 
>>>> Is not optimal. If you don't like that disable it in the settings.
>>> 
>>> I do think that having this kind of information is useful, but in my
>>> opinion -Wno-padded should be default, and turning on the warning should
>>> be left to those who need it. I personally added -Wno-padded to the
>>> clang model settings.
>>> 
>>> Say you have a struct like that:
>>> struct nopad
>>> {
>>>    bool flag1;
>>>    bool flag2;
>>> };
>>> 
>>> It is perfectly fine structure and you don't have to pad it, yet you get
>>> the warning. I would understand, if the warning told you to re-arrange
>>> the members, but it simply warns you about what is the default compiler
>>> behavior, that it will add 2 or 6 bytes of padding. This has been the
>>> default compiler behavior for ages, so I don't see the point of giving
>>> the warning by default;) In addition, the padding depends on the
>>> architecture you're compiling for, so you would have to take it into
>>> account.
>>> 
>>> I'm not against the warning, I'm just saying it shouldn't be enabled by
>>> default.
>>> 
>>> My real structure is like that:
>>> typedef struct
>>> {
>>>    string name;
>>>    bool can_span;
>>> } info_key_t;
>>> 
>>> There is nothing sensible I can change to make the warning disappear.
>>> 
>>>> 
>>>> --
>>>> Sent from cellphone, sorry for the typos
>>>> 
>>>> 
>>>> On March 3, 2016 20:44:28 Andrzej Telszewski <atelszewski at gmail.com> wrote:
>>>> 
>>>>> On 03/03/16 20:23, Bubke Marco wrote:
>>>>>> Hi,  we will add more options in 4.0 to the code model,  so you can choose different sets.
>>>>>> 
>>>>>> Anyway I find the padding warning quite useful because it shows that your data structures are sub optimal.
>>>>>> 
>>>>> 
>>>>> Nope, it does not tell you it's suboptimal. It tells you that compiler
>>>>> will add the additional padding/alignment bytes.
>>>>> 
>>>>> Having structure with say 3 bool's and nothing more is perfectly fine.
>>>>> In such a case, to silence the warning, I would have to add some dummy
>>>>> fields, which most of the time is not necessary.
>>>>> 
>>>>>> --
>>>>>> Sent from cellphone, sorry for the typos
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> On March 3, 2016 19:30:31 Andrzej Telszewski <atelszewski at gmail.com> wrote:
>>>>>> 
>>>>>>> Hi,
>>>>>>> 
>>>>>>> Qt Creator: 3.6.0
>>>>>>> 
>>>>>>> Could _-Wno-padded_ flag be added to the Clang Code Model flags?
>>>>>>> I don't believe that warning about padding should be the default behavior.
>>>>>>> 
>>>>>>> --
>>>>>>> Best regards,
>>>>>>> Andrzej Telszewski
>>>>>>> _______________________________________________
>>>>>>> Qt-creator mailing list
>>>>>>> Qt-creator at qt-project.org
>>>>>>> http://lists.qt-project.org/mailman/listinfo/qt-creator
>>>>>> 
>>>>> 
>>>>> 
>>>>> --
>>>>> Best regards,
>>>>> Andrzej Telszewski
>>>> 
>>>> --
>>>> Sent from cellphone, sorry for the typos
>>>> _______________________________________________
>>>> Qt-creator mailing list
>>>> Qt-creator at qt-project.org
>>>> http://lists.qt-project.org/mailman/listinfo/qt-creator
>>>> 
>>> 
>>> 
>>> --
>>> Pozdrawiam,
>>> Best regards,
>>> Andrzej Telszewski
>> .
>> 
> 
> 
> -- 
> Pozdrawiam,
> Best regards,
> Andrzej Telszewski
> <struct_padding.png>_______________________________________________
> Qt-creator mailing list
> Qt-creator at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/qt-creator

-- 
Eike Ziller, Principle Software Engineer - The Qt Company GmbH
 
The Qt Company GmbH, Rudower Chaussee 13, D-12489 Berlin
Geschäftsführer: Mika Pälsi, Juha Varelius, Tuula Haataja
Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B



More information about the Qt-creator mailing list