[coyotos-dev] Capidl header generation bug?
Jonathan S. Shapiro
shap at eros-os.com
Sat Nov 3 09:50:20 EDT 2007
Nate is correct, and his fix is correct. This has been repaired in the
repository.
If you run "hg fetch" or "make update" from your .../coyotos/src/
directory you will get the fix.
You should then run
make distclean
make
from .../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