144 Commits

Author SHA1 Message Date
Gregory P. Smith
27cbcd6241 Fix the internals of our hash functions to used unsigned values during hash
computation as the overflow behavior of signed integers is undefined.

In practice we require compiling everything with -fwrapv which forces overflow
to be defined as twos compliment but this keeps the code cleaner for checkers
or in the case where someone has compiled it without -fwrapv or their
compiler's equivalent.

Found by Clang trunk's Undefined Behavior Sanitizer (UBSan).

Cleanup only - no functionality or hash values change.
2012-12-10 18:15:46 -08:00
Benjamin Peterson
2b50a01d11 remove unused variable 2011-10-30 14:24:44 -04:00
Petri Lehtinen
e0aa803714 Fix the return value of set_discard (issue #10519) 2011-10-30 14:35:12 +02:00
Petri Lehtinen
5acc27ebe4 Avoid unnecessary recursive function calls (closes #10519) 2011-10-30 13:56:41 +02:00
Éric Araujo
bbcfc1f2d9 Merge from 3.1.
The fix was already committed to 3.2, but I merged two small changes
recommended by Raymond while I was working on the 2.7 patch to ease
future merges.
2011-03-23 03:43:22 +01:00
Éric Araujo
48049911d6 Fix obscure set crashers (#8420). Backport of d56b3cafb1e6, reviewed by Raymond. 2011-03-23 02:08:07 +01:00
Antoine Pitrou
715f3cd10d Issue #8685: Speed up set difference a - b when source set a is
much larger than operand `b`.  Patch by Andrew Bennetts.
2010-11-30 22:23:20 +00:00
Antoine Pitrou
fbb1c6191c Follow up to #9778: fix regressions on 64-bit Windows builds 2010-10-23 17:37:54 +00:00
Georg Brandl
00da4e0b5a Remove unneeded casts to hashfunc. 2010-10-18 07:32:48 +00:00
Benjamin Peterson
8f67d0893f make hashes always the size of pointers; introduce Py_hash_t #9778 2010-10-17 20:54:53 +00:00
Georg Brandl
2d444496b3 Reindent. 2010-09-03 10:52:55 +00:00
Raymond Hettinger
faf7b7f4ec Issue 8420: Fix obscure set crashers. 2010-09-03 10:00:50 +00:00
Daniel Stutzbach
928d4eeee8 Removed an extraneous semicolon 2010-09-02 15:06:03 +00:00
Antoine Pitrou
f72006f442 Merged revisions 84146-84147,84150 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84146 | antoine.pitrou | 2010-08-17 19:55:07 +0200 (mar., 17 août 2010) | 4 lines

  Issue #9612: The set object is now 64-bit clean under Windows.
........
  r84147 | antoine.pitrou | 2010-08-17 20:30:06 +0200 (mar., 17 août 2010) | 3 lines

  Fix <deque iterator>.__length_hint__() under 64-bit Windows.
........
  r84150 | antoine.pitrou | 2010-08-17 21:33:30 +0200 (mar., 17 août 2010) | 3 lines

  Clean some 64-bit issues. Also, always spell "ssize_t" "Py_ssize_t".
........
2010-08-17 19:39:39 +00:00
Antoine Pitrou
671b4d948e Issue #9612: The set object is now 64-bit clean under Windows. 2010-08-17 17:55:07 +00:00
Raymond Hettinger
51ced7afe7 Issue8757: Implicit set-to-frozenset conversion not thread-safe. 2010-08-06 09:57:49 +00:00
Raymond Hettinger
38bf2ccf4c Issue8757: Implicit set-to-frozenset conversion not thread-safe. 2010-08-06 09:52:17 +00:00
Antoine Pitrou
7f14f0d8a0 Recorded merge of revisions 81032 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r81032 | antoine.pitrou | 2010-05-09 17:52:27 +0200 (dim., 09 mai 2010) | 9 lines

  Recorded merge of revisions 81029 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r81029 | antoine.pitrou | 2010-05-09 16:46:46 +0200 (dim., 09 mai 2010) | 3 lines

    Untabify C files. Will watch buildbots.
  ........
................
2010-05-09 16:14:21 +00:00
Antoine Pitrou
f95a1b3c53 Recorded merge of revisions 81029 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81029 | antoine.pitrou | 2010-05-09 16:46:46 +0200 (dim., 09 mai 2010) | 3 lines

  Untabify C files. Will watch buildbots.
........
2010-05-09 15:52:27 +00:00
Raymond Hettinger
3fb156caa4 Issue 8436: set.__init__ accepts keyword args 2010-04-18 23:05:22 +00:00
Raymond Hettinger
dbe961215a Issue 8436: set.__init__ accepts keyword args 2010-04-18 23:03:16 +00:00
Raymond Hettinger
b136a9c9d7 Issue 8420: Fix ref counting problem in set_repr(). 2010-04-18 20:28:33 +00:00
Raymond Hettinger
f88db8de76 Issue 8420: Fix ref counting problem in set_repr(). 2010-04-18 20:26:14 +00:00
Victor Stinner
08b36bdab4 Merged revisions 78886 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r78886 | victor.stinner | 2010-03-13 01:13:22 +0100 (sam., 13 mars 2010) | 2 lines

  Issue #7818: set().test_c_api() doesn't expect a set('abc'), modify the set.
........
2010-03-13 00:19:17 +00:00
Ezio Melotti
807e98e0af Merged revisions 78541 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r78541 | ezio.melotti | 2010-03-01 06:08:34 +0200 (Mon, 01 Mar 2010) | 17 lines

  Merged revisions 78515-78516,78522 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r78515 | georg.brandl | 2010-02-28 20:19:17 +0200 (Sun, 28 Feb 2010) | 1 line

    #8030: make builtin type docstrings more consistent: use "iterable" instead of "seq(uence)", use "new" to show that set() always returns a new object.
  ........
    r78516 | georg.brandl | 2010-02-28 20:26:37 +0200 (Sun, 28 Feb 2010) | 1 line

    The set types can also be called without arguments.
  ........
    r78522 | ezio.melotti | 2010-03-01 01:59:00 +0200 (Mon, 01 Mar 2010) | 1 line

    #8030: more docstring fix for builtin types.
  ........
................
2010-03-01 04:10:55 +00:00