diff --git a/wmake/rules/linux64Gcc/c++ b/wmake/rules/linux64Gcc/c++
index a94b22983abaeda3ad49345daf03c20b2a0096ee..fc684d26376c4416ea236e78e8df40ec1949d4d2 100644
--- a/wmake/rules/linux64Gcc/c++
+++ b/wmake/rules/linux64Gcc/c++
@@ -3,8 +3,10 @@ SUFFIXES += .C .cc .cpp .cxx
 c++WARN     = -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter \
               -Wno-invalid-offsetof -Wno-attributes
 
-# Suppress some warnings for flex++ and CGAL
-c++LESSWARN = -Wno-old-style-cast -Wno-unused-local-typedefs -Wno-array-bounds
+# Suppress some warnings (flex++, CGAL, etc)
+c++LESSWARN = \
+    -Wno-old-style-cast -Wno-unused-local-typedefs -Wno-array-bounds \
+    -fpermissive
 
 CC          = g++ -std=c++11 -m64
 
diff --git a/wmake/rules/linux64GccKNL/c++ b/wmake/rules/linux64GccKNL/c++
index 199d72c0fdcb490b1508c8751c47d220c6c64cd7..426e87709a2d7433aaf4bfb92aead5e98e8dde2b 100644
--- a/wmake/rules/linux64GccKNL/c++
+++ b/wmake/rules/linux64GccKNL/c++
@@ -3,8 +3,10 @@ SUFFIXES += .C .cc .cpp .cxx
 c++WARN     = -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter \
               -Wno-invalid-offsetof -Wno-attributes
 
-# Suppress some warnings for flex++ and CGAL
-c++LESSWARN = -Wno-old-style-cast -Wno-unused-local-typedefs -Wno-array-bounds
+# Suppress some warnings (flex++, CGAL, etc)
+c++LESSWARN = \
+    -Wno-old-style-cast -Wno-unused-local-typedefs -Wno-array-bounds \
+    -fpermissive
 
 CC          = g++ -std=c++11 -m64 -march=knl
 
diff --git a/wmake/rules/linuxARM64Gcc/c++ b/wmake/rules/linuxARM64Gcc/c++
index 3985f54a9be5b7b40efcf55194780fefbf7a33f8..c80f07611f18a1f6d2c0da7d4eeccccb9d2dc7a8 100644
--- a/wmake/rules/linuxARM64Gcc/c++
+++ b/wmake/rules/linuxARM64Gcc/c++
@@ -3,8 +3,10 @@ SUFFIXES += .C .cc .cpp .cxx
 c++WARN     = -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter \
               -Wno-invalid-offsetof -Wno-attributes
 
-# Suppress some warnings for flex++ and CGAL
-c++LESSWARN = -Wno-old-style-cast -Wno-unused-local-typedefs -Wno-array-bounds
+# Suppress some warnings (flex++, CGAL, etc)
+c++LESSWARN = \
+    -Wno-old-style-cast -Wno-unused-local-typedefs -Wno-array-bounds \
+    -fpermissive
 
 CC          = g++ -std=c++11
 
diff --git a/wmake/rules/linuxARM7Gcc/c++ b/wmake/rules/linuxARM7Gcc/c++
index 3985f54a9be5b7b40efcf55194780fefbf7a33f8..c80f07611f18a1f6d2c0da7d4eeccccb9d2dc7a8 100644
--- a/wmake/rules/linuxARM7Gcc/c++
+++ b/wmake/rules/linuxARM7Gcc/c++
@@ -3,8 +3,10 @@ SUFFIXES += .C .cc .cpp .cxx
 c++WARN     = -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter \
               -Wno-invalid-offsetof -Wno-attributes
 
-# Suppress some warnings for flex++ and CGAL
-c++LESSWARN = -Wno-old-style-cast -Wno-unused-local-typedefs -Wno-array-bounds
+# Suppress some warnings (flex++, CGAL, etc)
+c++LESSWARN = \
+    -Wno-old-style-cast -Wno-unused-local-typedefs -Wno-array-bounds \
+    -fpermissive
 
 CC          = g++ -std=c++11
 
diff --git a/wmake/rules/linuxGcc/c++ b/wmake/rules/linuxGcc/c++
index 3076e7e6c036017aeccbca83212e3a8bd99c5e3b..989fb670d4ba701e96e14c4a4a933b11518369f0 100644
--- a/wmake/rules/linuxGcc/c++
+++ b/wmake/rules/linuxGcc/c++
@@ -3,8 +3,10 @@ SUFFIXES += .C .cc .cpp .cxx
 c++WARN     = -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter \
               -Wno-invalid-offsetof -Wno-attributes
 
-# Suppress some warnings for flex++ and CGAL
-c++LESSWARN = -Wno-old-style-cast -Wno-unused-local-typedefs -Wno-array-bounds
+# Suppress some warnings (flex++, CGAL, etc)
+c++LESSWARN = \
+    -Wno-old-style-cast -Wno-unused-local-typedefs -Wno-array-bounds \
+    -fpermissive
 
 CC          = g++ -std=c++11 -m32
 
