Mercurial > repos > rhope
comparison cbackend_c.rhope @ 172:926b56a43f47
Fix some bugs related to inlining
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 15 May 2011 23:31:58 -0700 |
parents | a32afde77abb |
children | 327bcf35e094 |
comparison
equal
deleted
inserted
replaced
171:a32afde77abb | 172:926b56a43f47 |
---|---|
595 dest <- [pdest]Make Op[func] | 595 dest <- [pdest]Make Op[func] |
596 out <- [func]Add Statement[[[dest]Append[" = "]]Append[source]] | 596 out <- [func]Add Statement[[[dest]Append[" = "]]Append[source]] |
597 } | 597 } |
598 | 598 |
599 | 599 |
600 | |
600 Do AddRef@C Function[func,psource,pdest:out] | 601 Do AddRef@C Function[func,psource,pdest:out] |
601 { | 602 { |
602 source <- [psource]Make Op[func] | 603 source <- [psource]Make Op[func] |
603 dest <- [pdest]Make Op[func] | 604 dest <- [pdest]Make Op[func] |
604 out <- [func]Add Statement[[[[dest]Append[" = add_ref((object *)"]]Append[source]]Append[")"]] | 605 out <- [func]Add Statement[[[[dest]Append[" = add_ref((object *)"]]Append[source]]Append[")"]] |
989 { | 990 { |
990 after free <- [after statements]Add Raw Line["FreeCall"] | 991 after free <- [after statements]Add Raw Line["FreeCall"] |
991 }{ | 992 }{ |
992 after free <- Val[after statements] | 993 after free <- Val[after statements] |
993 } | 994 } |
994 out <- [[after free]Add Raw Line["}"] | 995 out <- [[[after free]Add Raw Line["}"] |
995 ]Resume Index <<[[stream]Resume Index >>] | 996 ]Resume Index <<[[stream]Resume Index >>] |
997 ]Variables <<[ Combine[[after free]Variables >>, [stream]Variables >>]] | |
996 } | 998 } |
997 | 999 |
998 Discard Outputs@C Function[func,first to discard:out] | 1000 Discard Outputs@C Function[func,first to discard:out] |
999 { | 1001 { |
1000 out <- [[[[[func | 1002 out <- [[[[[func |