diff --git a/dtool/src/cppparser/cppEnumType.cxx b/dtool/src/cppparser/cppEnumType.cxx index 8a3684a777..e3506d0ad1 100644 --- a/dtool/src/cppparser/cppEnumType.cxx +++ b/dtool/src/cppparser/cppEnumType.cxx @@ -177,7 +177,7 @@ substitute_decl(CPPDeclaration::SubstDecl &subst, bool any_changed = false; - for (int i = 0; i < _elements.size(); ++i) { + for (size_t i = 0; i < _elements.size(); ++i) { CPPInstance *elem_rep = _elements[i]->substitute_decl(subst, current_scope, global_scope) ->as_instance(); diff --git a/dtool/src/cppparser/cppExpression.cxx b/dtool/src/cppparser/cppExpression.cxx index 91bab50d03..55e640de01 100644 --- a/dtool/src/cppparser/cppExpression.cxx +++ b/dtool/src/cppparser/cppExpression.cxx @@ -637,11 +637,11 @@ evaluate() const { (_u._op._op1->_type == T_string || _u._op._op1->_type == T_u8string)) { - int index = r2.as_integer(); - if (index == _u._op._op1->_str.size()) { + int index = (int)r2.as_integer(); + if ((size_t)index == _u._op._op1->_str.size()) { return Result(0); - } else if (index >= 0 && index < _u._op._op1->_str.size()) { - return Result(_u._op._op1->_str[index]); + } else if (index >= 0 && (size_t)index < _u._op._op1->_str.size()) { + return Result(_u._op._op1->_str[(size_t)index]); } else { cerr << "array index " << index << " out of bounds of string literal " << *_u._op._op1 << "\n"; diff --git a/dtool/src/cppparser/cppPreprocessor.cxx b/dtool/src/cppparser/cppPreprocessor.cxx index a13fad4c11..ec2771ab06 100644 --- a/dtool/src/cppparser/cppPreprocessor.cxx +++ b/dtool/src/cppparser/cppPreprocessor.cxx @@ -1689,7 +1689,7 @@ handle_include_directive(const string &args, const YYLTYPE &loc) { // Now search the quote-include-path if (!angle_quotes && !found_file) { - for (int dir=0; dir<_quote_include_path.get_num_directories(); dir++) { + for (size_t dir=0; dir<_quote_include_path.get_num_directories(); dir++) { Filename match(_quote_include_path.get_directory(dir), filename); if (match.exists()) { filename = match; diff --git a/dtool/src/dtoolbase/stl_compares.I b/dtool/src/dtoolbase/stl_compares.I index e0d51b74dd..e68080451c 100644 --- a/dtool/src/dtoolbase/stl_compares.I +++ b/dtool/src/dtoolbase/stl_compares.I @@ -132,11 +132,7 @@ add_hash(size_t hash, const Key &key) { INLINE size_t pointer_hash:: add_hash(size_t hash, const void *key) { // We don't mind if this loses precision. -#ifdef _MSC_VER - PN_uint32 key32 = PtrToUlong(key); -#else - PN_uint32 key32 = (PN_uint32)reinterpret_cast(key); -#endif + PN_uint32 key32 = (PN_uint32)reinterpret_cast(key); return AddHash::add_hash(hash, &key32, 1); } diff --git a/dtool/src/interrogate/functionRemap.cxx b/dtool/src/interrogate/functionRemap.cxx index 1b7315f1eb..f074a954a4 100644 --- a/dtool/src/interrogate/functionRemap.cxx +++ b/dtool/src/interrogate/functionRemap.cxx @@ -108,7 +108,7 @@ string FunctionRemap:: call_function(ostream &out, int indent_level, bool convert_result, const string &container) const { vector_string pexprs; - for (int i = 0; i < _parameters.size(); ++i) { + for (size_t i = 0; i < _parameters.size(); ++i) { pexprs.push_back(get_parameter_name(i)); } return call_function(out, indent_level, convert_result, container, pexprs); @@ -478,8 +478,8 @@ get_call_str(const string &container, const vector_string &pexprs) const { separator = ", "; } - int pn = _first_true_parameter; - int num_parameters = pexprs.size(); + size_t pn = _first_true_parameter; + size_t num_parameters = pexprs.size(); if (_type == T_item_assignment_operator) { // The last parameter is the value to set. @@ -513,8 +513,8 @@ get_call_str(const string &container, const vector_string &pexprs) const { // of the nth parameter is it is empty. //////////////////////////////////////////////////////////////////// string FunctionRemap:: -get_parameter_expr(int n, const vector_string &pexprs) const { - if (n < (int)pexprs.size()) { +get_parameter_expr(size_t n, const vector_string &pexprs) const { + if (n < pexprs.size()) { return pexprs[n]; } return get_parameter_name(n); diff --git a/dtool/src/interrogate/functionRemap.h b/dtool/src/interrogate/functionRemap.h index 6a4477ba56..dadd26c45d 100644 --- a/dtool/src/interrogate/functionRemap.h +++ b/dtool/src/interrogate/functionRemap.h @@ -112,7 +112,7 @@ public: bool _blocking; bool _extension; bool _const_method; - int _first_true_parameter; + size_t _first_true_parameter; int _num_default_parameters; Type _type; int _flags; @@ -137,7 +137,7 @@ public: bool _is_valid; private: - string get_parameter_expr(int n, const vector_string &pexprs) const; + string get_parameter_expr(size_t n, const vector_string &pexprs) const; bool setup_properties(const InterrogateFunction &ifunc, InterfaceMaker *interface_maker); }; diff --git a/dtool/src/interrogate/interfaceMakerPythonNative.cxx b/dtool/src/interrogate/interfaceMakerPythonNative.cxx index 2edc8c657d..9c06abeaed 100644 --- a/dtool/src/interrogate/interfaceMakerPythonNative.cxx +++ b/dtool/src/interrogate/interfaceMakerPythonNative.cxx @@ -3990,9 +3990,9 @@ collapse_default_remaps(std::map > &map_sets, std::set::iterator sii; for (sii = rmi->second.begin(); sii != rmi->second.end(); ++sii) { FunctionRemap *remap = (*sii); - int pn = rmi->first - 1; - if (remap->_has_this && remap->_type != FunctionRemap::T_constructor) { - ++pn; + size_t pn = (size_t)rmi->first; + if (!remap->_has_this || remap->_type == FunctionRemap::T_constructor) { + --pn; } nassertd(pn < remap->_parameters.size()) goto abort_iteration; @@ -4345,8 +4345,8 @@ write_function_forset(ostream &out, for (sii = remaps.begin(); sii != remaps.end(); ++sii) { remap = (*sii); - if (remap->_parameters.size() > (int)remap->_has_this) { - ParameterRemap *param = remap->_parameters[(int)remap->_has_this]._remap; + if (remap->_parameters.size() > (size_t)remap->_has_this) { + ParameterRemap *param = remap->_parameters[(size_t)remap->_has_this]._remap; string param_name = param->get_orig_type()->get_local_name(&parser); if (param_name != "CPT_InternalName" && @@ -4601,15 +4601,15 @@ write_function_instance(ostream &out, FunctionRemap *remap, if (remap->_has_this) { num_params += 1; } - if (num_params > remap->_parameters.size()) { + if (num_params > (int)remap->_parameters.size()) { // Limit to how many parameters this remap actually has. - num_params = remap->_parameters.size(); + num_params = (int)remap->_parameters.size(); max_num_args = num_params; if (remap->_has_this) { --max_num_args; } } - nassertv(num_params <= remap->_parameters.size()); + nassertv(num_params <= (int)remap->_parameters.size()); bool only_pyobjects = true; diff --git a/dtool/src/prc/configPageManager.cxx b/dtool/src/prc/configPageManager.cxx index 125a27e695..eae07c92c8 100644 --- a/dtool/src/prc/configPageManager.cxx +++ b/dtool/src/prc/configPageManager.cxx @@ -255,7 +255,7 @@ reload_implicit_pages() { // We walk through the list of directories in forward order, so that // the most important directories are visited first. - for (int di = 0; di < _search_path.get_num_directories(); ++di) { + for (size_t di = 0; di < _search_path.get_num_directories(); ++di) { const Filename &directory = _search_path.get_directory(di); if (directory.is_directory()) { Filename canonical(directory, "."); diff --git a/panda/src/gobj/geom.cxx b/panda/src/gobj/geom.cxx index 40166e15bc..08c1fdcf1d 100644 --- a/panda/src/gobj/geom.cxx +++ b/panda/src/gobj/geom.cxx @@ -981,7 +981,7 @@ transform_vertices(const LMatrix4 &mat) { PT(GeomVertexData) new_data = modify_vertex_data(); CPT(GeomVertexFormat) format = new_data->get_format(); - int ci; + size_t ci; for (ci = 0; ci < format->get_num_points(); ci++) { GeomVertexRewriter data(new_data, format->get_point(ci)); diff --git a/panda/src/gobj/geomVertexData.cxx b/panda/src/gobj/geomVertexData.cxx index d2202e1831..1ac95c98c3 100644 --- a/panda/src/gobj/geomVertexData.cxx +++ b/panda/src/gobj/geomVertexData.cxx @@ -358,7 +358,7 @@ unclean_set_format(const GeomVertexFormat *format) { #ifndef NDEBUG nassertv(format->get_num_arrays() == cdata->_format->get_num_arrays()); - for (int ai = 0; ai < format->get_num_arrays(); ++ai) { + for (size_t ai = 0; ai < format->get_num_arrays(); ++ai) { nassertv(format->get_array(ai)->get_stride() == cdata->_format->get_array(ai)->get_stride()); } nassertv(cdata->_arrays.size() == cdata->_format->get_num_arrays()); @@ -702,7 +702,7 @@ copy_from(const GeomVertexData *source, bool keep_data_objects, LVecBase4i indices(0, 0, 0, 0); nassertv(blend.get_num_transforms() <= 4); - for (int i = 0; i < blend.get_num_transforms(); i++) { + for (size_t i = 0; i < blend.get_num_transforms(); i++) { weights[i] = blend.get_weight(i); indices[i] = add_transform(transform_table, blend.get_transform(i), already_added); @@ -722,7 +722,7 @@ copy_from(const GeomVertexData *source, bool keep_data_objects, const TransformBlend &blend = blend_table->get_blend(from.get_data1i()); LVecBase4 weights = LVecBase4::zero(); - for (int i = 0; i < blend.get_num_transforms(); i++) { + for (size_t i = 0; i < blend.get_num_transforms(); i++) { int index = add_transform(transform_table, blend.get_transform(i), already_added); nassertv(index <= 4); @@ -1184,7 +1184,7 @@ transform_vertices(const LMatrix4 &mat, int begin_row, int end_row) { const GeomVertexFormat *format = get_format(); - int ci; + size_t ci; for (ci = 0; ci < format->get_num_points(); ci++) { GeomVertexRewriter data(this, format->get_point(ci)); do_transform_point_column(format, data, mat, begin_row, end_row); @@ -1395,7 +1395,7 @@ describe_vertex(ostream &out, int row) const { // index and report the vertex weighting. reader.set_column(ai, column); int bi = reader.get_data1i(); - if (bi >= 0 && bi < tb_table->get_num_blends()) { + if (bi >= 0 && (size_t)bi < tb_table->get_num_blends()) { const TransformBlend &blend = tb_table->get_blend(bi); out << " " << blend << "\n"; } @@ -1681,7 +1681,7 @@ update_animated_vertices(GeomVertexData::CData *cdata, Thread *current_thread) { CPT(GeomVertexArrayDataHandle) blend_array_handle = cdata->_arrays[blend_array_index].get_read_pointer()->get_handle(current_thread); const unsigned short *blendt = (const unsigned short *)blend_array_handle->get_read_pointer(true); - int ci; + size_t ci; for (ci = 0; ci < new_format->get_num_points(); ci++) { GeomVertexRewriter data(new_data, new_format->get_point(ci)); @@ -1768,7 +1768,7 @@ update_animated_vertices(GeomVertexData::CData *cdata, Thread *current_thread) { GeomVertexReader blendi(this, InternalName::get_transform_blend()); nassertv(blendi.has_column()); - int ci; + size_t ci; for (ci = 0; ci < new_format->get_num_points(); ci++) { GeomVertexRewriter data(new_data, new_format->get_point(ci)); diff --git a/panda/src/gobj/geomVertexFormat.cxx b/panda/src/gobj/geomVertexFormat.cxx index 35401efc1f..c26c075d49 100644 --- a/panda/src/gobj/geomVertexFormat.cxx +++ b/panda/src/gobj/geomVertexFormat.cxx @@ -423,7 +423,7 @@ const GeomVertexColumn *GeomVertexFormat:: get_column(size_t i) const { Arrays::const_iterator ai; for (ai = _arrays.begin(); ai != _arrays.end(); ++ai) { - if (i < (*ai)->get_num_columns()) { + if (i < (size_t)(*ai)->get_num_columns()) { return (*ai)->get_column(i); } i -= (*ai)->get_num_columns(); @@ -448,7 +448,7 @@ int GeomVertexFormat:: get_array_with(size_t i) const { int array_index = 0; for (array_index = 0; array_index < (int)_arrays.size(); array_index++) { - if (i < _arrays[array_index]->get_num_columns()) { + if (i < (size_t)_arrays[array_index]->get_num_columns()) { return array_index; } i -= _arrays[array_index]->get_num_columns(); diff --git a/panda/src/pgraph/geomNode.cxx b/panda/src/pgraph/geomNode.cxx index db7bdd42dd..aa9b70a852 100644 --- a/panda/src/pgraph/geomNode.cxx +++ b/panda/src/pgraph/geomNode.cxx @@ -1124,7 +1124,7 @@ finalize(BamReader *manager) { // GeomVertexData::has_column(). CPT(GeomVertexData) vdata = geom->get_vertex_data(current_thread); CPT(GeomVertexFormat) vformat = vdata->get_format(); - for (int i = 0; i < vformat->get_num_arrays(); ++i) { + for (size_t i = 0; i < vformat->get_num_arrays(); ++i) { const GeomVertexArrayFormat *varray = vformat->get_array(i); manager->finalize_now((GeomVertexArrayFormat *)varray); } diff --git a/panda/src/pgraph/geomTransformer.cxx b/panda/src/pgraph/geomTransformer.cxx index 410f9b22cb..3c209abbb2 100644 --- a/panda/src/pgraph/geomTransformer.cxx +++ b/panda/src/pgraph/geomTransformer.cxx @@ -1357,13 +1357,13 @@ append_vdata(const GeomVertexData *vdata, int vertex_offset) { for (int i = 0; i < vdata->get_num_arrays(); ++i) { PT(GeomVertexArrayData) new_array = _new_data->modify_array(i); CPT(GeomVertexArrayData) old_array = vdata->get_array(i); - int stride = _new_format->get_array(i)->get_stride(); - int start_byte = vertex_offset * stride; - int copy_bytes = old_array->get_data_size_bytes(); + size_t stride = (size_t)_new_format->get_array(i)->get_stride(); + size_t start_byte = (size_t)vertex_offset * stride; + size_t copy_bytes = old_array->get_data_size_bytes(); nassertv(start_byte + copy_bytes <= new_array->get_data_size_bytes()); - + new_array->modify_handle()->copy_subdata_from - (start_byte, copy_bytes, + (start_byte, copy_bytes, old_array->get_handle(), 0, copy_bytes); } diff --git a/panda/src/putil/bitArray.I b/panda/src/putil/bitArray.I index cdf3adfd92..4209812abe 100644 --- a/panda/src/putil/bitArray.I +++ b/panda/src/putil/bitArray.I @@ -208,7 +208,7 @@ get_bit(int index) const { nassertr(index >= 0, false); int w = index / num_bits_per_word; int b = index % num_bits_per_word; - if (w >= get_num_words()) { + if ((size_t)w >= get_num_words()) { return get_highest_bits(); } else { return (_array[w].get_bit(b)); @@ -226,7 +226,7 @@ set_bit(int index) { nassertv(index >= 0); int w = index / num_bits_per_word; int b = index % num_bits_per_word; - if (w >= get_num_words() && _highest_bits) { + if ((size_t)w >= get_num_words() && _highest_bits) { // All the highest bits are already on. return; } @@ -246,7 +246,7 @@ clear_bit(int index) { nassertv(index >= 0); int w = index / num_bits_per_word; int b = index % num_bits_per_word; - if (w >= get_num_words() && !_highest_bits) { + if ((size_t)w >= get_num_words() && !_highest_bits) { // All the highest bits are already off. return; } diff --git a/panda/src/putil/sparseArray.cxx b/panda/src/putil/sparseArray.cxx index 418a28edfc..6db82d8285 100644 --- a/panda/src/putil/sparseArray.cxx +++ b/panda/src/putil/sparseArray.cxx @@ -29,9 +29,9 @@ SparseArray(const BitArray &from) { bool empty_bit = from.get_highest_bits(); _inverse = empty_bit; - int begin = 0; + size_t begin = 0; bool current_state = from.get_bit(0); - int i = 0; + size_t i = 0; // By including get_num_bits()--one more than the last bit--in this // traversal, we guarantee that we will end on the empty_bit state