diff --git a/src/libs/cplusplus/pp-engine.cpp b/src/libs/cplusplus/pp-engine.cpp
index 172f50fb4a398572b76dbb7dec9a48d15b5b3eed..6aa26b6fb770ba59891ba36c30a155e408dbbe5a 100644
--- a/src/libs/cplusplus/pp-engine.cpp
+++ b/src/libs/cplusplus/pp-engine.cpp
@@ -287,6 +287,10 @@ protected:
         } else if ((*_lex)->is(T_PLUS)) {
             ++(*_lex);
             process_primary();
+        } else if ((*_lex)->is(T_TILDE)) {
+            ++(*_lex);
+            process_primary();
+            _value.set_long(~ _value.l);
         } else if ((*_lex)->is(T_EXCLAIM)) {
             ++(*_lex);
             process_primary();