ruby-llvm 3.4.0 → 3.4.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 878b8916b8491bdbe2853e9595d7e462f3409b7e
4
- data.tar.gz: eb5a2758a1f1711f7f7832974459a00571ffe9bf
3
+ metadata.gz: 7fbf551060132cd96ad86b5c4954c20a77071b0e
4
+ data.tar.gz: e37b6914665099358af491974f0fab85581d4438
5
5
  SHA512:
6
- metadata.gz: 76d69849283e05f5ef6352c4f2e0acd60184ff16c1835485163327bff58c0401b99ea4d2562aa996d1a721b1c04a95befca5eb3a5feec128d712f82a121f4944
7
- data.tar.gz: 21a27d8d676573270a0e412e76d2e29ad1649b8850297fe51a7f370dbeca127fb4fd7f8ac235e0c286c1d0c3206f90f58966681e5149789945d32a962a3a739e
6
+ metadata.gz: ecbe7f6377c0cf7373ae91b32c6fb5210d19a503d1d3379b8212bd09262a3e4cfc0e2d74bbb73b27d35b084ae02ad240ca19b153700f2a1219e762605b1d6593
7
+ data.tar.gz: 2a3918df0a19ebc8cb7f72914d752941f459efb0cc8cef89b4ace55f09276ab30c832c3f93026ff40dfb10a9a1818828d02dd0f776f25fc28447eb8fde3481eb
@@ -42,7 +42,7 @@ end
42
42
 
43
43
  def find_cxx
44
44
  check_for('C++ compiler', %W(clang++ g++), 'CXX') do |cxx|
45
- system(cxx, "--version", out: :close, err: :close)
45
+ system(cxx, "--version")
46
46
  $?.success?
47
47
  end
48
48
  end
@@ -639,11 +639,16 @@ module LLVM
639
639
  end
640
640
 
641
641
  def global_constant?
642
- C.is_global_constant(self)
642
+ C.is_global_constant(self) != 0
643
643
  end
644
644
 
645
645
  def global_constant=(flag)
646
- C.set_global_constant(self, flag)
646
+ if flag.kind_of?(Integer)
647
+ warn 'Warning: Passing Integer value to LLVM::GlobalValue#global_constant=(Boolean) is deprecated.'
648
+ flag = !flag.zero?
649
+ end
650
+
651
+ C.set_global_constant(self, flag ? 1 : 0)
647
652
  end
648
653
 
649
654
  def unnamed_addr?
@@ -88,9 +88,14 @@ module LLVM
88
88
  raise ArgumentError, "FunctionPassManager does not support LTO"
89
89
  end
90
90
 
91
- # Add flag() when the header gets fixed and has LLVMBool
91
+ if internalize.kind_of?(Integer) || run_inliner.kind_of?(Integer)
92
+ warn 'Warning: Passing Integer value to LLVM::PassManagerBuilder#build_with_lto is deprecated.'
93
+ internalize = !internalize.zero? if internalize.kind_of?(Integer)
94
+ run_inliner = !run_inliner.zero? if run_inliner.kind_of?(Integer)
95
+ end
96
+
92
97
  C.pass_manager_builder_populate_lto_pass_manager(self,
93
- pass_manager, internalize, run_inliner)
98
+ pass_manager, flag(internalize), flag(run_inliner))
94
99
  end
95
100
 
96
101
  private
@@ -1,4 +1,4 @@
1
1
  module LLVM
2
2
  LLVM_VERSION = "3.4"
3
- RUBY_LLVM_VERSION = "3.4.0"
3
+ RUBY_LLVM_VERSION = "3.4.1"
4
4
  end
@@ -28,9 +28,20 @@ class ModuleTestCase < Minitest::Test
28
28
 
29
29
  assert var.kind_of?(LLVM::GlobalVariable)
30
30
 
31
+ # unnamed_addr
31
32
  assert !var.unnamed_addr?
32
33
  var.unnamed_addr = true
33
34
  assert var.unnamed_addr?
35
+
36
+ # global_constant
37
+ assert !var.global_constant?
38
+ var.global_constant = true
39
+ assert var.global_constant?
40
+
41
+ assert_output("", "Warning: Passing Integer value to LLVM::GlobalValue#global_constant=(Boolean) is deprecated.\n") do
42
+ var.global_constant = 0
43
+ end
44
+ assert !var.global_constant?
34
45
  end
