Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • sac2c sac2c
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 402
    • Issues 402
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 13
    • Merge requests 13
  • Deployments
    • Deployments
    • Releases
  • Wiki
    • Wiki
  • External wiki
    • External wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • sac-group
  • sac2csac2c
  • Issues
  • #2251
Closed
Open
Created Jan 28, 2020 by Hans-Nikolai Viessmann@hansOwner

print N_assign always prints instruction

I was tracing problem in print.c when I came across the follow code in PRTassign:

instr = ASSIGN_STMT (arg_node);
DBUG_ASSERT (instr != NULL, "instruction of N_assign is NULL");

trav_instr = TRUE;
if (NODE_TYPE (instr) == N_annotate) {
    if (global.compiler_phase < PH_cg) {
        trav_instr = FALSE;
        trav_instr = TRUE;
    }
    DBUG_EXECUTE_TAG ("PRINT_PROFILE", trav_instr = TRUE);
}

I am assuming that when we encounter an N_annotate within the ASSIGN_STMT, we should not traverse through it and print it. Yet here we are overriding the trav_instr to be always true, meaning we do. This change was added in commit a0d6a84f.

Is this intentional?

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking