Routine_Type

class Routine_Type (abstract, logical)

used in typedefs and in function pointers

Implemented interfaces:
Direct parents:
Ancestor classes and implemented interfaces:

Declarative_Node, Logical_IR_Root, Parameters_Interface, Symbol, Type, Unnamed_Type

Direct child classes:

Field

Kind

Type

Description

Return_Type

semantic

class Type

Calling_Convention

attribute

enum Calling_Convention_Kind

Effective calling convention after equivalent conventions are merged.

Attributes

attribute

bitfield Logical_Routine_Attributes_Type

Bitfield of flags like is_const, has_void_param etc. Note: a function’s C++03 throw annotation is not part of the type. Starting with C++17 the noexcept-status is part of the type.

Size (from Type)

attribute

builtin Natural

Alignment_Log (from Type)

attribute

builtin Byte

log2 of the type’s alignment

Alignment (from Type)

attribute

builtin Natural

Alignment of the type (must be a power of 2)

Size_In_Bits (from Type)

attribute

builtin UInt64

Size of the type, in bits.

Parent (from Logical_IR_Root)

semantic

class Logical_IR_Root

Physical (from Logical_IR_Root)

semantic to physical

class Physical_IR_Root

Parameters (from Parameters_Interface)

syntactic

list of class Parameter