Am 16.07.2017 um 22:15 schrieb Martok: > > However: > --------------------------- > {$mode objfpc} > type > TExplEnum = (a=1, b=3, c=5, d=7); > TSubEnum = a..d; > TEnArr = array[TSubEnum] of Byte; > > begin > WriteLn('SizeOf(TEnArr) = ', SizeOf(TEnArr)); > WriteLn('Low(TEnArr) = ', Low(TEnArr), ', ', Ord(Low(TEnArr))); > WriteLn('High(TEnArr) = ', High(TEnArr), ', ', Ord(High(TEnArr))); > end. > --------------------------- > SizeOf(TEnArr) = 7 > Low(TEnArr) = a, 1 > High(TEnArr) = d, 7 > --------------------------- > > That difference was unexpected. At least for me.
Indeed, this is a bug. IMO the declaration of TSubEnum should not be allowed. _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel