EiffelStudio 6.7 Releases

Revision as of 06:21, 20 August 2010 by Arnofiva (Talk | contribs) (User changes)

Below are not the release notes of EiffelStudio. It is the change log of EiffelStudio intermediate releases and the most important changes are highlighted in green or in red (for breaking changes). The release notes of EiffelStudio can be found at the following URL. You can also download the latest revision here. Information about other version can be found under Category:Releases.

EiffelStudio 6.7.x Releases

6.7.x

Placeholder for new stuff since last intermediate release.

New features

Improvements

  • compiler: Allowed for a qualified anchored type that has a stand-alone type qualifier to be used as a type of a once function (bug#17035, test#anchor058).
  • AutoTest: test classes in a system are automatically detected and compiled. Executing tests therefore no longer requires an separate compilation.

Feature removed

Bug fixes

  • compiler: Fixed incorrect output of generic constraints that involve the same formal generic recursively (bug#16948).
  • compiler: Fixed bug#16949 when the particular order of formal generic constraints might cause incorrect compiler error report (test#multicon054).
  • compiler: Fixed a compiler crash when QAT refers to the recursively defined formal generic (bug#16950, test#multicon055).
  • compiler: Fixed bug#16743 that caused a compiler crash when a particular set of keywords is allowed to be used as identifiers under some conditions (test#term186).

User changes

AutoTest library: changes to {EQA_TEST_SET} make it simpler to define a custom `asserter' or `file_system'. Removed {EQA_TEST_SET}.run_test which has previously been used by the tool to execute a test routine.

Developer changes

6.7.8.4178 (August 16th 2010)

New features

Improvements

  • compiler: Allowed for a qualified anchored type that has a standalone type qualifier to be used as a type of a once function (bug#16947, test#anchor050).

Feature removed

Bug fixes

  • compiler: Fixed eweasel test#incr366 when an expanded generic type is being used and its expandness status is removed. It completes the fix for test#incr315.
  • compiler: Fixed test#attach077 when VEVI was not properly reported in some cases for uninitialized attributes passed as arguments.
  • compiler: Fixed eweasel test#incr378 for a bug added at the previous intermediate release which would break execution of code when touching/modifying some generic classes used in the system.

User changes

Developer changes

6.7.8.4135 (August 10th 2010)

New features

  • compiler: New tracing facility in Eiffel code. Currently tracing is done at the runtime level by writing some text in the standard output. This new tracing facility let you execute some user defined Eiffel code at entry and exit of all routine calls. That way you can better track what is going on without endless search in the output.

Improvements

Feature removed

Bug fixes

  • compiler: Fixed eweasel test#ccomp085. Now the compiler ensures that if you have a C external with a specific includes order, it will be respected at compile time.
  • compiler: Fixed eweasel test#exec326. Now the compiler properly generates the REAL_32 values for {REAL_32}.min_value and {REAL_32}.max_value.
  • compiler: Fixed eweasel test#valid243, test#svalid028, test#svalid029, test#tuple004, test#freez032 and test#multicon058. The issue was that when we performed the type checking of inherited routines using prefix/infix we were not using the new name of the prefix/infix operator but still the old one. Thus if it was renamed it would cause a spurious compilation error instead of accepting the code.
  • compiler: Fixed eweasel test#multicon056 and test#multicon057 which prevented usage of objectless call on formal generic parameter using multiconstraints.
  • compiler: Fixed eweasel test#freez032 showing that the inlining of `.hash_code' was incorrect for .NET and C code generation. Melted was OK because no inlining was done and the Eiffel code was executed.
  • compiler: Fixed the following eweasel tests: test#incr295 test#incr302 test#incr307 test#incr309 test#incr324 test#incr331 test#incr332 test#incr346 test#incr372 test#incr373 test#incr374. The main problem was that we did not properly cleaned the TYPE_LIST and the FILTER_LISTs of the compiler when types do not satisfy their constraint anymore. The other issue was with `pattern_id' where when removing an entry from PATTERN_TABLE we only removed it from `info_array' but not from Current, causing `insert' to misbehave.
  • compiler: Fixed test#incr315 where we did not rebuild the parent list of a class when one of the inheritance clause had its type changed from expanded to non-expanded or vice-versa.
  • compiler: Fixed test#incr345, when you remove the invariant containing an inline agent and you have an error in that class, the inline agent was preserved instead of being removed.

User changes

  • base: Made {ARRAY}.make obsolete. Now one has to use `make_empty' or `make_filled'.

Developer changes

6.7.8.3946 (July 20th 2010)

New features

  • compiler: Added support for gcc on Windows 64-bit, thus removing the need for Microsoft Visual Studio for most type of projects.
  • compiler: UTF-8 source code parser
  • compiler: Unicode (STRING_32) manifest string
  • compiler: Unicode free operator
  • encoding: BOM encoding detector for UTF-8
  • encoding: New localized printer which prints Unicode according to the console encoding.

Improvements

  • store: Prevent C storable to block all threads while waiting from data to be read in retrieved. Now we would wait for the storable type first before blocking all the other runtime threads. This fixes bug#16859.

Feature removed

Bug fixes

User changes

Developer changes