diff --git a/CMakeLists.txt b/CMakeLists.txt index 7c21382b37a816a7220377b0d9eebe50c680a645..deade37d1a4999833a15faf8f8f62535d0964cf6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -133,7 +133,6 @@ if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") -Wno-padded -Wno-global-constructors -Wno-exit-time-destructors - -Wno-vla-extension ) target_link_libraries(Vivy PRIVATE -fopenmp diff --git a/src/Lib/Script/CRTPLuaScriptObject.hh b/src/Lib/Script/CRTPLuaScriptObject.hh index f94d27d78afb450cbbf7271b3b6489a008db2745..8e9920da1f8c51f0a158168bd9ebcda2c73d5e7c 100644 --- a/src/Lib/Script/CRTPLuaScriptObject.hh +++ b/src/Lib/Script/CRTPLuaScriptObject.hh @@ -48,7 +48,8 @@ getJobIteratorTypeFromString(const std::string_view it) noexcept // CRTP to expose objects to Lua template <class Object> class CRTPLuaScriptObject { protected: - static void __attribute__((__noreturn__)) luaGlobalError(lua_State *const L, const std::string &str) noexcept + static void __attribute__((__noreturn__)) + luaGlobalError(lua_State *const L, const std::string &str) noexcept { const auto *const context = LuaContext::getContext(L); lua_pushfstring(L, "%s:0:%s", context->getCurrentLuaFile().c_str(), str.c_str()); diff --git a/src/Lib/Script/CRTPLuaScriptObject/ModuleDeclaration.cc b/src/Lib/Script/CRTPLuaScriptObject/ModuleDeclaration.cc index 551a9126f79c4ab10249260d4aa905a118709bcd..d30eeee2c284e445eb5332e9db6ec1b4a1ae2656 100644 --- a/src/Lib/Script/CRTPLuaScriptObject/ModuleDeclaration.cc +++ b/src/Lib/Script/CRTPLuaScriptObject/ModuleDeclaration.cc @@ -99,10 +99,8 @@ ModuleDeclaration::exportJob(lua_State *const L, const int tableIndex, const std JobDeclaration *const job = context->getJob(moduleName, name); if (jobItType != JobIteratorType::Line && jobItType != JobIteratorType::Syllabe) { - char str[itTypeStr.length() + 1]; - std::memset(str, 0, sizeof(str)); - std::strncpy(str, itTypeStr.data(), sizeof(str)); - luaL_error(L, "The iteration type must be LINE or SYLLABE, got %s", str); + const std::string str(itTypeStr); + luaL_error(L, "The iteration type must be LINE or SYLLABE, got %s", str.c_str()); } else {