Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Diff of /branches/vis12/src/compiler/c-target/c-target.sml
ViewVC logotype

Diff of /branches/vis12/src/compiler/c-target/c-target.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1830, Fri Apr 13 13:33:27 2012 UTC revision 1831, Fri Apr 13 13:33:40 2012 UTC
# Line 419  Line 419 
419   * utility module in c-util.   * utility module in c-util.
420   *)   *)
421        (* generate the struct declaration for the world representation *)        (* generate the struct declaration for the world representation *)
422          fun genWorldStruct (isTypedef, tgt : target_desc, Strand{tyName, ...}) = let          fun genWorldStruct (tgt : target_desc, Strand{tyName, ...}) = let
423                val ns = #namespace tgt                val ns = #namespace tgt
424                val body = [                val body = [
425                      (* WORLD_STRUCT_PREFIX componenets (see Diderot/world.h) *)                      (* WORLD_STRUCT_PREFIX componenets (see Diderot/world.h) *)
# Line 445  Line 445 
445                        ]                        ]
446                      else body                      else body
447                in                in
448                  if isTypedef                  CL.D_StructDef(SOME(ns ^ "struct_world"), body, NONE)
                   then CL.D_StructDef(NONE, body, SOME(ns ^ "World_t"))  
                   else CL.D_StructDef(SOME(ns ^ "struct_world"), body, NONE)  
449                end                end
450    
451        (* generate the table of strand descriptors *)        (* generate the table of strand descriptors *)
# Line 478  Line 476 
476                val ppStrm = PrintAsC.new outS                val ppStrm = PrintAsC.new outS
477                fun ppDecl dcl = PrintAsC.output(ppStrm, dcl)                fun ppDecl dcl = PrintAsC.output(ppStrm, dcl)
478                in                in
479                  ppDecl (verbFrag (tgt, ParHeadFrag.text, SeqHeadFrag.text, substitutions));                  ppDecl (CL.verbatim [CHeadFrag.text] substitutions);
480                    if (#parallel tgt)
481                      then ppDecl (CL.verbatim [CHeadParExtraFrag.text] substitutions)
482                      else ();
483                  ppDecl (genGlobalStruct (tgt, List.rev(!globals)));                  ppDecl (genGlobalStruct (tgt, List.rev(!globals)));
484                  ppDecl (genWorldStruct(false, tgt, strand));                  ppDecl (genWorldStruct(tgt, strand));
485                  List.app ppDecl (List.rev (!topDecls));                  List.app ppDecl (List.rev (!topDecls));
486                  List.app ppDecl (GenInputs.genInputFuns(tgt, !inputs));                  List.app ppDecl (GenInputs.genInputFuns(tgt, !inputs));
487                  List.app ppDecl (genStrand strand);                  List.app ppDecl (genStrand strand);
# Line 530  Line 531 
531                fun ppDecl dcl = PrintAsC.output(ppStrm, dcl)                fun ppDecl dcl = PrintAsC.output(ppStrm, dcl)
532                in                in
533                  ppDecl (CL.verbatim [ExecHdr.text] substitutions);                  ppDecl (CL.verbatim [ExecHdr.text] substitutions);
534                    if (#parallel tgt)
535                      then ppDecl (CL.verbatim [CHeadParExtraFrag.text] substitutions)
536                      else ();
537                  ppDecl (genGlobalStruct (tgt, List.rev(!globals)));                  ppDecl (genGlobalStruct (tgt, List.rev(!globals)));
538                  ppDecl (genWorldStruct(true, tgt, strand));                  ppDecl (genWorldStruct(tgt, strand));
539                  List.app ppDecl (List.rev (!topDecls));                  List.app ppDecl (List.rev (!topDecls));
540                  ppDecl (GenInputs.genRegisterInputs (tgt, !inputs));                  ppDecl (GenInputs.genRegisterInputs (tgt, !inputs));
541                  List.app ppDecl (genStrand strand);                  List.app ppDecl (genStrand strand);

Legend:
Removed from v.1830  
changed lines
  Added in v.1831

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0