diff --git a/orc-rt/include/orc-rt/ControllerInterface.h b/orc-rt/include/orc-rt/ControllerInterface.h index 63636424b03e..0955c6d57c90 100644 --- a/orc-rt/include/orc-rt/ControllerInterface.h +++ b/orc-rt/include/orc-rt/ControllerInterface.h @@ -26,7 +26,7 @@ namespace orc_rt { /// duplicates with an error. class ControllerInterface { public: - using SymbolTable = std::unordered_map; + using SymbolTable = std::unordered_map; using iterator = SymbolTable::const_iterator; bool empty() const noexcept { return Symbols.empty(); } diff --git a/orc-rt/unittests/ControllerInterfaceTest.cpp b/orc-rt/unittests/ControllerInterfaceTest.cpp index 6e6dfd6a5559..9ca6aba2ca76 100644 --- a/orc-rt/unittests/ControllerInterfaceTest.cpp +++ b/orc-rt/unittests/ControllerInterfaceTest.cpp @@ -41,6 +41,18 @@ TEST(ControllerInterfaceTest, AddSymbolsUnique) { EXPECT_EQ(CI.at("orc_rt_B"), &Y); } +TEST(ControllerInterfaceTest, AddConstPointers) { + ControllerInterface CI; + const int X = 42; + const int Y = 7; + std::pair Syms[] = {{"orc_rt_A", &X}, + {"orc_rt_B", &Y}}; + cantFail(CI.addSymbolsUnique(Syms)); + + EXPECT_EQ(CI.at("orc_rt_A"), &X); + EXPECT_EQ(CI.at("orc_rt_B"), &Y); +} + TEST(ControllerInterfaceTest, AddSymbolsUniqueMultipleCalls) { ControllerInterface CI; int X = 0, Y = 0;