Fix various uses of non-standard C++:

* Replace u_int32_t with uint32_t
* Replace size_t with uint32_t for initializer list of TensorInfo
* Replace variable size arrays with std::vector
* Replace reference to local variable during its initialisation

Change-Id: I298b3995f1525f90a1ab2416d7e270315698fae3
diff --git a/src/backends/backendsCommon/test/LayerTests.cpp b/src/backends/backendsCommon/test/LayerTests.cpp
index b40a3f5..f996eda 100644
--- a/src/backends/backendsCommon/test/LayerTests.cpp
+++ b/src/backends/backendsCommon/test/LayerTests.cpp
@@ -3262,7 +3262,7 @@
     const unsigned int outShape[4], std::vector<TOutput> outValues,
     float qScale = 0.0f, int qOffset = 0)
 {
-    const size_t dimensionCount = 4;
+    const uint32_t dimensionCount = 4;
     armnn::TensorInfo inputTensorInfo0{dimensionCount, shape0, ArmnnTypeInput};
     armnn::TensorInfo inputTensorInfo1{dimensionCount, shape1, ArmnnTypeInput};
     armnn::TensorInfo outputTensorInfo{dimensionCount, outShape, ArmnnTypeOutput};
@@ -4097,7 +4097,7 @@
     const unsigned int outShape[4],
     const std::vector<float> & outValues)
 {
-    const size_t dimensionCount = 4;
+    const uint32_t dimensionCount = 4;
     armnn::TensorInfo inputTensorInfo0{dimensionCount, shape0, armnn::DataType::Float32};
     armnn::TensorInfo inputTensorInfo1{dimensionCount, shape1, armnn::DataType::Float32};
     armnn::TensorInfo outputTensorInfo{dimensionCount, outShape, armnn::DataType::Float32};
diff --git a/src/backends/reference/workloads/Debug.cpp b/src/backends/reference/workloads/Debug.cpp
index d1c9fdd..09a0dfc 100644
--- a/src/backends/reference/workloads/Debug.cpp
+++ b/src/backends/reference/workloads/Debug.cpp
@@ -23,7 +23,7 @@
     const unsigned int numElements = inputInfo.GetNumElements();
     const TensorShape& inputShape = inputInfo.GetShape();
 
-    unsigned int strides[numDims];
+    std::vector<unsigned int> strides(numDims, 0);
     strides[numDims - 1] = inputShape[numDims - 1];
 
     for (unsigned int i = 2; i <= numDims; i++)
diff --git a/src/backends/reference/workloads/StridedSlice.cpp b/src/backends/reference/workloads/StridedSlice.cpp
index 9f2b1e7..62f06dc 100644
--- a/src/backends/reference/workloads/StridedSlice.cpp
+++ b/src/backends/reference/workloads/StridedSlice.cpp
@@ -68,7 +68,7 @@
         return inputShape;
     }
 
-    unsigned int newSizes[newNumDimensions];
+    std::vector<unsigned int> newSizes(newNumDimensions, 0);
 
     unsigned int diff = newNumDimensions - inputShape.GetNumDimensions();
 
@@ -82,7 +82,7 @@
         newSizes[i] = inputShape[i - diff];
     }
 
-    return TensorShape(newNumDimensions, newSizes);
+    return TensorShape(newNumDimensions, newSizes.data());
 }
 
 } // Anonymous namespace