summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Make it possible to compile with -no-opengl.Andreas Holzammer2012-01-2410-42/+83
| | | | | | | | | | | | | This takes out the dependency to the header files of OpenGl. The ifdef QT_NO_OPENGL in the opengl headers are needed, as qmake adds depends in the makefiles for all GUI headers. Task-number: QTBUG-23207 Change-Id: If31448ee35fd8c39194c7cb7d62273fbc6def883 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Remove reference to Symbian in QtNetwork.Xizhi Zhu2012-01-242-5/+0
| | | | | | | Change-Id: Iae377505e36ae1239be7ce52c773dc2a4f4a9767 Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove Symbian code from QtCore.Xizhi Zhu2012-01-2419-1776/+53
| | | | | Change-Id: I9abdc674bcfa7bb38ce27c5213c5a672f59e63d5 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove Symbian specific code from QtGui.Xizhi Zhu2012-01-2412-533/+5
| | | | | Change-Id: I103abb545d1a5deed7d40c0b50fc3eff0c89d622 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove Symbian and Maemo code from uikit plugin.Xizhi Zhu2012-01-241-17/+0
| | | | | | | | The code is only supposed to be used by iOS, so platform specific code is removed. Change-Id: Ibea585dfac9e6a7a87e66a1426793dfd8713fdef Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove Qt 5 notes that would result in source incompatibility unnecessarily.Robin Burchell2012-01-241-1/+0
| | | | | | | Change-Id: Ib221ab078f9ff5c385d35699ee1d093b0e95557c Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add missing documentation to QTemporaryDir constructorsDavid Faure2012-01-241-0/+20
| | | | | | Change-Id: Ic7dea331695fa4653e4b963fef8383f44c3b1fb8 Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Make QAbstractSocket's API virtual where needed.Jonas M. Gastal2012-01-242-50/+7
| | | | | | | | | | | | | | | | | | | | The following methods have been made virtual: setReadBufferSize() socketDescriptor() setSocketDescriptor() socketOption() setSocketOption() waitForConnected() waitForDisconnected() Now that these methods are virtual we no longer need the nasty polymorphism workarounds for QSslSocket. Change-Id: I319989b6cdb025ba33d7d53ae90f3a6a3b6b1b7b Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Port the IA-64 atomics to the new QBasicAtomicXXX architectureThiago Macieira2012-01-243-350/+620
| | | | | | | | | | | | | | | | The IA-64 architecture supports the actual memory ordering semantics in many instructions, but not all. We actually implement the functions for all operations, so we get the best possible output. It does support proper load-acquire and store-release semantics, but we don't need instructions for it: the ABI requires that a volatile load be acquire and a volatile store be release. The Intel and HP compiler codepaths are rewritten, but untested. Change-Id: I7aa62a4ec65f63a97d1bbd8418bb2492c2be465f Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Port the MIPS atomics to the new QBasicAtomicXXX architectureThiago Macieira2012-01-243-692/+146
| | | | | | | | | | | | | | | The LL/SC instructions are only present on MIPS II and up, so don't pretend to support MIPS I. The previous implementation emitted the instructions by telling the assembler to change instruction sets. Now, the user must pass an -march= option to GCC telling it which architecture or processor is being targetted. On MIPS64, the 64-bit implementation allows supporting for long long too. Change-Id: I6dae6f8f61e563aba6a663227d91c5ddf554aa6a Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Port the ARM atomics to the new QBasicAtomicXXX architectureThiago Macieira2012-01-244-518/+427
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The implementation is divided in two files, as it used to be in the previous implementation: one for ARMv5, one for ARMv6 and up. For the ARMv5 implementation: Drop the non-Linux EABI version of the atomics, as it's not ABI-compatible with the ARMv6 and ARMv7 implementations. This means this ARMv5 implementation only works on Linux. If other systems implement kernel helpers like Linux, they can be added too. We use the __kernel_cmpxchg located at 0xffff0fc0 to implement the operations, except for fetchAndStore, for which we use the SWP instruction. Also introduce the use of __kernel_dmb (at 0xffff0fa0) for the memory barrier. Now this code is SMP-safe even when built with ARMv5. The kernel cmpxchg helper was introduced in Linux 2.6.12, whereas the dmb helper was introduced in 2.6.15. That means 2.6.15 is the minimum version now. For ARMv6 and up: Introduce byte, half-word and doubleword atomics that work on ARMv6K and up. For ARMv6 specifically, the memory barrier instruction (DMB) isn't present, so we need to accomplish the same with the MCR coprocessor instruction. Change-Id: Ife7f9b920bcc7d1eef7611761f6c59ea940ec7df Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make clang compile the new i386 and x86_64 atomic codeBradley T. Hughes2012-01-242-4/+4
| | | | | | | | | | | | | | The input type needs to match the output type, otherwise we get this error: src/corelib/arch/qatomic_x86_64.h:288:25: error: unsupported inline asm: input with type '<dependent type>' matching output with type 'T': "0" (valueToAdd * QAtomicAdditiveType<T>::AddScale) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Change-Id: I26d4efdbcab089dea71ef08e3e65df5b7482865a Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Port the i386 and x86-64 atomics to the new QBasicAtomic architectureThiago Macieira2012-01-244-382/+467
| | | | | | | | | | | | | | Both implementations now are very similar to one another, to the point we could share the code if we wanted to. They are based on assembly code for the Relaxed functions only, as the i386 and x86-64 architectures only allow for full memory ordering or something that closely resembles it (see 8.2 "Memory ordering" in the Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3A). We could add "lfence/mfence/sfence" in future versions if we wanted to (SSE2+). Change-Id: I76966d9f8694edfece2c5ebd3387348fac721447 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Port the bootstrap atomics to the new QBasicAtomic architectureThiago Macieira2012-01-243-62/+42
| | | | | | | | | | | | | The code is now much simpler and much more complete. Now the bootstrap atomics (which aren't atomic at all) contain the full set of operations. The only integer supported is int, but all others would work too. Change-Id: Id99f07818f9da059c4ff02520f9cbf2d1a71a514 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove QEventLoop::DeferredDeletionBradley T. Hughes2012-01-233-21/+3
| | | | | | | | | | | | This flag has been deprecated since Qt 4.4, so remove it. tst_QApplication had 2 nearly identical tests, one for testing the QEventLoop::DeferredDeletion flag, and one to test sendPostedEvents() with QEvent::DeferredDelete. The latter is the preferred way, so keep that test, but remove the test for the obsoleted flag. Change-Id: Icdb7483c32b3c920bda31d2bbb4f7414ece6d826 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Use QObject pointer as QCocoaAccessibleElement id.Morten Johan Sorvig2012-01-233-23/+14
| | | | | | | | | | | | | | | Each QCocoaAccessibleElement needs to provide a unique stable id through the -(NSUnterger)hash method. The previous approach of basing the hash on the parent hash plus the child index is unpractical now that childAt() can return distant descendants instead of immediate children only. Use the QObject pointer, which is set for all accessible interfaces today. Change-Id: I5868e3a81c1b4da7233504f30003ab8060e9fa3f Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Fix synthesizing mouse events when touches change orderingLaszlo Agocs2012-01-232-5/+18
| | | | | | | | | | | | | | There is no guarantee the touches will be listed in the same order in an update: the platform/generic plug-in, the drivers, etc. are all free to shuffle the list of touch points in each report (even though the order is fairly stable with most systems). Therefore, to be safe, move and release events should be generated not from the first point in the list but from the one with the matching id. Change-Id: I6615224cbf2cfdc440143eb3191482a23d85c6a4 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Revert "Blow up earlier when adding test rows without columns."Robin Burchell2012-01-231-1/+0
| | | | | | | | | | | | This seems to break a number of tests using the qmltest library. Functionality will be restored in a future commit, once the breakage has been identified. This reverts commit fdedb49b76b8f9ad69611fbfea6b8371ae1ec3a1. Task-number: QTBUG-23845 Change-Id: I0ca4dbd54132e4250702f06738edbad5e8fc4f36 Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* QPropertyAnimation::setTargetObject() fails if new and old target object ↵Armin Berres2012-01-231-1/+1
| | | | | | | | | | | | | | | | | | | have the same address If a target object is destroyed QPropertyAnimationPrivate::targetValue reflects this while QPropertyAnimationPrivate::target stays unchanged. QPropertyAnimation::setTargetObject() checks if a new target matches QPropertyAnimationPrivate::target - to bad if the former target has been destroyed in the meanwhile but the new one has the same memory address. targetValue is not updated in this case. It will still point to null and QPropertyAnimation::targetObject() returns 0. This is not just a theoretical problem - we stubled upon this in Harmattan when suddenly animations complained that they are having no target. Change-Id: Ib4a9c234d04d6f8a3f7aed251d5e79471d95168a Reviewed-by: Leonardo Sobral Cunha <leo.cunha@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* directfb: Deal with Qt trying to create a QSize(0, 0) platfom windowHolger Hans Peter Freyther2012-01-231-3/+3
| | | | | | | | | | | | | | Qt will attempt to create a platform window with the above size and DirectFB will fail to create the window. Make sure the width/height is at least 1 before handing it to DirectFB. According to Samuel it is legitimate to create a QPlatformWindow with QSize(0, 0) and it is the job of the platform plugin to make it work. Follow the approach of the XCB plugin and increase the size. Change-Id: Ifc92780b46f1a73123945988d06bd21a3deb6bb0 Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Remove uses of qMalloc/qFree from out of line code.Robin Burchell2012-01-231-4/+4
| | | | | | | | There is no need to use these, and we are trying to deprecate them. Change-Id: I70e6f27aca322fe74c31d8ad8496f230cd29e503 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Windows: Implement native event filters.Friedemann Kleint2012-01-233-8/+54
| | | | | Change-Id: Ibdf556428e4dbb9156c87504b923ec9600bcf871 Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* XCB: Introduce enumeration for event filter types.Friedemann Kleint2012-01-233-10/+25
| | | | | | | | Remove QByteArray-construction and hash lookup in the event handling; use an enumeration indexing an array instead. Change-Id: I4d272b32a5ff71c8da58197cf3a0b38c1e61d489 Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* Mark QTriangulatingStroker as Q_GUI_EXPORTAlex Wilson2012-01-231-1/+1
| | | | | Change-Id: I6083ba122c33769cd4626f2c4a32959e535da8a4 Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
* qfilesystemengine_win.cpp: compile with namespaced QtJoerg Bornemann2012-01-231-7/+6
| | | | | | | | SidCleanup struct must not be in the INCLUDE_NAMESPACE. Change-Id: Ic51f1734af583c0ba7f715f7b27f314211e698c5 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: hjk <qthjk@ovi.com>
* xcb: Correctly check the X11 connectionUli Schlachter2012-01-231-1/+1
| | | | | | | | | | | | | Commit e08453f31ae2a195f86a763f0b1c5e617df0e1ce added a check which makes sure qt prints an error message instead of segfaulting when it can't connect to the X11 server. However, libxcb will never return NULL from xcb_connect() and thus that commit only works if XCB_USE_XLIB is defined and used. Change-Id: I8cc1496494a94f07055a3ac5093ce362dd347c5b Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Remove Symbian specific code from QtXml.Xizhi Zhu2012-01-232-7/+0
| | | | | Change-Id: I29979c80e401f5d6c2c2b38c4e502340f2025a12 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove Symbian specific code from QtSql.Xizhi Zhu2012-01-236-76/+0
| | | | | Change-Id: I3fc538862c7334914ec9e4331ef2d3db5c699ea9 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* xcb: Don't crash on missing mouse pointerUli Schlachter2012-01-231-4/+6
| | | | | | | | | | | | | | | | | | | The draganddrop examples all crashed here because they were using a default-constructed QImage() (i.e. one without any content). I guess this happens here because I don't have any mouse theme set. To test, one could start a second X server, but without any WM or DE. The "evil" QImage() came from QGuiApplicationPrivate::getPixmapCursor(). This function seems to just always "return QPixmap();". This fix is correct because the only caller has another fallback if the createNonStandardCursor()-fallback didn't work. This caller is QXcbCursor::createFontCursor(). Change-Id: I7ec7fbcfdf0203e983149b5e73016cc7e85ecf40 Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Remove dead code.Richard Moore2012-01-231-19/+0
| | | | | | | | Task-number: QTBUG-23524 Change-Id: I6a80af450b599022e9242cccec945887b871f2b0 Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com> Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Remove invalid comment.Richard Moore2012-01-231-2/+1
| | | | | | | | | | No point in making this protected: it breaks existing code including the unit tests, and the base class has this method as public. Task-number: QTBUG-23524 Change-Id: I8fae019088fc368213ff7caa4b19fe7ab60488dd Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Blow up earlier when adding test rows without columns.Robin Burchell2012-01-231-0/+1
| | | | | | | | | | | | | Previously, the assertation triggered was rather unhelpful: QFATAL : tst_QHash::qhash_qt4() ASSERT: "d->dataCount < d->parent->elementCount()" in file qtestdata.cpp, line 88" We now try a bit harder to be user-friendly. Change-Id: I2e3a5ae27914d44fc1dc89af2a084e3d798fe221 Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Update obsolete contact address.Jason McDonald2012-01-232-3/+3
| | | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: Id689fdb78727abafba033bed7b0402e2cf27aba1 Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update contact information in license headers.Jason McDonald2012-01-232342-2343/+2343
| | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove dependency of QtDBus onto QtXmlHarald Fernengel2012-01-227-307/+257
| | | | | | | | | Replace the QDom based code in qdbusxmlparser with code using QXmlStreamReader. Task-number: QTBUG-20856 Change-Id: I294e3ebd6faa813c20806be3ae225ac00befb622 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Obsolete QInputDialog::getInteger() 'officially'.Robin Burchell2012-01-222-29/+7
| | | | | | | | | It has long since been obsolete in code and removed from the documentation, but was never marked QT_DEPRECATED. Do so, and inline the implementation. Change-Id: Ic7bfdaf76269b7f9addeba83e64bc9525c581dda Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Merge overloads of QInputDialog::getText() and QInputDialog::getItem()Robin Burchell2012-01-212-39/+1
| | | | | Change-Id: Ifaefaa5c3faa698c8570da4ef00e130c211b2609 Reviewed-by: Richard J. Moore <rich@kde.org>
* Merge overloads of QFontDialog::getFont().Robin Burchell2012-01-212-23/+2
| | | | | | | | Per Qt 5 comment. Note that this leaves one overload of getFont() intact, as removing it would be a source-incompatible change. Change-Id: Ieb6ddfef9aa86750c14928ab2e0a9bfb84d322ab Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
* Remove note about source-incompatible change.Robin Burchell2012-01-211-1/+0
| | | | | | | | There's no real gain to be had from doing this. Change-Id: Ifa5fefe4a354cfe1f9a8a915a7041d0cfebccce1 Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Richard J. Moore <rich@kde.org>
* Remove copy of libgq.Robin Burchell2012-01-2126-2830/+0
| | | | | | | | | | Nothing in the source tree uses this after the removal of the icd bearer plugin in 0e0eb207c4ada7a09c980b816dda1c5c6af1c027, so there is no point keeping it around anymore. Change-Id: I6ea05c84d561965636e2ca5b03c7ee8edc48c093 Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Richard J. Moore <rich@kde.org>
* Remove unnecessary sizehint overload.Robin Burchell2012-01-212-11/+0
| | | | | | Change-Id: Id6b3e206d59df25f6252da48ac99265226313635 Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Richard J. Moore <rich@kde.org>
* Change QMessageBox::question to default to yes/no buttons instead of okThorbjørn Lund Martsum2012-01-211-3/+1
| | | | | | | | | Beside that it also removes a suggestion about making Ok==Yes and No==Cancel. It would be a problem since we (at least) can have messageboxes with both yes, no and cancel. Change-Id: I567979b2e697e7103968d6512fe4835f86888ca3 Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Fix incorrect check for error when monitoring a path using inotify.Robin Burchell2012-01-211-1/+1
| | | | | | | | | | | Per the manpage, inotify_add_watch will return -1 in the case of error, 0 is a valid watch descriptor. Task-number: QTBUG-12564 Change-Id: I56a54de2f5cf18b40aaeddc6de51d18dacbf8daf Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* remove obsolete codec plugin loading codeMark Brand2012-01-209-361/+2
| | | | | | Change-Id: I1f3dbb5c10009413f701947b1b89ed3dbc94bf3d Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* cosmetic adjustments for files moved to core/codecsMark Brand2012-01-2017-44/+143
| | | | | | | | | | -update old reference to 'plugin' -rename multiple inclusion guards -add private header warning text Change-Id: I4c582dcba549d871bd8d929bee5372586117eabb Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* update private header referencesMark Brand2012-01-2011-13/+13
| | | | | | Change-Id: I092d879653b6900532a0c4534c1eb2be84e9d0f6 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* move plugin text codecs to QtCoreMark Brand2012-01-2029-665/+22
| | | | | | | | | | | | | | | | | | | | Having plugin text codecs adds considerable complexity to configuring Qt. The plugin interface is designed for optional features, but text codecs tend to be used for essential functions. A dramatic example is loading a codec plugin from a file whose path needs to be converted by the codec. Codec plugins can also be a nuisance to builders of applications linking to static Qt. This is because the application might need to explicilty import the static codec plugins which are actually dependencies of QtCore. For these reasons, it has been decided not to have text codec plugins any longer. Change-Id: Ic6c80a9c949bd42e881e932d1edae23fe4fe4c88 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* build and load text codecs regardless of iconv and platformMark Brand2012-01-202-30/+22
| | | | | | | | | | | | | | Otherwise applications linking to static Qt may have to import the static plugins to avoid linking failure even if they do not use the codecs, which is a nuisance. Also, this is preparation for moving these codecs into QtCore proper. Change-Id: I71f3bbb0bac6261983143d0578757b34997d1364 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* fix whitespaceMark Brand2012-01-201-17/+16
| | | | | Change-Id: I0cfccae085c000d4368386a34f288c1e6f01a88f Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Add atomic implementation for Native Client.Morten Johan Sorvig2012-01-204-2/+258
| | | | | | | Uses gcc compiler intrinsics, similar to avr32. Change-Id: I10cc2bd3cad67ee002386bab1ea764a4ff5ce727 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>