diff --git a/src/libs/utils/qtcassert.h b/src/libs/utils/qtcassert.h index d05be20df812dd26c742a0e84e9bafe5ad87b35d..f75d225f6e65ae19db688e04b833b69e18842f21 100644 --- a/src/libs/utils/qtcassert.h +++ b/src/libs/utils/qtcassert.h @@ -36,13 +36,11 @@ #include <QtCore/QDebug> -#ifdef Q_OS_UNIX +// we do not use the 'do {...} while (0)' idiom here to be able to use +// 'break' and 'continue' as 'actions'. + #define QTC_ASSERT(cond, action) \ if(cond){}else{qDebug()<<"ASSERTION"<<#cond<<"FAILED"<<__FILE__<<__LINE__;action;} -#else -#define QTC_ASSERT(cond, action) \ - if(cond){}else{qDebug()<<"ASSERTION"<<#cond<<"FAILED";action;} -#endif #endif // QTC_ASSERT_H diff --git a/src/plugins/debugger/breakhandler.cpp b/src/plugins/debugger/breakhandler.cpp index 926568517daabea3ebae63d3506fda87e2f49d62..e27aa5ec41dd7941e15f6f0bf4ddaeb7114851a4 100644 --- a/src/plugins/debugger/breakhandler.cpp +++ b/src/plugins/debugger/breakhandler.cpp @@ -34,7 +34,8 @@ #include "breakhandler.h" #include "imports.h" // TextEditor::BaseTextMark -#include "qtcassert.h" + +#include <utils/qtcassert.h> #include <QtCore/QDebug> #include <QtCore/QFileInfo> diff --git a/src/plugins/debugger/debugger.pro b/src/plugins/debugger/debugger.pro index 6b8c2e74ca45f204ef14028aeb91540da3dd1e22..3d67e19c6aae2337f008e5416c5d18d99ba5c729 100644 --- a/src/plugins/debugger/debugger.pro +++ b/src/plugins/debugger/debugger.pro @@ -10,8 +10,6 @@ include(../../plugins/texteditor/texteditor.pri) include(../../plugins/cpptools/cpptools.pri) include(../../libs/cplusplus/cplusplus.pri) -INCLUDEPATH += ../../libs/utils - # DEFINES += QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII QT += gui network script diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 03f86bec2492ed19e0edc4363d8dad7965378551..37406f70cc1a6678e9506c75d320adea5711d544 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -39,7 +39,6 @@ #include "gdboptionpage.h" #include "gdbengine.h" #include "mode.h" -#include "qtcassert.h" #include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/coreconstants.h> @@ -48,20 +47,27 @@ #include <coreplugin/messagemanager.h> #include <coreplugin/modemanager.h> #include <coreplugin/uniqueidmanager.h> + #include <cplusplus/ExpressionUnderCursor.h> + #include <cppeditor/cppeditorconstants.h> + #include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/session.h> + +#include <texteditor/basetexteditor.h> #include <texteditor/basetextmark.h> #include <texteditor/itexteditor.h> #include <texteditor/texteditorconstants.h> -#include <texteditor/basetexteditor.h> + +#include <utils/qtcassert.h> #include <QtCore/QDebug> #include <QtCore/qplugin.h> #include <QtCore/QObject> #include <QtCore/QPoint> #include <QtCore/QSettings> + #include <QtGui/QPlainTextEdit> #include <QtGui/QTextBlock> #include <QtGui/QTextCursor> diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp index 13af8e3075bd145450f3d081a6de47567958185d..d7ac5b1aaa1b4897e1c51bcdcb415aefc75ec271 100644 --- a/src/plugins/debugger/gdbengine.cpp +++ b/src/plugins/debugger/gdbengine.cpp @@ -37,7 +37,6 @@ #include "debuggermanager.h" #include "gdbmi.h" #include "procinterrupt.h" -#include "qtcassert.h" #include "disassemblerhandler.h" #include "breakhandler.h" @@ -49,6 +48,8 @@ #include "startexternaldialog.h" #include "attachexternaldialog.h" +#include <utils/qtcassert.h> + #include <QtCore/QDebug> #include <QtCore/QDir> #include <QtCore/QFileInfo> diff --git a/src/plugins/debugger/gdbmi.cpp b/src/plugins/debugger/gdbmi.cpp index 3beadc385fa8067186ac4f5c1f01515c753cd2cf..f14bb752e3e94f8e6b246c13988554cc697d5353 100644 --- a/src/plugins/debugger/gdbmi.cpp +++ b/src/plugins/debugger/gdbmi.cpp @@ -32,10 +32,10 @@ ***************************************************************************/ #include "gdbmi.h" -#include "qtcassert.h" + +#include <utils/qtcassert.h> #include <QtCore/QByteArray> -#include <QtCore/QDebug> #include <QtCore/QTextStream> namespace Debugger { diff --git a/src/plugins/debugger/mode.cpp b/src/plugins/debugger/mode.cpp index c1bbdd550f1039e8d97debd6199d66b0d9377f16..234f09c207931573e8bf8beec889944b410a00bb 100644 --- a/src/plugins/debugger/mode.cpp +++ b/src/plugins/debugger/mode.cpp @@ -35,7 +35,6 @@ #include "debuggerconstants.h" #include "debuggermanager.h" -#include "qtcassert.h" #include <coreplugin/coreconstants.h> #include <coreplugin/icore.h> @@ -48,10 +47,14 @@ #include <coreplugin/outputpane.h> #include <coreplugin/navigationwidget.h> #include <coreplugin/rightpane.h> + #include <projectexplorer/projectexplorerconstants.h> +#include <utils/qtcassert.h> + #include <QtCore/QDebug> #include <QtCore/QSettings> + #include <QtGui/QDockWidget> #include <QtGui/QLabel> #include <QtGui/QMainWindow> diff --git a/src/plugins/debugger/scriptengine.cpp b/src/plugins/debugger/scriptengine.cpp index 50f9dcdf4e27bc1f37c4a71b2b22e1a6d9afaa98..e6387bfdda9a4fa7d09e2d4ab631777cf7f672f1 100644 --- a/src/plugins/debugger/scriptengine.cpp +++ b/src/plugins/debugger/scriptengine.cpp @@ -33,19 +33,18 @@ #include "scriptengine.h" -#include "qtcassert.h" +#include "attachexternaldialog.h" +#include "breakhandler.h" #include "debuggerconstants.h" #include "debuggermanager.h" - #include "disassemblerhandler.h" -#include "breakhandler.h" #include "moduleshandler.h" #include "registerhandler.h" #include "stackhandler.h" +#include "startexternaldialog.h" #include "watchhandler.h" -#include "startexternaldialog.h" -#include "attachexternaldialog.h" +#include <utils/qtcassert.h> #include <QtCore/QDateTime> #include <QtCore/QDebug> diff --git a/src/plugins/debugger/stackhandler.cpp b/src/plugins/debugger/stackhandler.cpp index 818b6b6188822020f9f314e2fd0c32818aa80371..fd70e1e1ab9c8f785690b0cfcdd6c28da4cc6595 100644 --- a/src/plugins/debugger/stackhandler.cpp +++ b/src/plugins/debugger/stackhandler.cpp @@ -33,7 +33,7 @@ #include "stackhandler.h" -#include "qtcassert.h" +#include <utils/qtcassert.h> #include <QtCore/QAbstractTableModel> #include <QtCore/QDebug> diff --git a/src/plugins/debugger/watchhandler.cpp b/src/plugins/debugger/watchhandler.cpp index e03c91f71003e04d15325b20dbba770071bb0b51..07824735ebfb28428785e749b9f371cf188c53d0 100644 --- a/src/plugins/debugger/watchhandler.cpp +++ b/src/plugins/debugger/watchhandler.cpp @@ -37,7 +37,7 @@ #include "modeltest.h" #endif -#include "qtcassert.h" +#include <utils/qtcassert.h> #include <QtCore/QDebug> #include <QtCore/QEvent> diff --git a/src/plugins/projectexplorer/projectnodes.cpp b/src/plugins/projectexplorer/projectnodes.cpp index 1c30bbe10944bb3a5230931fcb911133291336bf..7c85aae6ae36a04e85c350bbb0c4dfbf2754d297 100644 --- a/src/plugins/projectexplorer/projectnodes.cpp +++ b/src/plugins/projectexplorer/projectnodes.cpp @@ -314,8 +314,8 @@ void ProjectNode::addProjectNodes(const QList<ProjectNode*> &subProjects) emit watcher->foldersAboutToBeAdded(this, folderNodes); foreach (ProjectNode *project, subProjects) { - Q_ASSERT_X(!project->parentFolderNode(), "addProjectNodes", - "Project node has already a parent"); + QTC_ASSERT(!project->parentFolderNode(), + qDebug("Project node has already a parent")); project->setParentFolderNode(this); foreach (NodesWatcher *watcher, m_watchers) project->registerWatcher(watcher); @@ -353,13 +353,13 @@ void ProjectNode::removeProjectNodes(const QList<ProjectNode*> &subProjects) for (; toRemoveIter != toRemove.constEnd(); ++toRemoveIter) { while ((*projectIter)->path() != (*toRemoveIter)->path()) { ++projectIter; - Q_ASSERT_X(projectIter != m_subProjectNodes.end(), "removeProjectNodes", - "Project to remove is not part of specified folder!"); + QTC_ASSERT(projectIter != m_subProjectNodes.end(), + qDebug("Project to remove is not part of specified folder!")); } while ((*folderIter)->path() != (*toRemoveIter)->path()) { ++folderIter; - Q_ASSERT_X(folderIter != m_subFolderNodes.end(), "removeProjectNodes", - "Project to remove is not part of specified folder!"); + QTC_ASSERT(folderIter != m_subFolderNodes.end(), + qDebug("Project to remove is not part of specified folder!")); } delete *projectIter; projectIter = m_subProjectNodes.erase(projectIter); @@ -386,15 +386,15 @@ void ProjectNode::addFolderNodes(const QList<FolderNode*> &subFolders, FolderNod watcher->foldersAboutToBeAdded(parentFolder, subFolders); foreach (FolderNode *folder, subFolders) { - Q_ASSERT_X(!folder->parentFolderNode(), "addFolderNodes", - "Project node has already a parent folder"); + QTC_ASSERT(!folder->parentFolderNode(), + qDebug("Project node has already a parent folder")); folder->setParentFolderNode(parentFolder); folder->setProjectNode(this); parentFolder->m_subFolderNodes.append(folder); // project nodes have to be added via addProjectNodes - Q_ASSERT_X(folder->nodeType() != ProjectNodeType, "addFolderNodes", - "project nodes have to be added via addProjectNodes"); + QTC_ASSERT(folder->nodeType() != ProjectNodeType, + qDebug("project nodes have to be added via addProjectNodes")); } qSort(parentFolder->m_subFolderNodes.begin(), parentFolder->m_subFolderNodes.end(), sortNodesByPath); @@ -427,12 +427,12 @@ void ProjectNode::removeFolderNodes(const QList<FolderNode*> &subFolders, QList<FolderNode*>::const_iterator toRemoveIter = toRemove.constBegin(); QList<FolderNode*>::iterator folderIter = parentFolder->m_subFolderNodes.begin(); for (; toRemoveIter != toRemove.constEnd(); ++toRemoveIter) { - Q_ASSERT_X(((*toRemoveIter)->nodeType() != ProjectNodeType), "removeFolderNodes", - "project nodes have to be removed via removeProjectNodes"); + QTC_ASSERT((*toRemoveIter)->nodeType() != ProjectNodeType, + qDebug("project nodes have to be removed via removeProjectNodes")); while ((*folderIter)->path() != (*toRemoveIter)->path()) { ++folderIter; - Q_ASSERT_X(folderIter != parentFolder->m_subFolderNodes.end(), "removeFileNodes", - "Folder to remove is not part of specified folder!"); + QTC_ASSERT(folderIter != parentFolder->m_subFolderNodes.end(), + qDebug("Folder to remove is not part of specified folder!")); } delete *folderIter; folderIter = parentFolder->m_subFolderNodes.erase(folderIter); @@ -460,8 +460,8 @@ void ProjectNode::addFileNodes(const QList<FileNode*> &files, FolderNode *folder emit watcher->filesAboutToBeAdded(folder, files); foreach (FileNode *file, files) { - Q_ASSERT_X(!file->parentFolderNode(), "addFileNodes", - "File node has already a parent folder"); + QTC_ASSERT(!file->parentFolderNode(), + qDebug("File node has already a parent folder")); file->setParentFolderNode(folder); file->setProjectNode(this); @@ -499,8 +499,8 @@ void ProjectNode::removeFileNodes(const QList<FileNode*> &files, FolderNode *fol for (; toRemoveIter != toRemove.constEnd(); ++toRemoveIter) { while ((*filesIter)->path() != (*toRemoveIter)->path()) { ++filesIter; - Q_ASSERT_X(filesIter != folder->m_fileNodes.end(), "removeFileNodes", - "File to remove is not part of specified folder!"); + QTC_ASSERT(filesIter != folder->m_fileNodes.end(), + qDebug("File to remove is not part of specified folder!")); } delete *filesIter; filesIter = folder->m_fileNodes.erase(filesIter); @@ -591,8 +591,8 @@ void SessionNode::addProjectNodes(const QList<ProjectNode*> &projectNodes) emit watcher->foldersAboutToBeAdded(this, folderNodes); foreach (ProjectNode *project, projectNodes) { - Q_ASSERT_X(!project->parentFolderNode(), "addProjectNodes", - "Project node has already a parent folder"); + QTC_ASSERT(!project->parentFolderNode(), + qDebug("Project node has already a parent folder")); project->setParentFolderNode(this); foreach (NodesWatcher *watcher, m_watchers) project->registerWatcher(watcher); @@ -621,13 +621,13 @@ void SessionNode::removeProjectNodes(const QList<ProjectNode*> &projectNodes) for (; toRemoveIter != toRemove.constEnd(); ++toRemoveIter) { while ((*projectIter)->path() != (*toRemoveIter)->path()) { ++projectIter; - Q_ASSERT_X(projectIter != m_projectNodes.end(), "removeProjectNodes", - "Project to remove is not part of specified folder!"); + QTC_ASSERT(projectIter != m_projectNodes.end(), + qDebug("Project to remove is not part of specified folder!")); } while ((*folderIter)->path() != (*toRemoveIter)->path()) { ++folderIter; - Q_ASSERT_X(folderIter != m_subFolderNodes.end(), "removeProjectNodes", - "Project to remove is not part of specified folder!"); + QTC_ASSERT(folderIter != m_subFolderNodes.end(), + qDebug("Project to remove is not part of specified folder!")); } projectIter = m_projectNodes.erase(projectIter); folderIter = m_subFolderNodes.erase(folderIter);