~thopiekar/pyside/+git/shiboken-thopiekar:dev

Last commit made on 2017-05-18
Get this branch:
git clone -b dev https://git.launchpad.net/~thopiekar/pyside/+git/shiboken-thopiekar

Branch merges

Branch information

Recent commits

b68f2b9... by Friedemann Kleint

Merge remote-tracking branch 'origin/5.9' into dev

Change-Id: I78bace9fbc5e8f19bf345ce3f978826507672227

ba47a26... by Friedemann Kleint

Merge remote-tracking branch 'origin/5.6' into 5.9

Change-Id: I87da005aa528af30856e077769463c3c7e1ca18b

47e3a99... by Friedemann Kleint

Add rejection by function return type and argument type

Extend TypeRejection accordingly.

Task-number: PYSIDE-516
Change-Id: Ibf97f3c16498b26e63f4bde5b0ae21acc3dd0c44
Reviewed-by: Alexandru Croitor <email address hidden>

f6bc1cb... by Friedemann Kleint

TypeRejection: Use QRegularExpression

Refactor TypeRejection to use one regular expression for
the class name and one for the various strings to be matched
depending on the match type enumeration instead of 4 fixed
string fields.

Task-number: PYSIDE-516
Change-Id: Ifb945e3be39fbedfd802c4d32de7de443cf53f49
Reviewed-by: Alexandru Croitor <email address hidden>

467095a... by Friedemann Kleint

Improve rejection messages

In AbstractMetaBuilderPrivate::traverseFunction(), store the
unmodified signature with return type before resolving typedefs for
the messages. Extend the error messages about parameters and output
them to qWarning() and rejection logs consistently.

So:

Unmatched argument type
 - QOpenGLExtraFunctions::glIsSync(GLsync) -> GLboolean

becomes:

Unmatched argument type
 - GLboolean QOpenGLExtraFunctions::glIsSync(GLsync): unmatched type 'GLsync' in parameter #1 "sync"

Task-number: PYSIDE-516
Change-Id: Ifd680af1cd6d403d9b73ba3e40d06abe274cf359
Reviewed-by: Alexandru Croitor <email address hidden>

35d5adf... by Friedemann Kleint

Improve Clang detection

Check LLVM_INSTALL_DIR, CLANG_INSTALL_DIR and llvm-config
and make messages more verbose.

Task-number: PYSIDE-323
Change-Id: Iaff24d7c80853f381d227ebdccbb3abc4497a199
Reviewed-by: Christian Tismer <email address hidden>

51cb930... by Friedemann Kleint

Generate #error when a minimal constructor could not be found

The occurred in 3 places, one of which generated #error and the
others used qFatal(). Change it to always generate #error with
a bit of context to make it possible to detect the source of
of the problem.

Change-Id: Icd93b1beec908b57fa72457d6ec1e16a15e5ff14
Reviewed-by: Christian Tismer <email address hidden>

b7567da... by Friedemann Kleint

Merge remote-tracking branch 'origin/5.9' into dev

Change-Id: I55f0c07e3e17231e68c9b9a8bd26cdf9470f757c

0b83c85... by Friedemann Kleint

Merge remote-tracking branch 'origin/5.6' into 5.9

Change-Id: I609232c2b63a01c83ca8e3abe4d6c3d191d397b2

c088cec... by stackless

Fix headergenerator to build under C++11

For a long time, headergenerator.cpp did only generate destructors,
when the following condition was set:

if (!avoidProtectedHack() || !metaClass->hasPrivateDestructor()) {
    // generate destructor
}

The condition does not work for C++11.

When trying to remove the protected hack, I remembered that
I used an ugly CMake trick to make VS 2015 work. This hack
provided exactly the missing destructors.
I tried very hard to make this hack into a patch for Linux and
macOS, too. Unfortunately, when built without the protected hack,
Clang enforces a destructor declaration, but then the linker reports
an unresolved symbol. I have found no way to circumvent this.

Conclusion: Unless we find a way to make Clang work correctly,
we have to leave the protected hack as-is on macOS.
But then, the whole effort of hack removal makes no more sense.
Fortunately, the ugly work-around on Windows is gone, now.

So this change involves shiboken and PySide, and probably the one
will not work without the other.

Task-number: PYSIDE-504
Change-Id: I92b372c15fd2a4280a249de4c099eeb1f18fedd3
Reviewed-by: Friedemann Kleint <email address hidden>