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