IVGCVSW-2855 Update Command Line Processing of commonOptions

Change-Id: I79f483b9854bd57cd712bc29b83983342cf8191f
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
diff --git a/tests/DeepSpeechV1Database.hpp b/tests/DeepSpeechV1Database.hpp
index 4d2d591..274bf6e 100644
--- a/tests/DeepSpeechV1Database.hpp
+++ b/tests/DeepSpeechV1Database.hpp
@@ -70,20 +70,22 @@
                     const float& quantizationScale,
                     const int32_t& quantizationOffset);
 
+// NOTE: declaring the template specialisations inline to prevent them
+//       being flagged as unused functions when -Werror=unused-function is in effect
 template<>
-auto ParseDataArray<armnn::DataType::Float32>(std::istream & stream)
+inline auto ParseDataArray<armnn::DataType::Float32>(std::istream & stream)
 {
     return ParseArrayImpl<float>(stream, [](const std::string& s) { return std::stof(s); });
 }
 
 template<>
-auto ParseDataArray<armnn::DataType::Signed32>(std::istream & stream)
+inline auto ParseDataArray<armnn::DataType::Signed32>(std::istream & stream)
 {
     return ParseArrayImpl<int>(stream, [](const std::string & s) { return std::stoi(s); });
 }
 
 template<>
-auto ParseDataArray<armnn::DataType::QuantisedAsymm8>(std::istream& stream,
+inline auto ParseDataArray<armnn::DataType::QuantisedAsymm8>(std::istream& stream,
                                                       const float& quantizationScale,
                                                       const int32_t& quantizationOffset)
 {
diff --git a/tests/DeepSpeechV1InferenceTest.hpp b/tests/DeepSpeechV1InferenceTest.hpp
index 24e7dac..6331762 100755
--- a/tests/DeepSpeechV1InferenceTest.hpp
+++ b/tests/DeepSpeechV1InferenceTest.hpp
@@ -124,7 +124,7 @@
         Model::AddCommandLineOptions(options, m_ModelCommandLineOptions);
     }
 
-    virtual bool ProcessCommandLineOptions() override
+    virtual bool ProcessCommandLineOptions(const InferenceTestOptions &commonOptions) override
     {
         if (!ValidateDirectory(m_InputSeqDir))
         {
@@ -156,7 +156,7 @@
             return false;
         }
 
-        m_Model = m_ConstructModel(m_ModelCommandLineOptions);
+        m_Model = m_ConstructModel(commonOptions, m_ModelCommandLineOptions);
         if (!m_Model)
         {
             return false;
@@ -185,7 +185,8 @@
 
 private:
     typename Model::CommandLineOptions m_ModelCommandLineOptions;
-    std::function<std::unique_ptr<Model>(typename Model::CommandLineOptions)> m_ConstructModel;
+    std::function<std::unique_ptr<Model>(const InferenceTestOptions&,
+                                         typename Model::CommandLineOptions)> m_ConstructModel;
     std::unique_ptr<Model> m_Model;
 
     std::string m_InputSeqDir;