[omniORB] is this an omniidl bug or feature?

Wernke zur Borg wernke.zur.borg at vega.de
Fri Oct 13 09:28:29 BST 2006


> 
> tao_idl, mico_idl and orbit_idl say OK but omniidl
> 
> // x.idl
> typedef long L;
> 
> struct test
> {
>         L _l;
> };
> 
> 
> [jw at dell idl]$ omniidl x.idl
> omniidl: Warning: No back-ends specified; checking IDL for validity
> x.idl:5: Instance identifier 'l' clashes with use of identifier 'L'
> x.idl:5:  ('L' used here)
> omniidl: 1 error.
> 

omniIDL is right. Perhaps it should have spotted the illegal underscore
character instead of ignoring it. See the spec here:

http://www.omg.org/technology/documents/formal/corba_2.htm

[quote]
3.2.3 Identifiers

An identifier is an arbitrarily long sequence of ASCII alphabetic,
digit, and underscore ("_") characters. The first character must be an
ASCII alphabetic character. All characters are significant.

3.20 Names and Scoping

OMG IDL identifiers are case insensitive; that is, two identifiers that
differ only in the case of their characters are considered redefinitions
of one another. However, all
references to a definition must use the same case as the defining
occurrence.
[/quote]

Regards,
Wernke



More information about the omniORB-list mailing list