diff --git a/src/shared/cplusplus/Parser.cpp b/src/shared/cplusplus/Parser.cpp
index 1155f1c09fe5855ed12096b70d7524c501c16f0c..07b0a018a502f0c60caa7950c9ae74e6a1596d06 100644
--- a/src/shared/cplusplus/Parser.cpp
+++ b/src/shared/cplusplus/Parser.cpp
@@ -58,6 +58,8 @@
 
 #ifdef _MSC_VER
 #    define va_copy(dst, src) ((dst) = (src))
+#elif defined(__INTEL_COMPILER) && !defined(va_copy)
+#    define va_copy __va_copy
 #endif
 
 #define CPLUSPLUS_NO_DEBUG_RULE
diff --git a/src/shared/cplusplus/TranslationUnit.cpp b/src/shared/cplusplus/TranslationUnit.cpp
index 232b42a72230f9d4b430f911468083b0eb51e6c3..29763530fdb9db7502d761efef5396aa9c27c0e6 100644
--- a/src/shared/cplusplus/TranslationUnit.cpp
+++ b/src/shared/cplusplus/TranslationUnit.cpp
@@ -60,6 +60,8 @@
 
 #ifdef _MSC_VER
 #    define va_copy(dst, src) ((dst) = (src))
+#elif defined(__INTEL_COMPILER) && !defined(va_copy)
+#    define va_copy __va_copy
 #endif
 
 using namespace CPlusPlus;