glsl: remove delegating constructors to allow build with C++98
Delegating constructors is a C++11 feature, so this was breaking when compiling with C++98. Change the copy_propagation_state() calls that used the convenience constructor to use a static member function instead. Since copy_propagation_state is expected to be heap allocated, this change is a good fit. Tested-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Matt Turner <mattst88@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107305
This commit is contained in:
parent
6b73a97f84
commit
52d831ff83
|
@ -68,9 +68,11 @@ class copy_propagation_state {
|
|||
public:
|
||||
DECLARE_RZALLOC_CXX_OPERATORS(copy_propagation_state);
|
||||
|
||||
copy_propagation_state()
|
||||
: copy_propagation_state(NULL)
|
||||
{}
|
||||
static
|
||||
copy_propagation_state* create(void *mem_ctx)
|
||||
{
|
||||
return new (mem_ctx) copy_propagation_state(NULL);
|
||||
}
|
||||
|
||||
copy_propagation_state* clone()
|
||||
{
|
||||
|
@ -238,7 +240,7 @@ public:
|
|||
this->lin_ctx = linear_alloc_parent(this->mem_ctx, 0);
|
||||
this->shader_mem_ctx = NULL;
|
||||
this->kills = new(mem_ctx) exec_list;
|
||||
this->state = new(mem_ctx) copy_propagation_state();
|
||||
this->state = copy_propagation_state::create(mem_ctx);
|
||||
}
|
||||
~ir_copy_propagation_elements_visitor()
|
||||
{
|
||||
|
@ -294,7 +296,7 @@ ir_copy_propagation_elements_visitor::visit_enter(ir_function_signature *ir)
|
|||
this->killed_all = false;
|
||||
|
||||
copy_propagation_state *orig_state = state;
|
||||
this->state = new(mem_ctx) copy_propagation_state();
|
||||
this->state = copy_propagation_state::create(mem_ctx);
|
||||
|
||||
visit_list_elements(this, &ir->body);
|
||||
|
||||
|
@ -531,7 +533,7 @@ ir_copy_propagation_elements_visitor::handle_loop(ir_loop *ir, bool keep_acp)
|
|||
/* Populate the initial acp with a copy of the original */
|
||||
this->state = orig_state->clone();
|
||||
} else {
|
||||
this->state = new(mem_ctx) copy_propagation_state();
|
||||
this->state = copy_propagation_state::create(mem_ctx);
|
||||
}
|
||||
|
||||
visit_list_elements(this, &ir->body_instructions);
|
||||
|
|
Loading…
Reference in New Issue