Difference between revisions of "EiffelStudio 6.7 Releases"
(→Bug fixes) |
(→Improvements) |
||
Line 10: | Line 10: | ||
===Improvements=== | ===Improvements=== | ||
* compiler: Improved code generation for SPECIAL.force and SPECIAL.fill_with. `force' would be slightly faster, but `fill_with' is dramatically faster in workbench mode since there are no more function calls to `put' or `extend'. | * compiler: Improved code generation for SPECIAL.force and SPECIAL.fill_with. `force' would be slightly faster, but `fill_with' is dramatically faster in workbench mode since there are no more function calls to `put' or `extend'. | ||
+ | * compiler: We are now using the same version of gcc on Windows 32-bit and Windows 64-bit (i.e. 4.4.5) | ||
===Feature removed=== | ===Feature removed=== |
Revision as of 13:48, 1 September 2010
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
- base: Initial implementation of the WEAK_REFERENCE class. It can only works with references and in this current version is only implemented for classic Eiffel.
Improvements
- compiler: Improved code generation for SPECIAL.force and SPECIAL.fill_with. `force' would be slightly faster, but `fill_with' is dramatically faster in workbench mode since there are no more function calls to `put' or `extend'.
- compiler: We are now using the same version of gcc on Windows 32-bit and Windows 64-bit (i.e. 4.4.5)
Feature removed
Bug fixes
- compiler: Fixed gcc support for 64-bit which could indeed compile but not link due to missing libraries in the delivery.
- compiler: Fixed eweasel test#incr232 by forcing descendants of a class that has its `frozen', `deferred' or `generics' changed to be rechecked at degree 4 for validating the inheritance clauses.
- compiler: Fixed eweasel test#rdtp001 by also resetting the `external' keyword.
- installation: Made sure to remove the Start menu entry when uninstalling EiffelStudio. Before it would only do it if you had only one version of EiffelStudio installed.
User changes
Developer changes
6.7.8.4243 (August 23rd 2010)
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).
- compiler: Fixed many issues related to once per object (test#once001, test#once002, test#once003, test#once004, test#once005, test#once006, test#once007, test#once008, test#once009, test#once010, test#once011, test#incr366, test#incr376, test#incr384)
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
- compiler: Fixed various crashes and incorrect or missing bug reports related to qualified anchored types (bug#16791 (test#anchor011), bug#16792 (test#incr352), bug#16793 (test#incr353), bug#16797 (test#anchor012), bug#16798 (test#anchor013), bug#16799 (test#anchor014), bug#16800 (test#anchor015), bug#16803 (test#anchor016), bug#16804 (test#anchor017), test#anchor018, bug#16819 (test#anchor019), bug#16821 (test#incr354), test#anchor020, test#anchor021, bug#16824 (test#anchor022), test#anchor023, bug#16839 (test#anchor024), test#anchor026, bug#16848 (test#anchor027), bug#16849, bug#16850 (test#attach030), bug#16855 (test#final089), bug#16849, bug#16867 (test#anchor028), bug#16868 (test#anchor029), bug#16876 (test#anchor031), bug#16878 (test#incr356), bug#16879 (test#anchor033), bug#16883 (test#anchor034), bug#16884 (test#anchor035), bug#16885 (test#anchor036), bug#16886 (test#anchor037), bug#16887 (test#anchor038), bug#16889 (test#incr358), bug#16890 (test#anchor040), bug#16893 (test#incr359), bug#16897 (test#anchor041), bug#16899 (test#incr362), bug#16900 (test#incr363), bug#16901 (test#incr364), bug#16902 (test#anchor043), bug#16943 (test#anchor047), bug#16944 (test#anchor048), bug#16945 (test#anchor049), bug#16959 (test#anchor052)).
- compiler: Fixed eweasel test#exec327 where evaluation an assertion the code being executed encounter the new check ... then ... end instruction it would reset some internal flags causing assertion within assertions to be checked when they should not.
- compiler: Prevented a failure in the case of a directory containing Eiffel classes is abruptly removed from disk while being processed at degree 6.
- compiler: Fixed bug#16815: Feature call on void target in {CLASS_C}.inline-agent#1 of has_stable_attribute in EiffelStudio.
- compiler: Fixed bug#16795: No error or warning for unknown once key.
- debugger: Fixed bug#16838: User can bring up multiple breakpoint dialogs on same breakpoint.
- studio: fixed bug#16831: Picking and dropping class from Features window into Editor tab clears Features window.
- compiler: Fixed incremental bugs that involve types anchored to expanded ones (bug#16882 (test#incr357), bug#15825 (test#incr329)).
- compiler: Fixed bug#16921 that resulted in VEVI error for an attribute of a formal generic type, constrained to an expanded type (see test#attach073).
- compiler: Fixed issues with conformance checks for formal generics constrained to other formal generics, including conformance to expanded types (see test#conform009, test#conform010, test#valid114).
- compiler: Disallowed incorrectly accepted empty contraint types that also fixes some related crashes (bug#15197 (test#term171), bug#16133 (test#multicon052), bug#16908 (test#syntax061)).
- compiler: Fixed bug#16912: Executing many inherited once-per-object routines crashes in finalized system
- compiler: Fixed an issue that may cause a compiler crash when a formal generic constraint lists a generic derivation that is never created during system execution (see test#term185).
- compiler: Fixed bug#16970 that caused incorrect code to be generated when using target type NONE in object test with the source of an expanded type (see test#attach076).
- store: Fixed bug#16946 and eweasel test#store032 where `cid_array' was not properly initialized in a different thread than the main thread.
- encoding: Fixed bug#16820: Endianness issue on big endian machine.
- encoding: Fixed bug#16836: Unexpected BOM apperance, caused by inconsistent behavior of iconv on Solaris 9 Sparc and Solaris 10 Sparc.
- Vision2: Fixed bug#16892: Context menu in editor gone since 6.5!!!!