]> andersk Git - splint.git/commitdiff
Updating for cert move
authordrl7x <drl7x>
Thu, 31 May 2001 02:44:42 +0000 (02:44 +0000)
committerdrl7x <drl7x>
Thu, 31 May 2001 02:44:42 +0000 (02:44 +0000)
src/Headers/basic.h
src/Headers/constraint.h
src/Headers/constraintExpr.h
src/Headers/constraintList.h
src/Headers/constraintList2.h
src/Headers/constraintTerm.h
src/Headers/forwardTypes.h
src/Headers/herald.h
src/Headers/herald.last

index f3ab1a6e45123fd0cb97bce2a4c0e9ca2554892d..a43fe7a7a9e19ff926c208638ed84ac63f752828 100644 (file)
 # include "uentry.h"
 # include "sRef.h"
 # include "guardSet.h"
+# include "constraintTerm.h"
+# include "constraintExprData.h"
+# include "constraintExpr.h"
 # include "constraint.h"
+# include "constraintList.h"
 # include "exprNode.h"
 # include "exprData.h"
 # include "typeIdSet.h"
index 396b30e989d54976c17481e019b16642fc2d06e9..22b95003248353ed237e955e1eb012db062caaa7 100644 (file)
@@ -8,9 +8,6 @@ typedef enum
 }
 arithType;
 
