Ig Release Notes
Ig 1.7.7
Fixed errors and malfunctions
- In some case, if a complete pathname to a source file was given, the module name for the callback function would be set to the complete filename. This has been corrected.
Own Id: OTP-2443
Aux Id: seq 8289 IG Release Notes
This document describes the changes made to the interface generator (IG) tool.
9.1 IG 1.7.6
9.1.1 Fixed Bugs and malfunctions
- Binaries was not freed properly.
Own Id: OTP-2006
Aux Id: SEQ 395
9.2 IG 1.7.5
9.2.1 Fixed Bugs and malfunctions
- Nested strings now de-allocated.
Own Id: OTP-1822, OTP-1944, OTP-1957
Aux Id: SEQ 395
9.3 IG 1.7.4
9.3.1 Fixed Bugs and malfunctions
- Floating point numbers now handled correctly by stubs.
Own Id: OTP-1450
- New string handling in
erl_interface
.
Own Id: OTP-1471
- IG variables misshandled on all compilers except gcc.
9.4 IG 1.7.3
9.4.1 Improvements and new features
- IG (only with pipe communication via a port) is now available for Windows NT.
- IG can be invoked with the
erlc
batch command.
9.5 IG 1.7.2
9.5.1 Fixed Bugs and malfunctions
- Dependencies have been updated in the Makefile in the examples directory.
Own Id: OTP-1332
- An undeclared variable was used in generated stub code under certain conditions. This has been remedied.
Own Id: OTP-1365
9.6 IG 1.7.1
9.6.1 Improvements and new features
9.6.2 Fixed Bugs and malfunctions
- A bug which could make the igserver hang when port died while it was waiting for response from C has been remedied.
Own Id: OTP-1174
Aux Id: HA39783
- The file
igcsasl.hrl
is now included in the distribution.
Own Id: OTP-1187
- IG
.app
file for embedded systems have been updated.
Own Id: OTP-1199
Aux Id: HA40746
- Freed memory could be read when using IG_binaryPtr as return values. This has been remedied.
Own Id: OTP-1235
9.6.3 Incompatibilities with IG 1.7
9.6.4 Known bugs and problems
9.7 IG 1.7
Note that the stub code must be regenerated because one of the bugs fixed caused an internal interface change.
Own Id: OTP-1167
Aux id: HA393959.7.1 Improvements and new features
This improvement does not affect those that does not use IG preprocessor directives or does not use the
IG_var
construction.The
IG_define
,IG_ifdef
,IG_ifndef
,IG_else
,IG_endif
andIG_var
constructions have been changed for portabillity reasons. The table below show the new syntax. Old code will still work using the old syntax but it is strongly recommended that code using the old syntax is rewritten using the new syntax. The new syntax makes use of IG sensitive comments (/*IG*/
) to guide the IG parser. Note also that it is not allowed to declare anIG_var
withstatic
storage class.
Old syntax New syntax IG_define MARY 19
/*IG*/ #define MARY 19
IG_ifdef STDC
/*IG*/ #ifdef STDC
IG_ifndef NO_SWITCH
/*IG*/ #ifndef NO_SWITCH
IG_else
/*IG*/ #else
IG_endif
/*IG*/ #endif
IG_var extern long thing;
/*IG_var*/ extern long thing;
Old and new syntax... 9.7.2 Fixed Bugs and malfunctions
- The IG generated Erlang
start
stub code does not return until a complete connection has been set up. Note that this makes old stub code incompatible with OTP IG 1.7.
Own Id: OTP-1064
- When an empty string is passed from Erlang to C, it is converted to a C empty string, not a C NULL as it was before.
Own Id: OTP-1106
Aux Id: tir-f-086
- A parse error when user defined types where used in a
IG_call
has been fixed.
Own Id: OTP-1121
- The socket duplex example read uninitialised memory.
Own Id: OTP-1145
- The IG examples makefile has been updated.
Own Id: OTP-1155
- The IG user's guide has been cut down in the examples region. Big examples have been removed.
Own Id: OTP-1156
9.7.3 Incompatibilities with IG 1.6
- OTP-1064 caused the internal interface to change so all stub code must be regenerated.
Own Id: OTP-1167
Aux id: HA39395
- Mod:sup_start(LibName) does not automatically register a name as it did before. This means that the user will have better control over the name registered.
- It is not allowed to declare a variable with
static
storage class as accessible from Erlang using the new/*IG_var*/
syntax. It is still permitted in the old obsolete syntax.
9.7.4 Known bugs and problems
-