char arg_types[5];
char extension[13];
Word opcode;
- UInt8 arg_order[4];
+ std::uint8_t arg_order[4];
Word capability;
void (SpirVGenerator::*handler)(FunctionCall &, const std::vector<Id> &);
};
bool operator<(const ConstantKey &) const;
};
- Stage *stage;
- FunctionDeclaration *current_function;
+ Stage *stage = 0;
+ FunctionDeclaration *current_function = 0;
std::vector<const InterfaceLayout *> interface_layouts;
SpirVContent content;
SpirVWriter writer;
std::map<std::string, Id> function_type_ids;
std::map<ConstantKey, Id> constant_ids;
std::map<const VariableDeclaration *, Id> variable_load_ids;
- Id next_id;
- Id r_expression_result_id;
- bool r_constant_result;
- bool constant_expression;
- bool spec_constant;
- bool reachable;
- bool composite_access;
- Id r_composite_base_id;
- Node *r_composite_base;
+ Id next_id = 1;
+ Id r_expression_result_id = 0;
+ bool r_constant_result = false;
+ bool constant_expression = false;
+ bool spec_constant = false;
+ bool reachable = false;
+ bool composite_access = false;
+ Id r_composite_base_id = 0;
+ Node *r_composite_base = 0;
std::vector<unsigned> r_composite_chain;
- Id assignment_source_id;
- Id loop_merge_block_id;
- Id loop_continue_target_id;
+ Id assignment_source_id = 0;
+ Id loop_merge_block_id = 0;
+ Id loop_continue_target_id = 0;
static const BuiltinFunctionInfo builtin_functions[];