$Log, ChangeLog,v $

3.3.0
 - [feature] use UTCB IPC
 - [feature] allow to specify absolute [uuid] attributes for operations
   (without interface ID)
 - [feature] allow to specify ranges in [uuid] attribute for operations
 - [fix] lookup of types to respect scope of definition
 - [fix] compilation for Socket Back-End (C/C++ parser choked on some Linux
   headers)
 - [fix] memory allocation for [out, ref] parameters at server side is not
   intended
 - [fix] creation of enums
 - [fix] when using the -o option, target files were sometimes empty
 - [fix] in C/C++ parser: recognize __builtin_va_list as type not ID
 - [fix] defining C++ built-in types in C headers failed (wchar_t)
 - [fix] parsing of concatenated literal strings in C/C++ files
 - [fix] parsing of compound statements as expressions (gcc C extension)
 - [fix] parsing of casting statements
 - [fix] more usage of long long only if available
 - fail on deprecated -C option
 - always typedef the message buffer type (now in functions as well)

3.2.1
 - [feature] new compiler option --require <string> that specifies the minimal
   version the currently running Dice has to be.
 - [feature] new #pragam require <string> with same semantic
 - [fix] rcv_any and wait_any functions have different names on client and
   server side
 - [fix] marshalling of pointer types as parameter of ipc_call did not work
 - [fix] whitespace output when parsing files using #pragma
 - [fix] make unmarshal/marshal/wait_any functions protected in generated
   server classes (C++ backend)

3.2.0
 - [feature] add L4.Fiasco backend to reflect changes in L4.Fiasco API
   (uses ipc_*_tag variants of IPC C-Bindings)
 - [feature] replace parsers with new C/C++ and IDL parsers
   * import/include changes: import for C header files, include for IDL files
     only
   * pragma force-include: to force inclusion of C header files
   * fix #352: Dice did not obey include directives
   * "string" is now IDL keyword: no longer use string as name
 - [feature] renamed long option --create-inline into --inline
 - [fix] enums are properly supported now
 - [fix] CORBA_Object was not generated with const_ prefix where possible
 - [fix] header files for non-gnu C++ compilers
 - [fix] explicetly test for C++ compiler flags to avoid errors due to missing
   or unsupported flags
 - [fix] when receiving variable number of flexpages at server, temporary
   variable was not declared; array of flexpages whas internally counted as
   one flexpage; opcode was not correctly extracted when receiving variable
   number of flexpages
 - [removed] possibility to specify flick, x0, x0adapt kernel interfaces

3.1.3
 - [fix] build without installed sources of libltdl
 - [fix] building user's manual in builddir != srcdir
 - [fix] build fixes for Ubuntu
 - [fix] really scrub dice dir on 'make cleanall' - fixes some subsequent
   build errors experienced by some users
 - [fix] no dependency on a configured L4 object-dir anymore
 - [fix] C++ back-end fixes
 - [fix] -s option did not generate *-sys.h[h] file
 - [fix] sending array of flexpages works for L4 V2
 - [fix] signdness issues in generated code
 - [feature] simplistic exception support for C back-end
 - [feature] add -fsyscall= option to allow optimization of kernel entry.
 - [feature] removed --with-l4dir configure option.
 - [feature] libltdl is shipped with Dice now

3.1.2
 - [feature] only set receive window in message buffer to environment's
   receive flexpage if we really receive a flexpage
 - [feature] only set exception in environment if we received an exception
   (this might require to reset the environment in case of error in calling
   code)
 - [feature] add [default_timeout] attribute: if attribute is set, IPC timeout
   is set using constant, default timeout values. Otherwise the environment's
   timeout member is used.
 - [fix] sending two variable sized arrays into one direction
 - [fix] crash on Mac OS due to internal misuse of iterators
 - [fix] print file name and line number also for warnings
 - [feature] the Common Data Representation back-end is obsolete
 - [fix] smaller memory leakage fixes
 - [fix] build on MacOS X
 - [fix] configure is more strict if bison/flex are missing
 - [fix] bootstrap version checks more accurate now
 - removed the obsolete developer's manual

3.1.1
 - [feature] on installation a version suffix is appended to the binary name,
   allowing installation of multiple dice binaries. The 'dice' name is linked
   to the versioned binary.
 - [feature] inspired by madwifi, I added an svn revision info to --verion
   line.
 - [fix] warn on colliding operation IDs for two base interfaces in the
   derived interface.
 - [fix] classes generated from derived interfaces derive from the classes of
   the base interfaces now. This has some consequences for member variables
   (exist in base class) and constructors (call base class constructor).
 - [fix (minor)] compiler warning of gcc for generated C++ stubs when
   initializing exception member
 - [fix] parameters with constructed type and [out, ref] parameter were not
   unmarshalled correctly
 - [fix] for X0: actually invoke IPC in reply function

