[omniORB] echo \; | omniidl -
Luke Deller
ldeller at xplantechnology.com
Thu May 27 17:24:37 BST 2004
Hi,
The following output of omniidl is strange:
luked at sor ~ $ echo \; | omniidl -
omniidl: Warning: No back-ends specified; checking IDL for validity
/usr/bin/omnicpp -lang-c++ -undef -D__OMNIIDL__=0x2420 "-":1: Syntax error
in abstract valuetype
omniidl: 1 error.
luked at sor ~ $
There are two strange things about this output:
Firstly, omniidl seems to think it is processing a file called
/usr/bin/omnicpp -lang-c++ -undef -D__OMNIIDL__=0x2420 "-"
It would be better if it printed the filename as
<stdin>
This bogus filename is actually the result of calling PyFile_Name on a pipe
from os.popen() [see src/tool/omniidl/cxx/idlpython.cc:IdlPyCompile(..)].
The bogus filename is normally not seen because it will be replaced with the
filename from preprocessor output lines like
# 1 "myfile.idl"
However when the preprocessor is reading from stdin, it prints a line like:
# 1 ""
which is not parsed correctly by the scanf statement in
src/tool/omniidl/cxx/idl.ll:parseLineDirective(..)
The second strange thing is the error message "Syntax error in abstract
valuetype". The real problem is that there is an extra semicolon in the
input file, so the given error message is quite cryptic.
Regards,
Luke.
PS: "omniidl -N -" doesn't work, because it tries to open a file called "-".
More information about the omniORB-list
mailing list