-//abst_typedef struct constr_ * constr;
-
-
 struct _constraint {
   constraint     orig;
   constraint     or;
@@ -21,13 +18,19 @@ struct _constraint {
   exprNode generatingExpr;
 } ;
 
-abst_typedef struct _constraintTerm * constraintTerm;
+/*@constant null constraint constraint_undefined; @*/
 
-//constraint constraint_create (exprNode e1, exprNode e2,  arithType restriction, constraintType kind);
+# define constraint_undefined ((constraint)NULL)
 
+extern /*@falsenull@*/ bool constraint_isDefined (constraint p_e) /*@*/ ;
+extern /*@unused@*/ /*@truenull@*/ bool constraint_isUndefined (constraint p_e) /*@*/ ;
+extern /*@truenull@*/ bool constraint_isError (constraint p_e) /*@*/ ;
 
-constraint makeConstraintParse (sRef x, lltok relOp, exprNode cconstant);
+# define constraint_isDefined(e)        ((e) != constraint_undefined)
+# define constraint_isUndefined(e)      ((e) == constraint_undefined)
+# define constraint_isError(e)          ((e) == constraint_undefined)
 
+constraint makeConstraintParse (sRef x, lltok relOp, exprNode cconstant);
 
 constraint constraint_createReadSafe (exprNode p_e1, exprNode p_e2);
 
@@ -37,12 +40,11 @@ constraint constraint_makeInc_Op (exprNode p_e1);
 /*@-czechfcns*/
 bool constraint_resolve (/*@unused@*/ constraint c);
      
-/*@out@*/ constraintTerm new_constraintTermExpr (void);
 
-/*@special@*/ constraintExpr makeConstraintExpr (/*@only@*/ /*@notnull@*/ constraintTerm term)
- /*@post:isnull result->expr@*/
-     /*@post:notnull result->t1@*/
-     /*@defines result->expr, result->t1, result->c1@, result->op*/;
+///*@special@*/ constraintExpr makeConstraintExpr (/*@only@*/ /*@notnull@*/ constraintTerm term)
+// /*@post:isnull result->expr@*/
+//     /*@post:notnull result->t1@*/
+//     /*@defines result->expr, result->t1, result->c1@, result->op*/;
      
 constraintExpr makeConstraintExprIntlit (int p_i);
 
@@ -120,16 +122,18 @@ bool exprNode_exprTraverse (exprNode e, bool definatelv, bool definaterv,  filel
 constraintList exprNode_traversRequiresConstraints (exprNode e);
 constraintList exprNode_traversEnsuresConstraints (exprNode e);
 
+/*@notnull@*/ constraint constraint_makeNew (void) /*@*/;
 
 
 /*@=czechfcns*/
 //#warning take this out
-#include "constraintList.h"
 
-#include "constraintExpr.h"
-#include "constraintTerm.h"
 #include "constraintResolve.h"
 #include "constraintOutput.h"
 
+#else
+
+#error Multiple include
+
 #endif
 
index 631d0426f64dc87a86476d790a07f42ded598212..c637bb67520e4f306b2abf7833c603067c6b1471 100644 (file)
@@ -2,43 +2,6 @@
 
 #define __constraintExpr_h__
 
-typedef union constraintTermValue_
-{
-  exprNode expr;
-  sRef     sref;
-  int      intlit;
-} constraintTermValue;
-
-typedef enum
-{
-  ERRORBADCONSTRAINTTERMTYPE,
- EXPRNODE, SREF,
- INTLITERAL
-} constraintTermType;
-
-struct _constraintTerm {
-  fileloc loc;
-  constraintTermValue value;
-  constraintTermType kind;
-};
-
-
-typedef enum
-{
-  PLUS,
-  MINUS
-}
-constraintExprBinaryOpKind;
-
-typedef enum
-{
- VALUE, CALLSAFE,
- MAXSET, MINSET, MAXREAD, MINREAD,
- NULLTERMINATED,
- UNDEFINED
-}
-constraintExprUnaryOpKind;
-
 typedef enum
 {
   binaryexpr,
@@ -47,56 +10,55 @@ typedef enum
 }
 constraintExprKind;
 
-typedef struct constraintExprBinaryOp_
-{
-  constraintExpr expr1;
-  constraintExprBinaryOpKind binaryOp;
-  constraintExpr expr2;
-} constraintExprBinaryOp;
+struct constraintExpr_ {
+  constraintExprKind kind;
+  constraintExprData data;
+};
 
 
-typedef struct constraintExprUnaryOp_
-{
-  constraintExpr expr;
-  constraintExprUnaryOpKind unaryOp;
-} constraintExprUnaryOp;
+/*@constant null constraintExpr constraintExpr_undefined; @*/
+# define constraintExpr_undefined ((constraintExpr)NULL)
 
+extern /*@falsenull@*/ bool constraintExpr_isDefined (constraintExpr p_e) /*@*/ ;
+extern /*@unused@*/ /*@truenull@*/ bool constraintExpr_isUndefined (constraintExpr p_e) /*@*/ ;
+extern /*@truenull@*/ bool constraintExpr_isError (constraintExpr p_e) /*@*/ ;
 
-typedef union constraintExprData_
-{
-  constraintExprBinaryOp binaryOp;
-  constraintExprUnaryOp unaryOp;
-  constraintTerm term;
-} *constraintExprData;
+# define constraintExpr_isDefined(e)        ((e) != constraintExpr_undefined)
+# define constraintExpr_isUndefined(e)      ((e) == constraintExpr_undefined)
+# define constraintExpr_isError(e)          ((e) == constraintExpr_undefined)
 
 
-struct constraintExpr_ {
-  constraintExprKind kind;
-  constraintExprData data;
-};
 
-# define constraintExpr_undefined ((constraintExpr)NULL)
+/*@constant null constraintExprData constraintExprData_undefined; @*/
+# define constraintExprData_undefined ((constraintExprData)NULL)
+
+extern /*@falsenull@*/ bool constraintExprData_isDefined (constraintExprData p_e) /*@*/ ;
+extern /*@unused@*/ /*@truenull@*/ bool constraintExprData_isUndefined (constraintExprData p_e) /*@*/ ;
+extern /*@truenull@*/ bool constraintExprData_isError (constraintExprData p_e) /*@*/ ;
+
+# define constraintExprData_isDefined(e)      ((e) != constraintExprData_undefined)
+# define constraintExprData_isUndefined(e)    ((e) == constraintExprData_undefined)
+# define constraintExprData_isError(e)        ((e) == constraintExprData_undefined)
 
-//constraintTerm constraintTerm_copy (constraintTerm term);
 
 int constraintExpr_getValue (constraintExpr expr) /*@*/;
 
-constraintExpr constraintExpr_setFileloc (constraintExpr expr, fileloc loc);
+constraintExpr constraintExpr_setFileloc (constraintExpr expr, fileloc loc) /*@modifies expr@*/;
 
-constraintExpr constraintExpr_copy (constraintExpr expr);
+constraintExpr constraintExpr_copy (constraintExpr expr) /*@*/;
 
 cstring constraintExpr_unparse (constraintExpr ex) /*@*/;
 extern cstring constraintExpr_print (constraintExpr expr) /*@*/;
 
 
-bool constraintExpr_similar (constraintExpr expr1, constraintExpr expr2);
-bool constraintExpr_same (constraintExpr expr1, constraintExpr expr2);
-constraintExpr constraintExpr_searchandreplace (constraintExpr c, constraintExpr old, constraintExpr new );
-bool constraintExpr_canGetValue (constraintExpr expr);
+bool constraintExpr_similar (constraintExpr expr1, constraintExpr expr2) /*@*/;
+bool constraintExpr_same (constraintExpr expr1, constraintExpr expr2) /*@*/;
+constraintExpr constraintExpr_searchandreplace (constraintExpr c, constraintExpr old, constraintExpr new ) /*@modifies c@*/;
+bool constraintExpr_canGetValue (constraintExpr expr) /*@*/;
 
-int constraintExpr_compare (constraintExpr expr1, constraintExpr expr2);
+int constraintExpr_compare (constraintExpr expr1, constraintExpr expr2) /*@*/;
 
-constraintExpr constraintExpr_makeValueInt (int i);
+//constraintExpr constraintExpr_makeValueInt (int i);
 
 constraintExpr constraintExpr_makeIntLiteral (int i);
 
@@ -106,50 +68,16 @@ constraintExpr constraintExpr_makeMaxSetExpr (exprNode expr);
 
 constraintExpr  constraintExpr_makeMaxReadExpr (exprNode expr);
 
-constraintExpr  constraintExpr_makeMinSetExpr (exprNode expr);
-
-constraintExpr  constraintExpr_makeMinReadExpr (exprNode expr);
-
 constraintExpr constraintExpr_makeIncConstraintExpr (constraintExpr expr);
 
 constraintExpr constraintExpr_makeDecConstraintExpr (constraintExpr expr);
 
-constraintExpr constraintExpr_simplify (constraintExpr c);
-
-
-constraintExpr constraintExpr_solveBinaryExpr (constraintExpr lexpr, constraintExpr expr);
-
-bool constraintExpr_search (constraintExpr c, constraintExpr old);
-/*   jjjkkkk   */
-
-constraintExprData constraintExprData_copy (constraintExprData data, constraintExprKind kind);
-
-
-constraintExprData constraintExprData_termSetTerm (/*@out@*/ constraintExprData data, constraintTerm term);
-
-constraintTerm constraintExprData_termGetTerm (constraintExprData data) /*@*/;
-
-constraintExprUnaryOpKind constraintExprData_unaryExprGetOp (constraintExprData data) /*@*/;
+constraintExpr constraintExpr_simplify (constraintExpr c) /*@modifies c@*/;
 
-constraintExpr  constraintExprData_unaryExprGetExpr (constraintExprData data) /*@*/;
+constraintExpr constraintExpr_solveBinaryExpr (constraintExpr lexpr, constraintExpr expr) /*@modifies lexpr@*/;
 
-constraintExprData  constraintExprData_unaryExprSetOp (constraintExprData data, constraintExprUnaryOpKind op);
+bool constraintExpr_search (constraintExpr c, constraintExpr old) /*@*/;
 
-
-constraintExprData  constraintExprData_unaryExprSetExpr (constraintExprData data, constraintExpr expr);
-
-
-constraintExprBinaryOpKind  constraintExprData_binaryExprGetOp (constraintExprData data) /*@*/;
-
-constraintExpr  constraintExprData_binaryExprGetExpr1 (constraintExprData data)/*@*/;
-
-constraintExpr  constraintExprData_binaryExprGetExpr2 (constraintExprData data)/*@*/;
-
-constraintExprData  constraintExprData_binaryExprSetExpr1 (constraintExprData data, constraintExpr expr);
-
-constraintExprData  constraintExprData_binaryExprSetExpr2 (constraintExprData data, constraintExpr expr);
-
-constraintExprData  constraintExprData_binaryExprSetOp (constraintExprData data, constraintExprBinaryOpKind op);
 fileloc constraintExpr_getFileloc (constraintExpr expr);
 
 constraintExpr constraintExpr_makeBinaryOpConstraintExprIntLiteral (constraintExpr expr, int literal);
@@ -171,10 +99,20 @@ constraintExpr constraintExpr_parseMakeBinaryOp (constraintExpr expr1, lltok op,
 
 bool constraintExpr_hasMaxSet (constraintExpr expr);
 
-constraintExpr constraintExpr_propagateConstants (constraintExpr expr,
-                                               /*@out@*/ bool * propagate,
-                                                 /*@out@*/ int *literal);
+//static constraintExpr constraintExpr_propagateConstants (constraintExpr expr,
+//                                             /*@out@*/ bool * propagate,
+//                                               /*@out@*/ int *literal);
 
 constraintExpr constraintExpr_makeSRefMaxRead(sRef s);
 
+constraintTerm constraintTerm_doSRefFixBaseParam (constraintTerm term, exprNodeList arglist) /*@modifies term@*/;
+
+constraintExpr 
+constraintExpr_doSRefFixConstraintParam (constraintExpr e, exprNodeList arglist) /*@modifies e@*/;
+
+
+#else
+
+# error "Multiple include"
+
 #endif
index 3eab01a7fe4e7ee5e7e5eba6b529183754e9129c..5f42e205520df3e7f8b74c130099e0b20986691e 100644 (file)
@@ -25,10 +25,10 @@ struct _constraintList
 
 # define end_constraintList_elements }}
 
-extern /*@only@*/ constraintList constraintList_new(void);
-extern constraintList constraintList_add (/*@returned@*/ constraintList p_s, /*@only@*/ constraint p_el) ;
+extern /*@only@*/ constraintList constraintList_makeNew(void) /*@*/;
+extern constraintList constraintList_add (/*@returned@*/ constraintList p_s, /*@only@*/ constraint p_el) /*@modifies p_s@*/ ;
 
-extern constraintList constraintList_addList (/*@returned@*/ constraintList s, /*@only@*/constraintList new);
+extern constraintList constraintList_addList (/*@returned@*/ constraintList p_s, /*@only@*/constraintList new) /*@modifies p_s@*/  ;
 
 
 extern constraintList constraintList_copy (constraintList p_s) /*@*/ ;
@@ -39,30 +39,30 @@ extern void constraintList_free (/*@only@*/ constraintList p_s) ;
 
 
 
-extern cstring constraintList_print (constraintList s);
+extern cstring constraintList_print (constraintList s) /*@*/;
 
 extern cstring
-constraintList_printDetailed (constraintList s);
+constraintList_printDetailed (constraintList s) /*@*/;
 
 
 extern constraintList
 constraintList_logicalOr (constraintList l1, constraintList l2);
 
-extern constraintList constraintList_preserveOrig (constraintList c);
+extern constraintList constraintList_preserveOrig (/*@returned@*/ constraintList c);
 
 /*@constant int constraintListBASESIZE;@*/
 
-extern constraintList constraintList_doSRefFixBaseParam (constraintList preconditions, exprNodeList arglist);
+extern constraintList constraintList_doSRefFixBaseParam (constraintList preconditions, exprNodeList arglist) /*@modifies preconditions@*/;
 
-extern constraintList constraintList_togglePost (constraintList c);
+extern constraintList constraintList_togglePost (/*@returned@*/ constraintList c) /*@modifies c@*/;
 
-extern constraintList constraintList_doSRefFixConstraintParam (constraintList preconditions, exprNodeList arglist);
+extern constraintList constraintList_doSRefFixConstraintParam (/*@returned@*/ constraintList preconditions, exprNodeList arglist) /*@modifies preconditions@*/;
 
-extern constraintList getPostConditions (exprNode fcn, exprNodeList arglist, exprNode fcnCall);
+extern constraintList getPostConditions (exprNode fcn, exprNodeList arglist, exprNode fcnCall) /*@*/;
 
-constraintList constraintList_doFixResult (constraintList postconditions, exprNode fcnCall);
+constraintList constraintList_doFixResult (/*@returned@*/ constraintList postconditions, exprNode fcnCall) /*@modifies postconditions@*/;
 
-constraintList constraintList_addGeneratingExpr (constraintList c, exprNode e);
+constraintList constraintList_addGeneratingExpr (/*@returned@*/ constraintList c, exprNode e) /*@modifies c@*/;
 # define constraintListBASESIZE SMALLBASESIZE
 
 # else
index 573e90b290c12b559ee6245ca25d0bbc66b77908..c2da3a42077be9871d1c92ecf41097bee6a52bba 100644 (file)
@@ -35,7 +35,7 @@ extern bool constraintList_empty (/*@sef@*/ constraintList);
 extern /*@falsenull@*/ bool constraintList_isDefined (constraintList p_t);
 # define constraintList_isDefined(s) ((s) != (constraintList) 0)
 
-extern /*@only@*/ constraintList constraintList_new(void);
+extern /*@only@*/ constraintList constraintList_makeNew(void);
 extern constraintList constraintList_push (/*@returned@*/ constraintList p_s, 
                                       /*@keep@*/ constraint p_el) ;
 
index 1d7ee6e4e47e144654c9a4d5d02f7562fca9587a..2e3edcec919f599cddfa497a506aaa5961886700 100644 (file)
@@ -1,69 +1,87 @@
-
 #ifndef __constraintTerm_h__
 
 #define __constraintTerm_h__
 
+typedef union
+{
+  exprNode expr;
+  sRef     sref;
+  int      intlit;
+} constraintTermValue;
 
-constraintTerm constraintTerm_simplify (/*@returned@*/ constraintTerm term);
+void constraintTermValue_copy (/*@out@*/ constraintTermValue src, constraintTermValue dst);
 
-constraintTerm constraintTerm_makeExprNode (/*@only@*/ exprNode e);
+#define constraintTermValue_copy(dst, src)     ((dst) = (src))
 
-constraintTerm constraintTerm_copy (constraintTerm term);
+typedef enum
+{
+  ERRORBADCONSTRAINTTERMTYPE,
+ EXPRNODE, SREF,
+ INTLITERAL
+} constraintTermType;
 
-constraintTerm exprNode_makeConstraintTerm ( exprNode e);
+struct _constraintTerm {
+  fileloc loc;
+  constraintTermValue value;
+  constraintTermType kind;
+};
 
 
-bool constraintTerm_same (constraintTerm term1, constraintTerm term2);
+abst_typedef struct _constraintTerm * constraintTerm;
 
-bool constraintTerm_similar (constraintTerm term1, constraintTerm term2);
 
-bool constraintTerm_canGetValue (constraintTerm term);
-int constraintTerm_getValue (constraintTerm term);
 
-fileloc constraintTerm_getFileloc (constraintTerm t);
+constraintTerm constraintTerm_simplify (/*@returned@*/ constraintTerm term) /*@modifies term@*/ ;
 
-constraintTerm constraintTerm_makeMaxSetexpr (exprNode e);
+constraintTerm constraintTerm_makeExprNode (/*@only@*/ exprNode e) /*@*/;
 
-constraintTerm constraintTerm_makeMinSetexpr (exprNode e);
+constraintTerm constraintTerm_copy (constraintTerm term) /*@*/;
 
-constraintTerm constraintTerm_makeMaxReadexpr (exprNode e);
+constraintTerm exprNode_makeConstraintTerm ( exprNode e) /*@*/;
 
-constraintTerm constraintTerm_makeMinReadexpr (exprNode e);
+bool constraintTerm_same (constraintTerm term1, constraintTerm term2) /*@*/;
 
-constraintTerm constraintTerm_makeValueexpr (exprNode e);
+bool constraintTerm_similar (constraintTerm term1, constraintTerm term2) /*@*/;
 
-constraintTerm intLit_makeConstraintTerm (int i);
+bool constraintTerm_canGetValue (constraintTerm term)/*@*/;
+int constraintTerm_getValue (constraintTerm term) /*@*/;
 
-constraintTerm constraintTerm_makeIntLitValue (int i);
+fileloc constraintTerm_getFileloc (constraintTerm t) /*@*/;
 
-bool constraintTerm_isIntLiteral (constraintTerm term);
+constraintTerm constraintTerm_makeMaxSetexpr (exprNode e) /*@*/;
 
-cstring constraintTerm_print (constraintTerm term);
+constraintTerm constraintTerm_makeMinSetexpr (exprNode e) /*@*/;
 
-constraintTerm constraintTerm_makesRef  (/*@only@*/ sRef s);
+constraintTerm constraintTerm_makeMaxReadexpr (exprNode e) /*@*/;
 
-bool constraintTerm_probSame (constraintTerm term1, constraintTerm term2);
+constraintTerm constraintTerm_makeMinReadexpr (exprNode e) /*@*/;
 
+constraintTerm constraintTerm_makeValueexpr (exprNode e) /*@*/;
 
-constraintTerm constraintTerm_doSRefFixBaseParam (constraintTerm term, exprNodeList arglist);
+constraintTerm intLit_makeConstraintTerm (int i) /*@*/;
 
-constraintExpr 
-constraintTerm_doSRefFixConstraintParam (constraintExpr e, exprNodeList arglist);
+constraintTerm constraintTerm_makeIntLitValue (int i) /*@*/;
 
-constraintTerm constraintTerm_setFileloc (/*@returned@*/ constraintTerm term, fileloc loc);
+bool constraintTerm_isIntLiteral (constraintTerm term) /*@*/;
 
-constraintTerm constraintTerm_makeIntLiteral (int i);
+cstring constraintTerm_print (constraintTerm term) /*@*/;
 
-bool constraintTerm_isStringLiteral (constraintTerm c);
-cstring constraintTerm_getStringLiteral (constraintTerm c);
+constraintTerm constraintTerm_makesRef  (/*@only@*/ sRef s) /*@*/;
 
-constraintExpr 
-constraintTerm_doFixResult (constraintExpr e, exprNode fcnCall);
+bool constraintTerm_probSame (constraintTerm term1, constraintTerm term2) /*@*/;
 
-#endif
+constraintTerm constraintTerm_setFileloc (/*@returned@*/ constraintTerm term, fileloc loc) /*@modifies term@*/;
 
+constraintTerm constraintTerm_makeIntLiteral (int i) /*@*/;
 
+bool constraintTerm_isStringLiteral (constraintTerm c) /*@*/;
+cstring constraintTerm_getStringLiteral (constraintTerm c) /*@*/;
 
+constraintExpr 
+constraintExpr_doFixResult (constraintExpr e, exprNode fcnCall) /*@modifies e @*/;
 
+#else
 
+#error Multiple Include
 
+#endif
index d341778b6acdc50159cba490b59efaaeb3223cb4..45f19b7bbdcae3bb5e28b09060a359646ebdeb28 100644 (file)
@@ -27,7 +27,7 @@ abst_typedef struct _constraintList  *constraintList;
 
 /* DRL modified 9 26 00 */
 
-abst_typedef struct constraintExpr_ * constraintExpr;
+abst_typedef /*@null@*/ struct constraintExpr_ * constraintExpr;
 
 /*@-cppnames@*/
 typedef int bool;
index e65ef86cd63f526066af3cfc766a14234018eed8..2dc27224f607f30bfa00464a94e9426d673da2fe 100644 (file)
@@ -4,4 +4,4 @@
 /*@constant observer char *LCL_PARSE_VERSION;@*/
 # define LCL_PARSE_VERSION "LCLint 2.5q"
 /*@constant observer char *LCL_COMPILE;@*/
-# define LCL_COMPILE "Compiled using gcc28 -DSTDC_HEADERS=1 -Wall -g -pedantic on FreeBSD shankly.cs.virginia.edu 3.2-RELEASE FreeBSD 3.2-RELEASE #0: Tue May 18 04:05:08 GMT 1999 jkh@cathair:/usr/src/sys/compile/GENERIC i386 by drl7x"
+# define LCL_COMPILE "Compiled using /opt/GCC281/bin/gcc -DSTDC_HEADERS=1 -g -Wall -pedantic on SunOS mamba.cs.Virginia.EDU 5.6 Generic_105181-09 sun4u sparc SUNW,Ultra-60 by drl7x"
index e65ef86cd63f526066af3cfc766a14234018eed8..2dc27224f607f30bfa00464a94e9426d673da2fe 100644 (file)
@@ -4,4 +4,4 @@
 /*@constant observer char *LCL_PARSE_VERSION;@*/
 # define LCL_PARSE_VERSION "LCLint 2.5q"
 /*@constant observer char *LCL_COMPILE;@*/
-# define LCL_COMPILE "Compiled using gcc28 -DSTDC_HEADERS=1 -Wall -g -pedantic on FreeBSD shankly.cs.virginia.edu 3.2-RELEASE FreeBSD 3.2-RELEASE #0: Tue May 18 04:05:08 GMT 1999 jkh@cathair:/usr/src/sys/compile/GENERIC i386 by drl7x"
+# define LCL_COMPILE "Compiled using /opt/GCC281/bin/gcc -DSTDC_HEADERS=1 -g -Wall -pedantic on SunOS mamba.cs.Virginia.EDU 5.6 Generic_105181-09 sun4u sparc SUNW,Ultra-60 by drl7x"
This page took 0.25482 seconds and 5 git commands to generate.