diff --git a/tests/basic/aggregate.cpp b/tests/basic/aggregate.cpp
index f93dabcc49bfe8f210c4c6a09a48c091d9a36e09..fd9493fab1382b3e2b636bc5d7cacde67f455510 100644
--- a/tests/basic/aggregate.cpp
+++ b/tests/basic/aggregate.cpp
@@ -1,5 +1,5 @@
 /* run.config
-OPT: @CXX@ @EVA@ -print
+OPT: @MACHDEP@ @CXX@ @EVA@ -print
 */
 
 struct A {
diff --git a/tests/basic/extern.cc b/tests/basic/extern.cc
index e787cd4fda463f76ebb55f127abb8fd9fd56a3ff..68e9c1003b55760948bd4a5e333d6ab9ccff737d 100644
--- a/tests/basic/extern.cc
+++ b/tests/basic/extern.cc
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: @CXX@ -check -print -cxx-demangling-full
+   OPT: @MACHDEP@ @CXX@ -check -print -cxx-demangling-full
 */
 
 extern "C" {
diff --git a/tests/basic/extern_static_const.cpp b/tests/basic/extern_static_const.cpp
index ebf5b7f3e8b5f5af9a74701ec11c12939dc428c2..486853c60f7de183363fb544d7d2ca978fea7e3d 100644
--- a/tests/basic/extern_static_const.cpp
+++ b/tests/basic/extern_static_const.cpp
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: @CXX@ -check -print -cxx-keep-mangling
+   OPT: @MACHDEP@ @CXX@ -check -print -cxx-keep-mangling
 */
 
 extern "C" {
diff --git a/tests/basic/nullptr_builtin.cpp b/tests/basic/nullptr_builtin.cpp
index 61084eb008e442037771b63f968b3e5b821285a4..8c5c8da0a215a9dc5b2dbf83c917852b9af85328 100644
--- a/tests/basic/nullptr_builtin.cpp
+++ b/tests/basic/nullptr_builtin.cpp
@@ -1,5 +1,5 @@
 /* run.config
-OPT: @CXX@ -print
+OPT: @MACHDEP@ @CXX@ -print
 COMMENT: test handling of built-in nullptr_t
 */
 
diff --git a/tests/basic/static_1.cpp b/tests/basic/static_1.cpp
index bdb4b8889b3b18c0825381e7fa530040588019d0..ed0af90d5e0715f62bed7346f563824b8df85c1e 100644
--- a/tests/basic/static_1.cpp
+++ b/tests/basic/static_1.cpp
@@ -1,6 +1,6 @@
 /* run.config
    GCC:
-   OPT: tests/basic/static_1_aux.cpp -print -check -cxx-c++stdlib-path share/libc++ -cxx-clang-command="bin/framaCIRGen"
+   OPT: @MACHDEP@ tests/basic/static_1_aux.cpp -print -check -cxx-c++stdlib-path share/libc++ -cxx-clang-command="bin/framaCIRGen"
 */
 
 
diff --git a/tests/bts/fixed_from_1757.cpp b/tests/bts/fixed_from_1757.cpp
index ab3e7458a4eaf09e8f1fb5b354532a86778172a8..5a2c2e873e7382bfa46a2f4331a5c2c707e4428d 100644
--- a/tests/bts/fixed_from_1757.cpp
+++ b/tests/bts/fixed_from_1757.cpp
@@ -1,5 +1,5 @@
 /* run.config
-OPT: -deps -check -print
+OPT: @MACHDEP@ -deps -check -print
 */
 
 //@ assigns \nothing;
diff --git a/tests/bts/preprocessor_1786.cpp b/tests/bts/preprocessor_1786.cpp
index eee31ef87f821c3873f84235a26a6c1cf592ad36..f0d9c06388a16e33477bed6b0b9e5558c7286417 100644
--- a/tests/bts/preprocessor_1786.cpp
+++ b/tests/bts/preprocessor_1786.cpp
@@ -1,6 +1,6 @@
 /* run.config
-OPT: -cpp-extra-args="-DFOO" -print
-OPT: -cxx-clang-command="bin/framaCIRGen -DFOO" -print 
+OPT: @MACHDEP@ -cpp-extra-args="-DFOO" -print
+OPT: @MACHDEP@ -cxx-clang-command="bin/framaCIRGen -DFOO" -print 
 */
 
 #ifdef FOO
diff --git a/tests/bugs/test_config b/tests/bugs/test_config
index 0e6ce2b634d2e4b9c4a16fea9061a5b049dac352..dc51e86ed0b5878be56aec72aeccc3082f16205a 100644
--- a/tests/bugs/test_config
+++ b/tests/bugs/test_config
@@ -1 +1 @@
-OPT:-print @CXX@ @WP@
+OPT:@MACHDEP@ -print @CXX@ @WP@
diff --git a/tests/da/test_config b/tests/da/test_config
index 0e6ce2b634d2e4b9c4a16fea9061a5b049dac352..dc51e86ed0b5878be56aec72aeccc3082f16205a 100644
--- a/tests/da/test_config
+++ b/tests/da/test_config
@@ -1 +1 @@
-OPT:-print @CXX@ @WP@
+OPT:@MACHDEP@ -print @CXX@ @WP@
diff --git a/tests/exn/all_exn.cpp b/tests/exn/all_exn.cpp
index c71a84520ca34e15eeab9c70ee67b13003f0fedd..c01b63c8f06b4abbc69e1216b148039a1111a454 100644
--- a/tests/exn/all_exn.cpp
+++ b/tests/exn/all_exn.cpp
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: @CXX@ -check -print
+   OPT: @MACHDEP@ @CXX@ -check -print
 */
 
 
diff --git a/tests/exn/integer_exn.cpp b/tests/exn/integer_exn.cpp
index 6dde7e24352413dd45a0be1ad6c18de7b702a59b..4ffba19c2b7166339eba6a7a62cd101586724322 100644
--- a/tests/exn/integer_exn.cpp
+++ b/tests/exn/integer_exn.cpp
@@ -1,7 +1,7 @@
 /* run.config
-   OPT: @CXX@ -no-remove-exn -print -check
-   OPT: @CXX@ -check -print
-   OPT: @CXX@ @EVA@
+   OPT: @MACHDEP@ @CXX@ -no-remove-exn -print -check
+   OPT: @MACHDEP@ @CXX@ -check -print
+   OPT: @MACHDEP@ @CXX@ @EVA@
  */
 enum foo { BAR = 2 };
 
diff --git a/tests/exn/simple_exn.cpp b/tests/exn/simple_exn.cpp
index 3968cc60e1cceb50a2018ebbabb0a3c375cdc702..7b96faf7847b27a38aa769fe408d0d47668d4f74 100644
--- a/tests/exn/simple_exn.cpp
+++ b/tests/exn/simple_exn.cpp
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: @CXX@ -check -print
+   OPT: @MACHDEP@ @CXX@ -check -print
 */
 
 int f(int x) { if (x < 0) throw(5); else if (x > 0) throw(5.0); return 2; }
diff --git a/tests/exn/unsigned_exn.cpp b/tests/exn/unsigned_exn.cpp
index 0874e2ff3e61a10c46e53d2e20be3ef17a8a8bd3..2614d514d998246ee175f139eaf5a5b7795f9d80 100644
--- a/tests/exn/unsigned_exn.cpp
+++ b/tests/exn/unsigned_exn.cpp
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: @CXX@ -check -print
+   OPT: @MACHDEP@ @CXX@ -check -print
 */
 
 int f(int x) { if (x < 0) throw(5); else if (x > 0) throw(5U); return 2; }
diff --git a/tests/old/recv.cc b/tests/old/recv.cc
index 00f862ccc39bf43874d2eff8232f77cb04549cb3..c704908d0932a6f625546dcecfef575859b43c6f 100644
--- a/tests/old/recv.cc
+++ b/tests/old/recv.cc
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: @CXX@ @ALLOC@ -eva-slevel 12 @EVA@ -out -journal-disable -no-annot
+   OPT: @MACHDEP@ @CXX@ @ALLOC@ -eva-slevel 12 @EVA@ -out -journal-disable -no-annot
 */
 class A {
   int val;
diff --git a/tests/ppwp/test_config b/tests/ppwp/test_config
index 0e6ce2b634d2e4b9c4a16fea9061a5b049dac352..dc51e86ed0b5878be56aec72aeccc3082f16205a 100644
--- a/tests/ppwp/test_config
+++ b/tests/ppwp/test_config
@@ -1 +1 @@
-OPT:-print @CXX@ @WP@
+OPT:@MACHDEP@ -print @CXX@ @WP@
diff --git a/tests/slicing/basic_slice.cc b/tests/slicing/basic_slice.cc
index d67cbaf9a66c5484a07553837ad034d7400e2ffe..35dc8bf01b46b0628a42a635e8898e2701d3db08 100644
--- a/tests/slicing/basic_slice.cc
+++ b/tests/slicing/basic_slice.cc
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: @EVA@ -slice-assert ::f -slice-callers -slice-print -journal-disable
+   OPT: @MACHDEP@ @EVA@ -slice-assert ::f -slice-callers -slice-print -journal-disable
 */
 struct A {
   int x;
diff --git a/tests/specs/assigns.cc b/tests/specs/assigns.cc
index a61b6320f392390ebdced56bfac9fa929d9acd1a..15843573ee722778a0dca47d5c3fdba296fb09ad 100644
--- a/tests/specs/assigns.cc
+++ b/tests/specs/assigns.cc
@@ -1,5 +1,5 @@
 /* run.config
-OPT: @CXX@ @EVA@ -out -journal-disable -print
+OPT: @MACHDEP@ @CXX@ @EVA@ -out -journal-disable -print
 */
 /*@ behavior default:
     assigns p \from q,p;
diff --git a/tests/specs/extern.cpp b/tests/specs/extern.cpp
index bbe1ba785823251c9bcc32f682bec7244a5719e1..5240978d8a5dbcae503137b5c534645e30ae74aa 100644
--- a/tests/specs/extern.cpp
+++ b/tests/specs/extern.cpp
@@ -1,5 +1,5 @@
 /* run.config
-OPT: @CXX@ -check -print -cxx-keep-mangling
+OPT: @MACHDEP@ @CXX@ -check -print -cxx-keep-mangling
 */
 
 namespace Foo {
diff --git a/tests/specs/float.cpp b/tests/specs/float.cpp
index 9514b12ffeacdf008ea07c4c3edb3ce4a7b5f60b..d19334e5292c28a3beb65fa93cd1e5c797ee761d 100644
--- a/tests/specs/float.cpp
+++ b/tests/specs/float.cpp
@@ -1,5 +1,5 @@
 /* run.config
-OPT: -check -print -float-hex @CXX@
+OPT: @MACHDEP@ -check -print -float-hex @CXX@
 */
 
 //@ ensures \result == 0.4;
diff --git a/tests/specs/lex.cc b/tests/specs/lex.cc
index 5bf51aab7a6771dc7f90ae7935e071347ec51141..92e3983c7e76726fb014a8979a38d10d17c5d279 100644
--- a/tests/specs/lex.cc
+++ b/tests/specs/lex.cc
@@ -1,5 +1,5 @@
 /* run.config
- OPT: @CXX@ -pp-annot -journal-disable -print
+ OPT: @MACHDEP@ @CXX@ -pp-annot -journal-disable -print
 */
 /*@ axiom foo: \true;
 // just a test for the lexer of annotations
diff --git a/tests/specs/wp_empty_struct.cpp b/tests/specs/wp_empty_struct.cpp
index 2a9f5a5fff70502038832180d860da2a4d36a9e1..f94baf238f767e5a5fcd5207802b5df436a88c48 100644
--- a/tests/specs/wp_empty_struct.cpp
+++ b/tests/specs/wp_empty_struct.cpp
@@ -1,5 +1,5 @@
 /* run.config
-OPT: @CXX@ @WP@
+OPT: @MACHDEP@ @CXX@ @WP@
 */
 class Point2
 {
diff --git a/tests/stl/stl.cpp b/tests/stl/stl.cpp
index 71ded00292c092aec1cacc3d05e373b645dcc0b0..825c5ecff9d2a2d48928a207b25f2c581fa86aa1 100644
--- a/tests/stl/stl.cpp
+++ b/tests/stl/stl.cpp
@@ -1,5 +1,5 @@
 /* run.config
- OPT: @CXX@ -print
+ OPT: @MACHDEP@ @CXX@ -print
  DONTRUN: Not yet fully working
  */
 #include <bitset>
diff --git a/tests/test_config b/tests/test_config
index 66a5b15405c4c809b56e2fb2d15a39b225fa42d3..4a53e83fa2d96869e3678eddfb8ac4678c4a61a3 100644
--- a/tests/test_config
+++ b/tests/test_config
@@ -1,6 +1,7 @@
 FILEREG:.*\.\(cc\|cpp\|ii\)$
+MACRO: MACHDEP -machdep x86_32
 MACRO: CXX -cxx-c++stdlib-path share/libc++ -cxx-clang-command="bin/framaCIRGen"
 MACRO: EVA -eva -eva-msg-key=-summary
 MACRO: WP -wp -wp-par 1 -wp-session tests/wp-cache -wp-cache update -wp-msg-key shell
-OPT:-print -check @CXX@
+OPT: @MACHDEP@ -print -check @CXX@
 FILTER:sed  -e "s|${FRAMAC_SHARE}|FRAMAC_SHARE|g" -e "s|$(pwd)/||g"
diff --git a/tests/val_analysis/pretty_main.cpp b/tests/val_analysis/pretty_main.cpp
index 7f9d4dc25f2d9b854176d401b10c5c6423761801..709674e28ecec0e04850574252aaaf7117b588d4 100644
--- a/tests/val_analysis/pretty_main.cpp
+++ b/tests/val_analysis/pretty_main.cpp
@@ -1,9 +1,9 @@
 /* run.config
-OPT: @CXX@ -main A::f @EVA@
-OPT: @CXX@ -main="A::g(int x)" @EVA@
-OPT: @CXX@ -main="::real_main" @EVA@
-OPT: @CXX@ -main="real_main" @EVA@
-OPT: @CXX@ @EVA@ -main A::h -eva-slevel-function="A::h:3,A::g(int):3" -eva-split-return-function="A::g:-1:1"
+OPT: @MACHDEP@ @CXX@ -main A::f @EVA@
+OPT: @MACHDEP@ @CXX@ -main="A::g(int x)" @EVA@
+OPT: @MACHDEP@ @CXX@ -main="::real_main" @EVA@
+OPT: @MACHDEP@ @CXX@ -main="real_main" @EVA@
+OPT: @MACHDEP@ @CXX@ @EVA@ -main A::h -eva-slevel-function="A::h:3,A::g(int):3" -eva-split-return-function="A::g:-1:1"
 */
 
 namespace A {
diff --git a/tests/val_analysis/test_config b/tests/val_analysis/test_config
index df587a811d8fcd55a1837656a8c14c5cdbbb3d35..4bbced530eaae4f5fad818f808217ce0c8d950d5 100644
--- a/tests/val_analysis/test_config
+++ b/tests/val_analysis/test_config
@@ -1,2 +1,2 @@
-OPT: @CXX@ @EVA@ -journal-disable
+OPT: @MACHDEP@ @CXX@ @EVA@ -journal-disable
 MACRO: ALLOC -eva-builtin malloc:Frama_C_alloc_size -eva-builtin free:Frama_C_free