Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • E EMADL2CPP
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 67
    • Issues 67
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 1
    • Merge requests 1
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • monticore
  • EmbeddedMontiArcEmbeddedMontiArc
  • generators
  • EMADL2CPP
  • Issues
  • #1
Closed
Open
Issue created Jul 30, 2018 by Svetlana Pavlitskaya@svetlana.pavlitskayaContributor

Missing variable reassignment in generated cpp code

Expected: different values assigned to the variable c two times.

Actual: c gets value assigned only first time.

Model:

component Add{
    ports
        in Q(0 : 10) a,
        out Q(0 : 20) c;

    implementation Math{
        Q b = 42 + a;
        c = 1 + b;

        b = 43;
        c = 1 + b;
    }
}

Generated code:

#ifndef ADD
#define ADD
#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif
#include "armadillo"
using namespace arma;
class add{
public:
double a;
double c;
void init()
{
}
void execute()
{
double b = 2+a;
c = 1+b;
b = 3;
}
};
#endif

Missing c = 1 + b; as the last statement in the execute() block.

Problem occurs only when c has two identical assignments.

Assignee
Assign to
Time tracking