summaryrefslogtreecommitdiffstats
path: root/tests/auto/tools/moc
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2016-07-05 11:06:55 +0200
committerLars Knoll <lars.knoll@qt.io>2016-07-13 19:50:48 +0000
commitc32ef0a725c7ac9d8a9ab053407389ef2fddc64e (patch)
tree11b161a1a522749b5f51d658ebaa87d92c514d33 /tests/auto/tools/moc
parent31b6760e64498727765b210c4285d127980aa75f (diff)
Don't error out on preprocessor concatenation of two strings
"foo" ## "bar" doesn't make a lot of sense, but MSVC allows them (although gcc errors out on them). Simply ignore the ## in this case instead of aborting with an error. Fixes parsing of the Windows winsock2.h header. Task-number: QTBUG-54560 Change-Id: I84cd5fbb56a006cf379430708c955cf0da475cff Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'tests/auto/tools/moc')
-rw-r--r--tests/auto/tools/moc/tst_moc.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/tests/auto/tools/moc/tst_moc.cpp b/tests/auto/tools/moc/tst_moc.cpp
index 2989ac4485..9fdd37ea9b 100644
--- a/tests/auto/tools/moc/tst_moc.cpp
+++ b/tests/auto/tools/moc/tst_moc.cpp
@@ -70,6 +70,12 @@
#include "non-gadget-parent-class.h"
#include "grand-parent-gadget-class.h"
+#ifdef Q_MOC_RUN
+// check that moc can parse these constructs, they are being used in Windows winsock2.h header
+#define STRING_HASH_HASH(x) ("foo" ## x ## "bar")
+const char *string_hash_hash = STRING_HASH_HASH("baz");
+#endif
+
Q_DECLARE_METATYPE(const QMetaObject*);