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,
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 {
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
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
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
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
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
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.
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
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
>>
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
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
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:
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,
>
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
15 matches
Mail list logo