[coyotos-dev] Capidl header generation bug?

Jonathan S. Shapiro shap at eros-os.com
Sat Nov 3 09:49:37 EDT 2007


Nate is correct, and the bug is now fixed in the tree. Run "hg fetch" or
"make update" in coyotos/src.

shap


On Fri, 2007-11-02 at 15:33 -0400, Nathaniel W Filardo wrote:
> Building IoStream.h from IoStream.idl seems to produce a buggy header file,
> with unterminated #ifndef directives.  The tail of the .h file reads :
> 
> /* Method coyotos_IoStream_write is client-only */
> #ifndef __ASSEMBLER__
> #ifndef __KERNEL__
> typedef union {
>   struct {
> 
> /* ... [snippy snip snip; no cpp directives here] ... */
> 
> extern bool
> coyotos_IoStream_write(caploc_t _invCap, coyotos_IoStream_chString *s,
> uint32_t *_retVal)
> ;
> #endif /* __ASSEMBLER__ */
> 
> 
> /* END Interface coyotos.IoStream */
> 
> #endif /* __coyotos_IoStream_h__ */
> 
> I believe the correct fix to capidl is:
> 
> --- a/src/ccs/capidl/backend/o_c_hdr.cxx        Fri Nov 02 13:40:39 2007 -0400
> +++ b/src/ccs/capidl/backend/o_c_hdr.cxx        Fri Nov 02 15:28:35 2007 -0400
> @@ -1674,11 +1674,11 @@ emit_client_stub(GCPtr<Symbol> s, INOstr
> 
>      out.less();
>      out << "}\n";
> -    {
> -      size_t indent = out.indent_for_macro();
> -      out << "#endif /* !__KERNEL__ */\n";
> -      out.indent(indent);
> -    }
> +  }
> +  {
> +    size_t indent = out.indent_for_macro();
> +    out << "#endif /* !__KERNEL__ */\n";
> +    out.indent(indent);
>    }
>  }
> 
> Apologies if that is in fact an error.  I don't have any consumers of the
> interface building yet.
> 
> --nwf;
> _______________________________________________
> coyotos-dev mailing list
> coyotos-dev at smtp.coyotos.org
> http://www.coyotos.org/mailman/listinfo/coyotos-dev
-- 
Jonathan S. Shapiro, Ph.D.
Managing Director
The EROS Group, LLC
www.coyotos.org, www.eros-os.org



More information about the coyotos-dev mailing list