Просмотр исходного кода

marked untraced where required (tested with reference counting code)

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7911 8c9fc860-2736-0410-a75d-ab315db34111
felixf 7 лет назад
Родитель
Сommit
494da85456

+ 6 - 6
source/Generic.Linux.AMD64.Unix.Mod

@@ -288,13 +288,13 @@ TYPE
 				ctime-	: Timeval;
 				reserved-	: ARRAY 3 OF LONGWORD;
 			END;
-	tvPtr* = POINTER TO Timeval;
+	tvPtr* = POINTER {UNSAFE, UNTRACED} TO Timeval;
 	Timeval* = RECORD
 				sec*	: LONGWORD;
 				usec*	: LONGWORD;
 			END;
 
-	TmPtr* = POINTER TO Tm;
+	TmPtr* = POINTER {UNSAFE, UNTRACED} TO Tm;
 	Tm* = RECORD
 				sec*, min*, hour*, mday*, mon*, year*, wday*, yday*, isdst*: LONGINT;
 				gmtoff*, tmzone*: LONGINT;
@@ -320,7 +320,7 @@ TYPE
 	FdSet* = ARRAY FdSetLen OF SET;
 
 
-	Dirent* = POINTER TO RECORD
+	Dirent* = POINTER {UNSAFE, UNTRACED} TO RECORD
 				ino-	: ino_t;
 				off-	: off_t;
 				reclen-	: INTEGER;
@@ -334,7 +334,7 @@ TYPE
 				size*		: SIZE
 			END;
 
-	Ucontext* = POINTER TO UcontextDesc;
+	Ucontext* = POINTER {UNSAFE, UNTRACED} TO UcontextDesc;
 	UcontextDesc* = RECORD
 				flags-		: SET;
 				link-		: ADDRESS;
@@ -342,7 +342,7 @@ TYPE
 				mc-		: McontextDesc
 			END;
 
-	Mcontext* = POINTER TO McontextDesc;
+	Mcontext* = POINTER{UNSAFE, UNTRACED}  TO McontextDesc;
 	McontextDesc* = RECORD
 				r_8			: HUGEINT;
   				r_9			: HUGEINT;
@@ -369,7 +369,7 @@ TYPE
   				cr2			: HUGEINT;
 			END;
 
-	FPcontext* = POINTER TO FPcontextDesc;
+	FPcontext* = POINTER{UNSAFE, UNTRACED}  TO FPcontextDesc;
 	FPcontextDesc* = RECORD
 				(* ... *)
 			END;

+ 1 - 1
source/Generic.Modules.Mod

@@ -114,7 +114,7 @@ TYPE
 			flags*: SET;	 (* e.g. compilation flags *)
 			
 		PROCEDURE FindRoots*;	(* override *)
-		VAR i: LONGINT; ptr: ANY; false: BOOLEAN;
+		VAR i: LONGINT; ptr {UNTRACED}: ANY; false: BOOLEAN;
 		VAR name: Name;
 		BEGIN
 			name := SELF.name;

+ 2 - 2
source/Generic.Unix.X11.Mod

@@ -64,7 +64,7 @@ TYPE
 				redMask*, greenMask*, blueMask*: LONGWORD;
 				bitsPerRgb*, mapEntries*: WORD
 			END;
-	VisualPtr* = POINTER TO Visual;
+	VisualPtr* = POINTER {UNSAFE,UNTRACED} TO Visual;
 	VisualInfo* = RECORD
 				visual*{UNTRACED}:  VisualPtr;
 				visualID*: VisualID;
@@ -150,7 +150,7 @@ TYPE
 			END;
 
 	Image* = ADDRESS;
-	ImagePtr* = POINTER TO ImageDesc;
+	ImagePtr* = POINTER {UNSAFE,UNTRACED} TO ImageDesc;
 	ImageDesc* = RECORD
 				width*, height*: WORD;
 				xoffset*, format*: WORD; data*: ADDRESS;

+ 5 - 5
source/Unix.X11.Mod

@@ -19,7 +19,7 @@ TYPE
 	Pixmap* = ADDRESS;
 
 	Pattern* = ADDRESS (* = PatternPtr *) ;
-	PatternPtr* = POINTER TO PatternDesc;
+	PatternPtr* = POINTER {UNSAFE, UNTRACED} TO PatternDesc;
 	PatternDesc* = RECORD
 				x*, y*: LONGINT;
 				w*, h*: INTEGER;
