Version: 4.1.60 (using KDE 4.6.0) OS: Linux Google test (http://code.google.com/p/googletest/) uses macros in the form "switch (0) case 0: if (true) ; else ;" for its ASSERT_* macros. Since there is only one case in the switch, curly braces should not be required around it. However, when parsing such a line, kdevelop displays an error "Unexpected token 'case'". Reproducible: Always Steps to Reproduce: $ cat << EOF > main.cpp int main() { switch (0) case 0: if (true) ; else return 1; return 0; } EOF # Make sure the code is legit: $ g++ --version g++ (GCC) 4.5.2 $ g++ -ansi -Wall -pedantic main.cpp # Open main.cpp in kdevelop # Toggle 'Problems' tool view open Actual Results: The "switch" line is highlighted, and the problem "Unexpected token 'case'" appears line 3 column 16. Expected Results: There should be no problem shown on this line. "switch (0) { case 0: if (true) ; else return 1; }" is a syntax accepted by kdevelop.
*** This bug has been marked as a duplicate of bug 204665 ***
Moving all the bugs from the CPP Parser. It was not well defined the difference between it and C++ Language Support and people kept reporting in both places indistinctively