Index: /sources/configure.ac
===================================================================
--- /sources/configure.ac	(revision 46)
+++ /sources/configure.ac	(revision 47)
@@ -37,7 +37,4 @@
 			 )])
 
-MY_ARG_ENABLE(check_fsm_rules, [Enable FSM rule checking], [no])
-MY_ARG_ENABLE(check_multiwriting2port, [Report if port is written twice], [no])
-MY_ARG_ENABLE(check_multiwriting2register, [Report if unconnected signal is written twice], [no])
 MY_ARG_ENABLE(debug, [Enable debugging], [no])
 
Index: /sources/src/casc.h
===================================================================
--- /sources/src/casc.h	(revision 46)
+++ /sources/src/casc.h	(revision 47)
@@ -38,5 +38,4 @@
 #ifdef SCHEDULING_BY_CASC
 #include <systemcass_version_ext.h>
-#include <fsm_rules.h>
 
 namespace sc_core {
@@ -49,20 +48,8 @@
 EXTERN void simulate_1_cycle (void) 
 {
-#ifdef CONFIG_CHECK_FSM_RULES
-  casc_fsm_step = TRANSITION;
-#endif
   transition ();
   update     ();
-#ifdef CONFIG_CHECK_FSM_RULES
-  casc_fsm_step = GEN_MOORE;
-#endif
   moore_generation ();
-#ifdef CONFIG_CHECK_FSM_RULES
-  casc_fsm_step = GEN_MEALY;
-#endif
   mealy_generation (); 
-#ifdef CONFIG_CHECK_FSM_RULES
-  casc_fsm_step = STIMULI;
-#endif
 }
 } // end of sc_core namespace
Index: /sources/src/dump_used_options.cc
===================================================================
--- /sources/src/dump_used_options.cc	(revision 46)
+++ /sources/src/dump_used_options.cc	(revision 47)
@@ -68,13 +68,4 @@
   "DUMP_STAGE, "
 #endif
-#ifdef CONFIG_CHECK_FSM_RULES     
-  "CONFIG_CHECK_FSM_RULES, "
-#endif
-#ifdef CONFIG_CHECK_MULTIWRITING2PORT     
-  "CONFIG_CHECK_MULTIWRITING2PORT, "
-#endif
-#ifdef CONFIG_CHECK_MULTIWRITING2REGISTER     
-  "CONFIG_CHECK_MULTIWRITING2REGISTER, "
-#endif
 #ifdef CONFIG_DEFAULT_RUNTIME_COMPILATION     
   "CONFIG_DEFAULT_RUNTIME_COMPILATION, "
Index: urces/src/fsm_rules.h
===================================================================
--- /sources/src/fsm_rules.h	(revision 46)
+++ 	(revision )
@@ -1,34 +1,0 @@
-/*------------------------------------------------------------\
-|                                                             |
-| Tool    :                  systemcass                       |
-|                                                             |
-| File    :                 fsm_rules.h                       |
-|                                                             |
-| Author  :                 Buchmann Richard                  |
-|                                                             |
-| Date    :                   10_05_2005                      |
-|                                                             |
-\------------------------------------------------------------*/
-#ifndef __FSM_RULES_H__
-#define __FSM_RULES_H__
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#ifdef CONFIG_CHECK_FSM_RULES
-
-namespace sc_core {
-
-typedef enum { TRANSITION, GEN_MOORE, GEN_MEALY, STIMULI, ELABORATION} casc_fsm_step_t;
-extern casc_fsm_step_t casc_fsm_step;
-
-inline const char *get_step_name   () 
-{ const char *s[] = {"TRANSITION", "MOORE GENERATION", "MEALY GENERATION", "SIMULATION LOOP", "ELABORATION"}; return s[casc_fsm_step]; }
-
-} // end of sc_core namespace
-
-#endif
-
-#endif
-
Index: /sources/src/gen_code.cc
===================================================================
--- /sources/src/gen_code.cc	(revision 46)
+++ /sources/src/gen_code.cc	(revision 47)
@@ -58,12 +58,5 @@
 #endif
 
-#ifdef CONFIG_CHECK_FSM_RULES
-#include "fsm_rules.h"
-#define fsm_check_flag "-DCONFIG_CHECK_FSM_RULES"
-#else
-#define fsm_check_flag
-#endif
-
-#define casc_cflags GENERATED_MODULE_CFLAGS " " fsm_check_flag
+#define casc_cflags GENERATED_MODULE_CFLAGS
 
 // Enable CPP call, this is useful for typeinfo-enabled classes
@@ -608,20 +601,8 @@
 void static_simulate_1_cycle (void) 
 {
-#ifdef CONFIG_CHECK_FSM_RULES
-  casc_fsm_step = TRANSITION;
-#endif
   call_functions (pf[0]); // transition
   update     ();
-#ifdef CONFIG_CHECK_FSM_RULES
-  casc_fsm_step = GEN_MOORE;
-#endif
   call_functions_in_parallel (pf[1]); // moore generation
-#ifdef CONFIG_CHECK_FSM_RULES
-  casc_fsm_step = GEN_MEALY;
-#endif
   call_functions (pf[2]); // mealy generation
-#ifdef CONFIG_CHECK_FSM_RULES
-  casc_fsm_step = STIMULI;
-#endif
 }
 