@@ -31,7 +31,7 @@ TYPE
 				p*: PatternDesc
 			END;
 
-	Font* = POINTER TO Bytes;
+	Font* = POINTER  {UNSAFE, UNTRACED} TO Bytes;
 	Bytes* = RECORD
 				metrics*: ARRAY 256 OF MetricDesc;
 				xid*: LONGINT
@@ -64,7 +64,7 @@ TYPE
 				redMask*, greenMask*, blueMask*: LONGWORD;
 				bitsPerRgb*, mapEntries*: WORD
 			END;
-	VisualPtr* = POINTER TO Visual;
+	VisualPtr* = POINTER {UNTRACED, UNSAFE} TO Visual;
 	VisualInfo* = RECORD
 				visual*{UNTRACED}:  VisualPtr;
 				visualID*: VisualID;
@@ -150,7 +150,7 @@ TYPE
 			END;
 
 	Image* = ADDRESS;
-	ImagePtr* = POINTER TO ImageDesc;
+	ImagePtr* = POINTER {UNSAFE, UNTRACED} TO ImageDesc;
 	ImageDesc* = RECORD
 				width*, height*: WORD;
 				xoffset*, format*: WORD; data*: ADDRESS;
@@ -166,7 +166,7 @@ TYPE
 				serial*: LONGWORD;
 				errorCode*, requestCode*, minorCode*: CHAR
 			END;
-	ErrorEventPtr* = POINTER TO ErrorEvent;
+	ErrorEventPtr* = POINTER {UNSAFE, UNTRACED} TO ErrorEvent;
 	ErrorHandler* = PROCEDURE ( d: DisplayPtr;  err: ErrorEventPtr; p3, p4: LONGINT ): LONGINT;
 	IOErrorHandler = PROCEDURE ( d: DisplayPtr; p2, p3, p4: LONGINT ): LONGINT;
 

+ 3 - 3
source/Unix.X11Api.Mod

@@ -7,7 +7,7 @@ TYPE
 	PChar* = POINTER TO ARRAY OF CHAR;
 
 	VisualPtr = X11.VisualPtr;
-	VisualInfoPtr*  = POINTER TO X11.VisualInfo; 
+	VisualInfoPtr*  = POINTER {UNSAFE, UNTRACED} TO X11.VisualInfo; 
 	DisplayPtr* = X11.DisplayPtr;
 	Window * = X11.Window;
 	Time* = X11.Time;
@@ -938,7 +938,7 @@ TYPE
 	called to free private storage 
 		free_private_proc* = PROCEDURE (extension: ExtData): LONGINT;*)
 	
-	ExtData* = POINTER TO ExtDataDesc;
+	ExtData* = POINTER {UNTRACED, UNSAFE} TO ExtDataDesc;
 	ExtDataDesc* = RECORD
 		number*: WORD;		(* number returned by XRegisterExtension *)
 		next*: ExtData;	(* next item on list of data for structure *)
@@ -963,7 +963,7 @@ TYPE
 		card32*: LONGWORD;
 	END;
 
-	FontStruct* = POINTER TO FontStructDesc;
+	FontStruct* = POINTER  {UNTRACED, UNSAFE} TO FontStructDesc;
 	FontStructDesc* = RECORD
 		ext_data*: ExtData;	(* hook for extension to hang data *)
 		fid*: X11.Font;            (* Font id for this font *)

+ 2 - 2
source/Unix.XDisplay.Mod

@@ -595,7 +595,7 @@ VAR
 							CONST image: ARRAY OF SET;  
 							width, height: INTEGER ): X11.Pattern;
 	VAR
-		pixmap: X11.Pixmap;  pat: X11.PatternPtr;
+		pixmap: X11.Pixmap;  pat {UNTRACED}: X11.PatternPtr;
 		w, h, i, j, b, dest, srcw, destb, srci, desti: LONGINT;
 		data: ARRAY 256*32 OF CHAR;   (* 256*256 bits *)
 	BEGIN
@@ -724,7 +724,7 @@ VAR
 
 	PROCEDURE SuppressX11Cursors( d: Display );
 	VAR 
-		fg, bg: X11.Color;  src, msk: X11.PatternPtr;
+		fg, bg: X11.Color;  src {UNTRACED}, msk {UNTRACED}: X11.PatternPtr;
 		image: ARRAY 17 OF SET;  i: INTEGER;
 		noCursor: X11.Cursor;
 	BEGIN