Please report new issues athttps://github.com/DOCGroup
The 'typeprefix' support is non-compliant. TAO_IDL will accept typeprefix for a scoped name *before* the scoped name is declared, i.e.: typeprefix Components "org.omg"; module Components { ... }; The spec however (formal/2008-01-04) clearly states on page 78 (par. 7.15.2) that: "It must denote a previously-declared name of one of the following IDL constructs:" Therefor the above construct should be illegal and should be declared as: module Components { typeprefix Components "org.omg"; ... }; or module Components { ... }; Components "org.omg"; CIAO currently hosts a number of IDL files with the illegal form which cause errors when compiled with compliant IDL compilers.
This restriction I believe is new, don't remember seeing it in 3.0, but I do remember ranting about the difficulty of implementing typeprefix without it. No time right now, but it will be a welcome change.