atomic 1.1.4 → 1.1.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,8 +1,8 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
3
  # Update these to get proper version and commit history
4
- new_version = "1.1.4"
5
- old_version = "1.1.0"
4
+ new_version = "1.1.5"
5
+ old_version = "1.1.4"
6
6
 
7
7
  git_lines = `git log --oneline #{old_version}...#{new_version}`.lines.map {|str| "* #{str}"}.join
8
8
  doc_lines = File.readlines("README.rdoc")
@@ -50,7 +50,7 @@ static VALUE ir_compare_and_set(volatile VALUE self, VALUE expect_value, VALUE n
50
50
  if (OSAtomicCompareAndSwap64(expect_value, new_value, &DATA_PTR(self))) {
51
51
  return Qtrue;
52
52
  }
53
- #elif (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) > 40100
53
+ #elif HAVE_GCC_CAS
54
54
  if (__sync_bool_compare_and_swap(&DATA_PTR(self), expect_value, new_value)) {
55
55
  return Qtrue;
56
56
  }
@@ -14,6 +14,14 @@ require 'mkmf'
14
14
  extension_name = 'atomic_reference'
15
15
  dir_config(extension_name)
16
16
 
17
+ try_run(<<CODE) && ($defs << '-DHAVE_GCC_CAS')
18
+ int main() {
19
+ int i = 1;
20
+ __sync_bool_compare_and_swap(&i, 1, 4);
21
+ return (i != 4);
22
+ }
23
+ CODE
24
+
17
25
  case CONFIG["arch"]
18
26
  when /mswin32|mingw/
19
27
  $CFLAGS += " -march=i686"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: atomic
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.4
4
+ version: 1.1.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,14 +11,11 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2013-04-05 00:00:00.000000000 Z
14
+ date: 2013-04-06 00:00:00.000000000 Z
15
15
  dependencies: []
16
16
  description: ! "= An atomic reference implementation for JRuby, Rubinius, and MRI.\n\n\n==
17
- Changes since 1.1.0\n\n* a574b34 More formatting for description.\n* 58d3e34 Convert
18
- README to rdoc and try again.\n* f519385 Attempting to get description to look nice
19
- on rubygems.org.\n* 2c5ab6c Include README and oneline logs in gem description.\n*
20
- 6aeb053 Add @funny-falcon to authors.\n* aa24d4d Bump version to 1.1.1.\n* dc327eb
21
- Merge pull request #16 from funny-falcon/patch-1\n* 1b68767 Fix JRUBYREFERENCE8_ALLOCATOR\n\n==
17
+ Changes since 1.1.4\n\n* e269463 Fix #15 by explicitly testing for GCC's CAS.\n*
18
+ b8858f9 More formatting for description.\n* a574b34 More formatting for description.\n\n==
22
19
  Summary\n\n\n\nThis library provides:\n\n\n\n* an Atomic class that guarantees atomic
23
20
  updates to its contained value\n\n\n\nThe Atomic class provides accessors for the
24
21
  contained \"value\" plus two update methods:\n\n\n\n* update will run the provided
@@ -98,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
98
95
  version: '0'
99
96
  requirements: []
100
97
  rubyforge_project:
101
- rubygems_version: 1.8.23
98
+ rubygems_version: 1.8.24
102
99
  signing_key:
103
100
  specification_version: 3
104
101
  summary: An atomic reference implementation for JRuby, Rubinius, and MRI