Mesa (master): mesa: Dynamically allocate acp array in ir_to_mesa_visitor:: copy_propagate.

Vinson Lee vlee at kemper.freedesktop.org
Sat Jan 15 00:23:06 UTC 2011


Module: Mesa
Branch: master
Commit: 7772a34f3aedfa8ef58ad5f912f56bd5adf27057
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7772a34f3aedfa8ef58ad5f912f56bd5adf27057

Author: Vinson Lee <vlee at vmware.com>
Date:   Fri Jan 14 16:18:52 2011 -0800

mesa: Dynamically allocate acp array in ir_to_mesa_visitor::copy_propagate.

Fixes these MSVC errors.
ir_to_mesa.cpp(2644) : error C2057: expected constant expression
ir_to_mesa.cpp(2644) : error C2466: cannot allocate an array of constant size 0
ir_to_mesa.cpp(2644) : error C2133: 'acp' : unknown size
ir_to_mesa.cpp(2646) : error C2070: 'ir_to_mesa_instruction *[]': illegal sizeof operand
ir_to_mesa.cpp(2709) : error C2070: 'ir_to_mesa_instruction *[]': illegal sizeof operand
ir_to_mesa.cpp(2718) : error C2070: 'ir_to_mesa_instruction *[]': illegal sizeof operand

---

 src/mesa/program/ir_to_mesa.cpp |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp
index 0d40b09..cb31023 100644
--- a/src/mesa/program/ir_to_mesa.cpp
+++ b/src/mesa/program/ir_to_mesa.cpp
@@ -2641,9 +2641,9 @@ set_uniform_initializers(struct gl_context *ctx,
 void
 ir_to_mesa_visitor::copy_propagate(void)
 {
-   ir_to_mesa_instruction *acp[this->next_temp * 4];
+   ir_to_mesa_instruction **acp = new ir_to_mesa_instruction *[this->next_temp * 4];
 
-   memset(&acp, 0, sizeof(acp));
+   memset(acp, 0, sizeof(acp) * this->next_temp * 4);
 
    foreach_iter(exec_list_iterator, iter, this->instructions) {
       ir_to_mesa_instruction *inst = (ir_to_mesa_instruction *)iter.get();
@@ -2741,6 +2741,8 @@ ir_to_mesa_visitor::copy_propagate(void)
 	 }
       }
    }
+
+   delete [] acp;
 }
 
 




More information about the mesa-commit mailing list