2026-05-04 11:39 ftp://ftp.de.debian.org/debian/pool/main/p/pytorch-sparse/pytorch-sparse_0.6.18.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --library=python --inconclusive --enable=style,information --inline-suppr --template=daca2 --disable=missingInclude --suppress=unmatchedSuppression --check-library --debug-warnings --suppress=autoNoType --suppress=valueFlowBailout --suppress=bailoutUninitVar --suppress=symbolDatabaseWarning --suppress=normalCheckLevelConditionExpressions -D__GNUC__ --platform=unix64 -j1 platform: Linux-6.12.85+deb13-amd64-x86_64-with-glibc2.41 python: 3.13.5 client-version: 1.3.70 compiler: g++ (20250906) 15.2.0 cppcheck: head 2.20.0 head-info: e5c4a73 (2026-05-01 11:10:43 +0200) count: 61 62 elapsed-time: 1.7 1.4 head-timing-info: old-timing-info: head results: pytorch_sparse-0.6.18/csrc/cpu/utils.h:26:73: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable value [valueFlowBailoutIncompleteVar] pytorch_sparse-0.6.18/csrc/cpu/utils.h:42:54: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable kInt64 [valueFlowBailoutIncompleteVar] pytorch_sparse-0.6.18/csrc/cpu/utils.h:57:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable kLong [valueFlowBailoutIncompleteVar] pytorch_sparse-0.6.18/csrc/cpu/utils.h:101:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable replace [valueFlowBailoutIncompleteVar] pytorch_sparse-0.6.18/csrc/cpu/convert_cpu.cpp:21:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GRAIN_SIZE [valueFlowBailoutIncompleteVar] pytorch_sparse-0.6.18/csrc/cpu/convert_cpu.cpp:45:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GRAIN_SIZE [valueFlowBailoutIncompleteVar] pytorch_sparse-0.6.18/csrc/cpu/utils.h:25:37: style: C-style pointer casting [cstyleCast] pytorch_sparse-0.6.18/csrc/cpu/convert_cpu.cpp:23:36: style: The scope of the variable 'next_idx' can be reduced. [variableScope] pytorch_sparse-0.6.18/csrc/cpu/convert_cpu.cpp:47:36: style: The scope of the variable 'next_idx' can be reduced. [variableScope] pytorch_sparse-0.6.18/csrc/cpu/diag_cpu.cpp:16:71: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable kBool [valueFlowBailoutIncompleteVar] pytorch_sparse-0.6.18/csrc/cpu/ego_sample_cpu.cpp:12:66: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable kLong [valueFlowBailoutIncompleteVar] pytorch_sparse-0.6.18/csrc/cpu/ego_sample_cpu.cpp:26:56: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable kLong [valueFlowBailoutIncompleteVar] pytorch_sparse-0.6.18/csrc/cpu/ego_sample_cpu.cpp:35:33: style: The scope of the variable 'row_count' can be reduced. [variableScope] pytorch_sparse-0.6.18/csrc/cpu/ego_sample_cpu.cpp:35:44: style: The scope of the variable 'vec_start' can be reduced. [variableScope] pytorch_sparse-0.6.18/csrc/cpu/ego_sample_cpu.cpp:35:55: style: The scope of the variable 'vec_end' can be reduced. [variableScope] pytorch_sparse-0.6.18/csrc/cpu/ego_sample_cpu.cpp:35:64: style: The scope of the variable 'v' can be reduced. [variableScope] pytorch_sparse-0.6.18/csrc/cpu/ego_sample_cpu.cpp:84:20: style: Local variable 'v' shadows outer variable [shadowVariable] pytorch_sparse-0.6.18/csrc/cpu/ego_sample_cpu.cpp:35:64: note: Shadowed declaration pytorch_sparse-0.6.18/csrc/cpu/ego_sample_cpu.cpp:84:20: note: Shadow variable pytorch_sparse-0.6.18/csrc/cpu/ego_sample_cpu.cpp:93:20: style: Local variable 'v' shadows outer variable [shadowVariable] pytorch_sparse-0.6.18/csrc/cpu/ego_sample_cpu.cpp:35:64: note: Shadowed declaration pytorch_sparse-0.6.18/csrc/cpu/ego_sample_cpu.cpp:93:20: note: Shadow variable pytorch_sparse-0.6.18/csrc/cpu/hgt_sample_cpu.cpp:227:35: debug: Failed to instantiate template "from_vector". The checking continues anyway. [templateInstantiation] pytorch_sparse-0.6.18/csrc/cpu/hgt_sample_cpu.cpp:51:48: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable col_end [valueFlowBailoutIncompleteVar] pytorch_sparse-0.6.18/csrc/cpu/hgt_sample_cpu.cpp:204:48: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable col_end [valueFlowBailoutIncompleteVar] pytorch_sparse-0.6.18/csrc/cpu/hgt_sample_cpu.cpp:15:18: style: The scope of the variable 'end' can be reduced. [variableScope] pytorch_sparse-0.6.18/csrc/cpu/neighbor_sample_cpu.cpp:115:21: debug: Failed to instantiate template "from_vector". The checking continues anyway. [templateInstantiation] pytorch_sparse-0.6.18/csrc/cpu/neighbor_sample_cpu.cpp:436:43: performance: Function parameter 'num_neighbors' should be passed by const reference. [passedByValue] pytorch_sparse-0.6.18/csrc/cpu/neighbor_sample_cpu.cpp:18:63: performance: Function parameter 'num_neighbors' should be passed by const reference. [passedByValue] pytorch_sparse-0.6.18/csrc/cpu/neighbor_sample_cpu.cpp:214:19: style: Consider using std::transform algorithm instead of a raw loop. [useStlAlgorithm] pytorch_sparse-0.6.18/csrc/cpu/relabel_cpu.cpp:82:53: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable nullopt [valueFlowBailoutIncompleteVar] pytorch_sparse-0.6.18/csrc/cpu/relabel_cpu.cpp:19:11: style: The scope of the variable 'i' can be reduced. [variableScope] pytorch_sparse-0.6.18/csrc/cpu/relabel_cpu.cpp:26:11: style: The scope of the variable 'c' can be reduced. [variableScope] pytorch_sparse-0.6.18/csrc/cpu/relabel_cpu.cpp:31:31: performance: Searching before insertion is not necessary. Instead of 'n_id_map[c]=n_ids.size()' consider using 'n_id_map.try_emplace(c, n_ids.size());'. [stlFindInsert] pytorch_sparse-0.6.18/csrc/cpu/rw_cpu.cpp:16:56: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable kFloat [valueFlowBailoutIncompleteVar] pytorch_sparse-0.6.18/csrc/cpu/rw_cpu.cpp:31:13: style: The scope of the variable 'row_start' can be reduced. [variableScope] pytorch_sparse-0.6.18/csrc/cpu/rw_cpu.cpp:31:24: style: The scope of the variable 'row_end' can be reduced. [variableScope] pytorch_sparse-0.6.18/csrc/cpu/saint_cpu.cpp:26:11: style: The scope of the variable 'v' can be reduced. [variableScope] pytorch_sparse-0.6.18/csrc/cpu/saint_cpu.cpp:26:14: style: The scope of the variable 'w' can be reduced. [variableScope] pytorch_sparse-0.6.18/csrc/cpu/saint_cpu.cpp:26:17: style: The scope of the variable 'w_new' can be reduced. [variableScope] pytorch_sparse-0.6.18/csrc/cpu/saint_cpu.cpp:26:24: style: The scope of the variable 'row_start' can be reduced. [variableScope] pytorch_sparse-0.6.18/csrc/cpu/saint_cpu.cpp:26:35: style: The scope of the variable 'row_end' can be reduced. [variableScope] pytorch_sparse-0.6.18/csrc/cpu/sample_cpu.cpp:97:48: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable second [valueFlowBailoutIncompleteVar] pytorch_sparse-0.6.18/csrc/cpu/sample_cpu.cpp:42:18: style: Local variable 'i' shadows outer variable [shadowVariable] pytorch_sparse-0.6.18/csrc/cpu/sample_cpu.cpp:30:11: note: Shadowed declaration pytorch_sparse-0.6.18/csrc/cpu/sample_cpu.cpp:42:18: note: Shadow variable pytorch_sparse-0.6.18/csrc/cpu/sample_cpu.cpp:63:18: style: Local variable 'i' shadows outer variable [shadowVariable] pytorch_sparse-0.6.18/csrc/cpu/sample_cpu.cpp:30:11: note: Shadowed declaration pytorch_sparse-0.6.18/csrc/cpu/sample_cpu.cpp:63:18: note: Shadow variable pytorch_sparse-0.6.18/csrc/cpu/sample_cpu.cpp:85:18: style: Local variable 'i' shadows outer variable [shadowVariable] pytorch_sparse-0.6.18/csrc/cpu/sample_cpu.cpp:30:11: note: Shadowed declaration pytorch_sparse-0.6.18/csrc/cpu/sample_cpu.cpp:85:18: note: Shadow variable pytorch_sparse-0.6.18/csrc/cpu/sample_cpu.cpp:52:35: performance: Searching before insertion is not necessary. Instead of 'n_id_map[c]=n_ids.size()' consider using 'n_id_map.try_emplace(c, n_ids.size());'. [stlFindInsert] pytorch_sparse-0.6.18/csrc/cpu/sample_cpu.cpp:74:37: performance: Searching before insertion is not necessary. Instead of 'n_id_map[c]=n_ids.size()' consider using 'n_id_map.try_emplace(c, n_ids.size());'. [stlFindInsert] pytorch_sparse-0.6.18/csrc/cpu/sample_cpu.cpp:107:35: performance: Searching before insertion is not necessary. Instead of 'n_id_map[c]=n_ids.size()' consider using 'n_id_map.try_emplace(c, n_ids.size());'. [stlFindInsert] pytorch_sparse-0.6.18/csrc/cpu/spmm_cpu.cpp:32:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable nullopt [valueFlowBailoutIncompleteVar] pytorch_sparse-0.6.18/csrc/cpu/spmm_cpu.cpp:126:68: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BFloat16 [valueFlowBailoutIncompleteVar] pytorch_sparse-0.6.18/csrc/cpu/spmm_cpu.cpp:52:5: style: The scope of the variable 'row_start' can be reduced. [variableScope] pytorch_sparse-0.6.18/csrc/cpu/spmm_cpu.cpp:52:5: style: The scope of the variable 'row_end' can be reduced. [variableScope] pytorch_sparse-0.6.18/csrc/cpu/spmm_cpu.cpp:52:5: style: The scope of the variable 'b' can be reduced. [variableScope] pytorch_sparse-0.6.18/csrc/cpu/spmm_cpu.cpp:52:5: style: The scope of the variable 'm' can be reduced. [variableScope] pytorch_sparse-0.6.18/csrc/cpu/spmm_cpu.cpp:52:5: style: The scope of the variable 'c' can be reduced. [variableScope] pytorch_sparse-0.6.18/csrc/metis.cpp:28:62: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable nullopt [valueFlowBailoutIncompleteVar] pytorch_sparse-0.6.18/csrc/neighbor_sample.cpp:23:44: performance: Function parameter 'num_neighbors' should be passed by const reference. However it seems that 'neighbor_sample' is a callback function. [passedByValueCallback] pytorch_sparse-0.6.18/csrc/neighbor_sample.cpp:63:47: note: Function pointer used here. pytorch_sparse-0.6.18/csrc/neighbor_sample.cpp:23:44: note: Function parameter 'num_neighbors' should be passed by const reference. However it seems that 'neighbor_sample' is a callback function. pytorch_sparse-0.6.18/csrc/spmm.cpp:78:55: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable nullopt [valueFlowBailoutIncompleteVar] pytorch_sparse-0.6.18/csrc/spmm.cpp:102:57: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable nullopt [valueFlowBailoutIncompleteVar] pytorch_sparse-0.6.18/csrc/spmm.cpp:141:55: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable nullopt [valueFlowBailoutIncompleteVar] pytorch_sparse-0.6.18/csrc/spmm.cpp:191:55: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable nullopt [valueFlowBailoutIncompleteVar] pytorch_sparse-0.6.18/csrc/spmm.cpp:251:55: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable nullopt [valueFlowBailoutIncompleteVar] pytorch_sparse-0.6.18/csrc/spmm.cpp:25:21: performance: Function parameter 'reduce' should be passed by const reference. [passedByValue] pytorch_sparse-0.6.18/csrc/spmm.cpp:39:61: performance: Function parameter 'reduce' should be passed by const reference. [passedByValue] diff: 2.20.0 pytorch_sparse-0.6.18/csrc/cpu/neighbor_sample_cpu.h:12:48: performance: Function parameter 'num_neighbors' should be passed by const reference. [passedByValue] DONE