@@ -668,7 +649,4 @@
 void quasistatic_simulate_1_cycle (void) 
 {
-#ifdef CONFIG_CHECK_FSM_RULES
-  casc_fsm_step = TRANSITION;
-#endif
   method_process_list_t::iterator mm;
   for( mm = func_list[0].begin(); mm != func_list[0].end(); ++mm)
@@ -678,7 +656,4 @@
   }
   update     ();
-#ifdef CONFIG_CHECK_FSM_RULES
-  casc_fsm_step = GEN_MOORE;
-#endif
   for( mm = func_list[1].begin(); mm != func_list[1].end(); ++mm)
   {
@@ -686,11 +661,5 @@
     Call (m);
   }
-#ifdef CONFIG_CHECK_FSM_RULES
-  casc_fsm_step = GEN_MEALY;
-#endif
   quasistatic_mealy_generation ();
-#ifdef CONFIG_CHECK_FSM_RULES
-  casc_fsm_step = STIMULI;
-#endif
 }
 
Index: /sources/src/gen_code.h
===================================================================
--- /sources/src/gen_code.h	(revision 46)
+++ /sources/src/gen_code.h	(revision 47)
@@ -121,7 +121,4 @@
 #endif
   	update ();
-#ifdef CONFIG_CHECK_FSM_RULES
-		casc_fsm_step = GEN_MEALY;
-#endif
     func_combinationals ();
   }
@@ -132,7 +129,4 @@
   if (is_posted_write ()) {
     update ();
-#ifdef CONFIG_CHECK_FSM_RULES
-		casc_fsm_step = GEN_MEALY;
-#endif
     func_combinationals ();
   }
Index: /sources/src/global_functions.cc
===================================================================
--- /sources/src/global_functions.cc	(revision 46)
+++ /sources/src/global_functions.cc	(revision 47)
@@ -49,8 +49,4 @@
 #endif
 
-#ifdef CONFIG_CHECK_FSM_RULES
-#include "fsm_rules.h"
-#endif
-
 using namespace std;
 
@@ -264,13 +260,6 @@
 
   // Init variables to be able to run combinational functions
-#ifdef CONFIG_CHECK_FSM_RULES
-  casc_fsm_step = STIMULI;
-#endif
-
   pending_write_vector_capacity = get_signal_table_size ();
-#if 0
-  cerr << "pending_write_vector_capacity = " << pending_write_vector_capacity
-<< "\n";
-#endif
+
   if (pending_write_vector_capacity == 0)
     pending_write_vector = NULL;
Index: /sources/src/sc_port.cc
===================================================================
--- /sources/src/sc_port.cc	(revision 46)
+++ /sources/src/sc_port.cc	(revision 47)
@@ -57,11 +57,4 @@
 
 using namespace std;
-
-#ifdef CONFIG_CHECK_FSM_RULES
-#include "fsm_rules.h"
-namespace sc_core {
-casc_fsm_step_t casc_fsm_step = ELABORATION;
-}
-#endif
 
 namespace sc_core {
@@ -259,7 +252,4 @@
   cerr << "done.\n";
 #endif
-#if defined(CONFIG_CHECK_MULTIWRITING2REGISTER)
-  sc_core::pending_writing2register_clear ();
-#endif
 }
 
@@ -354,28 +344,4 @@
 }
 
-#if defined(CONFIG_CHECK_MULTIWRITING2REGISTER)
-typedef set<const tab_t*> pending_writing2register_set_t;
-pending_writing2register_set_t pending_writing2register_set;
-
-void 
-pending_writing2register_clear  ()
-{
-  pending_writing2register_set.clear(); 
-}
-
-void
-pending_writing2register_record_and_check (const tab_t *p)
-{
-  if (pending_writing2register_set.find (p) != pending_writing2register_set.end())
-  {
-		std::cerr << "Error : please check '" << get_name (p) << "'.\n";
-    std::cerr << "Up to 1 writing per register is allowed during a cycle.\n";
-    sc_stop ();
-    exit (31072006); // 6
-  } else
-    pending_writing2register_set.insert(p);
-}
-#endif
-
 } // end of sc_core namespace
 
Index: /sources/src/sc_port_ext.h
===================================================================
--- /sources/src/sc_port_ext.h	(revision 46)
+++ /sources/src/sc_port_ext.h	(revision 47)
@@ -22,5 +22,4 @@
 #endif
 
-#include "fsm_rules.h"
 #include "internal_ext.h"
 #include "port_dependency_ext.h"
@@ -56,8 +55,6 @@
   ((value_type_&) (*((value_type_*) (pointer_))))
 
-  ///////////////////// DEPRECATED
+///////////////////// DEPRECATED
 // C ANSI-only since it is needed to link with extern "C"
