now we start making a half-dozen commits trying to appease the various forms of clang++ and g++

This commit is contained in:
ThePhD 2017-08-11 09:40:56 -04:00
parent eb1560d12a
commit e0f6b636f1
6 changed files with 1963 additions and 1511 deletions

View File

@ -17,7 +17,7 @@ public:
// automatically bound to obj( args... ) [ __call ] // automatically bound to obj( args... ) [ __call ]
void operator()() { void operator()() {
data.push_back(static_cast<double>(data.size() + 1) / 3.0); data.push_back(static_cast<value_type>(data.size() + 1) / 3.0);
} }
// automatically used for pairs(obj) [ __pairs ], 5.2+ // automatically used for pairs(obj) [ __pairs ], 5.2+

File diff suppressed because it is too large Load Diff

View File

@ -101,6 +101,8 @@ namespace sol {
template <typename T> template <typename T>
struct as_table_t; struct as_table_t;
template <typename T> template <typename T>
struct as_container_t;
template <typename T>
struct nested; struct nested;
template <typename T> template <typename T>
struct light; struct light;

View File

@ -332,9 +332,6 @@ namespace sol {
(void)detail::swallow{ 0, (void)detail::swallow{ 0,
(add(L, detail::forward_get<I * 2>(args), detail::forward_get<I * 2 + 1>(args)),0)... (add(L, detail::forward_get<I * 2>(args), detail::forward_get<I * 2 + 1>(args)),0)...
}; };
std::array<luaL_Reg, 29> regs{};
int index = 0;
} }
template<typename... Args> template<typename... Args>
@ -430,6 +427,8 @@ namespace sol {
case meta_function::new_index: case meta_function::new_index:
umx.newindexfunc = second; umx.newindexfunc = second;
break; break;
default:
break;
} }
} }
break; break;

View File

@ -201,7 +201,7 @@ TEST_CASE("operators/container-like", "test that generic begin/end and iterator
typedef int* iterator; typedef int* iterator;
typedef int value_type; typedef int value_type;
int values[10]; value_type values[10];
container() { container() {
std::iota(begin(), end(), 1); std::iota(begin(), end(), 1);

View File

@ -331,7 +331,7 @@ TEST_CASE("state/script, do, and load", "test success and failure cases for load
const static std::string good = "a = 21\nreturn a"; const static std::string good = "a = 21\nreturn a";
static const char file_good[] = "./temp.good.lua"; static const char file_good[] = "./temp.good.lua";
static std::once_flag flag_file_bs = {}, flag_file_br = {}, flag_file_g = {}; static std::once_flag flag_file_bs = {}, flag_file_br = {}, flag_file_g = {};
static std::atomic<int> finished = 0; static std::atomic<int> finished(0);
std::call_once(flag_file_bs, write_file_attempt_object(), file_bad_syntax, bad_syntax); std::call_once(flag_file_bs, write_file_attempt_object(), file_bad_syntax, bad_syntax);
std::call_once(flag_file_br, write_file_attempt_object(), file_bad_runtime, bad_runtime); std::call_once(flag_file_br, write_file_attempt_object(), file_bad_runtime, bad_runtime);
std::call_once(flag_file_g, write_file_attempt_object(), file_good, good); std::call_once(flag_file_g, write_file_attempt_object(), file_good, good);