* lib/stat-time.h (USE_BIRTHTIME): Remove.
[gnulib.git] / README
diff --git a/README b/README
index 72bde6d..ba838e2 100644 (file)
--- a/README
+++ b/README
@@ -141,10 +141,30 @@ than 'long'.  POSIX 1003.1-2001 and the GNU coding standards both
 require 'int' to be at least 32 bits wide, so Gnulib code assumes this
 as well.  Gnulib code makes the following additional assumptions:
 
- * Signed integer arithmetic is two's complement, without runtime
-   overflow checking.  This is the traditional behavior, and is
-   supported by C99 implementations that conform to ISO/IEC 10967-1
-   (LIA-1) and that define signed integer types as being modulo.
+ * With one exception noted below, signed integer arithmetic is two's
+   complement, without runtime overflow checking.  This is the
+   traditional behavior, and is supported by C99 implementations that
+   conform to ISO/IEC 10967-1 (LIA-1) and that define signed integer
+   types as being modulo.
+
+   The exception is signed loop indexes.  Here, the behavior is
+   undefined if any signed expression derived from the loop index
+   overflows.  For example, the following code contains two such
+   overflows (the "i++" and the "i + 1") and therefore has undefined
+   behavior:
+
+     int i;
+     for (i = INT_MAX - 10; i <= INT_MAX; i++)
+       if (i + 1 < 0)
+        {
+          report_overflow ();
+          break;
+        }
+
+   This exception is a concession to modern optimizing compilers,
+   which can turn the above loop into code that executes the loop body
+   11 times, even though wraparound arithmetic would cause the loop to
+   iterate forever.
 
  * There are no "holes" in integer values: all the bits of an integer
    contribute to its value in the usual way.
@@ -195,12 +215,26 @@ Gnulib is available for anonymous checkout.  In any Bourne-shell the
 following should work:
 
 $ cvs -d :pserver:anoncvs@cvs.gnu.org:/cvsroot/gnulib login
-(Just hit Enter or Return when prompt for a password)
+(Just hit Enter or Return when prompted for a password)
 $ cvs -d :pserver:anoncvs@cvs.gnu.org:/cvsroot/gnulib checkout gnulib
 
 Gnulib is hosted on savannah.gnu.org.  The project page is
 http://savannah.gnu.org/projects/gnulib.
 
+Keeping Up-to-date
+==================
+
+The best way to work with Gnulib is to check it out of CVS.
+Subscribing to the bug-gnulib@gnu.org mailing list will help you to
+plan when to update your local copy of Gnulib (which you use to
+maintain your software) from CVS.  You can use "cvs update -dP" to
+synchronize.
+
+Sometimes, using an updated version of Gnulib will require you to use
+newer versions of GNU Automake or Autoconf.  You may find it helpful
+to join the autotools-announce mailing list to be advised of such
+changes.
+
 
 -----
 Copyright (C) 2001, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.