ruby-llvm 3.4.0 → 3.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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