Re: [Development] It could be a little bug

2013-11-04 Thread Thiago Macieira
On segunda-feira, 4 de novembro de 2013 22:53:52, Marc Mutz wrote: > On Monday, November 04, 2013 17:15:26 Thiago Macieira wrote: > > On segunda-feira, 4 de novembro de 2013 12:31:22, Marc Mutz wrote: > > > +Q_DECL_CONSTEXPR inline QFlags operator|(QFlags f) const { return > > > QFlags(i | f.i,

Re: [Development] It could be a little bug

2013-11-04 Thread Marc Mutz
On Monday, November 04, 2013 17:15:26 Thiago Macieira wrote: > On segunda-feira, 4 de novembro de 2013 12:31:22, Marc Mutz wrote: > > +Q_DECL_CONSTEXPR inline QFlags operator|(QFlags f) const { return > > QFlags(i | f.i, true); } +Q_DECL_CONSTEXPR inline QFlags > > operator|(Enum f) const {

Re: [Development] It could be a little bug

2013-11-04 Thread Thiago Macieira
On segunda-feira, 4 de novembro de 2013 12:31:22, Marc Mutz wrote: > +Q_DECL_CONSTEXPR inline QFlags operator|(QFlags f) const { return > QFlags(i | f.i, true); } +Q_DECL_CONSTEXPR inline QFlags operator|(Enum > f) const { return QFlags(i | Int(f), true); } +Q_DECL_CONSTEXPR inline > QF

Re: [Development] It could be a little bug

2013-11-04 Thread Thiago Macieira
On segunda-feira, 4 de novembro de 2013 12:24:37, Marc Mutz wrote: > Clang's -fsanitize=undefined disagrees: No, it doesn't. You're pointing to QUrlTwoFlags, not QFlags. > /home/marc/qtbase-clang- > build/src/corelib/../../include/QtCore/../../../qtbase/src/corelib/io/qurl.h > :353:10: runtime er

Re: [Development] It could be a little bug

2013-11-04 Thread Marc Mutz
On Friday, November 01, 2013 23:49:22 Jiergir Ogoerg wrote: > Anyway who's the hero of the day (and is a contributor) to commit a fix for > this bug? Finders keepers ;) ___ Development mailing list Development@qt-project.org http://lists.qt-project.org/m

Re: [Development] It could be a little bug

2013-11-04 Thread Marc Mutz
On Monday, November 04, 2013 12:24:37 Marc Mutz wrote: > The issue is with the casts to enums in some of the QFlags operators, IIRC, > but the log I cited is old and the line numbers might not match anymore. I've dug up attached attempt to fix the issue, with which I am, however, not pleased eno

Re: [Development] It could be a little bug

2013-11-04 Thread Marc Mutz
On Saturday, November 02, 2013 02:35:20 Thiago Macieira wrote: > On sexta-feira, 1 de novembro de 2013 15:35:50, Marc Mutz wrote: > > According to the standard, they are equivalent, since reading a value > > from an enum object that does have one of the declared enum values > > results in undefine

Re: [Development] It could be a little bug

2013-11-01 Thread Thiago Macieira
On sexta-feira, 1 de novembro de 2013 15:35:50, Marc Mutz wrote: > According to the standard, they are equivalent, since reading a value from > an enum object that does have one of the declared enum values results in > undefined behaviour. That said, we're violating that in many places in Qt, > e.

Re: [Development] It could be a little bug

2013-11-01 Thread Jiergir Ogoerg
Yeah, enums are not meant for bitwise operations, the author could hand-code the values of the enum to make them usable for bitwise comparison - but he didn't.. Anyway who's the hero of the day (and is a contributor) to commit a fix for this bug? I for one would like to leave it as is for other p

Re: [Development] It could be a little bug

2013-11-01 Thread Nicolás Alvarez
2013/11/1 Marc Mutz : > On Tuesday, October 29, 2013 01:21:08 Jiergir Ogoerg wrote: >> Hi, >> There's an enum: >> >> //==> code >> enum TableState >> { >> UnsupportedLocale, >> EmptyTable, >> UnknownSystemComposeDir, >> MissingComposeFile, >> NoErrors >>

Re: [Development] It could be a little bug

2013-11-01 Thread Jiergir Ogoerg
1) m_state is declared private, has no setter and one getter which returns its value (not a reference to it) - so apparently nobody outside the class can change it. 2) Throughout the code the author before setting m_state to something is checking if there are any errors in it (cleanState()), so it

Re: [Development] It could be a little bug

2013-11-01 Thread Marc Mutz
On Friday, November 01, 2013 15:35:50 Marc Mutz wrote: > enum object that does have one of the declared enum values results in does _not_ have, of course. ___ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinf

Re: [Development] It could be a little bug

2013-11-01 Thread Marc Mutz
On Tuesday, October 29, 2013 01:21:08 Jiergir Ogoerg wrote: > Hi, > There's an enum: > > //==> code > enum TableState > { > UnsupportedLocale, > EmptyTable, > UnknownSystemComposeDir, > MissingComposeFile, > NoErrors > }; > //<== code > > and this:

Re: [Development] It could be a little bug

2013-10-28 Thread Jiergir Ogoerg
Forgot to mention, m_state is of type enum TableState. On Tue, Oct 29, 2013 at 2:21 AM, Jiergir Ogoerg wrote: > Hi, > There's an enum: > > //==> code > enum TableState > { > UnsupportedLocale, > EmptyTable, > UnknownSystemComposeDir, > MissingComposeFile, >

[Development] It could be a little bug

2013-10-28 Thread Jiergir Ogoerg
Hi, There's an enum: //==> code enum TableState { UnsupportedLocale, EmptyTable, UnknownSystemComposeDir, MissingComposeFile, NoErrors }; //<== code and this: //==> code bool cleanState() const { return ((m_state & NoErrors) == NoErrors); } //<== c