[omniORB] omniidl bug

Duncan Grisby duncan at grisby.org
Fri Mar 26 12:19:46 GMT 2004


On Friday 19 March, Serguei Kolos wrote:

> 1. file Test.idl contains the line:
> 
>    #include <mydir/myidl.idl>
> 
> 2. myidl.idl file is in the /home/myincludes/mydir directory
> 
> 3. I'm executing the following command:
> 
>    > omniidl -bcxx -Wbkeep_inc_path -I/home/myincludes TT.idl
> 
> 4. and finally the generated TT.hh file contains the following statement:
> 
> #ifndef __myidl_hh_EXTERNAL_GUARD__
> #define __myidl_hh_EXTERNAL_GUARD__
> #include </home/myincludes/mydir/myidl.hh>
> #endif
> 
> 5. I would expect to have here the following:
> #ifndef __myidl_hh_EXTERNAL_GUARD__
> #define __myidl_hh_EXTERNAL_GUARD__
> #include <mydir/myidl.hh>
> #endif

People have mentioned this before. I agree that it would be useful if
it behaved the way you suggest. Unfortunately, omniidl never gets to
see the original #include <mydir/myidl.idl> since it is handled by the
C pre-processor. By the time omniidl sees it, the directive output by
the pre-processor has the full file path. There's no easy way for
omniidl to figure out what it was originally.

Cheers,

Duncan.

-- 
 -- Duncan Grisby         --
  -- duncan at grisby.org     --
   -- http://www.grisby.org --



More information about the omniORB-list mailing list