Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							58381ff7b6 
							
						 
					 
					
						
						
							
							* made chararray handling 98% TP-compatible, fixes web bugs 3012  
						
						... 
						
						
						
						and 4080. The compatibility differences are:
      a) writing a chararray which is zero-based but not zero-
         terminated does not cause a buffer overflow
      b) non-zero-based chararrays can also be read
    The difference was that previously, all chararrays were treated
    as pchars. In TP/Delphi (and now also in FPC), this is only done
    for zero-based chararrays. For non-zero-based ones, the entire
    contents of the array should always be used (including #0 's).
    The default parameters in the system unit for the chararray
    helpers are to avoid having to use a define for bootstrapping.
git-svn-id: trunk@2152 - 
						
					 
					
						2006-01-04 10:05:10 +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 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							46ecdc8f94 
							
						 
					 
					
						
						
							
							* allow pred/succ on non continous enumerations in delphi mode  
						
						... 
						
						
						
						git-svn-id: trunk@1878 - 
						
					 
					
						2005-12-04 18:35:19 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							5abb9d68f6 
							
						 
					 
					
						
						
							
							* prevent warning for val with second parameter not being a longint  
						
						... 
						
						
						
						git-svn-id: trunk@1463 - 
						
					 
					
						2005-10-18 08:26:29 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							8af13ed6ae 
							
						 
					 
					
						
						
							
							* fixed result type conversion for sqrt/sqr  
						
						... 
						
						
						
						git-svn-id: trunk@1425 - 
						
					 
					
						2005-10-16 16:39:00 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							71b90d4d00 
							
						 
					 
					
						
						
							
							+ slice implemented  
						
						... 
						
						
						
						git-svn-id: trunk@1384 - 
						
					 
					
						2005-10-15 16:48:27 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							19e97e4da2 
							
						 
					 
					
						
						
							
							+ use sse for sqrt if possible  
						
						... 
						
						
						
						* same optimization for sqrt as for sqr
git-svn-id: trunk@1266 - 
						
					 
					
						2005-10-03 12:47:05 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							6371333361 
							
						 
					 
					
						
						
							
							+ sqr uses sse on x86 if possible  
						
						... 
						
						
						
						* the result type of sqr is equal to the argument in case of usual floats
git-svn-id: trunk@1265 - 
						
					 
					
						2005-10-03 12:31:31 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							77db0e5185 
							
						 
					 
					
						
						
							
							+ length(<variant>);  
						
						... 
						
						
						
						git-svn-id: trunk@1154 - 
						
					 
					
						2005-09-22 08:51:23 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							a53c9e2666 
							
						 
					 
					
						
						
							
							* fixed stupid copy/paste which turned softfloat always off  
						
						... 
						
						
						
						* fixed wince softfloat compiler proc. to be correctly named also when used outside the system unit
git-svn-id: trunk@966 - 
						
					 
					
						2005-08-28 21:08:23 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							2f8fe7d2e6 
							
						 
					 
					
						
						
							
							- readln(<pchar>) forbidden, there is no way to prevent an buffer overflow, fixes 4227  
						
						... 
						
						
						
						git-svn-id: trunk@810 - 
						
					 
					
						2005-08-07 09:18:21 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							f2f968f48a 
							
						 
					 
					
						
						
							
							* fix overflow checking for inc(cardinal,x) and inc(pointer,x)  
						
						... 
						
						
						
						git-svn-id: trunk@593 - 
						
					 
					
						2005-07-06 08:01:39 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							6846195a6c 
							
						 
					 
					
						
						
							
							* insert explicit typecast to left type of inc(left,right) before  
						
						... 
						
						
						
						assigning the value after an addn
  * for inc(pointer,X) convert X to sinttype instead of ptrinttype
    to support also negative values of X
git-svn-id: trunk@587 - 
						
					 
					
						2005-07-05 07:15:50 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							7cd67ea3f0 
							
						 
					 
					
						
						
							
							* node optimizer branch merged  
						
						... 
						
						
						
						* gotonode and gotolabel refactored
  * -Nu added to enable for loop unrolling
git-svn-id: trunk@446 - 
						
					 
					
						2005-06-19 17:42:10 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							f67de71de2 
							
						 
					 
					
						
						
							
							* insert typeconv to ptrint for all inc(pointer) operations  
						
						... 
						
						
						
						git-svn-id: trunk@144 - 
						
					 
					
						2005-05-29 19:17:31 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							0115a0a38e 
							
						 
					 
					
						
						
							
							* convert inc/dec(pointertype) to add/sub if overflow checking is turned on  
						
						... 
						
						
						
						(fixes web bug #4004 )
git-svn-id: trunk@136 - 
						
					 
					
						2005-05-29 11:19:40 +00:00 
						 
				 
			
				
					
						
							
							
								fpc 
							
						 
					 
					
						
						
						
						
							
						
						
							790a4fe2d3 
							
						 
					 
					
						
						
							
							* log and id tags removed  
						
						... 
						
						
						
						git-svn-id: trunk@42 - 
						
					 
					
						2005-05-21 09:42:41 +00:00 
						 
				 
			
				
					
						
							
							
								fpc 
							
						 
					 
					
						
						
						
						
							
						
						
							50778076c3 
							
						 
					 
					
						
						
							
							initial import  
						
						... 
						
						
						
						git-svn-id: trunk@1 - 
						
					 
					
						2005-05-16 18:37:41 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							2d62e884c8 
							
						 
					 
					
						
						
							
							* only give warnings for uninitialized variables in low()/high()  
						
						... 
						
						
						
						if the value is calculated at runtime 
						
					 
					
						2005-04-15 15:50:18 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							3f9d6ab32f 
							
						 
					 
					
						
						
							
							* add hint when passing an uninitialized variable to a var parameter  
						
						
						
					 
					
						2005-03-25 22:20:18 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							9fc51ed8f0 
							
						 
					 
					
						
						
							
							* terrornode.create -> cerrornode.create  
						
						
						
					 
					
						2005-03-25 21:46:06 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							dbcfe36b70 
							
						 
					 
					
						
						
							
							* check parameters of str() better  
						
						
						
					 
					
						2005-03-16 21:24:43 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							e417e34496 
							
						 
					 
					
						
						
							
							* truncate log  
						
						
						
					 
					
						2005-02-14 17:13:06 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							50d0ba7a7f 
							
						 
					 
					
						
						
							
							* low(var) var must be valid  
						
						
						
					 
					
						2005-02-04 16:30:56 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							020bbc8913 
							
						 
					 
					
						
						
							
							* another improvement of pi handling  
						
						
						
					 
					
						2005-01-23 21:47:14 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							cc9534cf41 
							
						 
					 
					
						
						
							
							+ added pi bit pattern to the compiler, so pi should always be correct  
						
						
						
					 
					
						2005-01-23 21:09:11 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							2b6456fe16 
							
						 
					 
					
						
						
							
							* procvar handling for tp procvar mode fixed  
						
						... 
						
						
						
						* proc to procvar moved from addrnode to typeconvnode
  * inlininginfo is now allocated only for inline routines that
    can be inlined, introduced a new flag po_has_inlining_info 
						
					 
					
						2004-12-05 12:28:10 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							08d0d3b73c 
							
						 
					 
					
						
						
							
							* fixed read temp for result  
						
						
						
					 
					
						2004-11-26 22:33:00 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							9a64d34d34 
							
						 
					 
					
						
						
							
							* add checks for filedef type to prevent crashes  
						
						
						
					 
					
						2004-11-21 21:27:31 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							89b1b583c9 
							
						 
					 
					
						
						
							
							* ttempcreatenode.create_reg merged into .create with parameter  
						
						... 
						
						
						
						whether a register is allowed
  * funcret_paraloc renamed to funcretloc 
						
					 
					
						2004-11-21 17:54:59 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							4d8460ec2f 
							
						 
					 
					
						
						
							
							* float routines all use internproc and compilerproc helpers  
						
						
						
					 
					
						2004-11-21 15:35:23 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							95e0ed26f8 
							
						 
					 
					
						
						
							
							* use helper call to retrieve address of input/output to reduce  
						
						... 
						
						
						
						code that is generated in the main program for loading the
    threadvar 
						
					 
					
						2004-11-09 23:10:22 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							6458bd0ce1 
							
						 
					 
					
						
						
							
							* tvarsym splitted  
						
						
						
					 
					
						2004-11-08 22:09:58 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							2e161c5e9e 
							
						 
					 
					
						
						
							
							* nf_internal flag for internal inserted typeconvs. This will  
						
						... 
						
						
						
						supress the generation of warning/hints 
						
					 
					
						2004-11-02 12:55:16 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							239dd7121e 
							
						 
					 
					
						
						
							
							- removed unnecessary printnode  
						
						
						
					 
					
						2004-11-01 18:26:52 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							73c30d6579 
							
						 
					 
					
						
						
							
							* fixed arm compilation with cgutils  
						
						... 
						
						
						
						* ... 
						
					 
					
						2004-11-01 17:41:28 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							c95a859f0a 
							
						 
					 
					
						
						
							
							* generic tlocation  
						
						... 
						
						
						
						* move tlocation to cgutils 
						
					 
					
						2004-10-31 21:45:02 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							4978a7635a 
							
						 
					 
					
						
						
							
							* another fix for reading of subranges  
						
						
						
					 
					
						2004-09-16 16:32:27 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							17f31d70c2 
							
						 
					 
					
						
						
							
							* fix for read(subranges) with subrange typ already being sinttype  
						
						
						
					 
					
						2004-09-13 20:32:06 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							b815890d49 
							
						 
					 
					
						
						
							
							* fix sqr() and abs() constant range check errors  
						
						
						
					 
					
						2004-08-25 15:56:35 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							120c165a62 
							
						 
					 
					
						
						
							
							* constant floating point assignments etc. are now overflow checked  
						
						... 
						
						
						
						if Q+ or R+ is turned on 
						
					 
					
						2004-08-08 16:00:56 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							c7fbf7b11b 
							
						 
					 
					
						
						
							
							+ (incomplete) node_complexity function to assess the complexity of a  
						
						... 
						
						
						
						tree
  + support for inlining value and const parameters at the node level
    (all procedures without local variables and without formal parameters
     can now be inlined at the node level) 
						
					 
					
						2004-07-15 19:55:39 +00:00 
						 
				 
			
				
					
						
							
							
								olle 
							
						 
					 
					
						
						
						
						
							
						
						
							e35eb9986b 
							
						 
					 
					
						
						
							
							+ added Ord(pointer) for macpas  
						
						
						
					 
					
						2004-07-14 21:40:52 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							1f338ade0d 
							
						 
					 
					
						
						
							
							* fix for web bug  #3210  
						
						
						
					 
					
						2004-07-14 14:38:35 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							8a9758c5e2 
							
						 
					 
					
						
						
							
							* logs truncated  
						
						
						
					 
					
						2004-06-20 08:55:28 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							0ac4983a9b 
							
						 
					 
					
						
						
							
							* remove obsolete cardinal() typecasts  
						
						
						
					 
					
						2004-06-18 15:16:46 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							588e2c38bf 
							
						 
					 
					
						
						
							
							* dwarf branch merged  
						
						
						
					 
					
						2004-06-16 20:07:06 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							13ee9660a4 
							
						 
					 
					
						
						
							
							* inc(x,y) makes y always of type x to prevent 64bit operations  
						
						... 
						
						
						
						when x is a u32bit and y is signed 
						
					 
					
						2004-05-28 21:15:20 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							b86f2c6a25 
							
						 
					 
					
						
						
							
							* methodpointer is loaded into a temp when it was a calln  
						
						
						
					 
					
						2004-05-23 18:28:40 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							6b96b70118 
							
						 
					 
					
						
						
							
							* fixed operator overload allowing for pointer-string  
						
						... 
						
						
						
						* replaced some type_e_mismatch with more informational messages 
						
					 
					
						2004-03-18 16:19:03 +00:00