summaryrefslogtreecommitdiffstats
path: root/qmake
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@digia.com>2013-07-24 19:45:58 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-08-20 22:56:07 +0200
commit15981b985fa3ae250af22f68ddb50e08bd9ce421 (patch)
tree107c6d677617184f9e546d52a7c1cc6993d8e6a3 /qmake
parent0a1faaa9eb7807bf11d796c2eca624e2f3b378a7 (diff)
complain about absent files to -pro argument (in lupdate)
this doesn't actually do anything in qmake. Change-Id: I908fc3792bdc321370e51be98adf7a9c81e37a85 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> (cherry picked from qttools/e1f3732197ef77a29cb7f3c1ce094b3f31a7b689) (cherry picked from qttools/226f013441990aa4a58f7c82e284057cff659959)
Diffstat (limited to 'qmake')
-rw-r--r--qmake/library/qmakeparser.cpp8
-rw-r--r--qmake/library/qmakeparser.h5
2 files changed, 7 insertions, 6 deletions
diff --git a/qmake/library/qmakeparser.cpp b/qmake/library/qmakeparser.cpp
index 67594625dc..0de3804764 100644
--- a/qmake/library/qmakeparser.cpp
+++ b/qmake/library/qmakeparser.cpp
@@ -184,7 +184,7 @@ ProFile *QMakeParser::parsedProFile(const QString &fileName, ParseFlags flags)
locker.unlock();
#endif
pro = new ProFile(fileName);
- if (!read(pro)) {
+ if (!read(pro, flags)) {
delete pro;
pro = 0;
} else {
@@ -205,7 +205,7 @@ ProFile *QMakeParser::parsedProFile(const QString &fileName, ParseFlags flags)
}
} else {
pro = new ProFile(fileName);
- if (!read(pro)) {
+ if (!read(pro, flags)) {
delete pro;
pro = 0;
}
@@ -230,12 +230,12 @@ void QMakeParser::discardFileFromCache(const QString &fileName)
m_cache->discardFile(fileName);
}
-bool QMakeParser::read(ProFile *pro)
+bool QMakeParser::read(ProFile *pro, ParseFlags flags)
{
QString content;
QString errStr;
if (!m_vfs->readFile(pro->fileName(), &content, &errStr)) {
- if (m_handler && m_vfs->exists(pro->fileName()))
+ if (m_handler && ((flags & ParseReportMissing) || m_vfs->exists(pro->fileName())))
m_handler->message(QMakeParserHandler::ParserIoError,
fL1S("Cannot read %1: %2").arg(pro->fileName(), errStr));
return false;
diff --git a/qmake/library/qmakeparser.h b/qmake/library/qmakeparser.h
index e9b0b76b3c..baf0a12045 100644
--- a/qmake/library/qmakeparser.h
+++ b/qmake/library/qmakeparser.h
@@ -89,7 +89,8 @@ public:
enum ParseFlag {
ParseDefault = 0,
- ParseUseCache = 1
+ ParseUseCache = 1,
+ ParseReportMissing = 2
};
Q_DECLARE_FLAGS(ParseFlags, ParseFlag)
@@ -136,7 +137,7 @@ private:
ushort terminator; // '}' if replace function call is braced, ':' if test function
};
- bool read(ProFile *pro);
+ bool read(ProFile *pro, ParseFlags flags);
bool read(ProFile *pro, const QString &content, int line, SubGrammar grammar);
ALWAYS_INLINE void putTok(ushort *&tokPtr, ushort tok);