diff --git a/wmake/rules/linuxIA64Gcc/c++ b/wmake/rules/linuxIA64Gcc/c++
index de9a95ab4b12742b68ab19027ea3b94d150d73a4..30ef1360382cc9adc6ee2f801f5fd2612f9c3bc3 100644
--- a/wmake/rules/linuxIA64Gcc/c++
+++ b/wmake/rules/linuxIA64Gcc/c++
@@ -3,8 +3,10 @@ SUFFIXES += .C .cc .cpp .cxx
 c++WARN     = -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter \
               -Wno-invalid-offsetof -Wno-attributes
 
-# Suppress some warnings for flex++ and CGAL
-c++LESSWARN = -Wno-old-style-cast -Wno-unused-local-typedefs -Wno-array-bounds
+# Suppress some warnings (flex++, CGAL, etc)
+c++LESSWARN = \
+    -Wno-old-style-cast -Wno-unused-local-typedefs -Wno-array-bounds \
+    -fpermissive
 
 CC          = g++ -std=c++11
 
diff --git a/wmake/rules/linuxPPC64Gcc/c++ b/wmake/rules/linuxPPC64Gcc/c++
index 1bc42bc7cf7ba725af7a8b3d796ca5389269d771..1c03f810215c0ab57b110dbb90efba6f239a2d10 100644
--- a/wmake/rules/linuxPPC64Gcc/c++
+++ b/wmake/rules/linuxPPC64Gcc/c++
@@ -3,8 +3,10 @@ SUFFIXES += .C .cc .cpp .cxx
 c++WARN     = -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter \
               -Wno-invalid-offsetof -Wno-attributes
 
-# Suppress some warnings for flex++ and CGAL
-c++LESSWARN = -Wno-old-style-cast -Wno-unused-local-typedefs -Wno-array-bounds
+# Suppress some warnings (flex++, CGAL, etc)
+c++LESSWARN = \
+    -Wno-old-style-cast -Wno-unused-local-typedefs -Wno-array-bounds \
+    -fpermissive
 
 CC          = g++ -std=c++11 -m64 -mcpu=power5+
 
diff --git a/wmake/rules/linuxPPC64leGcc/c++ b/wmake/rules/linuxPPC64leGcc/c++
index 341a2b59550e3d1f7f6a2a5d52b9fb433c9d1462..c3d60d0fee819b67b9eb906ba3fde603d19bafd5 100644
--- a/wmake/rules/linuxPPC64leGcc/c++
+++ b/wmake/rules/linuxPPC64leGcc/c++
@@ -3,8 +3,10 @@ SUFFIXES += .C .cc .cpp .cxx
 c++WARN     = -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter \
               -Wno-invalid-offsetof -Wno-attributes
 
-# Suppress some warnings for flex++ and CGAL
-c++LESSWARN = -Wno-old-style-cast -Wno-unused-local-typedefs -Wno-array-bounds
+# Suppress some warnings (flex++, CGAL, etc)
+c++LESSWARN = \
+    -Wno-old-style-cast -Wno-unused-local-typedefs -Wno-array-bounds \
+    -fpermissive
 
 CC          = g++ -std=c++11 -m64 -mcpu=power8
 
diff --git a/wmake/rules/solaris64Gcc/c++ b/wmake/rules/solaris64Gcc/c++
index 74b72eecd8faeca3164146f79da10ff2ade3675a..d5d600a75899ac5e100e4996086abec8d8e0db69 100644
--- a/wmake/rules/solaris64Gcc/c++
+++ b/wmake/rules/solaris64Gcc/c++
@@ -3,7 +3,7 @@ SUFFIXES += .C .cc .cpp .cxx
 c++WARN     = -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter \
               -Wno-invalid-offsetof -Wno-attributes
 
-# Suppress some warnings for flex++ and CGAL
+# Suppress some warnings (flex++, CGAL, etc)
 c++LESSWARN =
 
 CC          = g++ -std=c++11 -m64
diff --git a/wmake/rules/solarisGcc/c++ b/wmake/rules/solarisGcc/c++
index cf37d4c57b92b931d5eb4c7b5af4ae076807fb79..c68c26a29da9e357a36541a18b6b0be5a92819cc 100644
--- a/wmake/rules/solarisGcc/c++
+++ b/wmake/rules/solarisGcc/c++
@@ -3,7 +3,7 @@ SUFFIXES += .C .cc .cpp .cxx
 c++WARN     = -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter \
               -Wno-invalid-offsetof -Wno-attributes
 
-# Suppress some warnings for flex++ and CGAL
+# Suppress some warnings (flex++, CGAL, etc)
 c++LESSWARN =
 
 CC          = g++ -std=c++11