rcgtk 3.4.1 → 3.5.0

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: c9610c12f964ac503de55eb562e9130424917266
4
- data.tar.gz: 76c9750eda56b945566e8592921be6c292835335
3
+ metadata.gz: d43321cc9a9e9f8101085aa98033f36ebd6961aa
4
+ data.tar.gz: 0b93a5fbeee7451675d986bc1b368d61bcdad104
5
5
  SHA512:
6
- metadata.gz: a822ab1dfee4a6a53234dff04fcc54b6b063667257466630c5ec7fb0dc585e1d83e8907cbeb35c24a39e2b61ab7e510455d17df8a2a298ad6ece6735427758c8
7
- data.tar.gz: f0a5acb35a97af27e3c50e8e8d66df62a6450d292bd1cbe0b50e05a03df83f84b8f9f96c44df636aac06fe5736aaf51a61d6d9c4febd4a76404d5b9b3d7e969c
6
+ metadata.gz: 9fee8cdb962b620808311df513269f43d8f98e9074346445ae7d29a69d743c19c3b6d8cf8e6e6977514d41c631a2b8ee5e57fec62f539ca2be23c155b1c9f88e
7
+ data.tar.gz: e84e4a4869e987cfc89cafffedfe8f6ef4c6e1c8c39d5d9f729ca3b298c8dcdee6f8639a40d66aa3c781eb553317f9feb87a4a65cbde2b6bedc1d5616735cc34
data/Rakefile CHANGED
@@ -163,7 +163,7 @@ task :gen_bindings do
163
163
  cflags: `llvm-config --cflags`.split,
164
164
  prefixes: ['LLVM'],
165
165
  blacklist: deprecated,
166
- output: 'lib/rcgtk/generated_bindings.rb'
166
+ output: "generated_bindings-#{RCGTK::LLVM_TARGET_VERSION}.rb"
167
167
  )
168
168
  end
169
169
 
data/lib/rcgtk/builder.rb CHANGED
@@ -817,15 +817,28 @@ module RCGTK
817
817
  #
818
818
  # @see http://llvm.org/docs/LangRef.html#atomic-memory-ordering-constraints
819
819
  #
820
- # @param [Symbol from _enum_atomic_rmw_bin_op_] op Operation to perform
821
- # @param [OpaqueValue] addr Address to modify
822
- # @param [OpaqueValue] val Value to test
823
- # @param [Symbol from _enum_atomic_ordering_] ordering Memory ordering constraints
824
- # @param [Boolean] single_thread Synchronize with single thread or all threads
820
+ # @param [Symbol from _enum_atomic_rmw_bin_op_] op Operation to perform
821
+ # @param [OpaqueValue] addr Address to modify
822
+ # @param [OpaqueValue] val Value to test
823
+ # @param [Symbol from _enum_atomic_ordering_] ordering Memory ordering constraints
824
+ # @param [Boolean] is_single_thread Synchronize with single thread or all threads
825
825
  #
826
826
  # @return [AtomicRMWInst]
827
827
  def atomic_rmw(op, addr, val, ordering, single_thread)
828
- AtomicRMWInst.new(Bindings.build_atomic_rmw(@ptr, op, addr, val, ordering, single_thread.to_i))
828
+ AtomicRMWInst.new(Bindings.build_atomic_rmw(@ptr, op, addr, val, ordering, is_single_thread.to_i))
829
+ end
830
+
831
+ # Create a fence instruction
832
+ #
833
+ # @see http://llvm.org/docs/LangRef.html#atomic-memory-ordering-constraints
834
+ #
835
+ # @param [Symbol from _enum_atomic_ordering_] ordering Memory ordering constraints
836
+ # @param [Boolean] is_single_thread If this instruction is for a single thread
837
+ # @param [String] name Name of the result in LLVM IR
838
+ #
839
+ # @return [FenceInst]
840
+ def fence(ordering, is_single_thread, name = '')
841
+ FenceInst.new(Bindings.build_fence(@ptr, ordering, is_single_thread.to_i, name))
829
842
  end
830
843
 
831
844
  ###############################