PR# 18990 Loop variant fails when evaluating INTEGER_64 (assumes INTEGER_32)

Problem Report Summary
Submitter: calpurnio
Category: Compiler
Priority: Medium
Date: 2014/11/19
Class: Bug
Severity: Serious
Number: 18990
Release: 14.05.9.5220
Confidential: No
Status: Open
Responsible:
Environment: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/600.1.17 (KHTML, like Gecko) Version/7.1 Safari/537.85.10
Synopsis: Loop variant fails when evaluating INTEGER_64 (assumes INTEGER_32)

Description
This very simple example produces a variant violation. The same example with {INTEGER_32}.Max_value does not.

	make
			-- Run application.
		local
			long_int: INTEGER_64
		do
			from
				long_int := 2147483649
                            --long_int := 2147483647 -- this works
			until
				long_int < 1
			loop
				long_int := long_int - 1
			variant
				long_int
			end
		end
To Reproduce
Just run the code in Description.
Problem Report Interactions