35
46
  end
36
47
 
@@ -1,14 +1,19 @@
1
1
  require 'test_helper'
2
+ require 'llvm/config'
2
3
  require 'llvm/transforms/builder'
3
4
 
4
5
  class PassManagerBuilderTest < Minitest::Test
5
6
  def setup
6
7
  LLVM.init_jit
7
8
  @builder = LLVM::PassManagerBuilder.new
9
+
10
+ machine = LLVM::Target.by_name('x86-64').create_machine('x86-linux-gnu')
11
+ @pass_manager = LLVM::PassManager.new(machine)
8
12
  end
9
13
 
10
14
  def teardown
11
15
  @builder.dispose
16
+ @pass_manager.dispose
12
17
  end
13
18
 
14
19
  def test_init
@@ -26,8 +31,24 @@ class PassManagerBuilderTest < Minitest::Test
26
31
  end
27
32
 
28
33
  def test_build
29
- machine = LLVM::Target.by_name('x86-64').create_machine('x86-linux-gnu')
30
- pass_manager = LLVM::PassManager.new(machine)
31
- @builder.build(pass_manager)
34
+ @builder.build(@pass_manager)
35
+ end
36
+
37
+ def test_build_with_lto
38
+ assert_output('', '') do
39
+ @builder.build_with_lto(@pass_manager)
40
+ end
41
+ end
42
+
43
+ def test_build_with_lto_deprecated_internalize_param
44
+ assert_output("", "Warning: Passing Integer value to LLVM::PassManagerBuilder#build_with_lto is deprecated.\n") do
45
+ @builder.build_with_lto(@pass_manager, 0)
46
+ end
47
+ end
48
+
49
+ def test_build_with_lto_deprecated_run_inliner_param
50
+ assert_output("", "Warning: Passing Integer value to LLVM::PassManagerBuilder#build_with_lto is deprecated.\n") do
51
+ @builder.build_with_lto(@pass_manager, false, 0)
52
+ end
32
53
  end
33
54
  end
metadata CHANGED
@@ -1,97 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-llvm
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.0
4
+ version: 3.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Voorhis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-04 00:00:00.000000000 Z
11
+ date: 2014-06-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.9'
19
+ version: '10.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.9'
26
+ version: '10.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: ffi
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.7'
33
+ version: 1.9.3
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.7'
40
+ version: 1.9.3
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: minitest
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '5.0'
47
+ version: 5.3.4
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '5.0'
54
+ version: 5.3.4
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: ffi_gen
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: 1.1.0
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: 1.1.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: simplecov
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: yard
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
89
  version: 0.8.3
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ~>
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: 0.8.3
97
97
  description: Ruby-LLVM is a Ruby language binding to the LLVM compiler infrastructure
@@ -104,66 +104,66 @@ extra_rdoc_files:
104
104
  - README.md
105
105
  - LICENSE
106
106
  files:
107
+ - LICENSE
108
+ - README.md
109
+ - ext/ruby-llvm-support/Rakefile
110
+ - ext/ruby-llvm-support/support.cpp
111
+ - lib/llvm.rb
107
112
  - lib/llvm/analysis.rb
108
- - lib/llvm/core_ffi.rb
109
- - lib/llvm/transforms/ipo_ffi.rb
110
- - lib/llvm/transforms/vectorize_ffi.rb
111
- - lib/llvm/transforms/scalar_ffi.rb
112
- - lib/llvm/transforms/builder.rb
113
- - lib/llvm/transforms/ipo.rb
114
- - lib/llvm/transforms/vectorize.rb
115
- - lib/llvm/transforms/builder_ffi.rb
116
- - lib/llvm/transforms/scalar.rb
117
- - lib/llvm/support.rb
118
- - lib/llvm/target.rb
119
- - lib/llvm/core/pass_manager.rb
113
+ - lib/llvm/analysis_ffi.rb
114
+ - lib/llvm/config.rb
115
+ - lib/llvm/core.rb
116
+ - lib/llvm/core/bitcode.rb
117
+ - lib/llvm/core/bitcode_ffi.rb
120
118
  - lib/llvm/core/builder.rb
119
+ - lib/llvm/core/context.rb
121
120
  - lib/llvm/core/module.rb
