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 403
    • Issues 403
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 12
    • Merge requests 12
  • Deployments
    • Deployments
    • Releases
  • Wiki
    • Wiki
  • External wiki
    • External wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • sac-group
  • sac2csac2c
  • Issues
  • #2004
Closed
Open
Created Feb 02, 2009 by Robert Bernecky@rbeDeveloper

mystery refcount problem with -ssaiv

Bugzilla Link 472
Created on Feb 02, 2009 23:38
Resolution FIXED
Resolved on Feb 03, 2009 16:13
Version 1.00beta
OS Linux
Architecture PC
Attachments bugxxx.sac

Extended Description

Created an attachment (id=500)
source code to reproduce failure
If I compile the attached this way with build #15987:
sac2c -noprelude -ssaiv bugxxx.sac 
I get a segfault at run time. If I compile it without
-ssaiv, it works fine. The interesting thing is that a break
at -b11 and -b12 show only minor differences between
the resulting codes, and they look to be just variable name
differences.
However, a break at -b14 shows that there are some
slight differences in reference counts in the generated code, such as
this:
153,154c154,156
<   _emal_522__isaa_387__rso_16_TheWorld = _alloc_( 1, 0, [:int]); 
<   _isaa_387__rso_16_TheWorld = _fill_( 0, _emal_522__isaa_387__rso_16_TheWorld); 
---
>   _inc_rc_( _wlidx_513_z, 1); 
>   _emal_530__isaa_395__rso_16_TheWorld = _alloc_( 1, 0, [:int]); 
>   _isaa_395__rso_16_TheWorld = _fill_( 0, _emal_530__isaa_395__rso_16_TheWorld); 
This sort of problem would explain the segfault.
I am guessing that the -bxx code fails to include ALL
semantic information about the program under compilation,
and that is why there is no visible difference between the two
codes with -bxx.
Perhaps it should include that information!
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking