moc: do not error if the last token of a define is #
We do not need to emit a diagnostic at definition time. The diagnostic will be emit at expansion time. Fix error when parsing boost header: /usr/include/boost/fusion/container/vector/vector.hpp:25: Error: '#' is not followed by a macro parameter Task-number: QTBUG-42233 Change-Id: I27deab362341f17ca3b0160615bb1b0934c3d5c3 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
This commit is contained in:
parent
7567e09389
commit
27d79ce91b
@ -1,7 +1,7 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
|
||||
** Copyright (C) 2013 Olivier Goffart <ogoffart@woboq.org>
|
||||
** Copyright (C) 2014 Olivier Goffart <ogoffart@woboq.org>
|
||||
** Contact: http://www.qt-project.org/legal
|
||||
**
|
||||
** This file is part of the tools applications of the Qt Toolkit.
|
||||
@ -1094,10 +1094,6 @@ void Preprocessor::preprocess(const QByteArray &filename, Symbols &preprocessed)
|
||||
macro.symbols.last().token == PP_HASHHASH) {
|
||||
error("'##' cannot appear at either end of a macro expansion");
|
||||
}
|
||||
if (macro.symbols.last().token == HASH ||
|
||||
macro.symbols.last().token == PP_HASH) {
|
||||
error("'#' is not followed by a macro parameter");
|
||||
}
|
||||
}
|
||||
macros.insert(name, macro);
|
||||
continue;
|
||||
|
@ -77,6 +77,8 @@
|
||||
#define DEFINE_CMDLINE_SIGNAL void cmdlineSignal(const QMap<int, int> &i)
|
||||
#endif
|
||||
|
||||
#define HASH_SIGN #
|
||||
|
||||
PD_BEGIN_NAMESPACE
|
||||
|
||||
class DEFINE_CMDLINE_EMPTY PD_CLASSNAME DEFINE_CMDLINE_EMPTY
|
||||
|
Loading…
Reference in New Issue
Block a user