122
- - lib/llvm/core/value.rb
123
- - lib/llvm/core/bitcode.rb
121
+ - lib/llvm/core/pass_manager.rb
124
122
  - lib/llvm/core/type.rb
125
- - lib/llvm/core/context.rb
126
- - lib/llvm/core/bitcode_ffi.rb
127
- - lib/llvm/linker.rb
128
- - lib/llvm/config.rb
129
- - lib/llvm/execution_engine_ffi.rb
123
+ - lib/llvm/core/value.rb
124
+ - lib/llvm/core_ffi.rb
130
125
  - lib/llvm/execution_engine.rb
126
+ - lib/llvm/execution_engine_ffi.rb
127
+ - lib/llvm/linker.rb
131
128
  - lib/llvm/linker_ffi.rb
132
- - lib/llvm/version.rb
133
- - lib/llvm/core.rb
129
+ - lib/llvm/support.rb
130
+ - lib/llvm/target.rb
134
131
  - lib/llvm/target_ffi.rb
135
- - lib/llvm/analysis_ffi.rb
136
- - lib/llvm.rb
137
- - ext/ruby-llvm-support/Rakefile
138
- - ext/ruby-llvm-support/support.cpp
139
- - README.md
140
- - LICENSE
141
- - test/type_test.rb
142
- - test/ipo_test.rb
143
- - test/binary_operations_test.rb
144
- - test/module_test.rb
132
+ - lib/llvm/transforms/builder.rb
133
+ - lib/llvm/transforms/builder_ffi.rb
134
+ - lib/llvm/transforms/ipo.rb
135
+ - lib/llvm/transforms/ipo_ffi.rb
136
+ - lib/llvm/transforms/scalar.rb
137
+ - lib/llvm/transforms/scalar_ffi.rb
138
+ - lib/llvm/transforms/vectorize.rb
139
+ - lib/llvm/transforms/vectorize_ffi.rb
140
+ - lib/llvm/version.rb
141
+ - test/array_test.rb
145
142
  - test/basic_block_test.rb
146
- - test/test_helper.rb
147
- - test/phi_test.rb
143
+ - test/binary_operations_test.rb
148
144
  - test/bitcode_test.rb
145
+ - test/branch_test.rb
146
+ - test/call_test.rb
147
+ - test/comparisons_test.rb
148
+ - test/conversions_test.rb
149
149
  - test/double_test.rb
150
- - test/instruction_test.rb
151
150
  - test/equality_test.rb
152
- - test/pass_manager_builder_test.rb
151
+ - test/function_test.rb
153
152
  - test/generic_value_test.rb
153
+ - test/instruction_test.rb
154
+ - test/ipo_test.rb
154
155
  - test/linker_test.rb
155
- - test/comparisons_test.rb
156
- - test/select_test.rb
157
- - test/function_test.rb
158
156
  - test/memory_access_test.rb
159
- - test/struct_test.rb
157
+ - test/module_test.rb
160
158
  - test/parameter_collection_test.rb
161
- - test/call_test.rb
162
- - test/vector_test.rb
159
+ - test/pass_manager_builder_test.rb
160
+ - test/phi_test.rb
161
+ - test/select_test.rb
162
+ - test/struct_test.rb
163
163
  - test/target_test.rb
164
- - test/array_test.rb
165
- - test/branch_test.rb
166
- - test/conversions_test.rb
164
+ - test/test_helper.rb
165
+ - test/type_test.rb
166
+ - test/vector_test.rb
167
167
  homepage: http://github.com/ruby-llvm/ruby-llvm
168
168
  licenses: []
169
169
  metadata: {}
@@ -173,17 +173,17 @@ require_paths:
173
173
  - lib
174
174
  required_ruby_version: !ruby/object:Gem::Requirement
175
175
  requirements:
176
- - - '>='
176
+ - - ">="
177
177
  - !ruby/object:Gem::Version
178
178
  version: '0'
179
179
  required_rubygems_version: !ruby/object:Gem::Requirement
180
180
  requirements:
181
- - - '>='
181
+ - - ">="
182
182
  - !ruby/object:Gem::Version
183
183
  version: '0'
184
184
  requirements: []
185
185
  rubyforge_project:
186
- rubygems_version: 2.0.14
186
+ rubygems_version: 2.2.2
187
187
  signing_key:
188
188
  specification_version: 4
189
189
  summary: LLVM bindings for Ruby