## 1 IDL Compiler Release Notes

### 1.1 IC 4.2.13

#### 1.1.1 Improvements and New Features

- Minor Makefile changes.
  Own Id: OTP-6701 Aux Id:

### 1.2 IC 4.2.12

#### 1.2.1 Improvements and New Features

- Dead code was deleted from the following modules: ic_cclient, ic_code, ic_cserver, ic_erlbe, ic_java_type, ic_noc, ic_plainbe, ic_pp, ic_pragma, icscan, icstruct, ictype, icunion.

### 1.3 IC 4.2.11

#### 1.3.1 Improvements and New Features

- Changed code generation to avoid warnings such as unused variables.
  Own Id: OTP-5930 Aux Id:

### 1.4 IC 4.2.10

#### 1.4.1 Fixed Bugs and Malfunctions

- The FD_SETSIZE limit has been increased to 2048 for VxWorks/PPC603.
  Own Id: OTP-5395 Aux Id: seq9751

### 1.5 IC 4.2.9

#### 1.5.1 Fixed Bugs and Malfunctions

- In C back-ends, the compiler crashed when generating C code for error reports when a scoped name was used as a type in a union.
  Own Id: OTP-5375 Aux Id: seq9740

### 1.6 IC 4.2.8

#### 1.6.1 Fixed Bugs and Malfunctions

- In C back-ends, when decoding a sequence of "small" integers, which from Erlang is sent as a string (i.e. each element between 0 and 255), each string element was considered to be of signed character type. Each such element is now correctly treated as an unsigned character type.
  Own Id: OTP-5205 Aux Id: seq9241

### 1.7 IC 4.2.7

#### 1.7.1 Improvements and New Features

- A new compiler option `c_report` has been introduced for C back-ends (client and server). If that option is set, encoding/decoding errors will be reported to `stderr`.
  Own Id: OTP-4977

### 1.8 IC 4.2.6

#### 1.8.1 Improvements and New Features

- The size of modules, used then registering data in the IFR DB (e.g., oe_MyModule:oe_register()), can be minimized if the compile option light_ifr is used and Orber is configured to use Light IFR. Requires that orber-3.5.1, or later, is used.
  Own Id: OTP-5036

#### 1.8.2 Incompatibilities

- The compile otion `multiple_be` is no longer supported.
  Own Id: OTP-5049

### 1.9 IC 4.2.5

#### 1.9.1 Improvements and New Features

- Send and receive functions with timeouts have been added to the C back-ends for the standard protocol (i.e. Erlang distribution + gen_server protocol).
  Accordingly a new compiler option `{c_timeout, {SendTimeout, RecvTimeout}}` has been added. Timeouts are specified in milliseconds.
  A user that want to implement its own protocols with function timeouts has to implement the following functions.
  For C clients the functions `int PFX_send_notification(CORBA_Environment *env, unsigned int send_ms)`, and `int PFX_send_request_and_receive_reply(CORBA_Environment *env, unsigned int send_ms, unsigned int recv_ms)` have to be additionally implemented, where PFX is the user defined prefix.
  For C servers no additional functions have to be implemented, but a clone of the `int oe_server_receive_tmo(CORBA_Environment *env, oe_map_t *map, unsigned int send_ms, unsigned int recv_ms)` might be handy.
  Own Id: OTP-4972

### 1.10 IC 4.2.4

#### 1.10.1 Improvements and new features

- The C back-ends has been opened up, so that a user can define his own protocol, differing from the Erlang distribution + gen_server protocol.
  For C clients it means to replace the library functions `int oe_prepare_notification_encoding(CORBA_Environment *env)`, `int oe_send_notification(CORBA_Environment *env)`, `int oe_prepare_request_encoding(CORBA_Environment *env)`, `int oe_send_request_and_receive_reply(CORBA_Environment *env)`, and `int oe_prepare_reply_decoding(CORBA_Environment *env)`, with functions of the same signature, but with the prefix "oe" replaced by a user defined prefix. For C servers the functions `int oe_prepare_request_decoding(CORBA_Environment *env)`, and `int oe_prepare_reply_encoding(CORBA_Environment *env)`, are similarly replaced.
  The new compiler option `{user_protocol, Prefix}` has been added.
  Own Id: OTP-4834

### 1.11 IC 4.2.3

#### 1.11.1 Fixed Bugs and Malfunctions

- In generated code for the C server back-end, the naming scope was in error for prototypes in C header files for interfaces inheriting base interfaces.
  Own Id: OTP-4881

### 1.12 IC 4.2.2

#### 1.12.1 Fixed Bugs and Malfunctions

- IDL long long and unsigned long long could not be used in a struct for the Java backend.
  All unsigned integer types for the Java backend had broken marshalling for large values.
  Own Id: OTP-4763

### 1.13 IC 4.2.1

#### 1.13.1 Fixed Bugs and Malfunctions

- A scoping problem (IC could not find typedefs contained inherited interfaces) in the C-backend solved.
  Own Id: OTP-4758

### 1.14 IC 4.2

#### 1.14.1 Improvements and New Features

- The CORBA stub/skeleton-files generated by IC have been improved, i.e., depending on the IDL-files, reduced the size of the erl- and beam-files and decreased dependencies off Orber's Interface Repository. It is necessary to re-compile all IDL-files and use COS-applications, including Orber, compiled with IC-4.2.
  Own Id: OTP-4576

ic 4.2.13
Copyright © 1991-2007 Ericsson AB