3.1.0
 - replace -C option with -x corba (conforms to gcc and easier to extend)
 - fix recognition of unnamed union/struct fields in C parser
 - changed verboseness levels:
   -v1 only print options
   -v2 + verbose compiler output (same as -v)
   -v3 + verbose parser output
   -v4 + verbose scanner output
 - add --disable-verbose option to configure (requires automake 1.9)
 - reimplemented [sched_donate] function attribute to modify time donation
   during IPC
 - implement send-only function in socket back-end (Stephen Kell)
 - add receive timeout in socket back-end (Stephen Kell)
 - more C++-ification (using more STL functionality)
 - replace [prealloc] by [prealloc_client] and [prealloc_server].
 - several bug fixes

3.0.0
 - changed --verbose Option handling
 - tracing plugin
 - allow type attribute specification for return type of operation
 - support attribute [without_using_exceptions] for interface
 - Dice is order preserving, that is, elements in the target code appear
   in the order of the respective elements in the source IDL
 - -falign-to-type is default for ARM
 - added -fgenerate-line-directive to generate source line statements in
   target code
 - split [error_function] into [error_function_client] and 
   [error_function_server]
 - -fuse-symbols/-fuse-defines is deprecated
 - backend for X0 adaption deprecated
 - fix fpage receive window if no fpages expected
 - fix functions with [out] fpage and no return type
 - fix [out] one-way functions with return type
 - add [dedicated_partner] attribute for interface to allow close sessions
 - message buffer format changed from byte-stream to structured type

2.3.0
 - -fserver-parameter is default now
 - -fctypes and -fl4types are deprectaed. The behaviour of -fctypes is default
   now. To generated CORBA compliant data types specify -fcorba-types.
 - Added Option -fcorba-types that will cause the usage of CORBA types.
 - examples subdir has been superceeded by l4/pkg/dice-testsuite
 - several bug fixes (AMD64, memory management at server side)

2.2.9
 - better support for C++: -BmCPP generates .cc/.hh files and g++ comformant
   code
 - support AMD64 for V2 using C Bindings (-Bpamd64)
 - specify output directory using -o Option
 - removed optimization (-O) option (unused)
 - some bug-fixes

2.2.8
 - replaced Vector and String class by STL implementations
 - made usage of 'long long' type detectable by configure script
 - configure checks for existence of 'long long' type and 'atoll' function
 - added option to align parameters in the message buffer to the size of their
   type
 - starting support for L4 V4 (aka X2) ABI
 - add function attribute [allow_reply_only] for asynchronous servers
 - add function attribute [noopcode] to not sent opcodes
 - add function attribute [noexceptions] to not sent exceptions
 - add option -fno-dispatcher to not generate the dispatcher
   function

2.2.7
 - split server-loop function into a simpler server-loop
   and a dispatch function
 - added option to not generate server loop function
 - added CORBA Common Data Representaion (CDR) back-end

2.2.6
 - type-attributes in C parser
 - ARM backend for X0
 - sequence type supported
 - CORBA string mapping fixed
 - [in] arrays are const arguments now
 - exceptions supported for system-exceptions
   . IPC error
   . wrong opcode
 - unified CORBA types into one header
 - generates only C files for IDL file given as argument

2.2.5
- some more magic for the CORBA types:
  . configure sets the l4dir and the include path where dice includes are	
    installed to
  . dice adds them to the include paths with "/dice" added
    -> thus /usr/include and $(L4DIR)/include are no longer added automatically
       but /usr/include/dice and $(L4DIR)/include/dice instead
  . adapted automatic include of "dice/dice-corba-types.h" appropriately
  . added possibility to mark a file as "privately included" meaning that no
    #include statement will appear for it in generated files
    -> "dice-corba-types.h" will not appear in generated files

2.2.4
 - bug fix release for 2.2.3
 - fixes problems introduced with new parser architecture
 - import and include behave (almost) the same now
 - smaller fixes for [oneway]
 - SOCKETAPI -> L4API_linux
 - some gcc adaption to gcc-c front-end

2.2.3
 - several bug-fixes
 - enhanced front-end with a seperate C parser

2.2.2
 - tons of bug-fixes
 - x0 Back-End added (untested)
 - x0adaption Back-End added (imitates V2 API on X0 kernel)
 
2.2.1
 - added 'socket' Back-End

2.2.0
 - BE: flexpages, indirect strings
 - works for L4 version 2

Revision 1.2  2002/11/30 13:09:37  ra3
- added back-end to use sockets for communication
- cleaned up L4 back-end
- adapt rest of DICE to support socket backend

Revision 1.1  2002/11/20 17:21:47  ra3
- removed $Log entries form sources
- adapted to automake/autoconf
  -> parser moved into own subdir
  -> man/html doku in own subdir

