Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							5cf2511283 
							
						 
					 
					
						
						
							
							- removed/disabled all normalset code (except for bootstrapping), since  
						
						... 
						
						
						
						it's no longer needed
git-svn-id: trunk@7403 - 
						
					 
					
						2007-05-20 11:19:36 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							76b190b723 
							
						 
					 
					
						
						
							
							- removed caretn and related code  
						
						... 
						
						
						
						git-svn-id: trunk@7257 - 
						
					 
					
						2007-05-04 10:53:25 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							01de46a0f4 
							
						 
					 
					
						
						
							
							* don't allow logical operators on char,  resolves   #8780  
						
						... 
						
						
						
						git-svn-id: trunk@7181 - 
						
					 
					
						2007-04-28 18:43:58 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							bc071f709c 
							
						 
					 
					
						
						
							
							* fix r7009, check also if the other node is integer type  
						
						... 
						
						
						
						git-svn-id: trunk@7032 - 
						
					 
					
						2007-03-30 06:51:23 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							e653ab6a22 
							
						 
					 
					
						
						
							
							* also try to convert non-set nodes to a set in set operations  
						
						... 
						
						
						
						git-svn-id: trunk@7010 - 
						
					 
					
						2007-03-27 18:37:30 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							ab22fd42d1 
							
						 
					 
					
						
						
							
							* simplify integer operations with constnat 0 or 1  
						
						... 
						
						
						
						git-svn-id: trunk@7009 - 
						
					 
					
						2007-03-27 18:33:04 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							31c29a280a 
							
						 
					 
					
						
						
							
							* moved typechecking stuff from taddnode.simplify to taddnode.pass_typechec  
						
						... 
						
						
						
						This is needed to be able to call simplify after pass_1, because
    otherwise the inserttypeconv's inserted new type conversions which
    where never firstpassed (if you want to do something like that, you
    have to return a new node as well so it will be firstpassed properly
    -- but in this case it seems this is not needed, since inserting
    those typeconversions are part of typechecking and not of simplifying,
    and typechecking must be done before simplifying anyway)
git-svn-id: trunk@6836 - 
						
					 
					
						2007-03-13 23:17:12 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							c3f22aae94 
							
						 
					 
					
						
						
							
							* fixed set+range on big endian systems  
						
						... 
						
						
						
						git-svn-id: trunk@6704 - 
						
					 
					
						2007-03-03 19:51:34 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							efb025310d 
							
						 
					 
					
						
						
							
							* tried to restore old set behaviour for big endian targets  
						
						... 
						
						
						
						git-svn-id: trunk@6702 - 
						
					 
					
						2007-03-03 17:52:55 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							9a0f769b2f 
							
						 
					 
					
						
						
							
							* cleaned up set conversion  
						
						... 
						
						
						
						* fixed conversion of var sets
git-svn-id: trunk@6644 - 
						
					 
					
						2007-02-25 16:29:39 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							9a37c04131 
							
						 
					 
					
						
						
							
							* cardinal-cardinal is calculated using int64  
						
						... 
						
						
						
						* support pointer(int64) for all modes, this is needed to
    support pointer(cardinal+longint) and pointer(cardinal-cardinal)