-// this declaration is not in casc.h since the CONFIG_CHECK_FSM_RULES macro
-// is not defined.
 
 extern void bind (sc_port_base&,sc_port_base&);
@@ -188,12 +185,4 @@
      << " on signal " << name () << "\n";
 #endif
-#ifdef CONFIG_CHECK_FSM_RULES
-  if (casc_fsm_step == GEN_MOORE) {
-    std::cerr << "FSM rules error : trying to read on input port '" 
-              << name ()
-        << "' from " <<  get_step_name () << " function.\n";
-    exit (-1);
-  }    
-#endif
   return READ_SIGNAL(const T, get_pointer());
 }
@@ -298,12 +287,4 @@
      << " on signal " << name () << "\n";
 #endif
-#ifdef CONFIG_CHECK_FSM_RULES
-  if (casc_fsm_step == GEN_MOORE) {
-    std::cerr << "FSM rules error : trying to read on input/output port " 
-      << name () //get_name (get_pointer()) 
-      << " from " << get_step_name () << " function.\n";
-    exit (-1);
-  }    
-#endif
 //  return val; 
   return READ_SIGNAL(const T, get_pointer());
@@ -320,16 +301,5 @@
             << " on in/out port (writing into a signal) '" << name () << "'\n";
 #endif
-#ifdef CONFIG_CHECK_FSM_RULES
-  if ((casc_fsm_step != GEN_MOORE) && ( casc_fsm_step != GEN_MEALY)) {
-    std::cerr << "FSM rules error : trying to write on output port " 
-      << name () 
-      << " from an " << get_step_name () << " function.\n";
-    exit (-1);
-  }    
-#endif
 //  T& ref = *(T*)(get_pointer());
-#if defined(CONFIG_CHECK_MULTIWRITING2PORT)
-  check_multiwriting2port ();
-#endif
 #ifndef USE_PORT_DEPENDENCY
   unstable |= (value_) != val; //ref;
Index: /sources/src/sc_signal.h
===================================================================
--- /sources/src/sc_signal.h	(revision 46)
+++ /sources/src/sc_signal.h	(revision 47)
@@ -26,8 +26,4 @@
 #include "internal_ext.h"
 
-#ifdef CONFIG_CHECK_FSM_RULES
-#include "fsm_rules.h"
-#endif
-
 namespace sc_core {
 
@@ -45,6 +41,4 @@
 	///////////////////// DEPRECATED
 // C ANSI-only since it is needed to link with extern "C"
-// this declaration is not in casc.h since the CONFIG_CHECK_FSM_RULES macro
-// is not defined.
 
 extern void bind (sc_port_base&,sc_port_base&);
@@ -250,7 +244,4 @@
 	 	<< " on signal " << name () << "\n";
 #endif
-#ifdef CONFIG_CHECK_FSM_RULES
-	// we can read value from sc_signal type (used like a register) at any time
-#endif	
     return READ_SIGNAL(const T, get_pointer());
 }
@@ -262,13 +253,4 @@
 sc_signal<T>::write( const data_type& value_ )
 {
-#ifdef CONFIG_CHECK_FSM_RULES
-	if ((casc_fsm_step != TRANSITION) 
-			&& ( casc_fsm_step != STIMULI)) {
-		std::cerr << "FSM rules error : trying to write on signal " 
-			  << name () 
-			  << " from " << get_step_name () << " function.\n";
-		exit (-1);
-	}		
-#endif
 #ifdef CONFIG_DEBUG
   if (get_pointer() == NULL)
@@ -278,7 +260,4 @@
   }
 #endif
-#ifdef CONFIG_CHECK_MULTIWRITING2REGISTER
-  pending_writing2register_record_and_check (get_pointer ());
-#endif
 #ifdef DUMP_WRITE
   if (sc_signal<T>::read() == value_)
Index: /sources/test_regression/Makefile
===================================================================
--- /sources/test_regression/Makefile	(revision 46)
+++ /sources/test_regression/Makefile	(revision 47)
@@ -28,13 +28,6 @@
 # 19122005  : check simulator state saving for Socview compatibility
 # 17022006  : check rename function for Socview compatibility
-# 05042006  : check number of writings into each out port
-#             check reading from an sc_out port
-#             (test check_multiwriting2port option)
 # 02052006  : check sc_uint, sc_int, sc_signal<X> when X is double, char, 
 #             signed int, unsigned int and so on. (little/big endianness test)
-# 19072006  : SystemCASS allow 1 writing into each port for each delta cycle.
-#             This testbench checks CHECK_MULTIWRITING2PORT macro.
-# 31072006  : SystemCASS allow 1 writing into each register for each cycle.
-#             This testbench checks CHECK_MULTIWRITING2REGISTER macro.
 # 07122006  : check if we can declare an undefined external function as 
 #             a sc_method.
@@ -78,8 +71,5 @@
       16112005 \
       16122005 \
-      05042006 \
       02052006 \
-      19072006 \
-      31072006 \
       07122006 \
       20122006 \
