| Summary: | C++ import does not preprocess properly #if's | ||
|---|---|---|---|
| Product: | [Applications] umbrello | Reporter: | vittor <jean.vittor> |
| Component: | general | Assignee: | Ralf Habacker <ralf.habacker> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | ralf.habacker |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | http://commits.kde.org/umbrello/7392b08d35402727b701829c7cfa66078b499fed | Version Fixed/Implemented In: | 4.12.2 |
| Sentry Crash Report: | |||
Now classes Class2, Class3 & Class4 are created instead of Class2 and Class 4: macros are not substituted in #if directives. Git commit ba07c01dea08c011393237a8d3e9ebc0a0604dc0 by Ralf Habacker. Committed on 22/01/2014 at 11:27. Pushed by habacker into branch 'master'. Evaluate macro expressions. M +15 -2 umbrello/codeimport/kdevcppparser/preprocesslexer.cpp M +1 -0 umbrello/codeimport/kdevcppparser/preprocesslexer.h http://commits.kde.org/umbrello/ba07c01dea08c011393237a8d3e9ebc0a0604dc0 Git commit 67ce352b4e7b0db6784ab08910c3b42e9fdb11cf by Ralf Habacker. Committed on 22/01/2014 at 11:27. Pushed by habacker into branch 'KDE/4.12'. Evaluate macro expressions. FIXED-IN:2.12.2 FIXED-IN:4.11.6 (cherry picked from commit ba07c01dea08c011393237a8d3e9ebc0a0604dc0) M +15 -2 umbrello/codeimport/kdevcppparser/preprocesslexer.cpp M +1 -0 umbrello/codeimport/kdevcppparser/preprocesslexer.h http://commits.kde.org/umbrello/67ce352b4e7b0db6784ab08910c3b42e9fdb11cf Git commit 7392b08d35402727b701829c7cfa66078b499fed by Ralf Habacker. Committed on 22/01/2014 at 11:27. Pushed by habacker into branch 'KDE/4.11'. Evaluate macro expressions. FIXED-IN:4.11.6 (cherry picked from commit ba07c01dea08c011393237a8d3e9ebc0a0604dc0) Conflicts: umbrello/codeimport/kdevcppparser/preprocesslexer.h M +15 -2 umbrello/codeimport/kdevcppparser/preprocesslexer.cpp M +1 -0 umbrello/codeimport/kdevcppparser/preprocesslexer.h http://commits.kde.org/umbrello/7392b08d35402727b701829c7cfa66078b499fed |
Version: (using Devel) Installed from: Compiled sources Compiler: gcc 4.2.2 OS: Linux When importing the following code, classes Class3 & Class4 are created instead of Class2 and Class 4. #define Zero 0 #define One 1 #if 0 class Class1 {}; #endif #if 1 class Class2 {}; #endif #if Zero class Class3 {}; #endif #if One class Class4 {}; #endif