[vim] - patchlevel 740

Karsten Hopp karsten at fedoraproject.org
Mon Jan 28 11:14:05 UTC 2013


commit 5b33a384250fc3ce46b481be87107c595ea1cd83
Author: Karsten Hopp <karsten at redhat.com>
Date:   Mon Jan 28 12:11:04 2013 +0100

    - patchlevel 740

 7.3.740 |  168 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 168 insertions(+), 0 deletions(-)
---
diff --git a/7.3.740 b/7.3.740
new file mode 100644
index 0000000..80c7609
--- /dev/null
+++ b/7.3.740
@@ -0,0 +1,168 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.3.740
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.3.740
+Problem:    IOC tool complains about undefined behavior for int.
+Solution:   Change to unsigned int. (Dominique Pelle)
+Files:	    src/hashtab.c, src/misc2.c
+
+
+*** ../vim-7.3.739/src/hashtab.c	2010-08-15 21:57:25.000000000 +0200
+--- src/hashtab.c	2012-11-28 18:27:46.000000000 +0100
+***************
+*** 138,144 ****
+      hash_T	perturb;
+      hashitem_T	*freeitem;
+      hashitem_T	*hi;
+!     int		idx;
+  
+  #ifdef HT_DEBUG
+      ++hash_count_lookup;
+--- 138,144 ----
+      hash_T	perturb;
+      hashitem_T	*freeitem;
+      hashitem_T	*hi;
+!     unsigned	idx;
+  
+  #ifdef HT_DEBUG
+      ++hash_count_lookup;
+***************
+*** 150,156 ****
+       * - skip over a removed item
+       * - return if the item matches
+       */
+!     idx = (int)(hash & ht->ht_mask);
+      hi = &ht->ht_array[idx];
+  
+      if (hi->hi_key == NULL)
+--- 150,156 ----
+       * - skip over a removed item
+       * - return if the item matches
+       */
+!     idx = (unsigned)(hash & ht->ht_mask);
+      hi = &ht->ht_array[idx];
+  
+      if (hi->hi_key == NULL)
+***************
+*** 176,182 ****
+  #ifdef HT_DEBUG
+  	++hash_count_perturb;	    /* count a "miss" for hashtab lookup */
+  #endif
+! 	idx = (int)((idx << 2) + idx + perturb + 1);
+  	hi = &ht->ht_array[idx & ht->ht_mask];
+  	if (hi->hi_key == NULL)
+  	    return freeitem == NULL ? hi : freeitem;
+--- 176,182 ----
+  #ifdef HT_DEBUG
+  	++hash_count_perturb;	    /* count a "miss" for hashtab lookup */
+  #endif
+! 	idx = (unsigned)((idx << 2U) + idx + perturb + 1U);
+  	hi = &ht->ht_array[idx & ht->ht_mask];
+  	if (hi->hi_key == NULL)
+  	    return freeitem == NULL ? hi : freeitem;
+***************
+*** 342,348 ****
+      hashitem_T	temparray[HT_INIT_SIZE];
+      hashitem_T	*oldarray, *newarray;
+      hashitem_T	*olditem, *newitem;
+!     int		newi;
+      int		todo;
+      long_u	oldsize, newsize;
+      long_u	minsize;
+--- 342,348 ----
+      hashitem_T	temparray[HT_INIT_SIZE];
+      hashitem_T	*oldarray, *newarray;
+      hashitem_T	*olditem, *newitem;
+!     unsigned	newi;
+      int		todo;
+      long_u	oldsize, newsize;
+      long_u	minsize;
+***************
+*** 448,460 ****
+  	     * the algorithm to find an item in hash_lookup().  But we only
+  	     * need to search for a NULL key, thus it's simpler.
+  	     */
+! 	    newi = (int)(olditem->hi_hash & newmask);
+  	    newitem = &newarray[newi];
+  
+  	    if (newitem->hi_key != NULL)
+  		for (perturb = olditem->hi_hash; ; perturb >>= PERTURB_SHIFT)
+  		{
+! 		    newi = (int)((newi << 2) + newi + perturb + 1);
+  		    newitem = &newarray[newi & newmask];
+  		    if (newitem->hi_key == NULL)
+  			break;
+--- 448,460 ----
+  	     * the algorithm to find an item in hash_lookup().  But we only
+  	     * need to search for a NULL key, thus it's simpler.
+  	     */
+! 	    newi = (unsigned)(olditem->hi_hash & newmask);
+  	    newitem = &newarray[newi];
+  
+  	    if (newitem->hi_key != NULL)
+  		for (perturb = olditem->hi_hash; ; perturb >>= PERTURB_SHIFT)
+  		{
+! 		    newi = (unsigned)((newi << 2U) + newi + perturb + 1U);
+  		    newitem = &newarray[newi & newmask];
+  		    if (newitem->hi_key == NULL)
+  			break;
+*** ../vim-7.3.739/src/misc2.c	2012-08-15 16:20:59.000000000 +0200
+--- src/misc2.c	2012-11-28 18:27:46.000000000 +0100
+***************
+*** 3860,3866 ****
+      ush temp; \
+   \
+      temp = (ush)keys[2] | 2; \
+!     t = (int)(((unsigned)(temp * (temp ^ 1)) >> 8) & 0xff); \
+  }
+  
+  /*
+--- 3860,3866 ----
+      ush temp; \
+   \
+      temp = (ush)keys[2] | 2; \
+!     t = (int)(((unsigned)(temp * (temp ^ 1U)) >> 8) & 0xff); \
+  }
+  
+  /*
+***************
+*** 4002,4008 ****
+  	    ush temp;
+  
+  	    temp = (ush)keys[2] | 2;
+! 	    temp = (int)(((unsigned)(temp * (temp ^ 1)) >> 8) & 0xff);
+  	    UPDATE_KEYS_ZIP(*p ^= temp);
+  	}
+      else
+--- 4002,4008 ----
+  	    ush temp;
+  
+  	    temp = (ush)keys[2] | 2;
+! 	    temp = (int)(((unsigned)(temp * (temp ^ 1U)) >> 8) & 0xff);
+  	    UPDATE_KEYS_ZIP(*p ^= temp);
+  	}
+      else
+*** ../vim-7.3.739/src/version.c	2012-11-28 18:22:04.000000000 +0100
+--- src/version.c	2012-11-28 18:28:00.000000000 +0100
+***************
+*** 727,728 ****
+--- 727,730 ----
+  {   /* Add new patch number below this line */
++ /**/
++     740,
+  /**/
+
+-- 
+From "know your smileys":
+ ~#:-(	I just washed my hair, and I can't do nuthin' with it.
+
+ /// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\  an exciting new programming language -- http://www.Zimbu.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///


More information about the scm-commits mailing list