git-svn-id: trunk@6586 - 
						
					 
					
						2007-02-21 11:52:06 +00:00 
						 
				 
			
				
					
						
							
							
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							e8050233af 
							
						 
					 
					
						
						
							
							+ Patch by Thorsten Engler to optimize string comparisons for = and <> cases. (Mantis  #8231 )  
						
						... 
						
						
						
						git-svn-id: trunk@6241 - 
						
					 
					
						2007-01-28 10:58:52 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							c6d3bc813f 
							
						 
					 
					
						
						
							
							*  fixes   #8229  
						
						... 
						
						
						
						git-svn-id: trunk@6238 - 
						
					 
					
						2007-01-28 08:21:08 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							d3ea2fa9e3 
							
						 
					 
					
						
						
							
							- removed some unneeded and sometimes wrong typecasts (could be  
						
						... 
						
						
						
						typeconv nodes as well rather than direct setelementn)
git-svn-id: trunk@6186 - 
						
					 
					
						2007-01-25 15:19:47 +00:00 
						 
				 
			
				
					
						
							
							
								pierre 
							
						 
					 
					
						
						
						
						
							
						
						
							b486f926ce 
							
						 
					 
					
						
						
							
							* taddnode.first_addstring, avoid memory leak if  
						
						... 
						
						
						
						left or right is an empty string.
git-svn-id: trunk@5550 - 
						
					 
					
						2006-12-07 13:03:51 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							7781e842fc 
							
						 
					 
					
						
						
							
							* varset support fixed  
						
						... 
						
						
						
						git-svn-id: trunk@5294 - 
						
					 
					
						2006-11-08 22:48:44 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							0557ddc342 
							
						 
					 
					
						
						
							
							* removed typed const, it is now handled by staticvarsym  
						
						... 
						
						
						
						* globalvarsym renamed to staticvarsym
  * fixed invalid regvar use in init when the finalize also uses the var
git-svn-id: trunk@5290 - 
						
					 
					
						2006-11-08 21:04:22 +00:00 
						 
				 
			
				
					
						
							
							
								yury 
							
						 
					 
					
						
						
						
						
							
						
						
							5a9b0949c5 
							
						 
					 
					
						
						
							
							* fixed wince build.  
						
						... 
						
						
						
						git-svn-id: trunk@5250 - 
						
					 
					
						2006-11-05 17:55:00 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							658c46b903 
							
						 
					 
					
						
						
							
							* remove tdictionary and tindexarray  
						
						... 
						
						
						
						* symtables based on TFPHashObjectList and TFPObjectList
  * rename torddef.typ to torddef.ordtype
  * rename tfloatdef.typ to tfloatdef.floattype
  * rename tdef.deftype to tdef.typ
  * remove obsolete browser code, browcol is kept so the ide
    can still be compiled
git-svn-id: trunk@5192 - 
						
					 
					
						2006-11-03 00:30:30 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							85d63d9fa9 
							
						 
					 
					
						
						
							
							* settings refactored  
						
						... 
						
						
						
						git-svn-id: trunk@5094 - 
						
					 
					
						2006-10-30 18:02:58 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							d5b069a935 
							
						 
					 
					
						
						
							
							* added missing typecheckpasses for new left/right nodes created in  
						
						... 
						
						
						
						taddnode.typecheckpass()
git-svn-id: trunk@5089 - 
						
					 
					
						2006-10-30 10:29:29 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							3078a1927f 
							
						 
					 
					
						
						
							
							* remove ttype  
						
						... 
						
						
						
						* rename old ttype variables *type to *def
  * rename resulttypepass to pass_typecheck
  * rename pass_2 to pass_generate_code
git-svn-id: trunk@5077 - 
						
					 
					
						2006-10-29 22:19:39 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							67aa148602 
							
						 
					 
					
						
						
							
							* fixed softfpu support  
						
						... 
						
						
						
						+ softfpu enabled for arm-gba
git-svn-id: trunk@4939 - 
						
					 
					
						2006-10-15 21:31:27 +00:00 
						 
				 
			
				
					
						
							
							
								micha 
							
						 
					 
					
						
						
						
						
							
						
						
							8678d52aeb 
							
						 
					 
					
						
						
							
							* avoid warning when pointer points to size 1 data  
						
						... 
						
						
						
						* fix variantmanager for {$T+}
git-svn-id: trunk@4861 - 
						
					 
					
						2006-10-11 16:40:40 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							fb5e396881 
							
						 
					 
					
						
						
							
							+ experimental -Sv option to support vector arithmetics  
						
						... 
						
						
						
						git-svn-id: trunk@4825 - 
						
					 
					
						2006-10-07 21:39:48 +00:00 
						 
				 
			
				
					
						
							
							
								micha 
							
						 
					 
					
						
						
						
						
							
						
						
							5f353d6fef 
							
						 
					 
					
						
						
							
							add warning for arithmetic on untyped pointers  
						
						... 
						
						
						
						git-svn-id: trunk@4823 - 
						
					 
					
						2006-10-07 19:34:16 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							d07f470b71 
							
						 
					 
					
						
						
							
							* remove ifdef fpc  
						
						... 
						
						
						
						git-svn-id: trunk@4819 - 
						
					 
					
						2006-10-07 13:43:34 +00:00 
						 
				 
			
				
					
						
							
							
								micha 
							
						 
					 
					
						
						
						
						
							
						
						
							d704af7216 
							
						 
					 
					
						
						
							
							fix compilation for {$T+} linux/win  
						
						... 
						
						
						
						git-svn-id: trunk@4794 - 
						
					 
					
						2006-10-04 20:43:55 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							2f0ce31751 
							
						 
					 
					
						
						
							
							* string concat changed from function to procedure to  
						
						... 
						
						
						
						allow runtime optimization if the destination is the
    same as a source parameter
  * tassignmentnode now sets aktassignmentnode global that can be used
    to use the left node as a destination parameter and
    skip the assignment
  * disabled all cpu specific shortstr concat/append
git-svn-id: trunk@4770 - 
						
					 
					
						2006-10-02 20:00:06 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							569c4871fc 
							
						 
					 
					
						
						
							
							+ first batch of varset support, as long as packset isn't changed, it doesn't change anything  
						
						... 
						
						
						
						git-svn-id: trunk@4710 - 
						
					 
					
						2006-09-24 14:40:11 +00:00 
						 
				 
			
				
					
						
							
							
								olle 
							
						 
					 
					
						
						
						
						
							
						
						
							05d6f0e94d 
							
						 
					 
					
						
						
							
							macos: added a fake sysutils for use by compiler, and fixed some tests  
						
						... 
						
						
						
						git-svn-id: trunk@4549 - 
						
					 
					
						2006-09-03 22:30:37 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							b4668054c5 
							
						 
					 
					
						
						
							
							* avoid unnecessary sign extensions for integer comparisons  
						
						... 
						
						
						
						git-svn-id: trunk@4038 - 
						
					 
					
						2006-07-01 16:05:57 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							03302dc7c4 
							
						 
					 
					
						
						
							
							* fixed support for macpas & and | operators: they only work on booleans  
						
						... 
						
						
						
						now, and always perform short circuit boolean evaluation (also in {$b+})
git-svn-id: trunk@3745 - 
						
					 
					
						2006-05-30 13:02:36 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							454fb81c5b 
							
						 
					 
					
						
						
							
							+ optimize <string>+'' and ''+<string>  
						
						... 
						
						
						
						git-svn-id: trunk@3522 - 
						
					 
					
						2006-05-14 09:43:53 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							5d9f3cf33d 
							
						 
					 
					
						
						
							
							* fixed s<'', fixes 4925  
						
						... 
						
						
						
						git-svn-id: trunk@3505 - 
						
					 
					
						2006-05-13 20:10:27 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							039e7143f4 
							
						 
					 
					
						
						
							
							* avoid some unnecessary bool->int->bool type conversions  
						
						... 
						
						
						
						git-svn-id: trunk@3184 - 
						
					 
					
						2006-04-09 18:33:05 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							95be416b9d 
							
						 
					 
					
						
						
							
							* don't allow stringconst+integer  
						
						... 
						
						
						
						* change booleans in arraydef to set
  * set option in arraydef to indicate a constant string so
    a nicer type can be shown instead of array[0..x] of char
git-svn-id: trunk@3051 - 
						
					 
					
						2006-03-27 07:22:02 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							07ce826be0 
							
						 
					 
					
						
						
							
							+ added ability for (mainly 32bit) code generators to directly handle  
						
						... 
						
						
						
						32bit*32bit->64bit          
  + implemented the above for ppc32 (note: does not happen very often
    in practice, at least not in the compiler and rtl)       
  + test for the above
git-svn-id: trunk@2735 - 
						
					 
					
						2006-03-04 15:09:09 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							a77f503a30 
							
						 
					 
					
						
						
							
							* optimize multiple concats for ansi/widestring  
						
						... 
						
						
						
						git-svn-id: trunk@2650 - 
						
					 
					
						2006-02-20 10:58:28 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							232555904e 
							
						 
					 
					
						
						
							
							* symtablestack cleanup and rewrite  
						
						... 
						
						
						
						git-svn-id: trunk@2448 - 
						
					 
					
						2006-02-05 22:24:18 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							45176ea2a8 
							
						 
					 
					
						
						
							
							* split tstringtype for stringdef and stringconstnode  
						
						... 
						
						
						
						to prevent wrong typecasts
git-svn-id: trunk@2276 - 
						
					 
					
						2006-01-13 17:20:27 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							42ec76598c 
							
						 
					 
					
						
						
							
							* new categories for vs_*: vs_declared, vs_initialised, vs_read,  
						
						... 
						
						
						
						vs_written, vs_readwritten. vs_initialised is the old vs_assigned;
    vs_used has been replaced by vs_read, vs_written and vs_readwritten
  * the valid_for_*() routines in htypechk now get an extra parameter to
    decide whether or not errors should be reported
git-svn-id: trunk@1913 - 
						
					 
					
						2005-12-10 16:51:26 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							4c73e86058 
							
						 
					 
					
						
						
							
							* check for allowed floatdef operations  
						
						... 
						
						
						
						git-svn-id: trunk@1455 - 
						
					 
					
						2005-10-18 05:45:50 +00:00 
						 
				 
			
				
					
						
							
							
								yury 
							
						 
					 
					
						
						
						
						
							
						
						
							80fbc143ab 
							
						 
					 
					
						
						
							
							* removed MULS->MULD substitution for wince, because MULS was added to system unit.  
						
						... 
						
						
						
						git-svn-id: trunk@1313 - 
						
					 
					
						2005-10-07 13:58:37 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							2a6623a97f 
							
						 
					 
					
						
						
							
							* stringconst+pchar returns a string  
						
						... 
						
						
						
						git-svn-id: trunk@1283 - 
						
					 
					
						2005-10-04 11:45:26 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							c1f1424640 
							
						 
					 
					
						
						
							
							* pchar +/- <array of char> is allowed as well  
						
						... 
						
						
						
						git-svn-id: trunk@1277 - 
						
					 
					
						2005-10-03 21:15:18 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							d9c071da6d 
							
						 
					 
					
						
						
							
							* fixed double comparison on wince  
						
						... 
						
						
						
						git-svn-id: trunk@1262 - 
						
					 
					
						2005-10-03 07:43:36 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							edf553a223 
							
						 
					 
					
						
						
							
							* string constants are now array of char until  
						
						... 
						
						
						
						they are converted to a specific string type
git-svn-id: trunk@1254 - 
						
					 
					
						2005-10-02 11:08:58 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							10db94c8c1 
							
						 
					 
					
						
						
							
							* there is no muls, muld must be generated  
						
						... 
						
						
						
						git-svn-id: trunk@1175 - 
						
					 
					
						2005-09-24 14:58:28 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							fa1575aeab 
							
						 
					 
					
						
						
							
							* fixed array[..] of char <op> pchar: wrong type was determined for non op<>+ returned  
						
						... 
						
						
						
						git-svn-id: trunk@1107 - 
						
					 
					
						2005-09-18 08:59:20 +00:00