Index: sources/test_regression/24082009/Makefile
===================================================================
--- sources/test_regression/24082009/Makefile	(revision 41)
+++ sources/test_regression/24082009/Makefile	(revision 41)
@@ -0,0 +1,51 @@
+include ../env.mk
+
+EXE_SCASS = system_systemcass.x
+EXE_SC    = system_systemc.x
+EXE       = ${EXE_SCASS}
+OBJECTS   = $(EXE:.x=.o)
+LINKS     = $(OBJECTS:.o=.cpp)
+
+RESULTS   = perf
+
+.SECONDARY:
+
+main : $(EXE) 
+
+test : ${RESULTS}
+	@echo OK
+
+perf : system_systemcass.x
+	time (./system_systemcass.x --nobanner --p --nodynamiclink 1000000 )
+
+%_systemc.x : %_systemc.o $(SYSTEMC_LIB)
+	$(CXX) -o $@ $*_systemc.o $(LFLAGS_SYSTEMC) 2>&1 | $(CPPFILT)
+
+%_systemcass.x : %_systemcass.o  $(SYSTEMCASS_LIB)
+	$(CXX) -o $@ $*_systemcass.o $(LFLAGS_SYSTEMCASS) 2>&1 | $(CPPFILT)
+
+-include Makefile.deps
+
+%_systemc.cpp : %.cpp 
+	ln -s $*.cpp $*_systemc.cpp
+
+%_systemcass.cpp : %.cpp 
+	ln -s $*.cpp $*_systemcass.cpp
+
+%_systemc.o : %_systemc.cpp 
+	$(CXX) $(CFLAGS_SYSTEMC) -MM $*_systemc.cpp >> Makefile.deps
+	$(CXX) $(CFLAGS_SYSTEMC) -c $*_systemc.cpp -o $*_systemc.o
+
+%_systemcass.o : %_systemcass.cpp
+	$(CXX) $(CFLAGS_SYSTEMCASS) -MM $*_systemcass.cpp >> Makefile.deps
+	$(CXX) $(CFLAGS_SYSTEMCASS) -c $*_systemcass.cpp -o $*_systemcass.o
+
+clean :
+	rm -f Makefile.deps
+	-rm -f *.o gmon.out
+	-rm -f $(EXE) $(OBJECTS) 
+	-for i in $(LINKS) ; do unlink $$i ; done 2> /dev/null
+	-rm -f core*
+	-rm -rf generated_by_systemcass
+	-rm -rf tracesystem_systemcass.x.vcd tracesystem_systemc.x.vcd
+	-rm -rf ${RESULTS}
Index: sources/test_regression/24082009/system.cpp
===================================================================
--- sources/test_regression/24082009/system.cpp	(revision 41)
+++ sources/test_regression/24082009/system.cpp	(revision 41)
@@ -0,0 +1,67 @@
+#include <systemc.h>
+#include <signal.h>
+
+using namespace std;
+  
+struct A : sc_module {
+  sc_in_clk                       clk;
+  sc_in     <int>                 i1;
+  sc_signal <int>                 r1;
+  sc_out    <int>                 o1;
+
+  void transition () {
+    int i;
+    for (i = 0; i < 1000; ++i)
+      ;
+    r1 = i1;
+  }
+  void gen_moore () {
+    int i;
+    for (i = 0; i < 1000; ++i)
+      ;
+    o1 = r1;
+  }
+
+  SC_CTOR (A) : clk ("clk"), o1("o1") {
+    SC_METHOD(transition);
+    sensitive << clk.pos();
+    SC_METHOD(gen_moore);
+    sensitive << clk.neg();
+  };
+};
+
+int sc_main (int argc, char *argv[])
+{
+  sc_clock                     signal_clk("my_clock",1, 0.5);
+  sc_signal<int>               s1("s1"),s2("s2"),s3("s3"),s4("s4");
+
+  A      a("a");
+  A      b("b");
+  
+  a.clk         (signal_clk);
+  b.clk         (signal_clk);
+  
+  a.i1          (s1);
+  a.o1          (s2);
+
+  b.i1          (s3);
+  b.o1          (s4);
+
+  // Init & run
+  sc_initialize ();
+
+  if (argc == 1)
+  {
+    cout << "Usage :\n" << argv[0] << " [#cycles]\n";
+    return EXIT_SUCCESS;
+  }
+
+  s1.write (1);
+
+  sc_start (atoi(argv[1]));
+
+  cout << s1.read() << endl;
+  cout << s2.read() << endl;
+
+  return EXIT_SUCCESS;
+}
Index: sources/test_regression/env.mk
===================================================================
--- sources/test_regression/env.mk	(revision 35)
+++ sources/test_regression/env.mk	(revision 41)
@@ -33,8 +33,9 @@
 CFLAGS      = $(PROF) $(DEBUG) $(OPT) \
               -Wall \
+              -fopenmp \
               -UENABLE_TRACE -UENABLE_PAT -I. \
               ${ENDIANESS_FLAG}
 
-LFLAGS      = $(PROF) $(BFD_LIBERTY) -ldl
+LFLAGS      = $(PROF) $(BFD_LIBERTY) -ldl -fopenmp
 
 CFLAGS_SYSTEMC    = $(CFLAGS) \
