summaryrefslogtreecommitdiffstats
path: root/src/corelib/arch/arch.pri
Commit message (Collapse)AuthorAgeFilesLines
* Remove src/corelib/arch/nacl/* and qatomic_nacl.hBradley T. Hughes2012-02-031-1/+0
| | | | | | | | | | This implementation uses the GCC __sync_* intrinsics, which we do not need to duplicate after commit 2bbd2262b3974fb4e39341a23e40ffdf1655ebe9 (which added qatomic_gcc.h). Change-Id: I59b6e4a03e83f58f4145a5ab2bfd635fe9ab686f Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove src/corelib/arch/avr32/* and qatomic_avr32.hBradley T. Hughes2012-02-031-1/+0
| | | | | | | | | This implementation uses the GCC __sync_* intrinsics, which we do not need to duplicate after commit 2bbd2262b3974fb4e39341a23e40ffdf1655ebe9 (which added qatomic_gcc.h). Change-Id: I2cab86deacad1c37f17f0c5836d9faf2ad366495 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Rename qatomic_windows.h to qatomic_msvc.hBradley T. Hughes2012-02-031-4/+4
| | | | | | | | | | The QT_ARCH_WINDOWS(CE) define(s) aren't used to control which header to include anymore, so just remove it. We also do not need the empty src/corelib/arch/windows/arch.pri. Change-Id: I5400fc852af31907e533d0278540b8cd3da391cb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add a set of atomics based on C++11's std::atomicThiago Macieira2012-01-281-1/+2
| | | | | | | | | | | | | | | | | | | | | The C++11 std::atomic type is very close to our API, to the point one has to wonder if the committe was inspired by it. It provides all of the memory semantics that Qt requires and more, plus some compare-and-swap operations that we don't use. The idea of returning the actual value in the event of a failed compare-and-swap is actually quite good, as often we'll retry with it. We just couldn't come up with a good name (fetchAndTestAndSet?). The C++11 atomics require that the compiler support constexpr as well, since std::atomic itself isn't required by the standard to be trivially-constructible (in fact, it has a constexpr constructor in the standard). For that reason, we need constexpr so we can add a constructor to QBasicAtomic too. Change-Id: I12c51455ba73350a6f7501aacc2ca7681c4369dd Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Add a set of atomics based on GCC intrinsicsThiago Macieira2012-01-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | With this implementation, we can have Qt run on any architecture that GCC supports without having to write specialised code. However, on some architectures, the code that GCC generates is not optimal: it uses locking on ARMv5 and it's always fully-ordered. For that reason, it appears after the Qt native assembly implementations (it's a fallback, not an override). Since they all have fully-ordered memory semantics, we define only the xxxRelaxed functions. The exception is __sync_lock_and_test, which has acquire semantics, so we need to define the Release and Ordered versions too. On some architectures, GCC can support atomics on types different than 32-bit and pointer-sized (like x86, x86-64, ARM and even MIPS). However, there's no standardised way of telling: GCC seems to define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8} if those operations are present, but I couldn't find it on the ARM compiler (it was there for i386, x86-64, IA-64 and MIPS). Change-Id: I55ff7a7c0cfc6388b7ad8e2c0dedecffdf2a3e01 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Remove the 'macosx' archBradley T. Hughes2012-01-261-1/+2
| | | | | | | | | | | | | The new atomic implementation chooses which header to include based on what #define's are set by the compiler (i.e. __x86_64__ or __i386__). Because of this, the qatomic_macosx.h header isn't used anymore. This also means that the configure script does not need to use or look for this file anymore, it should just use the normal uname -m detection. Change-Id: Ibf275488735483268286196952299c0e496dfd1f Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Remove Symbian code from QtCore.Xizhi Zhu2012-01-241-1/+1
| | | | | Change-Id: I9abdc674bcfa7bb38ce27c5213c5a672f59e63d5 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Add atomic implementation for Native Client.Morten Johan Sorvig2012-01-201-1/+2
| | | | | | | Uses gcc compiler intrinsics, similar to avr32. Change-Id: I10cc2bd3cad67ee002386bab1ea764a4ff5ce727 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Remove S60/symbian specific code in corelib/archLiang Qi2011-11-011-4/+1
| | | | | | | | | Clean up and remove Symbian specific code and data. Change-Id: I41794085fd5122310b1fdf4c524c6e77d22e8500 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Avoid recursively including the same arch.pri filePrasanth Ullattil2011-04-271-1/+3
|
* Initial import from the monolithic Qt.Qt by Nokia2011-04-271-0/+38
This is the beginning of revision history for this module. If you want to look at revision history older than this, please refer to the Qt Git wiki for how to use Git history grafting. At the time of writing, this wiki is located here: http://qt.gitorious.org/qt/pages/GitIntroductionWithQt If you have already performed the grafting and you don't see any history beyond this commit, try running "git log" with the "--follow" argument. Branched from the monolithic repo, Qt master branch, at commit 896db169ea224deb96c59ce8af800d019de63f12