-- Internal node type and operations. -- Copyright (C) 2002, 2003, 2004, 2005 Tristan Gingold -- -- GHDL is free software; you can redistribute it and/or modify it under -- the terms of the GNU General Public License as published by the Free -- Software Foundation; either version 2, or (at your option) any later -- version. -- -- GHDL is distributed in the hope that it will be useful, but WITHOUT ANY -- WARRANTY; without even the implied warranty of MERCHANTABILITY or -- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -- for more details. -- -- You should have received a copy of the GNU General Public License -- along with GCC; see the file COPYING. If not, write to the Free -- Software Foundation, 59 Temple Place - Suite 330, Boston, MA -- 02111-1307, USA. with Types; use Types; package Nodes is type Node_Type is new Int32; for Node_Type'Size use 32; Null_Node : constant Node_Type := 0; Error_Node : constant Node_Type := 1; -- A simple type that needs only 2 bits. type Bit2_Type is range 0 .. 2 ** 2 - 1; type Bit3_Type is range 0 .. 2 ** 3 - 1; type Kind_Type is range 0 .. 255; -- Format of a node. type Format_Type is ( Format_Short, Format_Medium, Format_Fp, Format_Int ); -- Future layout: (rem) -- Format: 0 bits 32 -- Nkind: 16 bits 16 -- Flags: 8*1 bits 8 -- State: 2*2 bits 4 -- Odigit is to be removed. -- Future layout (2):(rem) -- Format: 2 bits 30 -- Nkind: 8 bits 22 (vhdl: 216 nodes) -- Flags: 8*1 bits 14 -- State: 2*2 bits 10 -- Lang: 2 bits 8 -- Odigit: 1*3 bits 5 -- Common fields are: -- Flag1 : Boolean -- Flag2 : Boolean -- Flag3 : Boolean -- Flag4 : Boolean -- Flag5 : Boolean -- Flag6 : Boolean -- Nkind : Kind_Type -- State1 : Bit2_Type -- State2 : Bit2_Type -- Location : Location_Type -- Field0 : Iir -- Field1 : Iir -- Field2 : Iir -- Field3 : Iir -- Fields of Format_Fp: -- Fp64 : Iir_Fp64 -- Fields of Format_Int: -- Int64 : Iir_Int64 -- Fields of Format_Short: -- Field4 : Iir -- Field5 : Iir -- Fields of Format_Medium: -- Odigit1 : Bit3_Type -- Odigit2 : Bit3_Type -- State3 : Bit2_Type -- State4 : Bit2_Type -- Field4 : Iir -- Field5 : Iir -- Field6 : Iir (location) -- Field7 : Iir (field0) -- Field8 : Iir (field1) -- Field9 : Iir (field2) -- Field10 : Iir (field3) -- Field11 : Iir (field4) -- Field12 : Iir (field5) function Create_Node (Format : Format_Type) return Node_Type; procedure Free_Node (N : Node_Type); function Get_Nkind (N : Node_Type) return Kind_Type; pragma Inline (Get_Nkind); procedure Set_Nkind (N : Node_Type; Kind : Kind_Type); pragma Inline (Set_Nkind); function Get_Location (N: Node_Type) return Location_Type; pragma Inline (Get_Location); procedure Set_Location (N : Node_Type; Location: Location_Type); pragma Inline (Set_Location); function Get_Field0 (N : Node_Type) return Node_Type; pragma Inline (Get_Field0); procedure Set_Field0 (N : Node_Type; V : Node_Type); pragma Inline (Set_Field0); function Get_Field1 (N : Node_Type) return Node_Type; pragma Inline (Get_Field1); procedure Set_Field1 (N : Node_Type; V : Node_Type); pragma Inline (Set_Field1); function Get_Field2 (N : Node_Type) return Node_Type; pragma Inline (Get_Field2); procedure Set_Field2 (N : Node_Type; V : Node_Type); pragma Inline (Set_Field2); function Get_Field3 (N : Node_Type) return Node_Type; pragma Inline (Get_Field3); procedure Set_Field3 (N : Node_Type; V : Node_Type); pragma Inline (Set_Field3); function Get_Field4 (N : Node_Type) return Node_Type; pragma Inline (Get_Field4); procedure Set_Field4 (N : Node_Type; V : Node_Type); pragma Inline (Set_Field4); function Get_Field5 (N : Node_Type) return Node_Type; pragma Inline (Get_Field5); procedure Set_Field5 (N : Node_Type; V : Node_Type); pragma Inline (Set_Field5); function Get_Field6 (N: Node_Type) return Node_Type; pragma Inline (Get_Field6); procedure Set_Field6 (N: Node_Type; Val: Node_Type); pragma Inline (Set_Field6); function Get_Field7 (N: Node_Type) return Node_Type; pragma Inline (Get_Field7); procedure Set_Field7 (N: Node_Type; Val: Node_Type); pragma Inline (Set_Field7); function Get_Field8 (N: Node_Type) return Node_Type; pragma Inline (Get_Field8); procedure Set_Field8 (N: Node_Type; Val: Node_Type); pragma Inline (Set_Field8); function Get_Field9 (N: Node_Type) return Node_Type; pragma Inline (Get_Field9); procedure Set_Field9 (N: Node_Type; Val: Node_Type); pragma Inline (Set_Field9); function Get_Field10 (N: Node_Type) return Node_Type; pragma Inline (Get_Field10); procedure Set_Field10 (N: Node_Type; Val: Node_Type); pragma Inline (Set_Field10); function Get_Field11 (N: Node_Type) return Node_Type; pragma Inline (Get_Field11); procedure Set_Field11 (N: Node_Type; Val: Node_Type); pragma Inline (Set_Field11); function Get_Field12 (N: Node_Type) return Node_Type; pragma Inline (Get_Field12); procedure Set_Field12 (N: Node_Type; Val: Node_Type); pragma Inline (Set_Field12); function Get_Flag1 (N : Node_Type) return Boolean; pragma Inline (Get_Flag1); procedure Set_Flag1 (N : Node_Type; V : Boolean); pragma Inline (Set_Flag1); function Get_Flag2 (N : Node_Type) return Boolean; pragma Inline (Get_Flag2); procedure Set_Flag2 (N : Node_Type; V : Boolean); pragma Inline (Set_Flag2); function Get_Flag3 (N : Node_Type) return Boolean; pragma Inline (Get_Flag3); procedure Set_Flag3 (N : Node_Type; V : Boolean); pragma Inline (Set_Flag3); function Get_Flag4 (N : Node_Type) return Boolean; pragma Inline (Get_Flag4); procedure Set_Flag4 (N : Node_Type; V : Boolean); pragma Inline (Set_Flag4); function Get_Flag5 (N : Node_Type) return Boolean; pragma Inline (Get_Flag5); procedure Set_Flag5 (N : Node_Type; V : Boolean); pragma Inline (Set_Flag5); function Get_Flag6 (N : Node_Type) return Boolean; pragma Inline (Get_Flag6); procedure Set_Flag6 (N : Node_Type; V : Boolean); pragma Inline (Set_Flag6); function Get_State1 (N : Node_Type) return Bit2_Type; pragma Inline (Get_State1); procedure Set_State1 (N : Node_Type; V : Bit2_Type); pragma Inline (Set_State1); function Get_State2 (N : Node_Type) return Bit2_Type; pragma Inline (Get_State2); procedure Set_State2 (N : Node_Type; V : Bit2_Type); pragma Inline (Set_State2); function Get_State3 (N : Node_Type) return Bit2_Type; pragma Inline (Get_State3); procedure Set_State3 (N : Node_Type; V : Bit2_Type); pragma Inline (Set_State3); function Get_State4 (N : Node_Type) return Bit2_Type; pragma Inline (Get_State4); procedure Set_State4 (N : Node_Type; V : Bit2_Type); pragma Inline (Set_State4); function Get_Odigit1 (N : Node_Type) return Bit3_Type; pragma Inline (Get_Odigit1); procedure Set_Odigit1 (N : Node_Type; V : Bit3_Type); pragma Inline (Set_Odigit1); function Get_Odigit2 (N : Node_Type) return Bit3_Type; pragma Inline (Get_Odigit2); procedure Set_Odigit2 (N : Node_Type; V : Bit3_Type); pragma Inline (Set_Odigit2); function Get_Fp64 (N : Node_Type) return Iir_Fp64; pragma Inline (Get_Fp64); procedure Set_Fp64 (N : Node_Type; V : Iir_Fp64); pragma Inline (Set_Fp64); function Get_Int64 (N : Node_Type) return Iir_Int64; pragma Inline (Get_Int64); procedure Set_Int64 (N : Node_Type; V : Iir_Int64); pragma Inline (Set_Int64); -- Get the last node al
/dts-v1/;

