mojoshader_compiler.c
changeset 977 dc3fb84992b8
parent 976 72f121a58548
child 978 0e17db32f9ce
equal deleted inserted replaced
976:72f121a58548 977:dc3fb84992b8
  2771             return ast->funcsig.datatype;
  2771             return ast->funcsig.datatype;
  2772         } // case
  2772         } // case
  2773 
  2773 
  2774         case MOJOSHADER_AST_STRUCT_DECLARATION:
  2774         case MOJOSHADER_AST_STRUCT_DECLARATION:
  2775         {
  2775         {
       
  2776             // !!! FIXME: We don't handle struct predeclaration at all right now
       
  2777             // !!! FIXME:  (neither does the grammar)...not only does that mean
       
  2778             // !!! FIXME:  you need to know the struct definition up front, but
       
  2779             // !!! FIXME:  you can't do "struct XXX *next;" for a self-referencing
       
  2780             // !!! FIXME:  linked list struct thing. This probably isn't a big
       
  2781             // !!! FIXME:  deal, as there aren't (CURRENTLY!) pointers in HLSL,
       
  2782             // !!! FIXME:  but you never know.
       
  2783 
  2776             const MOJOSHADER_astStructMembers *mbrs;
  2784             const MOJOSHADER_astStructMembers *mbrs;
  2777 
  2785 
  2778             // !!! FIXME: count this during parsing?
  2786             // !!! FIXME: count this during parsing?
  2779             int count = 0;
  2787             int count = 0;
  2780             mbrs = ast->structdecl.members;
  2788             mbrs = ast->structdecl.members;