Class: LLVM::ConstantStruct

Inherits:
Constant show all
Defined in:
lib/llvm/core/value.rb

Class Method Summary collapse

Methods inherited from Constant

#bitcast_to, #gep, null, null_ptr, #ptr_to_int, undef

Methods inherited from User

#operands

Methods inherited from Value

#add_attribute, #constant?, #dump, from_ptr, #name, #name=, #null?, #remove_attribute, to_ptr, #type, type, #undefined?

Methods included from PointerIdentity

#==, #eql?, #hash, #to_ptr

Class Method Details

.const(size_or_values, packed = false, &block) ⇒ Object

ConstantStruct.const(size) {|i| … } or ConstantStruct.const()



609
610
611
612
# File 'lib/llvm/core/value.rb', line 609

def self.const(size_or_values, packed = false, &block)
  vals = LLVM::Support.allocate_pointers(size_or_values, &block)
  from_ptr C.const_struct(vals, vals.size / vals.type_size, packed ? 1 : 0)
end

.named_const(type, size_or_values, &block) ⇒ Object



614
615
616
617
# File 'lib/llvm/core/value.rb', line 614

def self.named_const(type, size_or_values, &block)
  vals = LLVM::Support.allocate_pointers(size_or_values, &block)
  from_ptr C.const_named_struct(type, vals, vals.size / vals.type_size)
end