class AdLint::Cc1::ExtendedBigIntType
Public Class Methods
new(type_tbl)
click to toggle source
Calls superclass method
AdLint::Cc1::IntegerType::new
# File lib/adlint/cc1/type.rb, line 7094 def initialize(type_tbl) super(type_tbl, "__adlint__extended_bigint_t", 256, 256, true, true) end
Public Instance Methods
arithmetic_type_with(type)
click to toggle source
# File lib/adlint/cc1/type.rb, line 7172 def arithmetic_type_with(type) type._arithmetic_type_with_extended_big_int(self) end
bitfield?()
click to toggle source
# File lib/adlint/cc1/type.rb, line 7122 def bitfield? false end
corresponding_signed_type()
click to toggle source
# File lib/adlint/cc1/type.rb, line 7176 def corresponding_signed_type self end
corresponding_unsigned_type()
click to toggle source
# File lib/adlint/cc1/type.rb, line 7180 def corresponding_unsigned_type self end
dup()
click to toggle source
# File lib/adlint/cc1/type.rb, line 7184 def dup ExtendedBigIntType.new(type_table) end
enum?()
click to toggle source
# File lib/adlint/cc1/type.rb, line 7114 def enum? false end
enumerators()
click to toggle source
# File lib/adlint/cc1/type.rb, line 7126 def enumerators [] end
id()
click to toggle source
# File lib/adlint/cc1/type.rb, line 7098 def id @id ||= TypeId.new(name) end
incomplete?()
click to toggle source
# File lib/adlint/cc1/type.rb, line 7106 def incomplete? false end
integer_conversion_rank()
click to toggle source
# File lib/adlint/cc1/type.rb, line 7130 def integer_conversion_rank # NOTE: The ISO C99 standard says; # # 6.3.1 Arithmetic operands # 6.3.1.1 Boolean, characters, and integers # # 1 Every integer type has an integer conversion rank defined as follows: # # -- No two signed integer types shall have the same rank, even if # they have the same representation. # -- The rank of a signed integer type shall be greater than the rank # of any signed integer type with less precision. # -- The rank of long long int shall be greater than the rank of long # int, which shall be greater than the rank of int, which shall be # greater than the rank of short int, which shall be greater than # the rank of signed char. # -- The rank of any unsigned integer type shall equal the rank of # the corresponding signed integer type, if any. # -- The rank of any standard integer type shall be greater than the # rank of any extended integer type with the same width. # -- The rank of char shall equal the rank of signed char and # unsigned char. # -- The rank of _Bool shall be less than the rank of all other # standard integer types. # -- The rank of any enumerated type shall equal the rank of the # compatible integer type. # -- The rank of any extended signed integer type relative to another # extended signed integer type with the same precision is # implementation-defined, but still subject to the other rules for # determining the integer conversion rank. # -- For all integer types T1, T2, and T3, if T1 has greater rank # than T2 and T2 has greater rank than T3, then T1 has greater # rank than T3. -2 end
integer_promoted_type()
click to toggle source
# File lib/adlint/cc1/type.rb, line 7166 def integer_promoted_type # NOTE: ExtendedBigIntType is very big integer. # So, it is not compatible with int or unsigned int. self end
named?()
click to toggle source
# File lib/adlint/cc1/type.rb, line 7102 def named? true end
pointer?()
click to toggle source
# File lib/adlint/cc1/type.rb, line 7110 def pointer? false end
standard?()
click to toggle source
# File lib/adlint/cc1/type.rb, line 7118 def standard? false end