ARM: do not use the clang integrated assembler in some cases.

The integrated assembler of clang does not understand some/all of the
ARM macro assembler syntax used in pixman-arm-neon-asm.S. By default,
this integrated assembler is used when using the "clang" command as a
driver. This patch turns off the integrated assembler of clang for that
file.

Change-Id: Ic06801266b5a4b097ca835d815bcc5d5fc672946
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
Erik Verbruggen 2014-06-25 12:11:02 +02:00
parent de1d5815c1
commit 3fd2f0b7d8
2 changed files with 2 additions and 0 deletions

View File

@ -132,6 +132,7 @@ gcc { # includes intel_icc and clang variants
neon_assembler.commands = $$QMAKE_CC -c $(CFLAGS)
!contains(QT_CPU_FEATURES, neon):neon_assembler.commands += $$QMAKE_CFLAGS_NEON
neon_assembler.commands += $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
clang:no_clang_integrated_as:neon_assembler.commands += -fno-integrated-as
neon_assembler.dependency_type = TYPE_C
neon_assembler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
neon_assembler.input = NEON_ASM

View File

@ -98,6 +98,7 @@ contains(QT_CPU_FEATURES.$$QT_ARCH, sse2) {
IWMMXT_SOURCES += painting/qdrawhelper_iwmmxt.cpp
!ios:contains(QT_CPU_FEATURES.$$QT_ARCH, neon) {
CONFIG += no_clang_integrated_as
SOURCES += painting/qdrawhelper_neon.cpp
HEADERS += painting/qdrawhelper_neon_p.h
NEON_ASM += ../3rdparty/pixman/pixman-arm-neon-asm.S painting/qdrawhelper_neon_asm.S