Difference between revisions of "EiffelStudio 7.0 Releases"

m (Bug fixes: Added a note for bug#17806 (test#attach090).)
m (Bug fixes: Added a note on fixing postcondition in INTERVAL.)
Line 41: Line 41:
 
* compiler: bug#17806 (test#attach090) - Taken into account attachment status of <e>like Current</e> when checking for conformance.
 
* compiler: bug#17806 (test#attach090) - Taken into account attachment status of <e>like Current</e> when checking for conformance.
 
* base: bug#17806 - Made <e>{LINKED_STACK}.duplicate</e> void-safe.
 
* base: bug#17806 - Made <e>{LINKED_STACK}.duplicate</e> void-safe.
 +
* time: test#term195, test#eiffelstore001 - Made a postcondition in <e>{INTERVAL}.intersection</e> void-safe.
 
* vision2: bug#17806 - Made <e>{EV_TABLE}.duplicate</e> and <e>{EV_DYNAMIC_LIST}.new_chain</e> void-safe.
 
* vision2: bug#17806 - Made <e>{EV_TABLE}.duplicate</e> and <e>{EV_DYNAMIC_LIST}.new_chain</e> void-safe.
 
* vision2: bug#17824 - Avoided VUTA(2) validity rule violation in <e>{EV_GRID_ROW_I}.update_parent_expanded_node_counts_recursively</e>.
 
* vision2: bug#17824 - Avoided VUTA(2) validity rule violation in <e>{EV_GRID_ROW_I}.update_parent_expanded_node_counts_recursively</e>.

Revision as of 20:42, 5 September 2011

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 7.0.x Releases

7.0.x

Placeholder for new stuff since last intermediate release.

New features

  • compiler: Supported development of incomplete void-safe classes (so called "design mode") by avoiding reporting void-safety errors for unreachable code, e.g. for the code after a call to a feature that never returns normally, say, to {EXCEPTIONS}.die. So a creation procedure that does not initialize attached attributes properly (because the corresponding effective classes are not available yet), can look like
make (...)
	do
		... -- Some attributes are not initialized.
		die (1) -- Compiler does not report VEVI errors.
	end
or
make (...)
	do
		... -- Some attributes are not initialized.
		check implemented: False then end -- Compiler does not report VEVI errors.
	end

Improvements

  • compiler: Enforced full class checking for void-safe classes.
  • compiler: Supported detection and report for the configuration error VD88 of void-safety mismatch when a descendant or a client have stricter void-safety setting than the corresponding ancestor or supplier.
  • compiler: Taken into account changes of class options when performing recompilation.

Feature removed

Bug fixes

  • compiler: bug#11675, bug#15010 - Included location information in VTCT error and VTCM warning reports.
  • compiler: bug#15178 (test#incr303) - Fixed bug that caused incorrect VTEC(2) report during incremental recompilation.
  • compiler: bug#16942 (test#anchor046), bug#17815 (test#anchor062) - Fixed a crash caused by a combination of a qualified anchored type and its dependency on a formal generic constraint.
  • compiler: bug#17731 (test#scoop013) - Fixed error in C code generation for separate feature calls when inlining is enabled.
  • compiler: bug#17736 (test#vffd802) - Avoided reporting VFFD(8) for process-relative once procedures.
  • compiler: bug#17764 (test#attach087) - Considered like Current as attached regardless of is_attached_by_default option.
  • compiler: bug#17765 (test#attach089) - Prohibited assignment of Void to a variable of a reference formal generic type that has no detachable mark.
  • compiler: bug#17766 (test#attach088) - Supported attachment marks on the type NONE, including implicit setting via attached-by-default option.
  • compiler: bug#17778 (test#attach062) - Corrected checks for attachment status of variables to include not only a body of a loop, but also its invariant, variant and exit condition when a variable may be detached in the loop body.
  • compiler: bug#17806 (test#attach090) - Taken into account attachment status of like Current when checking for conformance.
  • base: bug#17806 - Made {LINKED_STACK}.duplicate void-safe.
  • time: test#term195, test#eiffelstore001 - Made a postcondition in {INTERVAL}.intersection void-safe.
  • vision2: bug#17806 - Made {EV_TABLE}.duplicate and {EV_DYNAMIC_LIST}.new_chain void-safe.
  • vision2: bug#17824 - Avoided VUTA(2) validity rule violation in {EV_GRID_ROW_I}.update_parent_expanded_node_counts_recursively.

User changes

  • vision2: Relaxed precondition on `set_focus' to let you set the focus even if the widget is not displayed. Note that in this case the `set_focus' call will have no effect. This is necessary because testing Vision2 code in a window less environment could violate the precondition and it would be rather expensive to change all callers of `set_focus' to check this all the time.

Developer changes