Issue 53: C keywords
Issue 104: Problems with underscores
Issue 105: All interfaces must be defined at global scope?
Issue 106: Unions represented with either union or struct
Issue 107: Sequence release flag implementation
Issue 108: Confusing sequence example
Issue 109: Malloc problems with sequence types
Issue 110: Suggested optimization for string duplication
Issue 111: Inout sequence/any behavior with oversized return values
Issue 112: Semantics of CORBA_exception_id()"s return type
Issue 113: Contents of string literal exception identifier
Issue 114: Specification type on CORBA_ORB_object_to_string example
Issue 115: CORBA_BOA_set_exception() parameter issues
Issue 155: Support for efficient DII invocation (Section 17.7.1 CORBA 2.))
Issue 157: Entire section 14.1 should not be there (CORBA 14)
Issue 158: Confusion about ORB handling call to pseudo objects via DII
Issue 159: Order of arguments in C Language mapped operation
Issue 160: Type declaration
Issue 161: Out of bound value behaviour for _maximum and _length in sequences
Issue 162: Portably getting the value of the bounds of a sequence
Issue 163: Editorial
Issue 164: Order of parameters in the C mapping
Issue 165: Wrong placement of asterics in table
Issue 166: C Language header question
Issue 167: Pseudo-Object underspecification
Issue 168: Wrong order of parameters
Issue 169: Inappropriate information (Sect. 14.23. last paragraph
Issue 170: Reference to undefined term DIR (Section 14.24.1)
Issue 171: Parameter memory freeing problem (Section 14.24.1.para 6)
Issue 172: implementation hints not specification (Section 14.24.2 last para)
Issue 173: Argument order inconsistent (Section 14.25.2)
Issue 174: What happens when set_exception called more than once?
Issue 175: confusing presentation (Section 14.25.4)
Issue 176: inconsistent parameter name and order
Issue 177: C mapping for sequence (Section 14.11 CORBA 2.0)
Issue 181: Representation of "string" values in an "any"
Issue 243: C mapping for Any
Issue 291: Spec contains mutually inconsistent examples
Issue 292: vec10 and CORBA_sequence_long
Issue 293: Allocation Functions for sequences of "T"
Issue 294: Declare and define Allocators for new sequence type
Issue 295: sequence as anonymous type in struct
Issue 296: CORBA_sequence_long
Issue 297: When MUST _buffer of sequence be allocated with _allocbuf
Issue 309: memory allocation functions
Issue 310: memory release functions
Issue 311: mapping for sequences
Issue 312: Sequence behavior
Issue 313: Sequence buffer management
Issue 314: Scoped sequence naming
Issue 315: Exception stringification
Issue 316: Exception release function
Issue 317: CORBA_Environment initialization
Issue 318: Exception identification
Issue 319: Minor field of system exceptions
Issue 320: System Exception Type
Issue 321: Exception initialization
Issue 322: Allocation and initialization
Issue 323: De-allocation and release
Issue 324: Sequence initialization
Issue 325: Sequence buffer initialization
Issue 326: Sequence buffer release
Issue 327: Exception initialization and release
Issue 328: Argument passing, cases 3 and 6
Issue 329: Exception id name
Issue 330: CORBA_string_alloc
Issue 331: Mapping for Aliases
Issue 332: Use of "objref_ptr"
Issue 333: Seq buffer deallocation
Issue 334: Bound seq buffer allocation
Issue 335: release flag & returned data
Issue 336: Seq buffer allocation
Issue 462: Example inconsistent with table 20 and table 21
Issue 485: Initial state of out parameter pointers
Issue 486: Delete 14.17 para 1
Issue 606: No defined value for CORBA_OBJECT_NIL
Issue 620: CORBA_string is not defined
Issue 636: Inconsistency in CORBA 2.0 C mapping
Issue 2307: Error in C language specification
Issue 2533: How to allocate storage for a basic type you wish to place in an any?
Issue 2534: Correct arguments to send multiple requests
Issue 2563: Content of an Any is a pointer to the type -- Issue
Issue 4341: Order of structure members
Issue 5778: OpaqueValue needs to be documented in the C Language mapping
Issue 53: C keywords (c_mapping-rtf)
Click here for this issue's archive.
Nature: Bug
Severity: Serious
Summary: Summary: There seems to be no provision for the possibility of C keywords appearing in IDL.
Resolution: resolved and closed
Revised Text: add new parag
To avoid C compilation problems, every use in OMG IDL of a C keyword
as an identifier is mapped into the same name preceded by the prefix
"_cxx_". For example, an IDL interface named "case" would be named
"_cxx_case" when it is mapped into C. For consistency, this rule also
applies to identifiers that are derived from IDL identifiers. For example,
an IDL interface "case" generates the names "_cxx_case_var" and
"_cxx_case_ptr", that is, the IDL compiler behaves as if the interfaces
were named "cxx_case" and then applies the normal mapping rules.
add table of c
keywords
auto double int struct
break else long switch
case enum register typedef
char extern return union
const float short unsigned
continue for signed void
default goto sizeof volatile
do if static while
Actions taken:
July 11, 1996: Received issue
December 12, 1996: issue moved from cxx_revision to c-rev-wg
October 5, 2000: closed issue
Discussion:
Issue 104: Problems with underscores (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: The C mapping advises avoiding the indiscriminate use of underscores in identifiers. To whom is this addressed? Should it be a more general restriction?
Resolution: resolved
Revised Text: Existing sentence
19.2 v 2.2
Due to such ambiguities, it is advisable to avoid the indiscriminate use of
underscores in identifiers.
replace with
Due to such ambiguities, IDL developers targeting C language should
avoid indiscriminate use of underscores in identifiers or consider how the
language mapping will construct C language names.
Actions taken:
September 11, 1996: Received issue
December 12, 1996: moved from cxx_revision to c-rev-wg
October 5, 2000: closed issue
Discussion:
Issue 105: All interfaces must be defined at global scope? (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Section 14.3 of the C mapping says that interface definitions may not occur within the scope of module declarations. Doesn"t it mean "within the scope of another interface definition"?
Resolution: resolved and closed
Revised Text: Issue
Description
Comments
Vote
105
All interfaces must be defined at
global scope?
Replace sentence to clarify
3:0
For: LM, HP,
Mercury
Existing sentence
19.3 v 2.2
All interfaces must be defined at global scope (no nested
interfaces).
replace with
All IDL interfaces will be translated to the C Language global scope.
Actions taken:
September 11, 1996: Received issue
December 12, 1996: moved from cxx_revision to c-rev-wg
October 5, 2000: closed issue
Discussion:
Issue 106: Unions represented with either union or struct (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: In section 14-10 of the C mapping, it says that an ORB can use a struct to hold a union. Doesn"t this cause portability problems?
Resolution: Close with no change
Revised Text:
Actions taken:
September 11, 1996: Received issue
December 12, 1996: moved from cxx_revision to c-rev-wg
October 5, 2000: closed issue
Discussion: The spec has to allow that implementations can use something other than
a C union because it's not possible to store everything in a C union.
Because the spec requires that 'the union type' variable names and
techniques be supported it does not cause portability problems when an
application is moved from one to another implementation. Since the
internal format does not effect the format during transfer there is no
interoperability impact.
Issue 107: Sequence release flag implementation (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Section 14.11 of the C mapping introduces a release flag hidden inside the C struct; however, that struct is completely specified and leaves no bit for that flag. How does this work?
Resolution: Close with no change
Revised Text:
Actions taken:
September 11, 1996: Received issue
December 12, 1996: moved from cxx_revision to c-rev-wg
October 5, 2000: closed issue
Discussion: The section introduces a release flag but it does not put the flag inside
the C struct. The section states "the location of this release flag is
implementation dependent." Since the flag is only accessible via defined
interfaces it location is not significant.
Issue 108: Confusing sequence example (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: The fact that a sequence of longs is to be mapped into a struct is very confusing.
Resolution: Close with no change
Revised Text:
Actions taken:
September 11, 1996: Received issue
December 12, 1996: moved from cxx_revision to c-rev-wg
October 5, 2000: closed issue
Discussion: There does not seem to be any alternative approach. Since C does not
have a sequence primitive the implied parameters, i.e. max length,
current length and pointer to data, must be put some where and a struct
seems like the obvious answer.
Fix typo
The IDL code
Typedef CORBA_long FRED;
Typedef sequence <FRED,10> FredSeq;
is commented to be C code. Change /* C */ to be // IDL
Issue 109: Malloc problems with sequence types (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: The C mapping allocation procedures (T__alloc()) don"t allow for malloc"ing space for both the header struct and the values in one call.
Resolution: Close with no change
Revised Text:
Actions taken:
September 11, 1996: Received issue
December 12, 1996: moved from cxx-revision to c-rev-wg
October 5, 2000: closed issue
Discussion: It does not seem like the requested operation should provide. There are
cases where the combined operation would be wrong. Therefore two
operations would have to be specified. That would be a change to
existing implementations, which are not supported very actively now. I
doubt such a change would be implemented.
Issue 110: Suggested optimization for string duplication (c_mapping-rtf)
Click here for this issue's archive.
Nature: Enhancement
Severity:
Summary: Summary: It would be useful if CORBA_string_alloc() took an "optional" second argument which would be the string value to initialize the new string to, since ANSI C does not have strdup().
Resolution: Close with no change
Revised Text:
Actions taken:
September 11, 1996: Received issue
December 12, 1996: moved from cxx_revision to c-rev-wg
October 5, 2000: closed issue
Discussion: same as for Issue 109.
Issue 111: Inout sequence/any behavior with oversized return values (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: In case 5 of table 22 in section 14.19, what is the specified behavior if the release flag is FALSE, but the value to be returned is longer than the value specified?
Resolution:
Revised Text:
Actions taken:
September 11, 1996: Received issue
December 12, 1996: moved from cxx_revision to c-rev-wg
Discussion:
Issue 112: Semantics of CORBA_exception_id()"s return type (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: CORBA_exception_id() returns a pointer to the character string indentifying the exception. It would be nice to explicitly say that this is the same string defined in 14.14.
Resolution: Replace sentence to clarify
Revised Text: Jun 99 spec
p1-27 2nd parag.
CORBA_exception_id() returns a pointer to the character string
identifying the exception. The character string contains the repository ID
for the exception.
changes to
CORBA_exception_id() returns a pointer to the character string
identifying the exception. The character string returned will be a
CORBA_USER_EXCEPTION as defined in 1.16 or a
CORBA_SYSTEM_EXCEPTION as defined in The Common Object
Request Broker: Architecture and Specification.
Actions taken:
September 11, 1996: Received issue
December 12, 1996: moved from cxx_revision to c-rev-wg
October 5, 2000: closed issue
Discussion:
Issue 113: Contents of string literal exception identifier (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Section 14.14 calls for a string literal which "uniquely identifies this exception type", but does not specify any rules for generating such identifiers.
Resolution: Close with no change
Revised Text:
Actions taken:
September 11, 1996: Received issue
December 12, 1996: moved from cxx_revision to c-rev-wg
October 5, 2000: closed issue
Discussion: This does not seem to be an interoperability issue in that standard
exceptions are defined and user exceptions have meaning only in the
context of applications that understand both sides of the generation and
reception of the exception.
Issue 114: Specification type on CORBA_ORB_object_to_string example (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: On p. 14-24, the example of CORBA_ORB_object_to_string seems to have the CORBA_environment parameter in an unexpected position. Is this intentional? And what about the example on 14-28?
Resolution: Fixed by Portability submission
Revised Text:
Actions taken:
September 11, 1996: Received issue
December 12, 1996: moved from cxx-revision to c-rev-wg
January 2, 1998: closed issue
Discussion: closed issue
Issue 115: CORBA_BOA_set_exception() parameter issues (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Who owns the parameters "exceptname" and "param" to CORBA_BOA_set_exception? Shouldn"t that routine take a second CORBA_Environment parameter to signal errors in its operation?
Resolution: POA update eliminated conditions - close
Revised Text:
Actions taken:
September 11, 1996: Received issue
December 12, 1996: moved from cxx_revision to c-rev-wg
October 5, 2000: closed issue
Discussion: The sections on the POA have replaced the text related to the BOA and
the POA text has no equivalent text.
Issue 155: Support for efficient DII invocation (Section 17.7.1 CORBA 2.)) (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: Critical
Summary: Summary: Sun wants to ensure that DII interface permits implementations that support invocations without consulting the interface repository as intended by CORBA.
Resolution: close
Revised Text:
Actions taken:
October 7, 1996: received issue
October 5, 2000: closed issue
Discussion: It's not clear what part of the spec is being addressed. It's not clear what
version of the spec was involved with the reference to section 17.7.1.
The newest version June 1999 puts the text related to DII in section 1.27
and 1.28. The text is effectively the same as that used in the CORBA 2.1
at Section 17.26 and 27. Neither section says that an implementation
must use the IR as the means to resolve DSI or DII requests.
Issue 157: Entire section 14.1 should not be there (CORBA 14) (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: Medium
Summary: Summary: Entire section should not be here.It"s relevant to all potential language mappings. It should be moved to an appendix, since it is not a normative part of the specification
Resolution: delete section
Revised Text: proposed fix: Editorial change, move whole section to appendix
Actions taken:
October 10, 1996: received issue
October 5, 2000: closed issue
Discussion: This is now section 1.1 and subparagraphs. The text is not really part of
the C language mapping and further it is not completely correct for the C
Language mapping. The errors show up where the text use examples
and always makes a statement like " for example, the C mapping might
define..." where in latter parts of the document we do define the actual
mapping. The other language mappings that I checked do not have an
equivalent section.
Issue 158: Confusion about ORB handling call to pseudo objects via DII (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: Critical
Summary: Summary: Par. 14.1.8 indicates that ORB may handle calls to pseudo-objects via DII specially. This spec. should indicate that DII can"t be portably used for pseudo-object references.
Resolution: close – paragraph is deleted
Revised Text:
Actions taken:
October 10, 1996: received issue
October 5, 2000: closed issue
Discussion:
Issue 159: Order of arguments in C Language mapped operation (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: Critical
Summary: Summary: Order of arguments to C Language mapped operations seems to have changed from CORBA 1.2. Order must remain the same. Order must be used consistently throughout this specification .
Resolution: Fixed by Portability submission
Revised Text: Proposed fix: make the order consistently to be the 1.2 one.
Actions taken:
October 10, 1996: received issue
January 2, 1998: closed issue
Discussion:
Issue 160: Type declaration (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: Enhancement
Summary: Summary: Section 14.5. ISO C permits declaration of anonymous structures when type is being defined. From a coding style perspective it"s better to require use of defined type names
Resolution: close
Revised Text:
Actions taken:
October 10, 1996: received issue
October 5, 2000: closed issue
Discussion: It's not clear what spec version and paragraph is being addressed.
Further it's not clear how a style issue should be addressed in the spec.
Issue 161: Out of bound value behaviour for _maximum and _length in sequences (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: Medium
Summary: Summary: Section 14.11. Para 6 indicates error to set _length or _maximum member larger than specified bound. Say "If the _length and _maximum members are set to a value larger than specified...."
Resolution: replace sentence
Revised Text: Proposed fix: Add the sentence to the paragraph
Actions taken:
October 10, 1996: received issue
October 5, 2000: closed issue
Discussion: This is now section 1.11 in the June 1999 edition and the sentence still
exists. In full the sentence in question reads "For bounded sequences, it
is an error to set the _length or _maximum member to a value larger than
the specified bound." The issue seems to be suggesting that the spec
would be clearer or more complete if we stated a problem and then went
on to state the consequence of the error. However, the consequences of
the error can be well defined.
Replace
sentence with:
If the _length or _maximum members are set to values that are larger
than the size of a bounded sequence or larger than the allocated space
for a unbounded buffer then the result is undefined behavior.
Issue 162: Portably getting the value of the bounds of a sequence (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: Medium
Summary: Summary: Section 14.11: It"s not clear how a portable application could know value of bound of sequence. It"s specified in PIDL but is not represented in generated C header
Resolution: add sentence
Revised Text: Add sentence to
start the 3rd
paragraph on
p,1-14 June 99
spec
The _maximum member for a bounded sequence should be set to the
length of the bound when the sequence is allocated. Thereafter
accessing the _maximum will return the value of the bound. Resetting the
value of _maximum for a bounded sequence can result in unpredictable
behavior.
Actions taken:
October 10, 1996: received issue
October 5, 2000: closed issue
Discussion: It not clear what a C language mapping could do to provide this
information. The C++ language mapping simply states that maximum()
for a bounded sequence will always return the bound, but they can make
that happen via the class. The C language could do likewise, accessing
the _maximum parameter will return the sequence bound but, that would
only be true if the application had not at some point changed the bound.
Issue 163: Editorial (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: Medium
Summary: Summary: Section 14.13: Para 6 Change "For an array T..." to "An array T..."
Resolution: Fixed in CORBA 2.2 editing process
Revised Text: Proposed fix: Make it so
Actions taken:
October 10, 1996: received issue
February 26, 1998: closed issue
Discussion:
Issue 164: Order of parameters in the C mapping (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: Critical
Summary: Summary: Section 14.15: Bullet 2 indicates that last parameter to each operation is an output parameter..Inconsistent with lead sentence, CORBA 1.2, and not reflectedin rest of doc.
Resolution: Fixed by Portability submission
Revised Text: Proposed fix: Make things consistent with the way it is descibed in Bullet 2, i.e. additional parameters are trailing parameters, not leading parameters.
Actions taken:
October 10, 1996: received issue
January 2, 1998: closed issue
Discussion:
Issue 165: Wrong placement of asterics in table (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: Medium
Summary: Summary: Section 14.19: Asteriks in table are meant to indicate that item is a C Language pointer. They should not be subscribed.
Resolution:
Revised Text: Make it so
Actions taken:
October 10, 1996: received issue
Discussion:
Issue 166: C Language header question (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: Medium
Summary: Summary: Section 14.22: Al IDL compilers will generate a C language header. Does that mean that the C Language is required to be supported by all CORBA implementations?
Resolution:
Revised Text: Proposed Fix: The paragraph is bogus. Reword it to say that IDL compilers in ORBs that support the C language mapping generate such files. Of course all IDL compilers generate C Headers
Actions taken:
October 10, 1996: received issue
Discussion:
Issue 167: Pseudo-Object underspecification (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: Critical
Summary: Summary: Sect.14.23: Section indicates that ORBs may restrict the scope of legal operations on pseudo-objects. Minimal subset of operations should be defined so port. applications know what to rely on.
Resolution:
Revised Text: Needs discussion.
Actions taken:
October 10, 1996: received issue
Discussion:
Issue 168: Wrong order of parameters (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: Critical
Summary: Summary: Example CORBA_ORB_object_to_string function shows CORBA 1.2 function argument ordering. This is inconsistent with text in sect. 14.15. Spec must be internally consistent.
Resolution: Fixed by Portability submission
Revised Text: Proposed Resolution: Make it consistent with the general order i.e. implicit parameter come last.
Actions taken:
October 10, 1996: received issue
January 2, 1998: closed issue
Discussion:
Issue 169: Inappropriate information (Sect. 14.23. last paragraph (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: Medium
Summary: Summary: Information on implementation strategies for pseudo-objects is not relevant to application portability. It should be removed or appropriately annotated as guidance for ORB implementors.
Resolution:
Revised Text: Proposed Resolution: Make it this way, annotate it as such
Actions taken:
October 10, 1996: received issue
Discussion:
Issue 170: Reference to undefined term DIR (Section 14.24.1) (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: Critical
Summary: Summary: Paragraph refers to "DIR". This term has not been recently defined in the specification.
Resolution: Fixed in CORBA 2.2 editing process
Revised Text: Proposed resolution: In the last bullet just before the beginning of Sec 14.24.1 add "DIR" immediately following the term "Dynamic Implementation Routine", thus defining DIR
Actions taken:
October 10, 1996: received issue
February 26, 1998: closed issue
Discussion:
Issue 171: Parameter memory freeing problem (Section 14.24.1.para 6) (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: Critical
Summary: Summary: Para indicates that all the parameter memory is freed as appropriate when DIR returns. Who frees memory? If DIR frees memory, then change the wording as appropriate.
Resolution:
Revised Text: Proposed resolution: The whole paragraph is pretty bad. The term "appopriate" needs to be replaced by better explanation of what happens.
Actions taken:
October 10, 1996: received issue
Discussion:
Issue 172: implementation hints not specification (Section 14.24.2 last para) (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: Medium
Summary: Summary: Para describes strategy an implementation will use for determining an exception TypeCode. Information not relevant to application developer. Mark as guidance to Implementor.
Resolution:
Revised Text: Proposed Resolution: make it so
Actions taken:
October 10, 1996: received issue
Discussion:
Issue 173: Argument order inconsistent (Section 14.25.2) (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: Critical
Summary: Summary: C signature for example4_op5 as well as CORBA_BOA_set_exception have the environment parameter in the wrong place
Resolution: Fixed by Portability Submission
Revised Text: Proposed Resolution: make ev the last parameter
Actions taken:
October 10, 1996: received issue
January 2, 1998: closed issue
Discussion:
Issue 174: What happens when set_exception called more than once? (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: Critical
Summary: Summary: Sec 14.25.2: It"s not clear what happens if CORBA_BOA_set_exception is called more than once for a given object invocation. This should be specified.
Resolution:
Revised Text: Proposed resolution: Last invocation values are recorded and all others discarded?
Actions taken:
October 10, 1996: received issue
Discussion:
Issue 175: confusing presentation (Section 14.25.4) (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: Critical
Summary: Summary: It refers to a "third case", but there are no cases described, and there are only 2 examples. What are the cases this paragraph refers to?
Resolution:
Revised Text:
Actions taken:
October 10, 1996: received issue
Discussion:
Issue 176: inconsistent parameter name and order (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: Critical
Summary: Summary: In the definition of CORBA_ORB_init environment parameter comes last and it uses env instead of ev. Same inconsitency in CORBA_ORB_list_initial_services/CORBA_ORB_list_initial_references
Resolution:
Revised Text: Proposed Resolution: Position is fine, change name to ev.
Actions taken:
October 10, 1996: received issue
Discussion:
Issue 177: C mapping for sequence (Section 14.11 CORBA 2.0) (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: Serious
Summary: Summary: Section D.11 presents C mapping for sequence. For performance reasons, Sun prefers to embed the release flag in the sequence.
Resolution:
Revised Text:
Actions taken:
October 7, 1996: received issue
Discussion:
Issue 181: Representation of "string" values in an "any" (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: In C mapping what is representation of "string" in _value field of an any? "char *" or "char **"? "char **" seems to be more applicable-usage requires an "_alloc" function
Resolution:
Revised Text:
Actions taken:
October 7, 1996: received issue
Discussion:
Issue 243: C mapping for Any (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: SERIOUS
Summary: Summary: Section D.7 describes the mapping for CORBA_any. Sun would like to replace current C mapping for Any with opaque type, i.e conforming applications may not access members of CORBA_any struct
Resolution:
Revised Text:
Actions taken:
October 14, 1996: received issue
June 8, 1999: moved from cxx_revision to C Mapping RTF
Discussion:
Issue 291: Spec contains mutually inconsistent examples (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Spec contains mutually inconsistent example (p 14-11 and 14-13. P 14-13 suggests that C structure MUST be named CORBA_sequence_long instead and must be enclosed in #ifdef...#endif
Resolution:
Revised Text:
Actions taken:
October 22, 1996: received issue
Discussion:
Issue 292: vec10 and CORBA_sequence_long (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: vec10 and CORBA_sequence_long: are these distinct types?Would they have distinct typecodes and distinct entries in the Interface Repository?
Resolution:
Revised Text:
Actions taken:
October 22, 1996: received issue
Discussion:
Issue 293: Allocation Functions for sequences of "T" (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: The spec mentions 2 allocation functionsfor sequences of "T". These should better be inside the same (or similar) #ifdef...#endif as the struct typedef
Resolution:
Revised Text:
Actions taken:
October 22, 1996: received issue
Discussion:
Issue 294: Declare and define Allocators for new sequence type (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Are we supposed to declare and define allocators for new sequence Type? What is acceptable, required, forbidden (in terms of functions)?
Resolution:
Revised Text:
Actions taken:
October 22, 1996: received issue
Discussion:
Issue 295: sequence as anonymous type in struct (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: When sequence occurs as anonymous (local) type in a struct,union,etc, how should this be treated?
Resolution:
Revised Text:
Actions taken:
October 22, 1996: received issue
Discussion:
Issue 296: CORBA_sequence_long (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Why is it not CORBA_sequence_CORBA_long? What is the precise rule by which these names are constructed?
Resolution:
Revised Text:
Actions taken:
October 22, 1996: received issue
Discussion:
Issue 297: When MUST _buffer of sequence be allocated with _allocbuf (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: When must this be done? always, whenever the release flag is TRUE, whenever the sequence elements contain secondary storage, whenever it is an out, inout, or return
Resolution:
Revised Text:
Actions taken:
October 22, 1996: received issue
Discussion:
Issue 309: memory allocation functions (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: CRITICAL
Summary: Summary: Generate T__alloc functions for any type T except interfaces: no function, any: CORBA_any_alloc string: CORBA_string_alloc
Resolution:
Revised Text:
Actions taken:
November 25, 1996: received issue
Discussion:
Issue 310: memory release functions (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: CRITICAL
Summary: Summary: Deprecate use of CORBA_free and generate T__free functions for any type T instead. Specification of T__free is current spec for CORBA_free suitable for type T
Resolution:
Revised Text:
Actions taken:
November 25, 1996: received issue
Discussion:
Issue 311: mapping for sequences (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: CRITICAL
Summary: Summary: Add release flag to generated C structure and map IDL sequence type from following definition (/archives/issues/issue311)
Resolution:
Revised Text:
Actions taken:
November 25, 1996: received issue
Discussion:
Issue 312: Sequence behavior (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: CRITICAL
Summary: Summary: The proposal is to state as undefined the behavior of a sequence as lon as its release flag has not been initialized
Resolution:
Revised Text:
Actions taken:
November 25, 1996: received issue
Discussion:
Issue 313: Sequence buffer management (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: CRITICAL
Summary: Summary: Generate a pair of (Seq__allocbuf, Seq_freebuf) functions, for sequence Seq of type T to manage resource of buffer sequences: Seq__allocbuf and Seq__freebuf
Resolution:
Revised Text:
Actions taken:
November 25, 1996: received issue
Discussion:
Issue 314: Scoped sequence naming (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: CRITICAL
Summary: Summary: Map sequence type names and sequence element type names enclosed within a scope according to the encoding scheme described as follows (/archives/issues/issue314)
Resolution:
Revised Text:
Actions taken:
November 25, 1996: received issue
Discussion:
Issue 315: Exception stringification (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: CRITICAL
Summary: Summary: Generate string literal for exceptions as the stringification of the macro name e.g.for exception E: /*C code generation */ #define ex_E "ex_E"
Resolution:
Revised Text:
Actions taken:
November 25, 1996: received issue
Discussion:
Issue 316: Exception release function (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: CRITICAL
Summary: Summary: Generate a E__free function dual to E__alloc for exception E. /* C API */ void E__free (E*);
Resolution:
Revised Text:
Actions taken:
November 25, 1996: received issue
Discussion:
Issue 317: CORBA_Environment initialization (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: CRITICAL
Summary: Summary: Define a library function CORBA_Environment_init to initialize the non-opaque fields of CORBA_Environment (see file)
Resolution:
Revised Text:
Actions taken:
November 25, 1996: received issue
Discussion:
Issue 318: Exception identification (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: CRITICAL
Summary: Summary: Reserve the CORBA_exception_id function for user-defined exceptions only.
Resolution:
Revised Text:
Actions taken:
February 23, 1999: moved to orb_revision
March 1, 1999: moved from core revision to c mapping revision
Discussion:
Issue 319: Minor field of system exceptions (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: CRITICAL
Summary: Summary: Define the _minor field of system exceptions to be of type CORBA_ExceptionMinor
Resolution:
Revised Text:
Actions taken:
November 25, 1996: received issue
Discussion:
Issue 320: System Exception Type (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: CRITICAL
Summary: Summary: Define the type of system exceptions to be typedef definitions of a generic system exception type CORBA_SystemException
Resolution:
Revised Text:
Actions taken:
November 25, 1996: received issue
Discussion:
Issue 321: Exception initialization (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: CRITICAL
Summary: Summary: Define 2 functions, CORBA_exception_init and CORBA_systemException_init to initialize respectively user-defined exceptions and system exceptions to be raised
Resolution:
Revised Text:
Actions taken:
November 25, 1996: received issue
Discussion:
Issue 322: Allocation and initialization (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: ENHANCEMENT
Summary: Summary: Generate pairs of (T_init, T__alloc) functions for any type T (with descriptions described in issue # 309 concerning T__alloc)
Resolution:
Revised Text:
Actions taken:
November 25, 1996: received issue
Discussion:
Issue 323: De-allocation and release (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: ENHANCEMENT
Summary: Summary: Generate pairs of (T_release, T__free) functions for any type T T_release performs any internal memory release T__free calls T_release and frees the pointer argument
Resolution:
Revised Text:
Actions taken:
November 25, 1996: received issue
Discussion:
Issue 324: Sequence initialization (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: ENHANCEMENT
Summary: Summary: State as undefined the behavior of a sequence as long as its Seq_init function (as specified in issue # 322) has not been called this function initializing the release flag.
Resolution:
Revised Text:
Actions taken:
November 25, 1996: received issue
Discussion:
Issue 325: Sequence buffer initialization (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: ENHANCEMENT
Summary: Summary: Generate a Seq_initbuf function to initialize a buffer for sequence Seq of type T. Seq__allocbuf allocates a buffer and calls seq_initbuf to initialize the allocated buffer
Resolution:
Revised Text:
Actions taken:
November 25, 1996: received issue
Discussion:
Issue 326: Sequence buffer release (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: ENHANCEMENT
Summary: Summary: Generate a Seq_releasebuf function for sequence Seq of type T to perform any buffer internal release. Function is called by Seq_freebuf prior to free buffer pointer acc. to release flag
Resolution:
Revised Text:
Actions taken:
November 25, 1996: received issue
Discussion:
Issue 327: Exception initialization and release (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity: ENHANCEMENT
Summary: Summary: generate pairs of (E_init, E__alloc) and (E_release, E__free) functions for exception E with behavior similar to the corresponding functions defined for any type T.
Resolution:
Revised Text:
Actions taken:
November 25, 1996: received issue
Discussion:
Issue 328: Argument passing, cases 3 and 6 (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Table 22,p 14-20 of C mapping lists argument passing cases. In both cases(3+6) the value is either an out parameter or return value. How to handle CORBA_free as caller or callee
Resolution:
Revised Text:
Actions taken:
November 7, 1996: received issue
Discussion:
Issue 329: Exception id name (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Loose specification of the #define generated for an exception id: Specification by example is never a good idea. The specification should be more explizit.
Resolution:
Revised Text:
Actions taken:
October 31, 1996: received issue
Discussion:
Issue 330: CORBA_string_alloc (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Editorial issue: The definition on page 14-15 is given as char* CORBA_string_alloc(CORBA_unsigned_long_len); The return type should be "CORBA_char*".
Resolution: Fixed in CORBA 2.2 editing process
Revised Text:
Actions taken:
October 31, 1996: received issue
February 26, 1998: closed issue
Discussion:
Issue 331: Mapping for Aliases (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Mapping for IDL typedefs was dropped between CORBA 1.2 and 2.0. It should explicitly stated. Restoring text from 1.2 mapping is probably sufficient
Resolution:
Revised Text:
Actions taken:
October 31, 1996: received issue
Discussion:
Issue 332: Use of "objref_ptr" (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Nothing defines what an "objref_ptr" is. This was presumably pasted in from C++ mapping which has a T_ptr concept. Stop using this term in the C mapping or define it
Resolution: Fixed in CORBA 2.2 editing process
Revised Text:
Actions taken:
October 31, 1996: received issue
February 26, 1998: closed issue
Discussion:
Issue 333: Seq buffer deallocation (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Sequence buffers are allocated seperately from sequence which contain them, they can be released separately as well. Is this the job of the omnipotent CORBA_free?
Resolution:
Revised Text:
Actions taken:
October 31, 1996: received issue
Discussion:
Issue 334: Bound seq buffer allocation (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: What if user calls T_allocbuf for a bound sequence with a length that doesn"t match sequence constraint?Does this go undetected?. A related issue is issue # 108
Resolution:
Revised Text:
Actions taken:
October 31, 1996: received issue
Discussion:
Issue 335: release flag & returned data (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Mapping should be explicit about how release flag interacts with inout, out, and return parameter. There probably is arelated C++ issue
Resolution:
Revised Text:
Actions taken:
October 31, 1996: received issue
Discussion:
Issue 336: Seq buffer allocation (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Sec 14.11 specifies generation of a buffer allocator for each sequence type of form T* sequence_T_allocbuf (CORBA_unsigned_long_len); very difficult to implement correctly.
Resolution:
Revised Text:
Actions taken:
October 31, 1996: received issue
Discussion:
Issue 462: Example inconsistent with table 20 and table 21 (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Example foo::bar on page 14-17 has fixed array out parameter. Mapping shown on this page doesn"t agree with tables 20 and 21.
Resolution:
Revised Text: updated, TSInteroperability module deleted and Trans_Identity structure moved to Transactions module
Actions taken:
December 11, 1996: received issue
January 6, 1997: closed issue
Discussion:
Issue 485: Initial state of out parameter pointers (c_mapping-rtf)
Click here for this issue's archive.
Nature: Clarification
Severity:
Summary: Summary: Spec. should be clear that the pointer passed in out parameters by caller should be uninitialized. This clarification should be in case (3) and (6) of Table 22
Resolution:
Revised Text:
Actions taken:
January 14, 1997: received issue
Discussion:
Issue 486: Delete 14.17 para 1 (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: The first para of section 14.17 seems to have crept back after a deletion in a n earlier draft- it shouldn"t since it generalizes things (wrongly) which are properly described later
Resolution:
Revised Text:
Actions taken:
January 14, 1997: received issue
Discussion:
Issue 606: No defined value for CORBA_OBJECT_NIL (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Section 14.3: Reference is made to CORBA_OBJECT_NIL but there is no defined value for this. A value must be explicitly defined and typed
Resolution:
Revised Text:
Actions taken:
July 9, 1997: received issue
July 24, 1997: reassigned to cxx_revision
June 8, 1999: moved to C Mapping RTF
Discussion: moved to C Mapping RTF
Issue 620: CORBA_string is not defined (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: Section 14.28.1, 14.28.2, 14.29: CORBA_string is not defined anywhere in the code sample. These should be typedefed as CORBA_char * or char *
Resolution:
Revised Text:
Actions taken:
July 9, 1997: received issue
June 8, 1999: moved from C++ to C Mapping RTF
Discussion:
Issue 636: Inconsistency in CORBA 2.0 C mapping (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized
Severity:
Summary: Summary: I currently implement a subset of CORBA 2.0. Not CORBA-compliant in terms of C-mapping for arguments to pseudo-objects and real objects. Give clear statement on argument order for real objects
Resolution:
Revised Text:
Actions taken:
July 29, 1997: received issue
Discussion:
Issue 2307: Error in C language specification (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: There is very probably a small error in the C language specification.
Below is what I wrote to the mailing list concerned with building the ORBit ORB. It
was confirmed by one of the main coders behind ORBit.
> This is something else, but I was more confused because the OMG "C language
> mapping" spec at page 19-39 really seems to contain an error.
> In that example, they also create an application specific servant structure called
> AppServant, and they set the finalizer using
>
> AppServant my_servant = ...
>
> my_servant.epv._base_epv.finalize = my_finalizer_func;
>
> That should really have been (at least, that"s what I think):
>
> my_servant.base.vepv._base_epv.finalize = my_finalizer_func;
>
> I hope you agree with me there, or else I"m probably getting out of touch with C.
Resolution:
Revised Text:
Actions taken:
January 18, 1999: received issue
March 2, 1999: issue moved to c_mapping-rtf
Discussion:
Issue 2533: How to allocate storage for a basic type you wish to place in an any? (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity: Critical
Summary: Summary: Under the C mapping how do you allocate storage for a basic type
you wish to place in an any.
Consider inserting a long into an Any.
Do you do this: solution 1
any->_type = TC_long;
any->_value = CORBA_alloc(sizeof(CORBA_long));
or this: solution 2
any->_type = TC_long;
any->_value = CORBA_long__alloc();
One vendor argues that the text below supports solution 2. However
as a long is not a constructed type solution 1 seems more natural.
>From "17.8 Mapping Considerations for Constructed Types" of CORBA 2.1
specification:
"For types whose parameter passing modes require heap allocation,
an ORB implementation will provide allocation functions. These types
include variable-length struct, variable-length union, sequence, any,
string, wstring and array of a variable-length type. The return value
of these allocation functions must be freed using CORBA_free(). For
one of these listed types T, the ORB implementation will provide
the following type-specific allocation function:
T *T__alloc(); /* C */"
Resolution: urgent resolution, issue resolved
Revised Text: Resolution:
OMG has selected solution 2.
Additional information:
In a future CORBA version the the text in section 19.8 of CORBA 2.2
(section 17.8 of CORBA 2.1) will be changed to better illustrate the
existing words. The following existing paragraph seems to cover the
question, if the type for an any is being allocated to the heap.
For types whose parameter passing modes require heap
allocation,an ORB implementation will provide allocation functions. These
types include variable-length struct, variable-length union, sequence, any,
string, wstring and array of a variable-length type. The return value of
these
allocation functions must be freed using CORBA_free(). For one of
these listed types T, the ORB implementation will provide the following
type-specific allocation function:
T *T__alloc(); /* C */"
To clarify the paragraph for type any value we will add the following
text.
To initialize the fields of an any with type T where T is a
CORBA basic type, a T_alloc() operation shall be utilized. For example, an
any containing a CORBA_long that was allocated to the heap would be
initialized by:
any->type = TC_long
any_>value = CORBA_long__alloc( );
If the CORBA basic type value for the any was not allocated
from the heap then the type specific allocator would not be used.
Actions taken:
March 12, 1999: received issue
August 4, 1999: closed issue
Discussion:
Issue 2534: Correct arguments to send multiple requests (c_mapping-rtf)
Click here for this issue's archive.
Nature: Revision
Severity: Critical
Summary: Summary: Additional Commentary:
In tset/c/hdr/DII/ORB/send_multiple_requests.c,
VSOrb 1.1.0 test examines our orb on the assumption that
send_multiple_requests() is defined like the following.
CORBA_Status CORBA_send_multiple_requests(
CORBA_ORB orb,
CORBA_Request reqs[],
CORBA_long count,
CORBA_Flags invoke_flags,
CORBA_Environment *env
);
But, according to section 4.3.2 of CORBA 2.1 specification,
send_multiple_requests() is defined like the following.
/* C */
CORBA_Status CORBA_send_multiple_requests(
CORBA_Request reqs[],
CORBA_Environment *env,
CORBA_long count,
CORBA_Flags invoke_flags
);
Section C - Interpretation Responses
The Open Group Initial Response:
An interpretation from OMG is required to determine whether Section
4.3.2 or Section 17.17 of CORBA 2.1 is definitive.
Consultants Initial Response:
We believe Section 4.3.2 is incorrect according to the general
C mapping rules (as are many of the other examples). We are
following rules defined in Section 17.17 which states that every
function signature takes the object as the first parameter and an
Environment object as the last parameter.
Interpretations Subgroup Responses:
Resolution: urgent resolution....issue closed
Revised Text: Resolution:
OMG has determined that Section 17.17 of CORBA 2.1 is definitive. The
material in section 4.3.2 will be changed in a future CORBA revision
to agree with it.
Actions taken:
March 12, 1999: received issue
August 4, 1999: closed issue
Discussion:
Issue 2563: Content of an Any is a pointer to the type -- Issue (c_mapping-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: In PIN4O.00001 OMG have ruled that the content of an any is a
pointer to the type. So a long in an Any looks like this;
any ----> long
But what about strings? As this type includes a pointer part
itself the above rules would make the following appear to be the
conformant case;
any----> ptr to string -----> string : option 1
Having a pointer to a pointer is a bit unwieldy but appears to follow
the rules. Collapsing this to simply a pointer to the str thus;
any----> string : option 2
is more natural for programmers but ambiguous within the spec.
We would like to know which of these two options is correct.
Section C - Interpretation Responses
The Open Group Initial Response:
This request is being sent for review by OMG. We request that OMG
rule which of the two options is correct or whether both are equally
so.
Consultants Initial Response:
We recommend this request be sent to OMG for a binding interpretation.
We recommend a PIN be granted to clarify the requirements for branding
irrespective of which of the two options OMG selects.
Resolution: urgent resolution, issue closed
Revised Text: Resolution:
Add the following sentence to v 2.3 standard in section 19.7 Mapping for
Basic Data Types after the sentence:
"TypeCodes are described in "TypeCodes" on page 8-35/ The _value member
for an any is a pointer to the actual value of the datum."
"Note that this holds true when the datum is itself implemented as a
pointer, e.g. in the case of a CORBA string, the _value member would be
a pointer(CORBA_char**) to string(CORBA_char*)."
Actions taken:
March 30, 1999: received issue
August 4, 1999: closed issue
Discussion:
Issue 4341: Order of structure members (c_mapping-rtf)
Click here for this issue's archive.
Source: Triodia Technologies Pty Ltd (Mr. Michi Henning, michi(at)triodia.com)
Nature: Uncategorized Issue
Severity:
Summary:
The C mapping says in section 1.9: OMG IDL structures map directly onto C structs. Note that all OMG IDL types that map to C structs may potentially include padding. This is not as clear as it should be. In particular, a requirement should be added to preserve the order of structure members as they appear in the IDL.
OpaqueValue, a new native type introduced in Issue 2162 (void * in DII Chapter) for add_arg, was never documented in any of the language mappings. Language Mapping that claim that the DII interfaces map according to regular rules need to provide mapping rules for OpaqueValue and document it. The mapping would simply be OpaqueValue --> (void *) or equivalent.