/include/ "rt3050.dtsi"

/ {
	compatible = "UR-326N4G", "ralink,rt3052-soc";
	model = "UR-326N4G Wireless N router";

	palmbus@10000000 {
		sysc@0 {
			ralink,pinmux = "i2c", "spi", "uartlite", "jtag", "sdram", "rgmii";
			ralink,gpiomux = "mdio";
			ralink,uartmux = "gpio";
			ralink,wdtmux = <1>;
		};

		gpio0: gpio@600 {
			status = "okay";
		};
	};

	cfi@1f000000 {
		compatible = "cfi-flash";
		reg = <0x1f000000 0x800000>;

		bank-width = <2>;
_component_declaration
      -- port_chain for iir_kind_block_header
      -- entity for iir_kind_architecture_declaration
      -- entity for iir_kind_configuration_declaration
      -- entity for iir_kind_entity_aspect_entity
      -- package for iir_kind_package_body
      -- primary_units(iir_library_unit_list) for iir_kind_library_declaration
      -- selected_name for iir_kind_use_clause
      -- type_declaration for iir_kinds_type_definition
      -- type_definition for iir_kind_signal_declaration
      -- type_definition for iir_kind_guard_signal_declaration
      -- type_definition for iir_kind_signal_interface_declaration.
      -- type_definition for iir_kind_variable_declaration
      -- type_definition for iir_kind_variable_interface_declaration.
      -- type_definition for iir_kind_constant_declaration
      -- type_definition for iir_kind_iterator_declaration
      -- type_definition for iir_kind_constant_interface_declaration.
      -- type_definition for iir_kind_file_declaration
      -- type_definition for iir_kind_file_interface_declaration.
      -- type_definition for iir_kind_enumeration_literal
      -- type_definition for iir_kind_unit_declaration
      -- type_definition for iir_kind_component_port
      -- type_definition for iir_kind_element_declaration
      -- type_definition for iir_kinds_attribute_declaration
      -- type_definition for iir_kinds_attribute
      -- type_definition for iir_kinds_name
      -- type_definition for iir_kind_return_statement
      -- type_definition for iir_kind_aggregate
      -- type_definition for iir_kind_physical_int_literal
      -- type_definition for iir_kind_physical_fp_literal
      -- type_definition for iir_kind_object_alias_declaration
      -- type_definition for iir_kind_null_literal
      -- type_definition for iir_kind_qualified_expression
      -- type_definition for iir_kind_type_conversion
      -- type_definition for iir_kind_function_call
      -- type_definition for iir_kind_allocator_by_expression
      -- type_definition for iir_kind_allocator_by_subtype
      -- type_definition for iir_kind_attribute_value
      -- type_definition for iir_kind_selected_element
      -- type_definition for iir_kind_implicit_dereference.
      -- type_definition for iir_kind_disconnection_specification
      -- type_definition for iir_kinds_monadic_operator
      -- type_definition for iir_kinds_dyadic_operator
      -- null_iir for iir_kind_signal_assignment_statement
      -- null_iir for iir_kind_variable_assignment_statement
      -- we_value for iir_kind_waveform_element
      -- condition for iir_kind_conditional_waveform
      -- condition for iir_kind_if_statement
      -- condition for iir_kind_elsif
      -- condition for iir_kind_while_loop_statement
      -- condition for iir_kind_next_statement
      -- condition for iir_kind_exit_statement
      -- design_unit_chain for iir_kind_design_file
      -- formal for iir_kinds_association_element
      -- iterator_scheme for iir_kind_for_loop_statement
      -- associated for iir_kinds_association_by_choice
      -- context_items for iir_kind_design_unit
      -- design_file_chain for iir_kind_library_declaration
      -- proxy for iir_kind_proxy
      -- selected_waveform_l for iir_kind_concurrent_selected_signal_assignment
      -- block_specification for iir_kind_block_configuration
      -- instantiation_list for iir_kind_component_configuration
      -- instantiation_list for iir_kind_configuration_specification
      -- component_configuration for iir_kind_component_instantiation_statement
      -- configuration for iir_kind_entity_aspect_configuration
      -- guard_decl for iir_kind_block_statement
      -- entity_class_entry_chain for iir_kind_group_template_declaration
      -- group_constituent_chain for iir_kind_group_declaration
      -- entity_name_list for iir_kind_attribute_specification
      -- generate_block_configuration for iir_kind_generate_statement
      -- type_declarator for Iir_Kind_Enumeration_Type_Definition
      -- type_declarator for Iir_Kind_Enumeration_Subtype_Definition
      -- type_declarator for Iir_Kind_Integer_Type_Definition
      -- type_declarator for Iir_Kind_Integer_Subtype_Definition
      -- type_declarator for Iir_Kind_Floating_Type_Definition
      -- type_declarator for Iir_Kind_Floating_Subtype_Definition
      -- type_declarator for Iir_Kind_Physical_Type_Definition
      -- type_declarator for Iir_Kind_Physical_Subtype_Definition
      -- type_declarator for Iir_Kind_Record_Type_Definition
      -- type_declarator for Iir_Kind_Record_Subtype_Definition
      -- type_declarator for Iir_Kind_Array_Type_Definition
      -- type_declarator for Iir_Kind_Array_Subtype_Definition
      -- type_declarator for Iir_Kind_Unconstrained_Array_Subtype_Definition
      -- type_declarator for Iir_Kind_Access_Type_Definition
      -- type_declarator for Iir_Kind_Access_Subtype_Definition
      -- type_declarator for Iir_Kind_Incomplete_Type_Definition
      -- type_declarator for Iir_Kind_File_Type_Definition
      -- return_type for iir_kind_function_specification
      -- return_type for iir_kind_function_spec_body
      -- return_type for iir_kind_implicit_function_declaration
      -- default_entity_aspect for iir_kind_binding_indication
      -- sub_aggregate_info for iir_kind_aggregate_info
      Field1: Node_Type := Null_Node;

      -- usages of field2:
      -- concurrent_statement_list for iir_kind_architecture_declaration
      -- concurrent_statement_list for iir_kind_block_statement
      -- concurrent_statement_list for iir_kind_entity_declaration
      -- concurrent_statement_list for iir_kind_generate_statement
      -- block_configuration for iir_kind_configuration_declaration
      -- block_configuration for iir_kind_component_configuration
      -- subprogram_body for iir_kind_function_specification
      -- subprogram_body for iir_kind_procedure_specification
      -- range_constraint for iir_kind_integer_subtype_definition
      -- range_constraint for iir_kind_floating_subtype_definition
      -- range_constraint for iir_kind_subtype_definition
      -- range_constraint for iir_kind_enumeration_subtype_definition
      -- range_constraint for iir_kind_physical_subtype_definition
      -- range_constraint for iir_kind_enumeration_type_definition
      -- left_limit for iir_kind_range_expression
      -- designated_type for iir_kind_access_type_definition
      -- index_subtype for iir_array_type_definition
      -- index_subtype for iir_array_subtype_definition
      -- suffix for iir_kinds_attribute
      -- suffix for iir_kind_user_attribute
      -- suffix for iir_kind_slice_name
      -- selected_element for iir_kind_selected_element
      -- parameter for iir_kind_val_attribute
      -- parameter for iir_kind_pos_attribute
      -- parameter for iir_kind_delayed_attribute
      -- parameter for iir_kind_stable_attribute
      -- parameter for iir_kind_quiet_attribute
      -- parameter for iir_kind_attribute
      -- index_list for iir_kind_indexed_name
      -- index_list for iir_kind_array_type_definition
      -- index_list for iir_kind_array_subtype_definition
      -- target for iir_kind_signal_assignment_statement
      -- target for iir_kind_variable_assignment_statement
      -- time for iir_kind_waveform_element
      -- target for iir_kind_concurrent_conditional_signal_assignment
      -- target for iir_kind_concurrent_selected_signal_assignment
      -- assertion_condition for iir_kind_concurrent_assertion_statement
      -- assertion_condition for iir_kind_assertion_statement
      -- null_iir for iir_kind_conditional_waveform
      -- sequential_statement_chain for iir_kind_if_statement
      -- sequential_statement_chain for iir_kind_elsif
      -- sequential_statement_chain for iir_kind_sensitized_process_statement
      -- sequential_statement_chain for iir_kind_process_statement
      -- sequential_statement_chain for iir_kind_for_loop_statement
      -- sequential_statement_chain for iir_kind_while_loop_statement
      -- sequential_statement_chain for iir_kind_function_Body
      -- sequential_statement_chain for iir_kind_function_Spec_Body
      -- sequential_statement_chain for iir_kind_procedure_Body
      -- sequential_statement_chain for iir_kind_procedure_Spec_Body
      -- name for iir_kind_object_alias_declaration
      -- name for iir_kind_physical_int_literal
      -- name for iir_kind_physical_fp_literal
      -- name for iir_kind_association_choice_by_name
      -- name for iir_kind_group_declaration
      -- default_value for iir_kind_signal_declaration
      -- default_value for iir_kind_guard_signal_declaration
      -- default_value for iir_kind_variable_declaration
      -- default_value for iir_kind_constant_declaration
      -- default_value for iir_kind_signal_interface_declaration
      -- default_value for iir_kind_variable_interface_declaration
      -- default_value for iir_kind_constant_interface_declaration
      -- default_value for iir_kind_file_interface_declaration
      -- guard_expression for iir_kind_guard_signal_declaration
      -- operand for iir_kinds_monadic_operator
      -- left for iir_kinds_dyadic_operator
      -- actual for iir_kind_association_element_by_expression
      -- instantiated_unit for Iir_Kind_Component_Instantiation_Statement
      -- parameter_association_chain for iir_kind_function_call
      -- parameter_association_chain for iir_kind_procedure_call
      -- parameter_association_chain for iir_kind_concurrent_procedure_call_st.
      -- library_unit for iir_kind_design_unit
      -- multiplier for iir_kind_unit_declaration
      -- primary_unit for iir_kind_physical_type_definition
      -- condition_clause for iir_kind_wait_statement
      -- element_declaration_list for iir_kind_record_type_definition
      -- loop for iir_kind_exit_statement
      -- loop for iir_kind_next_statement
      -- file_logical_name for iir_kind_file_declaration
      -- configuration_item_chain for iir_kind_block_configuration
      -- architecture for iir_kind_entity_aspect_entity
      -- library_declaration for iir_kind_library_clause
      -- attribute_designator for iir_kind_attribute_specification
      -- attribute_specification for iir_kind_attribute_value
      -- signal_list for iir_kind_disconnection_specification
      -- generation_scheme for iir_kind_generate_statement
      -- incomplete_type_List for iir_kind_incomplete_type_definition
      -- file_time_stamp for iir_kind_design_file
      -- default_generic_map_aspect_list for iir_kind_binding_indication
      -- aggr_low_limit for iir_kind_aggregate_info
      -- enumeration_decl for iir_kind_enumeration_literal
      -- simple_aggregate_list for iir_kind_simple_aggregate
      Field2: Node_Type := Null_Node;

      -- Usages of field3:
      -- dependence_list for iir_kind_design_unit
      -- block_statement for iir_kind_signal_declaration
      -- block_statement for iir_kind_guard_signal_declaration
      -- subprogram_declaration for iir_kind_function_Spec_Body
      -- subprogram_declaration for iir_kind_function_Body
      -- subprogram_declaration for iir_kind_Procedure_Spec_Body
      -- subprogram_declaration for iir_kind_Procedure_Body
      -- body for iir_kind_function_specification
      -- body for iir_kind_procedure_specification
      -- declaration_list for iir_kind_entity_declaration
      -- declaration_list for iir_kind_architecture_declaration
      -- declaration_list for iir_kind_configuration_declaration
      -- declaration_list for iir_kind_block_statement
      -- declaration_list for iir_kind_package_declaration
      -- declaration_list for iir_kind_package_body
      -- declaration_list for iir_kind_sensitized_process_statement
      -- declaration_list for iir_kind_process_statement
      -- declaration_list for iir_kind_block_configuration
      -- declaration_list for iir_kind_generate_statement
      -- enumeration_literal_list for iir_enumeration_type_definition
      -- right_limit for iir_kind_range_expression
      -- element_subtype for iir_array_type_definition
      -- element_subtype for iir_array_subtype_definition
      -- report_expression for iir_kind_concurrent_assertion_statement
      -- report_expression for iir_kind_assertion_statement
      -- report_expression for iir_kind_report_statement
      -- waveform_chain for iir_kind_signal_assignment_statement
      -- conditional_waveform_chain for iir_kind_conc_conditional_signal_assign
      -- waveform_chain for iir_kind_conditional_waveform
      -- else_clause for iir_kind_if_statement
      -- else_clause for iir_kind_elsif
      -- expression of iir_kind_concurrent_selected_signal_assignment
      -- expression of iir_kind_variable_assignment_statement
      -- prefix for iir_kinds_attribute
      -- prefix for iir_kind_indexed_name
      -- prefix for iir_kind_slice_name
      -- prefix for iir_kind_selected_name
      -- prefix for iir_kind_selected_by_all_name
      -- prefix for iir_kind_parenthesis_name
      -- prefix for iir_kind_selected_element
      -- prefix for iir_kind_implicit_dereference
      -- port_map_aspect for Iir_Kind_Component_Instantiation_Statement
      -- port_map_aspect for Iir_Kind_binding_indication
      -- port_map_aspect for Iir_Kind_block_header
      -- binding_indication for iir_kind_Component_configuration
      -- binding_indication for Iir_Kind_Configuration_specifiation
      -- expression for iir_kind_return_statement
      -- expression for iir_kind_association_choice_by_expression
      -- expression for iir_kind_case_statement
      -- expression for iir_kind_qualified_expression
      -- expression for iir_kind_type_conversion
      -- expression for iir_kind_allocator_by_expression
      -- expression for iir_kind_allocator_by_subtype
      -- expression for iir_kind_attribute_specification
      -- expression for iir_kind_disconnection_specification
      -- unit_chain for iir_kind_physical_type_definition
      -- timeout_clause for iir_kind_wait_statement
      -- file_open_kind for iir_kind_file_declaration
      -- designated_entity for iir_kind_attribute_value
      -- associated_formal for iir_kinds_association_element
      -- deferred_declaration for iir_kind_constant_declaration
      -- literal_origin for iir_kind_character_literal
      -- literal_origin for iir_kind_string_literal
      -- literal_origin for iir_kind_bit_string_literal
      -- literal_origin for iir_kind_integer_literal
      -- literal_origin for iir_kind_floating_point_literal
      -- literal_origin for iir_kind_physical_int_literal
      -- literal_origin for iir_kind_physical_fp_literal
      -- literal_origin for iir_kind_enumeration_literal
      -- analysis_time_stamp for iir_kind_design_file
      -- aggr_high_limit for iir_kind_aggregate_info
      -- aggregate_info for iir_kind_aggregate
      -- implementation for iir_kind_function_call
      -- implementation for iir_kind_procedure_call
      -- implementation for iir_kind_concurrent_procedure_call_statement
      -- implementation for iir_kind_dyadic_operator
      -- implementation for iir_kind_monadic_operator
      Field3: Node_Type := Null_Node;

      -- Usages of field4:
      -- design_file for iir_kind_design_unit
      -- generic_chain for iir_kind_entity_declaration
      -- generic_chain for iir_kind_component_declaration
      -- generic_chain for iir_kind_block_header
      -- base_type for iir_kind_integer_type_definition
      -- base_type for iir_kind_integer_subtype_definition
      -- base_type for iir_kind_floating_type_definition
      -- base_type for iir_kind_floating_subtype_definition
      -- base_type for iir_kind_subtype_definition
      -- base_type for iir_kind_enumeration_type_definition
      -- base_type for iir_kind_enumeration_subtype_definition
      -- base_type for iir_kind_array_type_definition
      -- base_type for iir_kind_array_subtype_definition
      -- base_type for iir_kind_unconstrained_array_subtype_definition
      -- base_type for iir_kind_range_attribute
      -- base_type for iir_kind_physical_type_definition
      -- base_type for iir_kind_physical_subtype_definition
      -- base_type for iir_kind_record_type_definition
      -- base_type for iir_kind_record_subtype_definition
      -- base_type for iir_kind_access_type_definition
      -- base_type for iir_kind_access_subtype_definition
      -- base_type for iir_kind_incomplete_type_definition
      -- base_type for iir_kind_file_type_definition
      -- severity_expression for iir_kind_concurrent_assertion_statement
      -- severity_expression for iir_kind_assertion_statement
      -- severity_expression for iir_kind_report_statement
      -- sensitivity_list for iir_kind_sensitized_process_statement
      -- sensitivity_list for iir_kind_wait_statement
      -- name_value of iir_kind_simple_name
      -- association_chain for iir_kind_association_element_by_individual
      -- association_chain for iir_kind_parenthesis_name
      -- association_choices_list for iir_kind_aggregate
      -- association_choices_list for iir_kind_case_statement
      -- guard for iir_kind_concurrent_conditional_signal_assignment
      -- guard for iir_kind_concurrent_selected_signal_assignment
      -- entity_aspect for iir_kind_binding_indication
      -- default_binding_indicat for iir_kind_component_instantiation_statement
      -- component_name for iir_kind_component_configuration
      -- component_name for iir_kind_configuration_specification
      -- prev_block_configuration for iir_kind_block_configuration
      -- interface_declaration for iir_kind_function_Specification
      -- interface_declaration for iir_kind_function_Spec_Body
      -- interface_declaration for iir_kind_procedure_Specification
      -- interface_declaration for iir_kind_procedure_Spec_Body
      -- interface_declaration for iir_kind_implicit_function_declaration
      -- interface_declaration for iir_kind_implicit_procedure_declaration
      -- subprogram_specification for iir_kind_function_Body
      -- subprogram_specification for iir_kind_procedure_Body
      -- in_conversion for iir_kind_association_element_by_expression
      -- default_configuration for iir_kind_architecture_declaration
      -- bit_string_0 for iir_kind_bit_string_literal
      -- base_name for iir_kind_object_alias_declaration
      -- base_name for iir_kind_signal_declaration
      -- base_name for iir_kind_guard_signal_declaration
      -- base_name for iir_kind_variable_declaration
      -- base_name for iir_kind_file_declaration
      -- base_name for iir_kind_constant_declaration
      -- base_name for iir_kind_iterator_declaration
      -- base_name for iir_kind_slice_name
      -- base_name for iir_kind_indexed_name
      -- base_name for iir_kind_selected_element
      -- base_name for iir_kind_selected_by_all_name
      -- base_name for iir_kind_implicit_dereference
      -- base_name for iir_kind_attribute_value
      -- base_name for iir_kind_function_call
      -- block_block_configuration for iir_kind_block_statement
      -- right for iir_kinds_dyadic_operator
      --Field4: Node_Type := Null_Node;

      -- Usages of field5 (aka nbr1).
      -- driver_list for iir_kind_sensitized_process_statement
      -- driver_list for iir_kind_process_statement
      -- driver_list for iir_kinds_function_specification
      -- driver_list for iir_kinds_procedure_specification
      -- guard_sensitivity_list for iir_kind_guard_signal_declaration
      -- signal_driver for iir_kind_signal_declaration
      -- reject_time for iir_kind_concurrent_selected_signal_assignment
      -- reject_time for iir_kind_concurrent_conditionnal_signal_assignment
      -- reject_time for iir_kind_signal_assignment_statement
      -- resolution_function for iir_kind_integer_subtype_definition
      -- resolution_function for iir_kind_floating_subtype_definition
      -- resolution_function for iir_kind_enumeration_subtype_definition
      -- resolution_function for iir_kind_physical_subtype_definition
      -- resolution_function for iir_kind_array_subtype_definition
      -- resolution_function for iir_kind_unconstrained_array_subtype_definit.
      -- resolution_function for iir_kind_record_subtype_definition
      -- date for iir_kind_library_declaration
      -- date for iir_kind_design_unit
      -- generic_map_aspect for Iir_Kind_Component_Instantiation_Statement
      -- generic_map_aspect for Iir_Kind_block_header
      -- generic_map_aspect for Iir_Kind_binding_indication
      -- generation_scheme for iir_kind_generate_statement
      -- design_unit for iir_kind_constant_declaration
      -- design_unit for iir_kind_entity_declaration
      -- design_unit for iir_kind_configuration_declaration
      -- design_unit for iir_kind_package_declaration
      -- design_unit for iir_kind_body_declaration
      -- design_unit for iir_kind_architecture_declaration
      -- out_conversion for iir_kind_association_element_by_expression
      -- bit_string_1 for iir_kind_bit_string_literal
      --Field5: Node_Type := Null_Node;

      -- Usages of Field6:
      -- offset for iir_kind_design_unit
      -- number of element for iir_kinds_list
      -- base for iir_kind_bit_string_literal
      -- element_position for iir_kind_element_declaration
      -- type_mark for iir_kind_qualified_expression
      -- type_mark for iir_kind_file_type_definition
      -- type_mark for iir_kind_integer_subtype_definition
      -- type_mark for iir_kind_floating_subtype_definition
      -- type_mark for iir_kind_enumeration_subtype_definition
      -- type_mark for iir_kind_physical_subtype_definition
      -- type_mark for iir_kind_access_subtype_definition
      -- type_mark for iir_kind_record_subtype_definition
      -- type_mark for iir_kind_unconstrained_array_subtype_definition
      -- bit_string_base for iir_kind_bit_string_literal
      -- default_port_map_aspect_list for iir_kind_binding_indication

      -- Usages of nbr3/field7:
      -- line for iir_kind_design_unit
      -- max number of elements for iir_kinds_list
      -- implicit_definition for iir_kind_implicit_function_declaration
      -- implicit_definition for iir_kind_implicit_procedure_declaration
      -- block_header for iir_kind_block_statement
      -- delay_mechanism for iir_kind_concurrent_selected_signal_assignment
      -- delay_mechanism for iir_kind_concurrent_conditionnal_signal_assignment
      -- delay_mechanism for iir_kind_signal_assignment_statement
      -- value for iir_kind_integer_literal
      -- value for iir_kind_enumeration_literal
      -- value for iir_kind_unit_declaration
      -- value for iir_kind_physical_int_literal
      -- fp_value for iir_kind_physical_fp_literal
      -- fp_value for iir_kind_floating_point_literal
      -- entity_kind for iir_kind_entity_class
      -- entity_kind for iir_kind_attribute_specification
      -- callees_list for iir_kind_process_declaration
      -- callees_list for iir_kind_sensitized_process_declaration
      -- library_directory for iir_kind_library_declaration
      -- filename for iir_kind_design_file
      -- directory for iir_kind_design_file
      -- aggr_max_length for iir_kind_aggregate_info
      case Format is
         when Format_Short
           | Format_Medium =>
            Field4: Node_Type := Null_Node;
            Field5: Node_Type := Null_Node;
         when Format_Fp =>
            Fp64 : Iir_Fp64;
         when Format_Int =>
            Int64 : Iir_Int64;
      end case;
   end record;

   pragma Pack (Node_Record);
   for Node_Record'Size use 8*32;
   for Node_Record'Alignment use 4;
end Nodes;