Skip to content
Snippets Groups Projects
  • Pierre Loic Garoche's avatar
    c35de73b
    Pretty serious update: · c35de73b
    Pierre Loic Garoche authored
    - a bug in regressio ntest Simulink/integrator_ext_IC_matrix_test revealed the following (serious issue):
      when building the list of instruction (in the machine code) the access to variable were hardcoded to LocalVar or StateVAr depending whether the variables was part of the identified memories.
      Un fortunately the set of memories is only known after iterating through all definitions. A read access to a memory which was scheduled before its update was generating a non compilable C code:
      the access to the memory x which should be written as mem->x was written as a local access "x". But x was not declared as a local variable: hence gcc compile error.
    
      The current commit is pretty involved. It goes through all the code:
      - LocalVar and StateVar have been merged in Var in machine instructions (rhs ie expressions)
      - any possible print or access to these shall be given access to the machine (ie its memories)
        so a lot of functions have been enriched with a machine first argument.
    
      Regression tests performed well showing no additional bug introduced.  The only Unstable->Broken changes are the DIFF which could not be run at all before.
    c35de73b
    History
    Pretty serious update:
    Pierre Loic Garoche authored
    - a bug in regressio ntest Simulink/integrator_ext_IC_matrix_test revealed the following (serious issue):
      when building the list of instruction (in the machine code) the access to variable were hardcoded to LocalVar or StateVAr depending whether the variables was part of the identified memories.
      Un fortunately the set of memories is only known after iterating through all definitions. A read access to a memory which was scheduled before its update was generating a non compilable C code:
      the access to the memory x which should be written as mem->x was written as a local access "x". But x was not declared as a local variable: hence gcc compile error.
    
      The current commit is pretty involved. It goes through all the code:
      - LocalVar and StateVar have been merged in Var in machine instructions (rhs ie expressions)
      - any possible print or access to these shall be given access to the machine (ie its memories)
        so a lot of functions have been enriched with a machine first argument.
    
      Regression tests performed well showing no additional bug introduced.  The only Unstable->Broken changes are the DIFF which could not be run at all before.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.