'From Squeak3.3alpha of 12 January 2002 [latest update: #4934] on 31 August 2002 at 1:10:56 pm'!
"Change Set:		fixBoolDeclarations
Date:			31 August 2002
Author:			acg

Generated VM interp.c files contained definitions of the form 'int bool;' in various portions of the interpreter.  Because some compilers and standard libraries define 'bool' as a class, the generated code is uncompilable without modification.  This changeset simply changes those temporary variables named 'bool' to temporary variables named 'aBool,' resulting in versions of interp.c that appear to work correctly for the MacOS X and Acorn ports."!


!Interpreter methodsFor: 'common selector sends' stamp: 'acg 8/30/2002 18:16'!
bytecodePrimEqual
	| rcvr arg aBool |
	rcvr _ self internalStackValue: 1.
	arg _ self internalStackValue: 0.
	(self areIntegers: rcvr and: arg) ifTrue:
		[^ self booleanCheat: rcvr = arg].

	successFlag _ true.
	aBool _ self primitiveFloatEqual: rcvr toArg: arg.
	successFlag ifTrue:
		[^ self booleanCheat: aBool].

	messageSelector _ self specialSelector: 6.
	argumentCount _ 1.
	self normalSend
! !

!Interpreter methodsFor: 'common selector sends' stamp: 'acg 8/30/2002 18:17'!
bytecodePrimGreaterOrEqual
	| rcvr arg aBool |
	rcvr _ self internalStackValue: 1.
	arg _ self internalStackValue: 0.
	(self areIntegers: rcvr and: arg) ifTrue:
		[self cCode: '' inSmalltalk:
			[^ self booleanCheat:
					(self integerValueOf: rcvr) >= (self integerValueOf: arg)].
		^ self booleanCheat: rcvr >= arg].

	successFlag _ true.
	aBool _ self primitiveFloatLess: rcvr thanArg: arg.
	successFlag ifTrue:
		[^ self booleanCheat: aBool not].

	messageSelector _ self specialSelector: 5.
	argumentCount _ 1.
	self normalSend
! !

!Interpreter methodsFor: 'common selector sends' stamp: 'acg 8/30/2002 18:06'!
bytecodePrimGreaterThan
	| rcvr arg aBool |
	rcvr _ self internalStackValue: 1.
	arg _ self internalStackValue: 0.
	(self areIntegers: rcvr and: arg) ifTrue:
		[self cCode: '' inSmalltalk:
			[^ self booleanCheat:
				(self integerValueOf: rcvr) > (self integerValueOf: arg)].
		^ self booleanCheat: rcvr > arg].

	successFlag _ true.
	aBool _ self primitiveFloatGreater: rcvr thanArg: arg.
	successFlag ifTrue:
		[^ self booleanCheat: aBool].

	messageSelector _ self specialSelector: 3.
	argumentCount _ 1.
	self normalSend
! !

!Interpreter methodsFor: 'common selector sends' stamp: 'acg 8/30/2002 18:15'!
bytecodePrimLessOrEqual
	| rcvr arg aBool |
	rcvr _ self internalStackValue: 1.
	arg _ self internalStackValue: 0.
	(self areIntegers: rcvr and: arg) ifTrue:
		[self cCode: '' inSmalltalk:
			[^ self booleanCheat:
				(self integerValueOf: rcvr) <= (self integerValueOf: arg)].
		^ self booleanCheat: rcvr <= arg].

	successFlag _ true.
	aBool _ self primitiveFloatGreater: rcvr thanArg: arg.
	successFlag ifTrue:
		[^ self booleanCheat: aBool not].

	messageSelector _ self specialSelector: 4.
	argumentCount _ 1.
	self normalSend
! !

!Interpreter methodsFor: 'common selector sends' stamp: 'acg 8/30/2002 17:32'!
bytecodePrimLessThan
	| rcvr arg aBool |
	rcvr _ self internalStackValue: 1.
	arg _ self internalStackValue: 0.
	(self areIntegers: rcvr and: arg) ifTrue:
		[self cCode: '' inSmalltalk: 
			[^ self booleanCheat:
				(self integerValueOf: rcvr) < (self integerValueOf: arg)].
		^ self booleanCheat: rcvr < arg].

	successFlag _ true.
	aBool _ self primitiveFloatLess: rcvr thanArg: arg.
	successFlag ifTrue:
		[^ self booleanCheat: aBool].

	messageSelector _ self specialSelector: 2.
	argumentCount _ 1.
	self normalSend
! !

!Interpreter methodsFor: 'common selector sends' stamp: 'acg 8/30/2002 18:16'!
bytecodePrimNotEqual
	| rcvr arg aBool |
	rcvr _ self internalStackValue: 1.
	arg _ self internalStackValue: 0.
	(self areIntegers: rcvr and: arg) ifTrue:
		[^ self booleanCheat: rcvr ~= arg].

	successFlag _ true.
	aBool _ self primitiveFloatEqual: rcvr toArg: arg.
	successFlag ifTrue:
		[^ self booleanCheat: aBool not].

	messageSelector _ self specialSelector: 7.
	argumentCount _ 1.
	self normalSend
! !

!Interpreter methodsFor: 'float primitives' stamp: 'acg 8/30/2002 17:30'!
primitiveFloatEqual
	| aBool |
	aBool _ self primitiveFloatEqual: (self stackValue: 1) toArg: self stackTop.
	successFlag ifTrue: [self pop: 2. self pushBool: aBool].
! !

!Interpreter methodsFor: 'float primitives' stamp: 'acg 8/30/2002 17:30'!
primitiveFloatGreaterOrEqual
	| aBool |
	aBool _ self primitiveFloatLess: (self stackValue: 1) thanArg: self stackTop.
	successFlag ifTrue: [self pop: 2. self pushBool: aBool not].
! !

!Interpreter methodsFor: 'float primitives' stamp: 'acg 8/30/2002 17:31'!
primitiveFloatGreaterThan
	| aBool |
	aBool _ self primitiveFloatGreater: (self stackValue: 1) thanArg: self stackTop.
	successFlag ifTrue: [self pop: 2. self pushBool: aBool].
! !

!Interpreter methodsFor: 'float primitives' stamp: 'acg 8/30/2002 17:31'!
primitiveFloatLessOrEqual
	| aBool |
	aBool _ self primitiveFloatGreater: (self stackValue: 1) thanArg: self stackTop.
	successFlag ifTrue: [self pop: 2. self pushBool: aBool not].
! !

!Interpreter methodsFor: 'float primitives' stamp: 'acg 8/30/2002 17:31'!
primitiveFloatLessThan
	| aBool |
	aBool _ self primitiveFloatLess: (self stackValue: 1) thanArg: self stackTop.
	successFlag ifTrue: [self pop: 2. self pushBool: aBool].
! !

!Interpreter methodsFor: 'float primitives' stamp: 'acg 8/30/2002 17:31'!
primitiveFloatNotEqual
	| aBool |
	aBool _ self primitiveFloatEqual: (self stackValue: 1) toArg: self stackTop.
	successFlag ifTrue: [self pop: 2. self pushBool: aBool not].
! !

