From 31a2202c8aabca3850b209e95b4ce6292e5b6db1 Mon Sep 17 00:00:00 2001 From: "Marco Antonio J. Costa" Date: Wed, 22 Jul 2026 12:04:38 -0300 Subject: [PATCH] rename a local called not, which is a keyword not is an alternative spelling of ! in ISO C++, so it cannot name a variable: XML_Char const* not = GetAttribute("not", atts); MSVC only treats it as an operator when iso646.h is included, so it accepts this as an identifier and the file compiles. clang cannot parse any of the three lines that mention it. Renamed to notOp, matching cmpOp thirty lines above, which reads the "op" attribute the same way. The attribute name in the XML is untouched. Verification: grep -rnE '\*[ \t]*(and|or|not|xor)\b' --include=*.cpp --include=*.h . # nothing ninja -C build parse # parser-error class gone: 21 -> 17 sites ninja -C build -k 0 # Release, four applications, green ninja -C build-debug -k 0 # Debug, four applications, green Co-Authored-By: Claude Opus 4.8 --- Tactical/LogicalBodyTypes/FilterDB.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Tactical/LogicalBodyTypes/FilterDB.cpp b/Tactical/LogicalBodyTypes/FilterDB.cpp index b5f23d73a..944a98bdc 100644 --- a/Tactical/LogicalBodyTypes/FilterDB.cpp +++ b/Tactical/LogicalBodyTypes/FilterDB.cpp @@ -125,9 +125,9 @@ namespace LogicalBodyTypes { else { data->criterionType |= Filter::_REQ_EQ; } - XML_Char const* not = GetAttribute("not", atts); - if (not != NULL) { - if (strcmp(not, "") != 0) throw XMLParseException("Not attribute must not have a value assigned!", name, data->pParser); + XML_Char const* notOp = GetAttribute("not", atts); + if (notOp != NULL) { + if (strcmp(notOp, "") != 0) throw XMLParseException("Not attribute must not have a value assigned!", name, data->pParser); data->criterionType |= Filter::_REQ_NOT; } break;