interface change not detected
|Assignee:||J. Templ||% Done:|
The compiler does not report an interface change when changing the array length of an exported pointer type that points to a fixed length array. For example, changing 1 to 2 in the following module is not reported as an interface change:
TYPE A* = POINTER TO ARRAY 1 OF CHAR;
Reported by J. Templ, 2016-10-12.
Based on an issue reported by Oleg-N-Cher for ofront.
interface change not detected. Refs: #134.
An interface change of a pointer to an anonymous fixed size array
is not detected by the finger printing mechanism because the same
finger printing algorithm is applied twice and cancels the effect.
In order to disturb this pattern a constant is added at one place when the
pattern is detected. The constant is added only for this special case in
order not to change the finger prints of existing interfaces.