From 1c23a452c672b87755b11e533d9136704510dfdd Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Thu, 13 Oct 2022 23:18:06 +0200 Subject: Port to new Q_UNREACHABLE_RETURN() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is a semantic patch using ClangTidyTransformator to convert sequences of Q_UNREACHABLE() + return into Q_UNREACHABLE_RETURN(), newly added to qtbase. const std::string unr = "unr", val = "val", ret = "ret"; auto makeUnreachableReturn = cat("Q_UNREACHABLE_RETURN(", ifBound(val, cat(node(val)), cat("")), ")"); auto ignoringSwitchCases = [](auto stmt) { return anyOf(stmt, switchCase(subStmt(stmt))); }; makeRule(stmt(ignoringSwitchCases(stmt(isExpandedFromMacro("Q_UNREACHABLE")).bind(unr)), nextStmt(returnStmt(optionally(hasReturnValue(expr().bind(val)))).bind(ret))), {changeTo(node(unr), cat(makeUnreachableReturn, ";")), // TODO: why is the ; lost w/o this? changeTo(node(ret), cat(""))}, cat("use ", makeUnreachableReturn)); a.k.a qt-use-unreachable-return. subStmt() and nextStmt() are non-standard matchers. Change-Id: I3855b2dc8523db1ea860f72ad9818738162495c6 Reviewed-by: Marc Mutz Reviewed-by: Allan Sandfeld Jensen Reviewed-by: MÃ¥rten Nordheim Reviewed-by: Ivan Solovev --- src/websockets/qwebsocketframe.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src') diff --git a/src/websockets/qwebsocketframe.cpp b/src/websockets/qwebsocketframe.cpp index ac29d1c..6ce8c13 100644 --- a/src/websockets/qwebsocketframe.cpp +++ b/src/websockets/qwebsocketframe.cpp @@ -212,8 +212,7 @@ void QWebSocketFrame::readFrame(QIODevice *pIoDevice) return; default: - Q_UNREACHABLE(); - return; + Q_UNREACHABLE_RETURN(); } } } -- cgit v1.2.1