Style guide ref: http://google.github.io/styleguide/cppguide.html.
90127b526be8b13bdf840effacde9e61fa765a6f
Total errors found: 853
pip install cpplint
cpplint --linelength=999 --recursive ./src ./include
./include\LightGBM\json11.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\json11.hpp:80: public: should be indented +1 space inside class Json [whitespace/indent] [3]
./include\LightGBM\json11.hpp:92: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:93: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:94: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:95: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:96: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:97: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:98: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:99: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:100: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:101: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:102: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:106: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:113: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:119: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:123: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:156: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
./include\LightGBM\json11.hpp:165: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
./include\LightGBM\json11.hpp:168: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
./include\LightGBM\json11.hpp:180: Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos [runtime/references] [2]
./include\LightGBM\json11.hpp:181: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
./include\LightGBM\json11.hpp:186: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
./include\LightGBM\json11.hpp:205: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
./include\LightGBM\json11.hpp:207: private: should be indented +1 space inside class Json [whitespace/indent] [3]
./include\LightGBM\json11.hpp:213: protected: should be indented +1 space inside class JsonValue [whitespace/indent] [3]
./include\LightGBM\json11.hpp:220: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
./include\LightGBM\json11.hpp:204: Add #include <utility> for pair<> [build/include_what_you_use] [4]
Done processing ./include\LightGBM\json11.hpp
./include\LightGBM\prediction_early_stop.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\prediction_early_stop.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_PREDICTION_EARLY_STOP_H_ [build/header_guard] [5]
./include\LightGBM\prediction_early_stop.h:32: #endif line should be "#endif // INCLUDE_LIGHTGBM_PREDICTION_EARLY_STOP_H_" [build/header_guard] [5]
./include\LightGBM\prediction_early_stop.h:7: Found C system header after C++ system header. Should be: prediction_early_stop.h, c system, c++ system, other. [build/include_
Done processing ./include\LightGBM\prediction_early_stop.h
./src\boosting\prediction_early_stop.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\prediction_early_stop.cpp:11: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing ./src\boosting\prediction_early_stop.cpp
./include\LightGBM\utils\threading.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\utils\threading.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_THREADING_H_ [build/header_guard] [5]
./include\LightGBM\utils\threading.h:41: #endif line should be "#endif // INCLUDE_LIGHTGBM_UTILS_THREADING_H_" [build/header_guard] [5]
./include\LightGBM\utils\threading.h:12: public: should be indented +1 space inside class Threading [whitespace/indent] [3]
Done processing ./include\LightGBM\utils\threading.h
./src\objective\multiclass_objective.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\objective\multiclass_objective.hpp:1: #ifndef header guard has wrong style, please use: SRC_OBJECTIVE_MULTICLASS_OBJECTIVE_HPP_ [build/header_guard] [5]
./src\objective\multiclass_objective.hpp:259: #endif line should be "#endif // SRC_OBJECTIVE_MULTICLASS_OBJECTIVE_HPP_" [build/header_guard] [5]
./src\objective\multiclass_objective.hpp:17: public: should be indented +1 space inside class MulticlassSoftmax [whitespace/indent] [3]
./src\objective\multiclass_objective.hpp:149: private: should be indented +1 space inside class MulticlassSoftmax [whitespace/indent] [3]
./src\objective\multiclass_objective.hpp:167: public: should be indented +1 space inside class MulticlassOVA [whitespace/indent] [3]
./src\objective\multiclass_objective.hpp:249: private: should be indented +1 space inside class MulticlassOVA [whitespace/indent] [3]
./src\objective\multiclass_objective.hpp:137: Add #include <algorithm> for max [build/include_what_you_use] [4]
./src\objective\multiclass_objective.hpp:225: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\objective\multiclass_objective.hpp
./src\boosting\boosting.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\boosting.cpp:2: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\boosting\boosting.cpp
./src\objective\regression_objective.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\objective\regression_objective.hpp:1: #ifndef header guard has wrong style, please use: SRC_OBJECTIVE_REGRESSION_OBJECTIVE_HPP_ [build/header_guard] [5]
./src\objective\regression_objective.hpp:810: #endif line should be "#endif // SRC_OBJECTIVE_REGRESSION_OBJECTIVE_HPP_" [build/header_guard] [5]
./src\objective\regression_objective.hpp:68: public: should be indented +1 space inside class RegressionL2loss [whitespace/indent] [3]
./src\objective\regression_objective.hpp:164: protected: should be indented +1 space inside class RegressionL2loss [whitespace/indent] [3]
./src\objective\regression_objective.hpp:179: public: should be indented +1 space inside class RegressionL1loss [whitespace/indent] [3]
./src\objective\regression_objective.hpp:297: public: should be indented +1 space inside class RegressionHuberLoss [whitespace/indent] [3]
./src\objective\regression_objective.hpp:351: private: should be indented +1 space inside class RegressionHuberLoss [whitespace/indent] [3]
./src\objective\regression_objective.hpp:359: public: should be indented +1 space inside class RegressionFairLoss [whitespace/indent] [3]
./src\objective\regression_objective.hpp:396: private: should be indented +1 space inside class RegressionFairLoss [whitespace/indent] [3]
./src\objective\regression_objective.hpp:406: public: should be indented +1 space inside class RegressionPoissonLoss [whitespace/indent] [3]
./src\objective\regression_objective.hpp:429: Using C-style cast. Use reinterpret_cast<label_t*>(...) instead [readability/casting] [4]
./src\objective\regression_objective.hpp:480: private: should be indented +1 space inside class RegressionPoissonLoss [whitespace/indent] [3]
./src\objective\regression_objective.hpp:486: public: should be indented +1 space inside class RegressionQuantileloss [whitespace/indent] [3]
./src\objective\regression_objective.hpp:606: private: should be indented +1 space inside class RegressionQuantileloss [whitespace/indent] [3]
./src\objective\regression_objective.hpp:615: public: should be indented +1 space inside class RegressionMAPELOSS [whitespace/indent] [3]
./src\objective\regression_objective.hpp:724: private: should be indented +1 space inside class RegressionMAPELOSS [whitespace/indent] [3]
./src\objective\regression_objective.hpp:734: public: should be indented +1 space inside class RegressionGammaLoss [whitespace/indent] [3]
./src\objective\regression_objective.hpp:769: public: should be indented +1 space inside class RegressionTweedieLoss [whitespace/indent] [3]
./src\objective\regression_objective.hpp:802: private: should be indented +1 space inside class RegressionTweedieLoss [whitespace/indent] [3]
./src\objective\regression_objective.hpp:641: Add #include <algorithm> for max [build/include_what_you_use] [4]
./src\objective\regression_objective.hpp:774: Add #include <string> for string [build/include_what_you_use] [4]
./src\objective\regression_objective.hpp:774: Add #include <vector> for vector<> [build/include_what_you_use] [4]
Done processing ./src\objective\regression_objective.hpp
./src\io\metadata.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
Done processing ./src\io\metadata.cpp
./src\io\dataset.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\dataset.cpp:7: <chrono> is an unapproved C++11 header. [build/c++11] [5]
./src\io\dataset.cpp:27: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\dataset.cpp:60: Is this a non-const reference? If so, make const or use a pointer: std::vector<bool>& mark [runtime/references] [2]
./src\io\dataset.cpp:138: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers [runtime/references] [2]
./src\io\dataset.cpp:748: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
./src\io\dataset.cpp:777: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
./src\io\dataset.cpp:810: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
./src\io\dataset.cpp:838: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
Done processing ./src\io\dataset.cpp
./src\treelearner\parallel_tree_learner.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\parallel_tree_learner.h:1: #ifndef header guard has wrong style, please use: SRC_TREELEARNER_PARALLEL_TREE_LEARNER_H_ [build/header_guard] [5]
./src\treelearner\parallel_tree_learner.h:211: #endif line should be "#endif // SRC_TREELEARNER_PARALLEL_TREE_LEARNER_H_" [build/header_guard] [5]
./src\treelearner\parallel_tree_learner.h:4: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\parallel_tree_learner.h:5: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\parallel_tree_learner.h:6: Found C system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other. [build/include_order]
./src\treelearner\parallel_tree_learner.h:8: Found C system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other. [build/include_order]
./src\treelearner\parallel_tree_learner.h:10: Found C++ system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other. [build/include_ord
./src\treelearner\parallel_tree_learner.h:11: Found C++ system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other. [build/include_ord
./src\treelearner\parallel_tree_learner.h:12: Found C++ system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other. [build/include_ord
./src\treelearner\parallel_tree_learner.h:23: public: should be indented +1 space inside class FeatureParallelTreeLearner [whitespace/indent] [3]
./src\treelearner\parallel_tree_learner.h:28: protected: should be indented +1 space inside class FeatureParallelTreeLearner [whitespace/indent] [3]
./src\treelearner\parallel_tree_learner.h:31: private: should be indented +1 space inside class FeatureParallelTreeLearner [whitespace/indent] [3]
./src\treelearner\parallel_tree_learner.h:49: public: should be indented +1 space inside class DataParallelTreeLearner [whitespace/indent] [3]
./src\treelearner\parallel_tree_learner.h:55: protected: should be indented +1 space inside class DataParallelTreeLearner [whitespace/indent] [3]
./src\treelearner\parallel_tree_learner.h:69: private: should be indented +1 space inside class DataParallelTreeLearner [whitespace/indent] [3]
./src\treelearner\parallel_tree_learner.h:103: public: should be indented +1 space inside class VotingParallelTreeLearner [whitespace/indent] [3]
./src\treelearner\parallel_tree_learner.h:109: protected: should be indented +1 space inside class VotingParallelTreeLearner [whitespace/indent] [3]
./src\treelearner\parallel_tree_learner.h:139: private: should be indented +1 space inside class VotingParallelTreeLearner [whitespace/indent] [3]
Done processing ./src\treelearner\parallel_tree_learner.h
./src\treelearner\leaf_splits.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\leaf_splits.hpp:1: #ifndef header guard has wrong style, please use: SRC_TREELEARNER_LEAF_SPLITS_HPP_ [build/header_guard] [5]
./src\treelearner\leaf_splits.hpp:162: #endif line should be "#endif // SRC_TREELEARNER_LEAF_SPLITS_HPP_" [build/header_guard] [5]
./src\treelearner\leaf_splits.hpp:6: Found C system header after C++ system header. Should be: leaf_splits.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\leaf_splits.hpp:9: Found C++ system header after other header. Should be: leaf_splits.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\leaf_splits.hpp:17: public: should be indented +1 space inside class LeafSplits [whitespace/indent] [3]
./src\treelearner\leaf_splits.hpp:18: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./src\treelearner\leaf_splits.hpp:144: private: should be indented +1 space inside class LeafSplits [whitespace/indent] [3]
Done processing ./src\treelearner\leaf_splits.hpp
./include\LightGBM\utils\log.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\utils\log.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_LOG_H_ [build/header_guard] [5]
./include\LightGBM\utils\log.h:103: #endif line should be "#endif // INCLUDE_LIGHTGBM_UTILS_LOG_H_" [build/header_guard] [5]
./include\LightGBM\utils\log.h:44: public: should be indented +1 space inside class Log [whitespace/indent] [3]
./include\LightGBM\utils\log.h:86: private: should be indented +1 space inside class Log [whitespace/indent] [3]
./include\LightGBM\utils\log.h:83: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\log.h
./include\LightGBM\utils\pipeline_reader.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\utils\pipeline_reader.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_PIPELINE_READER_H_ [build/header_guard] [5]
./include\LightGBM\utils\pipeline_reader.h:67: #endif line should be "#endif // INCLUDE_LIGHTGBM_UTILS_PIPELINE_READER_H_" [build/header_guard] [5]
./include\LightGBM\utils\pipeline_reader.h:9: <thread> is an unapproved C++11 header. [build/c++11] [5]
./include\LightGBM\utils\pipeline_reader.h:13: Include the directory when naming .h files [build/include_subdir] [4]
./include\LightGBM\utils\pipeline_reader.h:21: public: should be indented +1 space inside class PipelineReader [whitespace/indent] [3]
./include\LightGBM\utils\pipeline_reader.h:58: Add #include <utility> for swap [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\pipeline_reader.h
./src\treelearner\serial_tree_learner.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\serial_tree_learner.h:1: #ifndef header guard has wrong style, please use: SRC_TREELEARNER_SERIAL_TREE_LEARNER_H_ [build/header_guard] [5]
./src\treelearner\serial_tree_learner.h:183: #endif line should be "#endif // SRC_TREELEARNER_SERIAL_TREE_LEARNER_H_" [build/header_guard] [5]
./src\treelearner\serial_tree_learner.h:16: Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other. [build/include_order]
./src\treelearner\serial_tree_learner.h:17: Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other. [build/include_order]
./src\treelearner\serial_tree_learner.h:18: Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other. [build/include_order]
./src\treelearner\serial_tree_learner.h:19: Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other. [build/include_order]
./src\treelearner\serial_tree_learner.h:20: Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other. [build/include_order]
./src\treelearner\serial_tree_learner.h:27: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
./src\treelearner\serial_tree_learner.h:35: public: should be indented +1 space inside class SerialTreeLearner [whitespace/indent] [3]
./src\treelearner\serial_tree_learner.h:78: protected: should be indented +1 space inside class SerialTreeLearner [whitespace/indent] [3]
./src\treelearner\serial_tree_learner.h:105: Is this a non-const reference? If so, make const or use a pointer: Json& forced_split_json [runtime/references] [2]
Done processing ./src\treelearner\serial_tree_learner.h
./include\LightGBM\lightgbm_R.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\lightgbm_R.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_LIGHTGBM_R_H_ [build/header_guard] [5]
./include\LightGBM\lightgbm_R.h:525: #endif line should be "#endif // INCLUDE_LIGHTGBM_LIGHTGBM_R_H_" [build/header_guard] [5]
./include\LightGBM\lightgbm_R.h:7: Found C system header after C++ system header. Should be: lightgbm_R.h, c system, c++ system, other. [build/include_order] [4]
Done processing ./include\LightGBM\lightgbm_R.h
./src\treelearner\gpu_tree_learner.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\gpu_tree_learner.cpp:2: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\gpu_tree_learner.cpp:6: Found C system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:7: Found C system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:8: Found C system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:10: Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:11: Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:106: Using C-style cast. Use static_cast<int>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:111: Using C-style cast. Use static_cast<int>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:113: Using C-style cast. Use static_cast<int>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:154: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:154: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:173: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:173: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:178: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:178: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:186: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:194: Using C-style cast. Use reinterpret_cast<HistType*>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:212: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:212: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:321: At least two spaces is best between code and comments [whitespace/comments] [2]
./src\treelearner\gpu_tree_learner.cpp:332: Using C-style cast. Use static_cast<double>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:334: Using C-style cast. Use static_cast<int>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:341: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:341: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:356: Using C-style cast. Use static_cast<int>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:363: Using C-style cast. Use reinterpret_cast<Feature4*>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:367: Using C-style cast. Use reinterpret_cast<Feature4*>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:372: Using C-style cast. Use static_cast<int>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:414: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:414: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:426: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:426: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:433: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:433: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:438: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:438: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:473: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:473: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:477: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:477: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:487: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:487: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:495: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:495: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:499: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:499: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:513: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:513: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:675: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:675: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:708: Using C-style cast. Use static_cast<int>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:710: Using C-style cast. Use static_cast<int>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:723: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:723: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:729: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:729: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:735: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:735: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:785: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:785: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:819: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:819: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:915: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:915: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:928: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:928: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:948: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:948: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:985: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:985: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:1010: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:1010: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:1064: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:1064: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:564: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\treelearner\gpu_tree_learner.cpp
./src\network\network.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\network\network.cpp:5: Include the directory when naming .h files [build/include_subdir] [4]
./src\network\network.cpp:7: Found C++ system header after other header. Should be: network.h, c system, c++ system, other. [build/include_order] [4]
./src\network\network.cpp:8: Found C++ system header after other header. Should be: network.h, c system, c++ system, other. [build/include_order] [4]
Done processing ./src\network\network.cpp
./src\boosting\score_updater.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\score_updater.hpp:1: #ifndef header guard has wrong style, please use: SRC_BOOSTING_SCORE_UPDATER_HPP_ [build/header_guard] [5]
./src\boosting\score_updater.hpp:123: #endif line should be "#endif // SRC_BOOSTING_SCORE_UPDATER_HPP_" [build/header_guard] [5]
./src\boosting\score_updater.hpp:18: public: should be indented +1 space inside class ScoreUpdater [whitespace/indent] [3]
./src\boosting\score_updater.hpp:112: private: should be indented +1 space inside class ScoreUpdater [whitespace/indent] [3]
./src\boosting\score_updater.hpp:118: Add #include <vector> for vector<> [build/include_what_you_use] [4]
Done processing ./src\boosting\score_updater.hpp
./src\io\dataset_loader.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\dataset_loader.cpp:394: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\io\dataset_loader.cpp:394: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\io\dataset_loader.cpp:417: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\io\dataset_loader.cpp:417: If an else has a brace on one side, it should have it on both [readability/braces] [5]
Done processing ./src\io\dataset_loader.cpp
./include\LightGBM\dataset.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\dataset.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_DATASET_H_ [build/header_guard] [5]
./include\LightGBM\dataset.h:625: #endif line should be "#endif // INCLUDE_LIGHTGBM_DATASET_H_" [build/header_guard] [5]
./include\LightGBM\dataset.h:17: <mutex> is an unapproved C++11 header. [build/c++11] [5]
./include\LightGBM\dataset.h:37: public: should be indented +1 space inside class Metadata [whitespace/indent] [3]
./include\LightGBM\dataset.h:209: private: should be indented +1 space inside class Metadata [whitespace/indent] [3]
./include\LightGBM\dataset.h:250: public: should be indented +1 space inside class Parser [whitespace/indent] [3]
./include\LightGBM\dataset.h:279: public: should be indented +1 space inside class Dataset [whitespace/indent] [3]
./include\LightGBM\dataset.h:287: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers [runtime/references
./include\LightGBM\dataset.h:401: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<OrderedBin>>& ordered_bins [runtime/referenc
./include\LightGBM\dataset.h:584: private: should be indented +1 space inside class Dataset [whitespace/indent] [3]
Done processing ./include\LightGBM\dataset.h
./src\boosting\gbdt.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\gbdt.h:1: #ifndef header guard has wrong style, please use: SRC_BOOSTING_GBDT_H_ [build/header_guard] [5]
./src\boosting\gbdt.h:492: #endif line should be "#endif // SRC_BOOSTING_GBDT_H_" [build/header_guard] [5]
./src\boosting\gbdt.h:11: Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\gbdt.h:12: Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\gbdt.h:13: Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\gbdt.h:14: Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\gbdt.h:15: Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\gbdt.h:16: Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\gbdt.h:16: <mutex> is an unapproved C++11 header. [build/c++11] [5]
./src\boosting\gbdt.h:17: Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\gbdt.h:19: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
./src\boosting\gbdt.h:27: public: should be indented +1 space inside class GBDT [whitespace/indent] [3]
./src\boosting\gbdt.h:137: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:173: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:180: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:268: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:276: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:355: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:357: protected: should be indented +1 space inside class GBDT [whitespace/indent] [3]
./src\boosting\gbdt.h:381: Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand [runtime/references] [2]
./src\boosting\gbdt.h:87: Add #include <utility> for swap [build/include_what_you_use] [4]
./src\boosting\gbdt.h:330: Add #include <algorithm> for min [build/include_what_you_use] [4]
Done processing ./src\boosting\gbdt.h
./src\boosting\dart.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\dart.hpp:1: #ifndef header guard has wrong style, please use: SRC_BOOSTING_DART_HPP_ [build/header_guard] [5]
./src\boosting\dart.hpp:205: #endif line should be "#endif // SRC_BOOSTING_DART_HPP_" [build/header_guard] [5]
./src\boosting\dart.hpp:6: Include the directory when naming .h files [build/include_subdir] [4]
./src\boosting\dart.hpp:8: Found C++ system header after other header. Should be: dart.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\dart.hpp:9: Found C++ system header after other header. Should be: dart.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\dart.hpp:10: Found C++ system header after other header. Should be: dart.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\dart.hpp:11: Found C++ system header after other header. Should be: dart.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\dart.hpp:18: public: should be indented +1 space inside class DART [whitespace/indent] [3]
./src\boosting\dart.hpp:87: private: should be indented +1 space inside class DART [whitespace/indent] [3]
./src\boosting\dart.hpp:112: Add #include <algorithm> for min [build/include_what_you_use] [4]
Done processing ./src\boosting\dart.hpp
./src\io\dense_nbits_bin.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\dense_nbits_bin.hpp:1: #ifndef header guard has wrong style, please use: SRC_IO_DENSE_NBITS_BIN_HPP_ [build/header_guard] [5]
./src\io\dense_nbits_bin.hpp:389: #endif line should be "#endif // SRC_IO_DENSE_NBITS_BIN_HPP_" [build/header_guard] [5]
./src\io\dense_nbits_bin.hpp:15: public: should be indented +1 space inside class Dense4bitsBinIterator [whitespace/indent] [3]
./src\io\dense_nbits_bin.hpp:29: private: should be indented +1 space inside class Dense4bitsBinIterator [whitespace/indent] [3]
./src\io\dense_nbits_bin.hpp:38: public: should be indented +1 space inside class Dense4bitsBin [whitespace/indent] [3]
./src\io\dense_nbits_bin.hpp:40: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./src\io\dense_nbits_bin.hpp:213: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\io\dense_nbits_bin.hpp:274: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\io\dense_nbits_bin.hpp:365: protected: should be indented +1 space inside class Dense4bitsBin [whitespace/indent] [3]
Done processing ./src\io\dense_nbits_bin.hpp
./include\LightGBM\utils\file_io.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\utils\file_io.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_FILE_IO_H_ [build/header_guard] [5]
./include\LightGBM\utils\file_io.h:74: #endif line should be "#endif // INCLUDE_LIGHTGBM_UTILS_FILE_IO_H_" [build/header_guard] [5]
./include\LightGBM\utils\file_io.h:69: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\file_io.h
./include\LightGBM\dataset_loader.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\dataset_loader.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_DATASET_LOADER_H_ [build/header_guard] [5]
./include\LightGBM\dataset_loader.h:78: #endif line should be "#endif // INCLUDE_LIGHTGBM_DATASET_LOADER_H_" [build/header_guard] [5]
./include\LightGBM\dataset_loader.h:9: public: should be indented +1 space inside class DatasetLoader [whitespace/indent] [3]
./include\LightGBM\dataset_loader.h:31: private: should be indented +1 space inside class DatasetLoader [whitespace/indent] [3]
./include\LightGBM\dataset_loader.h:47: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::string>& text_data [runtime/references] [2]
./include\LightGBM\dataset_loader.h:76: Namespace should be terminated with "// namespace LightGBM" [readability/namespace] [5]
./include\LightGBM\dataset_loader.h:71: Add #include <string> for string [build/include_what_you_use] [4]
./include\LightGBM\dataset_loader.h:71: Add #include <vector> for vector<> [build/include_what_you_use] [4]
Done processing ./include\LightGBM\dataset_loader.h
./src\objective\xentropy_objective.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\objective\xentropy_objective.hpp:1: #ifndef header guard has wrong style, please use: SRC_OBJECTIVE_XENTROPY_OBJECTIVE_HPP_ [build/header_guard] [5]
./src\objective\xentropy_objective.hpp:269: #endif line should be "#endif // SRC_OBJECTIVE_XENTROPY_OBJECTIVE_HPP_" [build/header_guard] [5]
./src\objective\xentropy_objective.hpp:39: public: should be indented +1 space inside class CrossEntropy [whitespace/indent] [3]
./src\objective\xentropy_objective.hpp:60: Using C-style cast. Use reinterpret_cast<label_t*>(...) instead [readability/casting] [4]
./src\objective\xentropy_objective.hpp:130: private: should be indented +1 space inside class CrossEntropy [whitespace/indent] [3]
./src\objective\xentropy_objective.hpp:143: public: should be indented +1 space inside class CrossEntropyLambda [whitespace/indent] [3]
./src\objective\xentropy_objective.hpp:163: Using C-style cast. Use reinterpret_cast<label_t*>(...) instead [readability/casting] [4]
./src\objective\xentropy_objective.hpp:254: private: should be indented +1 space inside class CrossEntropyLambda [whitespace/indent] [3]
./src\objective\xentropy_objective.hpp:124: Add #include <algorithm> for max [build/include_what_you_use] [4]
./src\objective\xentropy_objective.hpp:148: Add #include <vector> for vector<> [build/include_what_you_use] [4]
./src\objective\xentropy_objective.hpp:226: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\objective\xentropy_objective.hpp
./src\io\config.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\config.cpp:157: Use int16/int64/etc, rather than the C type short [runtime/int] [4]
Done processing ./src\io\config.cpp
./src\treelearner\gpu_tree_learner.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\gpu_tree_learner.h:1: #ifndef header guard has wrong style, please use: SRC_TREELEARNER_GPU_TREE_LEARNER_H_ [build/header_guard] [5]
./src\treelearner\gpu_tree_learner.h:284: #endif line should be "#endif // SRC_TREELEARNER_GPU_TREE_LEARNER_H_" [build/header_guard] [5]
./src\treelearner\gpu_tree_learner.h:10: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\gpu_tree_learner.h:15: Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:16: Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:17: Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:18: Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:19: Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:31: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
./src\treelearner\gpu_tree_learner.h:39: public: should be indented +1 space inside class GPUTreeLearner [whitespace/indent] [3]
./src\treelearner\gpu_tree_learner.h:60: protected: should be indented +1 space inside class GPUTreeLearner [whitespace/indent] [3]
./src\treelearner\gpu_tree_learner.h:67: private: should be indented +1 space inside class GPUTreeLearner [whitespace/indent] [3]
./src\treelearner\gpu_tree_learner.h:172: Line contains only semicolon. If this should be an empty statement, use {} instead. [whitespace/semicolon] [5]
./src\treelearner\gpu_tree_learner.h:176: Line contains only semicolon. If this should be an empty statement, use {} instead. [whitespace/semicolon] [5]
./src\treelearner\gpu_tree_learner.h:180: Line contains only semicolon. If this should be an empty statement, use {} instead. [whitespace/semicolon] [5]
./src\treelearner\gpu_tree_learner.h:272: public: should be indented +1 space inside class GPUTreeLearner [whitespace/indent] [3]
./src\treelearner\gpu_tree_learner.h:184: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\treelearner\gpu_tree_learner.h
./include\LightGBM\feature_group.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\feature_group.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_FEATURE_GROUP_H_ [build/header_guard] [5]
./include\LightGBM\feature_group.h:234: #endif line should be "#endif // INCLUDE_LIGHTGBM_FEATURE_GROUP_H_" [build/header_guard] [5]
./include\LightGBM\feature_group.h:19: public: should be indented +1 space inside class FeatureGroup [whitespace/indent] [3]
./include\LightGBM\feature_group.h:31: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers [runtime/refer
./include\LightGBM\feature_group.h:54: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers [runtime/refer
./include\LightGBM\feature_group.h:217: private: should be indented +1 space inside class FeatureGroup [whitespace/indent] [3]
Done processing ./include\LightGBM\feature_group.h
./src\boosting\goss.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\goss.hpp:1: #ifndef header guard has wrong style, please use: SRC_BOOSTING_GOSS_HPP_ [build/header_guard] [5]
./src\boosting\goss.hpp:216: #endif line should be "#endif // SRC_BOOSTING_GOSS_HPP_" [build/header_guard] [5]
./src\boosting\goss.hpp:10: Include the directory when naming .h files [build/include_subdir] [4]
./src\boosting\goss.hpp:12: Found C++ system header after other header. Should be: goss.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\goss.hpp:13: Found C++ system header after other header. Should be: goss.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\goss.hpp:14: Found C++ system header after other header. Should be: goss.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\goss.hpp:15: Found C++ system header after other header. Should be: goss.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\goss.hpp:16: Found C++ system header after other header. Should be: goss.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\goss.hpp:16: <chrono> is an unapproved C++11 header. [build/c++11] [5]
./src\boosting\goss.hpp:17: Found C++ system header after other header. Should be: goss.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\goss.hpp:27: public: should be indented +1 space inside class GOSS [whitespace/indent] [3]
./src\boosting\goss.hpp:87: Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand [runtime/references] [2]
./src\boosting\goss.hpp:211: private: should be indented +1 space inside class GOSS [whitespace/indent] [3]
Done processing ./src\boosting\goss.hpp
./src\treelearner\data_parallel_tree_learner.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\data_parallel_tree_learner.cpp:1: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\data_parallel_tree_learner.cpp:3: Found C++ system header after other header. Should be: data_parallel_tree_learner.h, c system, c++ system, other. [build/
./src\treelearner\data_parallel_tree_learner.cpp:5: Found C++ system header after other header. Should be: data_parallel_tree_learner.h, c system, c++ system, other. [build/
./src\treelearner\data_parallel_tree_learner.cpp:6: Found C++ system header after other header. Should be: data_parallel_tree_learner.h, c system, c++ system, other. [build/
./src\treelearner\data_parallel_tree_learner.cpp:138: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
Done processing ./src\treelearner\data_parallel_tree_learner.cpp
./src\treelearner\voting_parallel_tree_learner.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\voting_parallel_tree_learner.cpp:1: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\voting_parallel_tree_learner.cpp:3: Found C system header after other header. Should be: voting_parallel_tree_learner.h, c system, c++ system, other. [buil
./src\treelearner\voting_parallel_tree_learner.cpp:5: Found C++ system header after other header. Should be: voting_parallel_tree_learner.h, c system, c++ system, other. [bu
./src\treelearner\voting_parallel_tree_learner.cpp:6: Found C++ system header after other header. Should be: voting_parallel_tree_learner.h, c system, c++ system, other. [bu
./src\treelearner\voting_parallel_tree_learner.cpp:7: Found C++ system header after other header. Should be: voting_parallel_tree_learner.h, c system, c++ system, other. [bu
./src\treelearner\voting_parallel_tree_learner.cpp:134: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
Done processing ./src\treelearner\voting_parallel_tree_learner.cpp
./src\io\sparse_bin.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\sparse_bin.hpp:1: #ifndef header guard has wrong style, please use: SRC_IO_SPARSE_BIN_HPP_ [build/header_guard] [5]
./src\io\sparse_bin.hpp:456: #endif line should be "#endif // SRC_IO_SPARSE_BIN_HPP_" [build/header_guard] [5]
./src\io\sparse_bin.hpp:23: public: should be indented +1 space inside class SparseBinIterator [whitespace/indent] [3]
./src\io\sparse_bin.hpp:55: private: should be indented +1 space inside class SparseBinIterator [whitespace/indent] [3]
./src\io\sparse_bin.hpp:70: public: should be indented +1 space inside class SparseBin [whitespace/indent] [3]
./src\io\sparse_bin.hpp:74: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./src\io\sparse_bin.hpp:144: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\io\sparse_bin.hpp:207: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\io\sparse_bin.hpp:410: protected: should be indented +1 space inside class SparseBin [whitespace/indent] [3]
./src\io\sparse_bin.hpp:254: Add #include <algorithm> for sort [build/include_what_you_use] [4]
./src\io\sparse_bin.hpp:416: Add #include <utility> for pair<> [build/include_what_you_use] [4]
Done processing ./src\io\sparse_bin.hpp
./src\network\linkers_socket.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\network\linkers_socket.cpp:2: Include the directory when naming .h files [build/include_subdir] [4]
./src\network\linkers_socket.cpp:14: <thread> is an unapproved C++11 header. [build/c++11] [5]
./src\network\linkers_socket.cpp:15: <chrono> is an unapproved C++11 header. [build/c++11] [5]
Done processing ./src\network\linkers_socket.cpp
./include\LightGBM\utils\array_args.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\utils\array_args.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_ARRAY_ARGS_H_ [build/header_guard] [5]
./include\LightGBM\utils\array_args.h:191: #endif line should be "#endif // INCLUDE_LIGHTGBM_UTILS_ARRAY_ARGS_H_" [build/header_guard] [5]
./include\LightGBM\utils\array_args.h:6: Found C system header after C++ system header. Should be: array_args.h, c system, c++ system, other. [build/include_order] [4]
./include\LightGBM\utils\array_args.h:15: public: should be indented +1 space inside class ArrayArgs [whitespace/indent] [3]
./include\LightGBM\utils\array_args.h:113: Empty loop bodies should use {} or continue [whitespace/empty_loop_body] [5]
./include\LightGBM\utils\array_args.h:124: Add #include <utility> for swap [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\array_args.h
./src\treelearner\feature_parallel_tree_learner.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\feature_parallel_tree_learner.cpp:1: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\feature_parallel_tree_learner.cpp:3: Found C++ system header after other header. Should be: feature_parallel_tree_learner.h, c system, c++ system, other. [
./src\treelearner\feature_parallel_tree_learner.cpp:5: Found C++ system header after other header. Should be: feature_parallel_tree_learner.h, c system, c++ system, other. [
Done processing ./src\treelearner\feature_parallel_tree_learner.cpp
./src\boosting\rf.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\rf.hpp:1: #ifndef header guard has wrong style, please use: SRC_BOOSTING_RF_HPP_ [build/header_guard] [5]
./src\boosting\rf.hpp:209: #endif line should be "#endif // SRC_BOOSTING_RF_HPP_" [build/header_guard] [5]
./src\boosting\rf.hpp:7: Include the directory when naming .h files [build/include_subdir] [4]
./src\boosting\rf.hpp:9: Found C++ system header after other header. Should be: rf.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\rf.hpp:10: Found C++ system header after other header. Should be: rf.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\rf.hpp:11: Found C++ system header after other header. Should be: rf.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\rf.hpp:12: Found C++ system header after other header. Should be: rf.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\rf.hpp:19: public: should be indented +1 space inside class RF [whitespace/indent] [3]
./src\boosting\rf.hpp:202: private: should be indented +1 space inside class RF [whitespace/indent] [3]
Done processing ./src\boosting\rf.hpp
./src\application\predictor.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\application\predictor.hpp:1: #ifndef header guard has wrong style, please use: SRC_APPLICATION_PREDICTOR_HPP_ [build/header_guard] [5]
./src\application\predictor.hpp:257: #endif line should be "#endif // SRC_APPLICATION_PREDICTOR_HPP_" [build/header_guard] [5]
./src\application\predictor.hpp:26: public: should be indented +1 space inside class Predictor [whitespace/indent] [3]
./src\application\predictor.hpp:41: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\application\predictor.hpp:42: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
./src\application\predictor.hpp:210: private: should be indented +1 space inside class Predictor [whitespace/indent] [3]
Done processing ./src\application\predictor.hpp
./src\treelearner\data_partition.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\data_partition.hpp:1: #ifndef header guard has wrong style, please use: SRC_TREELEARNER_DATA_PARTITION_HPP_ [build/header_guard] [5]
./src\treelearner\data_partition.hpp:225: #endif line should be "#endif // SRC_TREELEARNER_DATA_PARTITION_HPP_" [build/header_guard] [5]
./src\treelearner\data_partition.hpp:18: public: should be indented +1 space inside class DataPartition [whitespace/indent] [3]
./src\treelearner\data_partition.hpp:191: private: should be indented +1 space inside class DataPartition [whitespace/indent] [3]
./src\treelearner\data_partition.hpp:83: Add #include <algorithm> for copy [build/include_what_you_use] [4]
Done processing ./src\treelearner\data_partition.hpp
./include\LightGBM\tree_learner.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\tree_learner.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_TREE_LEARNER_H_ [build/header_guard] [5]
./include\LightGBM\tree_learner.h:100: #endif line should be "#endif // INCLUDE_LIGHTGBM_TREE_LEARNER_H_" [build/header_guard] [5]
./include\LightGBM\tree_learner.h:9: Found C++ system header after other header. Should be: tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./include\LightGBM\tree_learner.h:11: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
./include\LightGBM\tree_learner.h:24: public: should be indented +1 space inside class TreeLearner [whitespace/indent] [3]
./include\LightGBM\tree_learner.h:51: Is this a non-const reference? If so, make const or use a pointer: Json& forced_split_json [runtime/references] [2]
./include\LightGBM\tree_learner.h:94: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./include\LightGBM\tree_learner.h
./src\io\file_io.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\file_io.cpp:45: private: should be indented +1 space inside struct LocalFile [whitespace/indent] [3]
./src\io\file_io.cpp:51: For a static/global string constant, use a C style string instead: "const char kHdfsProto[]". [runtime/string] [4]
./src\io\file_io.cpp:89: private: should be indented +1 space inside struct HDFSFile [whitespace/indent] [3]
./src\io\file_io.cpp:95: Using C-style cast. Use reinterpret_cast<char *>(...) instead [readability/casting] [4]
Done processing ./src\io\file_io.cpp
./include\LightGBM\metric.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\metric.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_METRIC_H_ [build/header_guard] [5]
./include\LightGBM\metric.h:139: #endif line should be "#endif // INCLUDE_LIGHTGBM_METRIC_H_" [build/header_guard] [5]
./include\LightGBM\metric.h:21: public: should be indented +1 space inside class Metric [whitespace/indent] [3]
./include\LightGBM\metric.h:60: public: should be indented +1 space inside class DCGCalculator [whitespace/indent] [3]
./include\LightGBM\metric.h:126: private: should be indented +1 space inside class DCGCalculator [whitespace/indent] [3]
./include\LightGBM\metric.h:53: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./include\LightGBM\metric.h
./src\io\tree.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\tree.cpp:345: Using deprecated casting style. Use static_cast<int>(...) instead [readability/casting] [4]
Done processing ./src\io\tree.cpp
./src\treelearner\feature_histogram.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\feature_histogram.hpp:1: #ifndef header guard has wrong style, please use: SRC_TREELEARNER_FEATURE_HISTOGRAM_HPP_ [build/header_guard] [5]
./src\treelearner\feature_histogram.hpp:821: #endif line should be "#endif // SRC_TREELEARNER_FEATURE_HISTOGRAM_HPP_" [build/header_guard] [5]
./src\treelearner\feature_histogram.hpp:6: Found C system header after other header. Should be: feature_histogram.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\feature_histogram.hpp:7: Found C system header after other header. Should be: feature_histogram.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\feature_histogram.hpp:9: Found C++ system header after other header. Should be: feature_histogram.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\feature_histogram.hpp:10: Found C++ system header after other header. Should be: feature_histogram.h, c system, c++ system, other. [build/include_order] [4
./src\treelearner\feature_histogram.hpp:15: public: should be indented +1 space inside class FeatureMetainfo [whitespace/indent] [3]
./src\treelearner\feature_histogram.hpp:30: public: should be indented +1 space inside class FeatureHistogram [whitespace/indent] [3]
./src\treelearner\feature_histogram.hpp:452: private: should be indented +1 space inside class FeatureHistogram [whitespace/indent] [3]
./src\treelearner\feature_histogram.hpp:647: public: should be indented +1 space inside class HistogramPool [whitespace/indent] [3]
./src\treelearner\feature_histogram.hpp:668: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
./src\treelearner\feature_histogram.hpp:807: private: should be indented +1 space inside class HistogramPool [whitespace/indent] [3]
./src\treelearner\feature_histogram.hpp:439: Add #include <algorithm> for max [build/include_what_you_use] [4]
./src\treelearner\feature_histogram.hpp:790: Add #include <utility> for swap [build/include_what_you_use] [4]
./src\treelearner\feature_histogram.hpp:816: Add #include <vector> for vector<> [build/include_what_you_use] [4]
Done processing ./src\treelearner\feature_histogram.hpp
./include\LightGBM\utils\text_reader.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\utils\text_reader.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_TEXT_READER_H_ [build/header_guard] [5]
./include\LightGBM\utils\text_reader.h:326: #endif line should be "#endif // INCLUDE_LIGHTGBM_UTILS_TEXT_READER_H_" [build/header_guard] [5]
./include\LightGBM\utils\text_reader.h:22: public: should be indented +1 space inside class TextReader [whitespace/indent] [3]
./include\LightGBM\utils\text_reader.h:104: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:104: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:114: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:114: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:162: Is this a non-const reference? If so, make const or use a pointer: Random& random [runtime/references] [2]
./include\LightGBM\utils\text_reader.h:171: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:171: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:198: Is this a non-const reference? If so, make const or use a pointer: Random& random [runtime/references] [2]
./include\LightGBM\utils\text_reader.h:211: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:211: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:254: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:254: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:267: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:267: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:303: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:303: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:309: private: should be indented +1 space inside class TextReader [whitespace/indent] [3]
Done processing ./include\LightGBM\utils\text_reader.h
./include\LightGBM\boosting.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\boosting.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_BOOSTING_H_ [build/header_guard] [5]
./include\LightGBM\boosting.h:304: #endif line should be "#endif // INCLUDE_LIGHTGBM_BOOSTING_H_" [build/header_guard] [5]
./include\LightGBM\boosting.h:23: public: should be indented +1 space inside class Boosting [whitespace/indent] [3]
./include\LightGBM\boosting.h:297: public: should be indented +1 space inside class GBDTBase [whitespace/indent] [3]
Done processing ./include\LightGBM\boosting.h
./src\metric\binary_metric.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\metric\binary_metric.hpp:1: #ifndef header guard has wrong style, please use: SRC_METRIC_BINARY_METRIC_HPP_ [build/header_guard] [5]
./src\metric\binary_metric.hpp:263: #endif line should be "#endif // SRC_METRIC_BINARY_METRIC_HPP_" [build/header_guard] [5]
./src\metric\binary_metric.hpp:21: public: should be indented +1 space inside class BinaryMetric [whitespace/indent] [3]
./src\metric\binary_metric.hpp:95: private: should be indented +1 space inside class BinaryMetric [whitespace/indent] [3]
./src\metric\binary_metric.hpp:112: public: should be indented +1 space inside class BinaryLoglossMetric [whitespace/indent] [3]
./src\metric\binary_metric.hpp:136: public: should be indented +1 space inside class BinaryErrorMetric [whitespace/indent] [3]
./src\metric\binary_metric.hpp:156: public: should be indented +1 space inside class AUCMetric [whitespace/indent] [3]
./src\metric\binary_metric.hpp:249: private: should be indented +1 space inside class AUCMetric [whitespace/indent] [3]
./src\metric\binary_metric.hpp:259: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\metric\binary_metric.hpp
./src\metric\dcg_calculator.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\metric\dcg_calculator.cpp:25: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing ./src\metric\dcg_calculator.cpp
./include\LightGBM\network.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\network.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_NETWORK_H_ [build/header_guard] [5]
./include\LightGBM\network.h:307: #endif line should be "#endif // INCLUDE_LIGHTGBM_NETWORK_H_" [build/header_guard] [5]
./include\LightGBM\network.h:20: public: should be indented +1 space inside class BruckMap [whitespace/indent] [3]
./include\LightGBM\network.h:54: public: should be indented +1 space inside class RecursiveHalvingMap [whitespace/indent] [3]
./include\LightGBM\network.h:87: public: should be indented +1 space inside class Network [whitespace/indent] [3]
./include\LightGBM\network.h:166: Is this a non-const reference? If so, make const or use a pointer: T& local [runtime/references] [2]
./include\LightGBM\network.h:190: Is this a non-const reference? If so, make const or use a pointer: T& local [runtime/references] [2]
./include\LightGBM\network.h:214: Is this a non-const reference? If so, make const or use a pointer: T& local [runtime/references] [2]
./include\LightGBM\network.h:236: Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& local [runtime/references] [2]
./include\LightGBM\network.h:259: private: should be indented +1 space inside class Network [whitespace/indent] [3]
Done processing ./include\LightGBM\network.h
./src\lightgbm_R.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\lightgbm_R.cpp:34: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing ./src\lightgbm_R.cpp
./include\LightGBM\utils\openmp_wrapper.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\utils\openmp_wrapper.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_OPENMP_WRAPPER_H_ [build/header_guard] [5]
./include\LightGBM\utils\openmp_wrapper.h:75: #endif line should be "#endif // INCLUDE_LIGHTGBM_UTILS_OPENMP_WRAPPER_H_" [build/header_guard] [5]
./include\LightGBM\utils\openmp_wrapper.h:8: <mutex> is an unapproved C++11 header. [build/c++11] [5]
./include\LightGBM\utils\openmp_wrapper.h:11: Include the directory when naming .h files [build/include_subdir] [4]
./include\LightGBM\utils\openmp_wrapper.h:14: public: should be indented +1 space inside class ThreadExceptionHelper [whitespace/indent] [3]
./include\LightGBM\utils\openmp_wrapper.h:34: private: should be indented +1 space inside class ThreadExceptionHelper [whitespace/indent] [3]
Done processing ./include\LightGBM\utils\openmp_wrapper.h
./src\io\config_auto.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\config_auto.cpp:275: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
./src\io\config_auto.cpp:281: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:288: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
./src\io\config_auto.cpp:345: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:348: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:357: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:360: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:379: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:382: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:385: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:460: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:488: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:495: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:504: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:507: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:510: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:521: Redundant blank line at the end of a code block should be deleted. [whitespace/blank_line] [3]
./src\io\config_auto.cpp:626: Namespace should be terminated with "// namespace LightGBM" [readability/namespace] [5]
Done processing ./src\io\config_auto.cpp
./include\LightGBM\tree.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\tree.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_TREE_H_ [build/header_guard] [5]
./include\LightGBM\tree.h:517: #endif line should be "#endif // INCLUDE_LIGHTGBM_TREE_H_" [build/header_guard] [5]
./include\LightGBM\tree.h:21: public: should be indented +1 space inside class Tree [whitespace/indent] [3]
./include\LightGBM\tree.h:206: private: should be indented +1 space inside class Tree [whitespace/indent] [3]
./include\LightGBM\tree.h:262: Using deprecated casting style. Use static_cast<int>(...) instead [readability/casting] [4]
./include\LightGBM\tree.h:271: Using deprecated casting style. Use static_cast<int>(...) instead [readability/casting] [4]
./include\LightGBM\tree.h:334: Complex multi-line /*...*/-style comment found. Lint may give bogus warnings. Consider replacing these with //-style comments, with #if 0...#e
-line comments. [readability/multiline_comment] [5]
./include\LightGBM\tree.h:334: At least two spaces is best between code and comments [whitespace/comments] [2]
./include\LightGBM\tree.h:334: Should have a space between // and comment [whitespace/comments] [4]
./include\LightGBM\tree.h:334: Extra space for operator ! [whitespace/operators] [4]
./include\LightGBM\tree.h:469: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing ./include\LightGBM\tree.h
./include\LightGBM\objective_function.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\objective_function.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_OBJECTIVE_FUNCTION_H_ [build/header_guard] [5]
./include\LightGBM\objective_function.h:93: #endif line should be "#endif // INCLUDE_LIGHTGBM_OBJECTIVE_FUNCTION_H_" [build/header_guard] [5]
./include\LightGBM\objective_function.h:14: public: should be indented +1 space inside class ObjectiveFunction [whitespace/indent] [3]
./include\LightGBM\objective_function.h:88: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./include\LightGBM\objective_function.h
./include\LightGBM\config.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\config.h:3: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_CONFIG_H_ [build/header_guard] [5]
./include\LightGBM\config.h:879: #endif line should be "#endif // INCLUDE_LIGHTGBM_CONFIG_H_" [build/header_guard] [5]
./include\LightGBM\config.h:28: public: should be indented +1 space inside struct Config [whitespace/indent] [3]
./include\LightGBM\config.h:74: Is this a non-const reference? If so, make const or use a pointer: std::unordered_map<std::string, std::string>& params [runtime/references]
./include\LightGBM\config.h:775: private: should be indented +1 space inside struct Config [whitespace/indent] [3]
Done processing ./include\LightGBM\config.h
./src\application\application.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\application\application.cpp:16: Found C system header after other header. Should be: application.h, c system, c++ system, other. [build/include_order] [4]
./src\application\application.cpp:18: Found C++ system header after other header. Should be: application.h, c system, c++ system, other. [build/include_order] [4]
./src\application\application.cpp:19: Found C++ system header after other header. Should be: application.h, c system, c++ system, other. [build/include_order] [4]
./src\application\application.cpp:21: Found C++ system header after other header. Should be: application.h, c system, c++ system, other. [build/include_order] [4]
./src\application\application.cpp:21: <chrono> is an unapproved C++11 header. [build/c++11] [5]
./src\application\application.cpp:22: Found C++ system header after other header. Should be: application.h, c system, c++ system, other. [build/include_order] [4]
./src\application\application.cpp:23: Found C++ system header after other header. Should be: application.h, c system, c++ system, other. [build/include_order] [4]
./src\application\application.cpp:24: Found C++ system header after other header. Should be: application.h, c system, c++ system, other. [build/include_order] [4]
./src\application\application.cpp:25: Found C++ system header after other header. Should be: application.h, c system, c++ system, other. [build/include_order] [4]
./src\application\application.cpp:26: Found C++ system header after other header. Should be: application.h, c system, c++ system, other. [build/include_order] [4]
Done processing ./src\application\application.cpp
./src\io\bin.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\bin.cpp:11: Found C++ system header after other header. Should be: bin.h, c system, c++ system, other. [build/include_order] [4]
./src\io\bin.cpp:12: Found C++ system header after other header. Should be: bin.h, c system, c++ system, other. [build/include_order] [4]
./src\io\bin.cpp:13: Found C++ system header after other header. Should be: bin.h, c system, c++ system, other. [build/include_order] [4]
./src\io\bin.cpp:15: Found C++ system header after other header. Should be: bin.h, c system, c++ system, other. [build/include_order] [4]
./src\io\bin.cpp:16: Found C++ system header after other header. Should be: bin.h, c system, c++ system, other. [build/include_order] [4]
./src\io\bin.cpp:17: Found C++ system header after other header. Should be: bin.h, c system, c++ system, other. [build/include_order] [4]
./src\io\bin.cpp:76: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\bin.cpp:196: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\bin.cpp:392: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing ./src\io\bin.cpp
./src\io\dense_bin.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\dense_bin.hpp:1: #ifndef header guard has wrong style, please use: SRC_IO_DENSE_BIN_HPP_ [build/header_guard] [5]
./src\io\dense_bin.hpp:339: #endif line should be "#endif // SRC_IO_DENSE_BIN_HPP_" [build/header_guard] [5]
./src\io\dense_bin.hpp:17: public: should be indented +1 space inside class DenseBinIterator [whitespace/indent] [3]
./src\io\dense_bin.hpp:31: private: should be indented +1 space inside class DenseBinIterator [whitespace/indent] [3]
./src\io\dense_bin.hpp:44: public: should be indented +1 space inside class DenseBin [whitespace/indent] [3]
./src\io\dense_bin.hpp:46: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./src\io\dense_bin.hpp:190: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\io\dense_bin.hpp:251: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\io\dense_bin.hpp:313: protected: should be indented +1 space inside class DenseBin [whitespace/indent] [3]
Done processing ./src\io\dense_bin.hpp
./src\network\socket_wrapper.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\network\socket_wrapper.hpp:1: #ifndef header guard has wrong style, please use: SRC_NETWORK_SOCKET_WRAPPER_HPP_ [build/header_guard] [5]
./src\network\socket_wrapper.hpp:300: #endif line should be "#endif // SRC_NETWORK_SOCKET_WRAPPER_HPP_" [build/header_guard] [5]
./src\network\socket_wrapper.hpp:18: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:19: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:20: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:21: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:22: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:23: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:24: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:25: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:89: public: should be indented +1 space inside class TcpSocket [whitespace/indent] [3]
./src\network\socket_wrapper.hpp:176: Using C-style cast. Use reinterpret_cast<IP_ADAPTER_INFO *>(...) instead [readability/casting] [4]
./src\network\socket_wrapper.hpp:184: Using C-style cast. Use reinterpret_cast<IP_ADAPTER_INFO *>(...) instead [readability/casting] [4]
./src\network\socket_wrapper.hpp:216: Are you taking an address of a cast? This is dangerous: could be a temp var. Take the address before doing the cast, rather than after
./src\network\socket_wrapper.hpp:294: private: should be indented +1 space inside class TcpSocket [whitespace/indent] [3]
Done processing ./src\network\socket_wrapper.hpp
./src\objective\objective_function.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
Done processing ./src\objective\objective_function.cpp
./src\metric\regression_metric.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\metric\regression_metric.hpp:1: #ifndef header guard has wrong style, please use: SRC_METRIC_REGRESSION_METRIC_HPP_ [build/header_guard] [5]
./src\metric\regression_metric.hpp:316: #endif line should be "#endif // SRC_METRIC_REGRESSION_METRIC_HPP_" [build/header_guard] [5]
./src\metric\regression_metric.hpp:17: public: should be indented +1 space inside class RegressionMetric [whitespace/indent] [3]
./src\metric\regression_metric.hpp:98: private: should be indented +1 space inside class RegressionMetric [whitespace/indent] [3]
./src\metric\regression_metric.hpp:114: public: should be indented +1 space inside class RMSEMetric [whitespace/indent] [3]
./src\metric\regression_metric.hpp:133: public: should be indented +1 space inside class L2Metric [whitespace/indent] [3]
./src\metric\regression_metric.hpp:147: public: should be indented +1 space inside class QuantileMetric [whitespace/indent] [3]
./src\metric\regression_metric.hpp:168: public: should be indented +1 space inside class L1Metric [whitespace/indent] [3]
./src\metric\regression_metric.hpp:181: public: should be indented +1 space inside class HuberLossMetric [whitespace/indent] [3]
./src\metric\regression_metric.hpp:202: public: should be indented +1 space inside class FairLossMetric [whitespace/indent] [3]
./src\metric\regression_metric.hpp:219: public: should be indented +1 space inside class PoissonMetric [whitespace/indent] [3]
./src\metric\regression_metric.hpp:238: public: should be indented +1 space inside class MAPEMetric [whitespace/indent] [3]
./src\metric\regression_metric.hpp:251: public: should be indented +1 space inside class GammaMetric [whitespace/indent] [3]
./src\metric\regression_metric.hpp:268: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\metric\regression_metric.hpp:274: public: should be indented +1 space inside class GammaDevianceMetric [whitespace/indent] [3]
./src\metric\regression_metric.hpp:290: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\metric\regression_metric.hpp:295: public: should be indented +1 space inside class TweedieMetric [whitespace/indent] [3]
./src\metric\regression_metric.hpp:109: Add #include <string> for string [build/include_what_you_use] [4]
./src\metric\regression_metric.hpp:109: Add #include <vector> for vector<> [build/include_what_you_use] [4]
./src\metric\regression_metric.hpp:243: Add #include <algorithm> for max [build/include_what_you_use] [4]
Done processing ./src\metric\regression_metric.hpp
./src\boosting\gbdt_prediction.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\gbdt_prediction.cpp:1: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\boosting\gbdt_prediction.cpp
./src\metric\multiclass_metric.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\metric\multiclass_metric.hpp:1: #ifndef header guard has wrong style, please use: SRC_METRIC_MULTICLASS_METRIC_HPP_ [build/header_guard] [5]
./src\metric\multiclass_metric.hpp:169: #endif line should be "#endif // SRC_METRIC_MULTICLASS_METRIC_HPP_" [build/header_guard] [5]
./src\metric\multiclass_metric.hpp:17: public: should be indented +1 space inside class MulticlassMetric [whitespace/indent] [3]
./src\metric\multiclass_metric.hpp:115: private: should be indented +1 space inside class MulticlassMetric [whitespace/indent] [3]
./src\metric\multiclass_metric.hpp:131: public: should be indented +1 space inside class MultiErrorMetric [whitespace/indent] [3]
./src\metric\multiclass_metric.hpp:134: Is this a non-const reference? If so, make const or use a pointer: std::vector<double>& score [runtime/references] [2]
./src\metric\multiclass_metric.hpp:151: public: should be indented +1 space inside class MultiSoftmaxLoglossMetric [whitespace/indent] [3]
./src\metric\multiclass_metric.hpp:154: Is this a non-const reference? If so, make const or use a pointer: std::vector<double>& score [runtime/references] [2]
./src\metric\multiclass_metric.hpp:125: Add #include <string> for string [build/include_what_you_use] [4]
./src\metric\multiclass_metric.hpp:154: Add #include <vector> for vector<> [build/include_what_you_use] [4]
Done processing ./src\metric\multiclass_metric.hpp
./src\network\linkers.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\network\linkers.h:1: #ifndef header guard has wrong style, please use: SRC_NETWORK_LINKERS_H_ [build/header_guard] [5]
./src\network\linkers.h:307: #endif line should be "#endif // SRC_NETWORK_LINKERS_H_" [build/header_guard] [5]
./src\network\linkers.h:10: <chrono> is an unapproved C++11 header. [build/c++11] [5]
./src\network\linkers.h:12: <thread> is an unapproved C++11 header. [build/c++11] [5]
./src\network\linkers.h:19: Found C system header after other header. Should be: linkers.h, c system, c++ system, other. [build/include_order] [4]
./src\network\linkers.h:35: public: should be indented +1 space inside class Linkers [whitespace/indent] [3]
./src\network\linkers.h:139: private: should be indented +1 space inside class Linkers [whitespace/indent] [3]
Done processing ./src\network\linkers.h
./include\LightGBM\utils\common.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\utils\common.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_COMMON_H_ [build/header_guard] [5]
./include\LightGBM\utils\common.h:881: #endif line should be "#endif // INCLUDE_LIGHTGBM_UTILS_COMMON_H_" [build/header_guard] [5]
./include\LightGBM\utils\common.h:21: Include the directory when naming .h files [build/include_subdir] [4]
./include\LightGBM\utils\common.h:297: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
./include\LightGBM\utils\common.h:343: Using deprecated casting style. Use static_cast<char>(...) instead [readability/casting] [4]
./include\LightGBM\utils\common.h:345: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./include\LightGBM\utils\common.h:345: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./include\LightGBM\utils\common.h:369: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
./include\LightGBM\utils\common.h:409: Closing ) should be moved to the previous line [whitespace/parens] [2]
./include\LightGBM\utils\common.h:413: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
./include\LightGBM\utils\common.h:622: Is this a non-const reference? If so, make const or use a pointer: std::vector<T1>& keys [runtime/references] [2]
./include\LightGBM\utils\common.h:622: Is this a non-const reference? If so, make const or use a pointer: std::vector<T2>& values [runtime/references] [2]
./include\LightGBM\utils\common.h:643: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<T>>& data [runtime/references] [2]
./include\LightGBM\utils\common.h:557: Add #include <limits> for numeric_limits<> [build/include_what_you_use] [4]
./include\LightGBM\utils\common.h:632: Add #include <utility> for pair<> [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\common.h
./src\objective\rank_objective.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\objective\rank_objective.hpp:1: #ifndef header guard has wrong style, please use: SRC_OBJECTIVE_RANK_OBJECTIVE_HPP_ [build/header_guard] [5]
./src\objective\rank_objective.hpp:240: #endif line should be "#endif // SRC_OBJECTIVE_RANK_OBJECTIVE_HPP_" [build/header_guard] [5]
./src\objective\rank_objective.hpp:20: public: should be indented +1 space inside class LambdarankNDCG [whitespace/indent] [3]
./src\objective\rank_objective.hpp:208: private: should be indented +1 space inside class LambdarankNDCG [whitespace/indent] [3]
./src\objective\rank_objective.hpp:200: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\objective\rank_objective.hpp
./src\io\ordered_sparse_bin.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\ordered_sparse_bin.hpp:1: #ifndef header guard has wrong style, please use: SRC_IO_ORDERED_SPARSE_BIN_HPP_ [build/header_guard] [5]
./src\io\ordered_sparse_bin.hpp:211: #endif line should be "#endif // SRC_IO_ORDERED_SPARSE_BIN_HPP_" [build/header_guard] [5]
./src\io\ordered_sparse_bin.hpp:10: <mutex> is an unapproved C++11 header. [build/c++11] [5]
./src\io\ordered_sparse_bin.hpp:27: public: should be indented +1 space inside class OrderedSparseBin [whitespace/indent] [3]
./src\io\ordered_sparse_bin.hpp:35: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./src\io\ordered_sparse_bin.hpp:195: private: should be indented +1 space inside class OrderedSparseBin [whitespace/indent] [3]
./src\io\ordered_sparse_bin.hpp:178: Add #include <utility> for swap [build/include_what_you_use] [4]
Done processing ./src\io\ordered_sparse_bin.hpp
./src\objective\binary_objective.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\objective\binary_objective.hpp:1: #ifndef header guard has wrong style, please use: SRC_OBJECTIVE_BINARY_OBJECTIVE_HPP_ [build/header_guard] [5]
./src\objective\binary_objective.hpp:196: #endif line should be "#endif // SRC_OBJECTIVE_BINARY_OBJECTIVE_HPP_" [build/header_guard] [5]
./src\objective\binary_objective.hpp:14: public: should be indented +1 space inside class BinaryLogloss [whitespace/indent] [3]
./src\objective\binary_objective.hpp:175: private: should be indented +1 space inside class BinaryLogloss [whitespace/indent] [3]
./src\objective\binary_objective.hpp:31: Add #include <vector> for vector<> [build/include_what_you_use] [4]
./src\objective\binary_objective.hpp:146: Add #include <algorithm> for max [build/include_what_you_use] [4]
./src\objective\binary_objective.hpp:164: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\objective\binary_objective.hpp
./src\metric\xentropy_metric.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\metric\xentropy_metric.hpp:1: #ifndef header guard has wrong style, please use: SRC_METRIC_XENTROPY_METRIC_HPP_ [build/header_guard] [5]
./src\metric\xentropy_metric.hpp:356: #endif line should be "#endif // SRC_METRIC_XENTROPY_METRIC_HPP_" [build/header_guard] [5]
./src\metric\xentropy_metric.hpp:68: public: should be indented +1 space inside class CrossEntropyMetric [whitespace/indent] [3]
./src\metric\xentropy_metric.hpp:89: Using C-style cast. Use reinterpret_cast<label_t*>(...) instead [readability/casting] [4]
./src\metric\xentropy_metric.hpp:145: private: should be indented +1 space inside class CrossEntropyMetric [whitespace/indent] [3]
./src\metric\xentropy_metric.hpp:163: public: should be indented +1 space inside class CrossEntropyLambdaMetric [whitespace/indent] [3]
./src\metric\xentropy_metric.hpp:180: Using C-style cast. Use reinterpret_cast<label_t*>(...) instead [readability/casting] [4]
./src\metric\xentropy_metric.hpp:231: private: should be indented +1 space inside class CrossEntropyLambdaMetric [whitespace/indent] [3]
./src\metric\xentropy_metric.hpp:246: public: should be indented +1 space inside class KullbackLeiblerDivergence [whitespace/indent] [3]
./src\metric\xentropy_metric.hpp:264: Using C-style cast. Use reinterpret_cast<label_t*>(...) instead [readability/casting] [4]
./src\metric\xentropy_metric.hpp:339: private: should be indented +1 space inside class KullbackLeiblerDivergence [whitespace/indent] [3]
./src\metric\xentropy_metric.hpp:351: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\metric\xentropy_metric.hpp
./include\LightGBM\utils\random.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\utils\random.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_RANDOM_H_ [build/header_guard] [5]
./include\LightGBM\utils\random.h:114: #endif line should be "#endif // INCLUDE_LIGHTGBM_UTILS_RANDOM_H_" [build/header_guard] [5]
./include\LightGBM\utils\random.h:16: public: should be indented +1 space inside class Random [whitespace/indent] [3]
./include\LightGBM\utils\random.h:29: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\utils\random.h:97: private: should be indented +1 space inside class Random [whitespace/indent] [3]
Done processing ./include\LightGBM\utils\random.h
./src\metric\rank_metric.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\metric\rank_metric.hpp:1: #ifndef header guard has wrong style, please use: SRC_METRIC_RANK_METRIC_HPP_ [build/header_guard] [5]
./src\metric\rank_metric.hpp:171: #endif line should be "#endif // SRC_METRIC_RANK_METRIC_HPP_" [build/header_guard] [5]
./src\metric\rank_metric.hpp:16: public: should be indented +1 space inside class NDCGMetric [whitespace/indent] [3]
./src\metric\rank_metric.hpp:146: private: should be indented +1 space inside class NDCGMetric [whitespace/indent] [3]
./src\metric\rank_metric.hpp:152: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\metric\rank_metric.hpp
./src\boosting\gbdt.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\gbdt.cpp:1: Include the directory when naming .h files [build/include_subdir] [4]
./src\boosting\gbdt.cpp:14: <chrono> is an unapproved C++11 header. [build/c++11] [5]
./src\boosting\gbdt.cpp:264: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing ./src\boosting\gbdt.cpp
./src\boosting\gbdt_model_text.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\gbdt_model_text.cpp:1: Include the directory when naming .h files [build/include_subdir] [4]
./src\boosting\gbdt_model_text.cpp:13: For a static/global string constant, use a C style string instead: "const char kModelVersion[]". [runtime/string] [4]
./src\boosting\gbdt_model_text.cpp:241: Using C-style cast. Use static_cast<bool>(...) instead [readability/casting] [4]
./src\boosting\gbdt_model_text.cpp:340: Using C-style cast. Use static_cast<bool>(...) instead [readability/casting] [4]
./src\boosting\gbdt_model_text.cpp:359: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\boosting\gbdt_model_text.cpp:359: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\boosting\gbdt_model_text.cpp:362: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\boosting\gbdt_model_text.cpp:362: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\boosting\gbdt_model_text.cpp:371: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\boosting\gbdt_model_text.cpp:371: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\boosting\gbdt_model_text.cpp:454: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\boosting\gbdt_model_text.cpp:454: If an else has a brace on one side, it should have it on both [readability/braces] [5]
Done processing ./src\boosting\gbdt_model_text.cpp
./include\LightGBM\R_object_helper.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\R_object_helper.h:6: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_R_OBJECT_HELPER_H_ [build/header_guard] [5]
./include\LightGBM\R_object_helper.h:188: #endif line should be "#endif // INCLUDE_LIGHTGBM_R_OBJECT_HELPER_H_" [build/header_guard] [5]
./include\LightGBM\R_object_helper.h:121: Using C-style cast. Use reinterpret_cast<SEXPREC_ALIGN *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:123: Using C-style cast. Use reinterpret_cast<char *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:125: Using C-style cast. Use reinterpret_cast<int *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:127: Using C-style cast. Use reinterpret_cast<int64_t *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:129: Using C-style cast. Use reinterpret_cast<double *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:131: Using C-style cast. Use reinterpret_cast<int *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:133: Using C-style cast. Use reinterpret_cast<int64_t *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:140: Using C-style cast. Use reinterpret_cast<int64_t *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:154: Using C-style cast. Use reinterpret_cast<void *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:164: Using C-style cast. Use reinterpret_cast<int32_t *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:178: Using C-style cast. Use reinterpret_cast<void *>(...) instead [readability/casting] [4]
Done processing ./include\LightGBM\R_object_helper.h
./include\LightGBM\application.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\application.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_APPLICATION_H_ [build/header_guard] [5]
./include\LightGBM\application.h:88: #endif line should be "#endif // INCLUDE_LIGHTGBM_APPLICATION_H_" [build/header_guard] [5]
./include\LightGBM\application.h:26: public: should be indented +1 space inside class Application [whitespace/indent] [3]
./include\LightGBM\application.h:35: private: should be indented +1 space inside class Application [whitespace/indent] [3]
Done processing ./include\LightGBM\application.h
./src\c_api.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\c_api.cpp:23: <mutex> is an unapproved C++11 header. [build/c++11] [5]
./src\c_api.cpp:47: public: should be indented +1 space inside class Booster [whitespace/indent] [3]
./src\c_api.cpp:326: private: should be indented +1 space inside class Booster [whitespace/indent] [3]
./src\c_api.cpp:343: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
./src\c_api.cpp:359: public: should be indented +1 space inside class CSC_RowIterator [whitespace/indent] [3]
./src\c_api.cpp:367: private: should be indented +1 space inside class CSC_RowIterator [whitespace/indent] [3]
./src\c_api.cpp:761: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing ./src\c_api.cpp
./src\network\linkers_mpi.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\network\linkers_mpi.cpp:2: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\network\linkers_mpi.cpp
./include\LightGBM\meta.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\meta.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_META_H_ [build/header_guard] [5]
./include\LightGBM\meta.h:67: #endif line should be "#endif // INCLUDE_LIGHTGBM_META_H_" [build/header_guard] [5]
./include\LightGBM\meta.h:46: Add #include <utility> for pair<> [build/include_what_you_use] [4]
Done processing ./include\LightGBM\meta.h
./src\treelearner\split_info.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\split_info.hpp:1: #ifndef header guard has wrong style, please use: SRC_TREELEARNER_SPLIT_INFO_HPP_ [build/header_guard] [5]
./src\treelearner\split_info.hpp:285: #endif line should be "#endif // SRC_TREELEARNER_SPLIT_INFO_HPP_" [build/header_guard] [5]
./src\treelearner\split_info.hpp:18: public: should be indented +1 space inside struct SplitInfo [whitespace/indent] [3]
./src\treelearner\split_info.hpp:191: public: should be indented +1 space inside struct LightSplitInfo [whitespace/indent] [3]
./src\treelearner\split_info.hpp:42: Add #include <vector> for vector<> [build/include_what_you_use] [4]
Done processing ./src\treelearner\split_info.hpp
./src\io\parser.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\parser.hpp:1: #ifndef header guard has wrong style, please use: SRC_IO_PARSER_HPP_ [build/header_guard] [5]
./src\io\parser.hpp:129: #endif line should be "#endif // SRC_IO_PARSER_HPP_" [build/header_guard] [5]
./src\io\parser.hpp:16: public: should be indented +1 space inside class CSVParser [whitespace/indent] [3]
./src\io\parser.hpp:32: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\io\parser.hpp:32: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\io\parser.hpp:48: private: should be indented +1 space inside class CSVParser [whitespace/indent] [3]
./src\io\parser.hpp:54: public: should be indented +1 space inside class TSVParser [whitespace/indent] [3]
./src\io\parser.hpp:84: private: should be indented +1 space inside class TSVParser [whitespace/indent] [3]
./src\io\parser.hpp:90: public: should be indented +1 space inside class LibSVMParser [whitespace/indent] [3]
./src\io\parser.hpp:124: private: should be indented +1 space inside class LibSVMParser [whitespace/indent] [3]
Done processing ./src\io\parser.hpp
./src\main.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\main.cpp:2: Found C system header after C++ system header. Should be: main.h, c system, c++ system, other. [build/include_order] [4]
Done processing ./src\main.cpp
./src\io\json11.cpp:53: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:57: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:67: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:73: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:77: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:114: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:126: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:150: protected: should be indented +1 space inside class Value [whitespace/indent] [3]
./src\io\json11.cpp:177: public: should be indented +1 space inside class JsonDouble [whitespace/indent] [3]
./src\io\json11.cpp:186: public: should be indented +1 space inside class JsonInt [whitespace/indent] [3]
./src\io\json11.cpp:192: public: should be indented +1 space inside class JsonBoolean [whitespace/indent] [3]
./src\io\json11.cpp:198: public: should be indented +1 space inside class JsonString [whitespace/indent] [3]
./src\io\json11.cpp:206: public: should be indented +1 space inside class JsonArray [whitespace/indent] [3]
./src\io\json11.cpp:214: public: should be indented +1 space inside class JsonObject [whitespace/indent] [3]
./src\io\json11.cpp:220: public: should be indented +1 space inside class JsonNull [whitespace/indent] [3]
./src\io\json11.cpp:294: Else clause should never be on same line as else (use 2 lines) [whitespace/newline] [4]
./src\io\json11.cpp:337: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
./src\io\json11.cpp:349: const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants. [runtime/member_string_references]
./src\io\json11.cpp:390: At least two spaces is best between code and comments [whitespace/comments] [2]
./src\io\json11.cpp:398: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\io\json11.cpp:398: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\io\json11.cpp:411: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\io\json11.cpp:430: Empty loop bodies should use {} or continue [whitespace/empty_loop_body] [5]
./src\io\json11.cpp:441: Using C-style cast. Use static_cast<char>(...) instead [readability/casting] [4]
./src\io\json11.cpp:443: Using C-style cast. Use static_cast<char>(...) instead [readability/casting] [4]
./src\io\json11.cpp:452: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
./src\io\json11.cpp:452: Is this a non-const reference? If so, make const or use a pointer: string & out [runtime/references] [2]
./src\io\json11.cpp:479: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
./src\io\json11.cpp:523: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
Done processing ./src\io\json11.cpp
./src\treelearner\serial_tree_learner.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\serial_tree_learner.cpp:1: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\serial_tree_learner.cpp:272: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
./src\treelearner\serial_tree_learner.cpp:801: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\treelearner\serial_tree_learner.cpp:841: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\treelearner\serial_tree_learner.cpp:607: Add #include <utility> for pair<> [build/include_what_you_use] [4]
Done processing ./src\treelearner\serial_tree_learner.cpp
./src\metric\map_metric.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\metric\map_metric.hpp:1: #ifndef header guard has wrong style, please use: SRC_METRIC_MAP_METRIC_HPP_ [build/header_guard] [5]
./src\metric\map_metric.hpp:168: #endif line should be "#endif // SRC_METRIC_MAP_METRIC_HPP_" [build/header_guard] [5]
./src\metric\map_metric.hpp:16: public: should be indented +1 space inside class MapMetric [whitespace/indent] [3]
./src\metric\map_metric.hpp:145: private: should be indented +1 space inside class MapMetric [whitespace/indent] [3]
./src\metric\map_metric.hpp:99: Add #include <algorithm> for min [build/include_what_you_use] [4]
./src\metric\map_metric.hpp:162: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\metric\map_metric.hpp
./include\LightGBM\export.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\export.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_EXPORT_H_ [build/header_guard] [5]
./include\LightGBM\export.h:21: #endif line should be "#endif // INCLUDE_LIGHTGBM_EXPORT_H_" [build/header_guard] [5]
Done processing ./include\LightGBM\export.h
./src\network\linker_topo.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
Done processing ./src\network\linker_topo.cpp
./include\LightGBM\bin.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\bin.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_BIN_H_ [build/header_guard] [5]
./include\LightGBM\bin.h:492: #endif line should be "#endif // INCLUDE_LIGHTGBM_BIN_H_" [build/header_guard] [5]
./include\LightGBM\bin.h:30: public: should be indented +1 space inside struct HistogramBinEntry [whitespace/indent] [3]
./include\LightGBM\bin.h:62: public: should be indented +1 space inside class BinMapper [whitespace/indent] [3]
./include\LightGBM\bin.h:187: private: should be indented +1 space inside class BinMapper [whitespace/indent] [3]
./include\LightGBM\bin.h:220: public: should be indented +1 space inside class OrderedBin [whitespace/indent] [3]
./include\LightGBM\bin.h:268: public: should be indented +1 space inside class BinIterator [whitespace/indent] [3]
./include\LightGBM\bin.h:287: public: should be indented +1 space inside class Bin [whitespace/indent] [3]
./include\LightGBM\bin.h:176: Add #include <string> for string [build/include_what_you_use] [4]
./include\LightGBM\bin.h:181: Add #include <limits> for numeric_limits<> [build/include_what_you_use] [4]
Done processing ./include\LightGBM\bin.h
./src\metric\metric.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
Done processing ./src\metric\metric.cpp
./src\treelearner\tree_learner.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\tree_learner.cpp:3: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\tree_learner.cpp:4: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\tree_learner.cpp:5: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\tree_learner.cpp:21: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\tree_learner.cpp:21: If an else has a brace on one side, it should have it on both [readability/braces] [5]
Done processing ./src\treelearner\tree_learner.cpp
./src\io\parser.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\parser.cpp:25: Is this a non-const reference? If so, make const or use a pointer: std::string& str [runtime/references] [2]
./src\io\parser.cpp:39: Is this a non-const reference? If so, make const or use a pointer: std::string& str [runtime/references] [2]
./src\io\parser.cpp:52: Is this a non-const reference? If so, make const or use a pointer: std::string& str [runtime/references] [2]
./src\io\parser.cpp:72: Is this a non-const reference? If so, make const or use a pointer: std::string& line [runtime/references] [2]
./src\io\parser.cpp:72: Is this a non-const reference? If so, make const or use a pointer: std::vector<char>& buffer [runtime/references] [2]
./src\io\parser.cpp:154: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\io\parser.cpp:154: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\io\parser.cpp:158: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\io\parser.cpp:158: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\io\parser.cpp:100: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\io\parser.cpp
./include\LightGBM\c_api.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\c_api.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_C_API_H_ [build/header_guard] [5]
./include\LightGBM\c_api.h:834: #endif line should be "#endif // INCLUDE_LIGHTGBM_C_API_H_" [build/header_guard] [5]
./include\LightGBM\c_api.h:15: Found C system header after C++ system header. Should be: c_api.h, c system, c++ system, other. [build/include_order] [4]
./include\LightGBM\c_api.h:831: Almost always, snprintf is better than strcpy [runtime/printf] [4]
Done processing ./include\LightGBM\c_api.h
Total errors found: 853
462612b42c6fe7bb1be1ccd8b72d77021b9f2d38
Total errors found: 674
./include\LightGBM\dataset.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\dataset.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_DATASET_H_ [build/header_guard] [5]
./include\LightGBM\dataset.h:625: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_DATASET_H_" [build/header_guard] [5]
./include\LightGBM\dataset.h:17: <mutex> is an unapproved C++11 header. [build/c++11] [5]
./include\LightGBM\dataset.h:287: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers [runtime/references] [2]
./include\LightGBM\dataset.h:401: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<OrderedBin>>& ordered_bins [runtime/references] [2]
Done processing ./include\LightGBM\dataset.h
./src\io\sparse_bin.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\sparse_bin.hpp:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_IO_SPARSE_BIN_HPP_ [build/header_guard] [5]
./src\io\sparse_bin.hpp:456: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_IO_SPARSE_BIN_HPP_" [build/header_guard] [5]
./src\io\sparse_bin.hpp:74: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./src\io\sparse_bin.hpp:144: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\io\sparse_bin.hpp:207: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\io\sparse_bin.hpp:254: Add #include <algorithm> for sort [build/include_what_you_use] [4]
./src\io\sparse_bin.hpp:416: Add #include <utility> for pair<> [build/include_what_you_use] [4]
Done processing ./src\io\sparse_bin.hpp
./src\io\config_auto.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\config_auto.cpp:275: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
./src\io\config_auto.cpp:281: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:288: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
./src\io\config_auto.cpp:345: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:348: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:357: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:360: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:379: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:382: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:385: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:460: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:488: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:495: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:504: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:507: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:510: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:521: Redundant blank line at the end of a code block should be deleted. [whitespace/blank_line] [3]
./src\io\config_auto.cpp:626: Namespace should be terminated with "// namespace LightGBM" [readability/namespace] [5]
Done processing ./src\io\config_auto.cpp
./src\boosting\gbdt_prediction.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\gbdt_prediction.cpp:1: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\boosting\gbdt_prediction.cpp
./src\network\linkers_socket.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\network\linkers_socket.cpp:2: Include the directory when naming .h files [build/include_subdir] [4]
./src\network\linkers_socket.cpp:14: <thread> is an unapproved C++11 header. [build/c++11] [5]
./src\network\linkers_socket.cpp:15: <chrono> is an unapproved C++11 header. [build/c++11] [5]
Done processing ./src\network\linkers_socket.cpp
./src\objective\binary_objective.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\objective\binary_objective.hpp:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_OBJECTIVE_BINARY_OBJECTIVE_HPP_ [build/header_guard] [5]
./src\objective\binary_objective.hpp:196: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_OBJECTIVE_BINARY_OBJECTIVE_HPP_" [build/header_guard] [5]
./src\objective\binary_objective.hpp:31: Add #include <vector> for vector<> [build/include_what_you_use] [4]
./src\objective\binary_objective.hpp:146: Add #include <algorithm> for max [build/include_what_you_use] [4]
./src\objective\binary_objective.hpp:164: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\objective\binary_objective.hpp
./src\boosting\rf.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\rf.hpp:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_BOOSTING_RF_HPP_ [build/header_guard] [5]
./src\boosting\rf.hpp:209: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_BOOSTING_RF_HPP_" [build/header_guard] [5]
./src\boosting\rf.hpp:7: Include the directory when naming .h files [build/include_subdir] [4]
./src\boosting\rf.hpp:9: Found C++ system header after other header. Should be: rf.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\rf.hpp:10: Found C++ system header after other header. Should be: rf.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\rf.hpp:11: Found C++ system header after other header. Should be: rf.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\rf.hpp:12: Found C++ system header after other header. Should be: rf.h, c system, c++ system, other. [build/include_order] [4]
Done processing ./src\boosting\rf.hpp
./src\objective\multiclass_objective.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\objective\multiclass_objective.hpp:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_OBJECTIVE_MULTICLASS_OBJECTIVE_HPP_ [build/header_guard] [5]
./src\objective\multiclass_objective.hpp:259: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_OBJECTIVE_MULTICLASS_OBJECTIVE_HPP_" [build/header_guard] [5]
./src\objective\multiclass_objective.hpp:137: Add #include <algorithm> for max [build/include_what_you_use] [4]
./src\objective\multiclass_objective.hpp:225: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\objective\multiclass_objective.hpp
./include\LightGBM\utils\log.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\utils\log.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_LOG_H_ [build/header_guard] [5]
./include\LightGBM\utils\log.h:103: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_LOG_H_" [build/header_guard] [5]
./include\LightGBM\utils\log.h:83: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\log.h
./src\io\dense_nbits_bin.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\dense_nbits_bin.hpp:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_IO_DENSE_NBITS_BIN_HPP_ [build/header_guard] [5]
./src\io\dense_nbits_bin.hpp:390: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_IO_DENSE_NBITS_BIN_HPP_" [build/header_guard] [5]
./src\io\dense_nbits_bin.hpp:41: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./src\io\dense_nbits_bin.hpp:214: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\io\dense_nbits_bin.hpp:275: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
Done processing ./src\io\dense_nbits_bin.hpp
./src\network\socket_wrapper.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\network\socket_wrapper.hpp:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_NETWORK_SOCKET_WRAPPER_HPP_ [build/header_guard] [5]
./src\network\socket_wrapper.hpp:300: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_NETWORK_SOCKET_WRAPPER_HPP_" [build/header_guard] [5]
./src\network\socket_wrapper.hpp:18: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:19: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:20: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:21: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:22: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:23: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:24: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:25: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:176: Using C-style cast. Use reinterpret_cast<IP_ADAPTER_INFO *>(...) instead [readability/casting] [4]
./src\network\socket_wrapper.hpp:184: Using C-style cast. Use reinterpret_cast<IP_ADAPTER_INFO *>(...) instead [readability/casting] [4]
./src\network\socket_wrapper.hpp:216: Are you taking an address of a cast? This is dangerous: could be a temp var. Take the address before doing the cast, rather than after [runtime/casting] [4]
Done processing ./src\network\socket_wrapper.hpp
./src\objective\rank_objective.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\objective\rank_objective.hpp:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_OBJECTIVE_RANK_OBJECTIVE_HPP_ [build/header_guard] [5]
./src\objective\rank_objective.hpp:240: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_OBJECTIVE_RANK_OBJECTIVE_HPP_" [build/header_guard] [5]
./src\objective\rank_objective.hpp:200: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\objective\rank_objective.hpp
./src\io\tree.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\tree.cpp:345: Using deprecated casting style. Use static_cast<int>(...) instead [readability/casting] [4]
Done processing ./src\io\tree.cpp
./src\boosting\gbdt_model_text.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\gbdt_model_text.cpp:1: Include the directory when naming .h files [build/include_subdir] [4]
./src\boosting\gbdt_model_text.cpp:13: For a static/global string constant, use a C style string instead: "const char kModelVersion[]". [runtime/string] [4]
./src\boosting\gbdt_model_text.cpp:241: Using C-style cast. Use static_cast<bool>(...) instead [readability/casting] [4]
./src\boosting\gbdt_model_text.cpp:340: Using C-style cast. Use static_cast<bool>(...) instead [readability/casting] [4]
./src\boosting\gbdt_model_text.cpp:359: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\boosting\gbdt_model_text.cpp:359: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\boosting\gbdt_model_text.cpp:362: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\boosting\gbdt_model_text.cpp:362: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\boosting\gbdt_model_text.cpp:371: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\boosting\gbdt_model_text.cpp:371: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\boosting\gbdt_model_text.cpp:454: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\boosting\gbdt_model_text.cpp:454: If an else has a brace on one side, it should have it on both [readability/braces] [5]
Done processing ./src\boosting\gbdt_model_text.cpp
./include\LightGBM\lightgbm_R.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\lightgbm_R.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_LIGHTGBM_R_H_ [build/header_guard] [5]
./include\LightGBM\lightgbm_R.h:525: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_LIGHTGBM_R_H_" [build/header_guard] [5]
./include\LightGBM\lightgbm_R.h:7: Found C system header after C++ system header. Should be: lightgbm_R.h, c system, c++ system, other. [build/include_order] [4]
Done processing ./include\LightGBM\lightgbm_R.h
./src\treelearner\feature_parallel_tree_learner.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\feature_parallel_tree_learner.cpp:1: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\feature_parallel_tree_learner.cpp:3: Found C++ system header after other header. Should be: feature_parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\feature_parallel_tree_learner.cpp:5: Found C++ system header after other header. Should be: feature_parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
Done processing ./src\treelearner\feature_parallel_tree_learner.cpp
./src\objective\objective_function.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
Done processing ./src\objective\objective_function.cpp
./src\metric\xentropy_metric.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\metric\xentropy_metric.hpp:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_METRIC_XENTROPY_METRIC_HPP_ [build/header_guard] [5]
./src\metric\xentropy_metric.hpp:356: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_METRIC_XENTROPY_METRIC_HPP_" [build/header_guard] [5]
./src\metric\xentropy_metric.hpp:89: Using C-style cast. Use reinterpret_cast<label_t*>(...) instead [readability/casting] [4]
./src\metric\xentropy_metric.hpp:180: Using C-style cast. Use reinterpret_cast<label_t*>(...) instead [readability/casting] [4]
./src\metric\xentropy_metric.hpp:264: Using C-style cast. Use reinterpret_cast<label_t*>(...) instead [readability/casting] [4]
./src\metric\xentropy_metric.hpp:351: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\metric\xentropy_metric.hpp
./src\main.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\main.cpp:2: Found C system header after C++ system header. Should be: main.h, c system, c++ system, other. [build/include_order] [4]
Done processing ./src\main.cpp
./src\metric\rank_metric.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\metric\rank_metric.hpp:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_METRIC_RANK_METRIC_HPP_ [build/header_guard] [5]
./src\metric\rank_metric.hpp:171: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_METRIC_RANK_METRIC_HPP_" [build/header_guard] [5]
./src\metric\rank_metric.hpp:152: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\metric\rank_metric.hpp
./src\treelearner\data_partition.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\data_partition.hpp:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_DATA_PARTITION_HPP_ [build/header_guard] [5]
./src\treelearner\data_partition.hpp:225: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_DATA_PARTITION_HPP_" [build/header_guard] [5]
./src\treelearner\data_partition.hpp:83: Add #include <algorithm> for copy [build/include_what_you_use] [4]
Done processing ./src\treelearner\data_partition.hpp
./src\io\file_io.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\file_io.cpp:51: For a static/global string constant, use a C style string instead: "const char kHdfsProto[]". [runtime/string] [4]
./src\io\file_io.cpp:95: Using C-style cast. Use reinterpret_cast<char *>(...) instead [readability/casting] [4]
Done processing ./src\io\file_io.cpp
./include\LightGBM\dataset_loader.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\dataset_loader.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_DATASET_LOADER_H_ [build/header_guard] [5]
./include\LightGBM\dataset_loader.h:78: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_DATASET_LOADER_H_" [build/header_guard] [5]
./include\LightGBM\dataset_loader.h:47: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::string>& text_data [runtime/references] [2]
./include\LightGBM\dataset_loader.h:76: Namespace should be terminated with "// namespace LightGBM" [readability/namespace] [5]
./include\LightGBM\dataset_loader.h:71: Add #include <string> for string [build/include_what_you_use] [4]
./include\LightGBM\dataset_loader.h:71: Add #include <vector> for vector<> [build/include_what_you_use] [4]
Done processing ./include\LightGBM\dataset_loader.h
./include\LightGBM\objective_function.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\objective_function.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_OBJECTIVE_FUNCTION_H_ [build/header_guard] [5]
./include\LightGBM\objective_function.h:93: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_OBJECTIVE_FUNCTION_H_" [build/header_guard] [5]
./include\LightGBM\objective_function.h:88: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./include\LightGBM\objective_function.h
./include\LightGBM\feature_group.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\feature_group.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_FEATURE_GROUP_H_ [build/header_guard] [5]
./include\LightGBM\feature_group.h:234: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_FEATURE_GROUP_H_" [build/header_guard] [5]
./include\LightGBM\feature_group.h:31: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers [runtime/references] [2]
./include\LightGBM\feature_group.h:54: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers [runtime/references] [2]
Done processing ./include\LightGBM\feature_group.h
./src\application\application.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\application\application.cpp:16: Found C system header after other header. Should be: application.h, c system, c++ system, other. [build/include_order] [4]
./src\application\application.cpp:18: Found C++ system header after other header. Should be: application.h, c system, c++ system, other. [build/include_order] [4]
./src\application\application.cpp:19: Found C++ system header after other header. Should be: application.h, c system, c++ system, other. [build/include_order] [4]
./src\application\application.cpp:21: Found C++ system header after other header. Should be: application.h, c system, c++ system, other. [build/include_order] [4]
./src\application\application.cpp:21: <chrono> is an unapproved C++11 header. [build/c++11] [5]
./src\application\application.cpp:22: Found C++ system header after other header. Should be: application.h, c system, c++ system, other. [build/include_order] [4]
./src\application\application.cpp:23: Found C++ system header after other header. Should be: application.h, c system, c++ system, other. [build/include_order] [4]
./src\application\application.cpp:24: Found C++ system header after other header. Should be: application.h, c system, c++ system, other. [build/include_order] [4]
./src\application\application.cpp:25: Found C++ system header after other header. Should be: application.h, c system, c++ system, other. [build/include_order] [4]
./src\application\application.cpp:26: Found C++ system header after other header. Should be: application.h, c system, c++ system, other. [build/include_order] [4]
Done processing ./src\application\application.cpp
./src\network\linkers_mpi.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\network\linkers_mpi.cpp:2: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\network\linkers_mpi.cpp
./include\LightGBM\utils\pipeline_reader.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\utils\pipeline_reader.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_PIPELINE_READER_H_ [build/header_guard] [5]
./include\LightGBM\utils\pipeline_reader.h:67: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_PIPELINE_READER_H_" [build/header_guard] [5]
./include\LightGBM\utils\pipeline_reader.h:9: <thread> is an unapproved C++11 header. [build/c++11] [5]
./include\LightGBM\utils\pipeline_reader.h:13: Include the directory when naming .h files [build/include_subdir] [4]
./include\LightGBM\utils\pipeline_reader.h:58: Add #include <utility> for swap [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\pipeline_reader.h
./include\LightGBM\network.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\network.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_NETWORK_H_ [build/header_guard] [5]
./include\LightGBM\network.h:307: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_NETWORK_H_" [build/header_guard] [5]
./include\LightGBM\network.h:166: Is this a non-const reference? If so, make const or use a pointer: T& local [runtime/references] [2]
./include\LightGBM\network.h:190: Is this a non-const reference? If so, make const or use a pointer: T& local [runtime/references] [2]
./include\LightGBM\network.h:214: Is this a non-const reference? If so, make const or use a pointer: T& local [runtime/references] [2]
./include\LightGBM\network.h:236: Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& local [runtime/references] [2]
Done processing ./include\LightGBM\network.h
./src\c_api.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\c_api.cpp:23: <mutex> is an unapproved C++11 header. [build/c++11] [5]
./src\c_api.cpp:343: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
./src\c_api.cpp:762: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing ./src\c_api.cpp
./src\treelearner\gpu_tree_learner.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\gpu_tree_learner.cpp:2: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\gpu_tree_learner.cpp:6: Found C system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:7: Found C system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:8: Found C system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:10: Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:11: Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:106: Using C-style cast. Use static_cast<int>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:111: Using C-style cast. Use static_cast<int>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:113: Using C-style cast. Use static_cast<int>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:154: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:154: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:173: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:173: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:178: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:178: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:186: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:194: Using C-style cast. Use reinterpret_cast<HistType*>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:212: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:212: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:321: At least two spaces is best between code and comments [whitespace/comments] [2]
./src\treelearner\gpu_tree_learner.cpp:332: Using C-style cast. Use static_cast<double>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:334: Using C-style cast. Use static_cast<int>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:341: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:341: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:356: Using C-style cast. Use static_cast<int>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:363: Using C-style cast. Use reinterpret_cast<Feature4*>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:367: Using C-style cast. Use reinterpret_cast<Feature4*>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:372: Using C-style cast. Use static_cast<int>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:414: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:414: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:426: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:426: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:433: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:433: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:438: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:438: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:473: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:473: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:477: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:477: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:487: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:487: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:495: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:495: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:499: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:499: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:513: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:513: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:675: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:675: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:708: Using C-style cast. Use static_cast<int>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:710: Using C-style cast. Use static_cast<int>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:723: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:723: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:729: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:729: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:735: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:735: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:785: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:785: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:819: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:819: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:915: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:915: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:928: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:928: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:948: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:948: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:985: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:985: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:1010: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:1010: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:1064: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:1064: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:564: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\treelearner\gpu_tree_learner.cpp
./include\LightGBM\config.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\config.h:3: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_CONFIG_H_ [build/header_guard] [5]
./include\LightGBM\config.h:879: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_CONFIG_H_" [build/header_guard] [5]
./include\LightGBM\config.h:74: Is this a non-const reference? If so, make const or use a pointer: std::unordered_map<std::string, std::string>& params [runtime/references] [2]
Done processing ./include\LightGBM\config.h
./src\io\ordered_sparse_bin.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\ordered_sparse_bin.hpp:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_IO_ORDERED_SPARSE_BIN_HPP_ [build/header_guard] [5]
./src\io\ordered_sparse_bin.hpp:211: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_IO_ORDERED_SPARSE_BIN_HPP_" [build/header_guard] [5]
./src\io\ordered_sparse_bin.hpp:10: <mutex> is an unapproved C++11 header. [build/c++11] [5]
./src\io\ordered_sparse_bin.hpp:35: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./src\io\ordered_sparse_bin.hpp:178: Add #include <utility> for swap [build/include_what_you_use] [4]
Done processing ./src\io\ordered_sparse_bin.hpp
./include\LightGBM\application.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\application.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_APPLICATION_H_ [build/header_guard] [5]
./include\LightGBM\application.h:88: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_APPLICATION_H_" [build/header_guard] [5]
Done processing ./include\LightGBM\application.h
./src\boosting\dart.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\dart.hpp:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_BOOSTING_DART_HPP_ [build/header_guard] [5]
./src\boosting\dart.hpp:205: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_BOOSTING_DART_HPP_" [build/header_guard] [5]
./src\boosting\dart.hpp:6: Include the directory when naming .h files [build/include_subdir] [4]
./src\boosting\dart.hpp:8: Found C++ system header after other header. Should be: dart.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\dart.hpp:9: Found C++ system header after other header. Should be: dart.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\dart.hpp:10: Found C++ system header after other header. Should be: dart.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\dart.hpp:11: Found C++ system header after other header. Should be: dart.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\dart.hpp:112: Add #include <algorithm> for min [build/include_what_you_use] [4]
Done processing ./src\boosting\dart.hpp
./src\boosting\gbdt.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\gbdt.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_BOOSTING_GBDT_H_ [build/header_guard] [5]
./src\boosting\gbdt.h:492: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_BOOSTING_GBDT_H_" [build/header_guard] [5]
./src\boosting\gbdt.h:11: Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\gbdt.h:12: Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\gbdt.h:13: Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\gbdt.h:14: Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\gbdt.h:15: Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\gbdt.h:16: Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\gbdt.h:16: <mutex> is an unapproved C++11 header. [build/c++11] [5]
./src\boosting\gbdt.h:17: Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\gbdt.h:19: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
./src\boosting\gbdt.h:137: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:173: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:180: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:268: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:276: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:355: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:381: Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand [runtime/references] [2]
./src\boosting\gbdt.h:87: Add #include <utility> for swap [build/include_what_you_use] [4]
./src\boosting\gbdt.h:330: Add #include <algorithm> for min [build/include_what_you_use] [4]
Done processing ./src\boosting\gbdt.h
./include\LightGBM\utils\openmp_wrapper.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\utils\openmp_wrapper.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_OPENMP_WRAPPER_H_ [build/header_guard] [5]
./include\LightGBM\utils\openmp_wrapper.h:76: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_OPENMP_WRAPPER_H_" [build/header_guard] [5]
./include\LightGBM\utils\openmp_wrapper.h:8: <mutex> is an unapproved C++11 header. [build/c++11] [5]
./include\LightGBM\utils\openmp_wrapper.h:11: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./include\LightGBM\utils\openmp_wrapper.h
./src\metric\dcg_calculator.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\metric\dcg_calculator.cpp:25: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing ./src\metric\dcg_calculator.cpp
./src\treelearner\gpu_tree_learner.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\gpu_tree_learner.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_GPU_TREE_LEARNER_H_ [build/header_guard] [5]
./src\treelearner\gpu_tree_learner.h:284: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_GPU_TREE_LEARNER_H_" [build/header_guard] [5]
./src\treelearner\gpu_tree_learner.h:10: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\gpu_tree_learner.h:15: Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:16: Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:17: Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:18: Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:19: Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:31: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
./src\treelearner\gpu_tree_learner.h:172: Line contains only semicolon. If this should be an empty statement, use {} instead. [whitespace/semicolon] [5]
./src\treelearner\gpu_tree_learner.h:176: Line contains only semicolon. If this should be an empty statement, use {} instead. [whitespace/semicolon] [5]
./src\treelearner\gpu_tree_learner.h:180: Line contains only semicolon. If this should be an empty statement, use {} instead. [whitespace/semicolon] [5]
./src\treelearner\gpu_tree_learner.h:184: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\treelearner\gpu_tree_learner.h
./src\io\bin.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\bin.cpp:11: Found C++ system header after other header. Should be: bin.h, c system, c++ system, other. [build/include_order] [4]
./src\io\bin.cpp:12: Found C++ system header after other header. Should be: bin.h, c system, c++ system, other. [build/include_order] [4]
./src\io\bin.cpp:13: Found C++ system header after other header. Should be: bin.h, c system, c++ system, other. [build/include_order] [4]
./src\io\bin.cpp:15: Found C++ system header after other header. Should be: bin.h, c system, c++ system, other. [build/include_order] [4]
./src\io\bin.cpp:16: Found C++ system header after other header. Should be: bin.h, c system, c++ system, other. [build/include_order] [4]
./src\io\bin.cpp:17: Found C++ system header after other header. Should be: bin.h, c system, c++ system, other. [build/include_order] [4]
./src\io\bin.cpp:76: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\bin.cpp:196: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\bin.cpp:392: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing ./src\io\bin.cpp
./src\io\dense_bin.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\dense_bin.hpp:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_IO_DENSE_BIN_HPP_ [build/header_guard] [5]
./src\io\dense_bin.hpp:340: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_IO_DENSE_BIN_HPP_" [build/header_guard] [5]
./src\io\dense_bin.hpp:47: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./src\io\dense_bin.hpp:191: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\io\dense_bin.hpp:252: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
Done processing ./src\io\dense_bin.hpp
./include\LightGBM\json11.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\json11.hpp:80: public: should be indented +1 space inside class Json [whitespace/indent] [3]
./include\LightGBM\json11.hpp:92: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:93: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:94: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:95: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:96: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:97: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:98: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:99: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:100: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:101: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:102: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:106: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:113: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:119: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:123: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:156: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
./include\LightGBM\json11.hpp:165: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
./include\LightGBM\json11.hpp:168: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
./include\LightGBM\json11.hpp:180: Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos [runtime/references] [2]
./include\LightGBM\json11.hpp:181: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
./include\LightGBM\json11.hpp:186: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
./include\LightGBM\json11.hpp:205: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
./include\LightGBM\json11.hpp:220: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
./include\LightGBM\json11.hpp:204: Add #include <utility> for pair<> [build/include_what_you_use] [4]
Done processing ./include\LightGBM\json11.hpp
./src\application\predictor.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\application\predictor.hpp:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_APPLICATION_PREDICTOR_HPP_ [build/header_guard] [5]
./src\application\predictor.hpp:257: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_APPLICATION_PREDICTOR_HPP_" [build/header_guard] [5]
./src\application\predictor.hpp:41: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\application\predictor.hpp:42: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing ./src\application\predictor.hpp
./src\treelearner\serial_tree_learner.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\serial_tree_learner.cpp:1: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\serial_tree_learner.cpp:272: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
./src\treelearner\serial_tree_learner.cpp:801: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\treelearner\serial_tree_learner.cpp:841: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\treelearner\serial_tree_learner.cpp:607: Add #include <utility> for pair<> [build/include_what_you_use] [4]
Done processing ./src\treelearner\serial_tree_learner.cpp
./src\network\network.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\network\network.cpp:5: Include the directory when naming .h files [build/include_subdir] [4]
./src\network\network.cpp:7: Found C++ system header after other header. Should be: network.h, c system, c++ system, other. [build/include_order] [4]
./src\network\network.cpp:8: Found C++ system header after other header. Should be: network.h, c system, c++ system, other. [build/include_order] [4]
Done processing ./src\network\network.cpp
./include\LightGBM\boosting.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\boosting.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_BOOSTING_H_ [build/header_guard] [5]
./include\LightGBM\boosting.h:304: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_BOOSTING_H_" [build/header_guard] [5]
Done processing ./include\LightGBM\boosting.h
./src\io\json11.cpp:53: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:57: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:67: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:73: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:77: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:114: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:126: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:294: Else clause should never be on same line as else (use 2 lines) [whitespace/newline] [4]
./src\io\json11.cpp:337: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
./src\io\json11.cpp:349: const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants. [runtime/member_string_references] [2]
./src\io\json11.cpp:390: At least two spaces is best between code and comments [whitespace/comments] [2]
./src\io\json11.cpp:398: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\io\json11.cpp:398: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\io\json11.cpp:411: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\io\json11.cpp:430: Empty loop bodies should use {} or continue [whitespace/empty_loop_body] [5]
./src\io\json11.cpp:441: Using C-style cast. Use static_cast<char>(...) instead [readability/casting] [4]
./src\io\json11.cpp:443: Using C-style cast. Use static_cast<char>(...) instead [readability/casting] [4]
./src\io\json11.cpp:452: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
./src\io\json11.cpp:452: Is this a non-const reference? If so, make const or use a pointer: string & out [runtime/references] [2]
./src\io\json11.cpp:479: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
./src\io\json11.cpp:523: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
Done processing ./src\io\json11.cpp
./src\lightgbm_R.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\lightgbm_R.cpp:34: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing ./src\lightgbm_R.cpp
./include\LightGBM\bin.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\bin.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_BIN_H_ [build/header_guard] [5]
./include\LightGBM\bin.h:492: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_BIN_H_" [build/header_guard] [5]
./include\LightGBM\bin.h:176: Add #include <string> for string [build/include_what_you_use] [4]
./include\LightGBM\bin.h:181: Add #include <limits> for numeric_limits<> [build/include_what_you_use] [4]
Done processing ./include\LightGBM\bin.h
./include\LightGBM\utils\array_args.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\utils\array_args.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_ARRAY_ARGS_H_ [build/header_guard] [5]
./include\LightGBM\utils\array_args.h:191: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_ARRAY_ARGS_H_" [build/header_guard] [5]
./include\LightGBM\utils\array_args.h:6: Found C system header after C++ system header. Should be: array_args.h, c system, c++ system, other. [build/include_order] [4]
./include\LightGBM\utils\array_args.h:113: Empty loop bodies should use {} or continue [whitespace/empty_loop_body] [5]
./include\LightGBM\utils\array_args.h:124: Add #include <utility> for swap [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\array_args.h
./src\io\parser.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\parser.cpp:25: Is this a non-const reference? If so, make const or use a pointer: std::string& str [runtime/references] [2]
./src\io\parser.cpp:39: Is this a non-const reference? If so, make const or use a pointer: std::string& str [runtime/references] [2]
./src\io\parser.cpp:52: Is this a non-const reference? If so, make const or use a pointer: std::string& str [runtime/references] [2]
./src\io\parser.cpp:72: Is this a non-const reference? If so, make const or use a pointer: std::string& line [runtime/references] [2]
./src\io\parser.cpp:72: Is this a non-const reference? If so, make const or use a pointer: std::vector<char>& buffer [runtime/references] [2]
./src\io\parser.cpp:154: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\io\parser.cpp:154: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\io\parser.cpp:158: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\io\parser.cpp:158: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\io\parser.cpp:100: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\io\parser.cpp
./src\io\dataset_loader.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\dataset_loader.cpp:394: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\io\dataset_loader.cpp:394: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\io\dataset_loader.cpp:417: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\io\dataset_loader.cpp:417: If an else has a brace on one side, it should have it on both [readability/braces] [5]
Done processing ./src\io\dataset_loader.cpp
./src\treelearner\voting_parallel_tree_learner.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\voting_parallel_tree_learner.cpp:1: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\voting_parallel_tree_learner.cpp:3: Found C system header after other header. Should be: voting_parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\voting_parallel_tree_learner.cpp:5: Found C++ system header after other header. Should be: voting_parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\voting_parallel_tree_learner.cpp:6: Found C++ system header after other header. Should be: voting_parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\voting_parallel_tree_learner.cpp:7: Found C++ system header after other header. Should be: voting_parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\voting_parallel_tree_learner.cpp:134: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
Done processing ./src\treelearner\voting_parallel_tree_learner.cpp
./src\treelearner\split_info.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\split_info.hpp:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_SPLIT_INFO_HPP_ [build/header_guard] [5]
./src\treelearner\split_info.hpp:285: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_SPLIT_INFO_HPP_" [build/header_guard] [5]
./src\treelearner\split_info.hpp:42: Add #include <vector> for vector<> [build/include_what_you_use] [4]
Done processing ./src\treelearner\split_info.hpp
./src\treelearner\tree_learner.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\tree_learner.cpp:3: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\tree_learner.cpp:4: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\tree_learner.cpp:5: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\tree_learner.cpp:21: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\tree_learner.cpp:21: If an else has a brace on one side, it should have it on both [readability/braces] [5]
Done processing ./src\treelearner\tree_learner.cpp
./src\metric\binary_metric.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\metric\binary_metric.hpp:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_METRIC_BINARY_METRIC_HPP_ [build/header_guard] [5]
./src\metric\binary_metric.hpp:263: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_METRIC_BINARY_METRIC_HPP_" [build/header_guard] [5]
./src\metric\binary_metric.hpp:259: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\metric\binary_metric.hpp
./include\LightGBM\metric.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\metric.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_METRIC_H_ [build/header_guard] [5]
./include\LightGBM\metric.h:139: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_METRIC_H_" [build/header_guard] [5]
./include\LightGBM\metric.h:53: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./include\LightGBM\metric.h
./src\network\linker_topo.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
Done processing ./src\network\linker_topo.cpp
./src\treelearner\data_parallel_tree_learner.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\data_parallel_tree_learner.cpp:1: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\data_parallel_tree_learner.cpp:3: Found C++ system header after other header. Should be: data_parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\data_parallel_tree_learner.cpp:5: Found C++ system header after other header. Should be: data_parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\data_parallel_tree_learner.cpp:6: Found C++ system header after other header. Should be: data_parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\data_parallel_tree_learner.cpp:138: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
Done processing ./src\treelearner\data_parallel_tree_learner.cpp
./include\LightGBM\tree.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\tree.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_TREE_H_ [build/header_guard] [5]
./include\LightGBM\tree.h:517: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_TREE_H_" [build/header_guard] [5]
./include\LightGBM\tree.h:262: Using deprecated casting style. Use static_cast<int>(...) instead [readability/casting] [4]
./include\LightGBM\tree.h:271: Using deprecated casting style. Use static_cast<int>(...) instead [readability/casting] [4]
./include\LightGBM\tree.h:334: Complex multi-line /*...*/-style comment found. Lint may give bogus warnings. Consider replacing these with //-style comments, with #if 0...#endif, or with more clearly structured multi-line comments. [readability/multiline_comment] [5]
./include\LightGBM\tree.h:334: At least two spaces is best between code and comments [whitespace/comments] [2]
./include\LightGBM\tree.h:334: Should have a space between // and comment [whitespace/comments] [4]
./include\LightGBM\tree.h:334: Extra space for operator ! [whitespace/operators] [4]
./include\LightGBM\tree.h:469: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing ./include\LightGBM\tree.h
./src\treelearner\serial_tree_learner.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\serial_tree_learner.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_SERIAL_TREE_LEARNER_H_ [build/header_guard] [5]
./src\treelearner\serial_tree_learner.h:183: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_SERIAL_TREE_LEARNER_H_" [build/header_guard] [5]
./src\treelearner\serial_tree_learner.h:16: Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\serial_tree_learner.h:17: Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\serial_tree_learner.h:18: Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\serial_tree_learner.h:19: Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\serial_tree_learner.h:20: Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\serial_tree_learner.h:27: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
./src\treelearner\serial_tree_learner.h:105: Is this a non-const reference? If so, make const or use a pointer: Json& forced_split_json [runtime/references] [2]
Done processing ./src\treelearner\serial_tree_learner.h
./include\LightGBM\R_object_helper.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\R_object_helper.h:6: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_R_OBJECT_HELPER_H_ [build/header_guard] [5]
./include\LightGBM\R_object_helper.h:188: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_R_OBJECT_HELPER_H_" [build/header_guard] [5]
./include\LightGBM\R_object_helper.h:121: Using C-style cast. Use reinterpret_cast<SEXPREC_ALIGN *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:123: Using C-style cast. Use reinterpret_cast<char *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:125: Using C-style cast. Use reinterpret_cast<int *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:127: Using C-style cast. Use reinterpret_cast<int64_t *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:129: Using C-style cast. Use reinterpret_cast<double *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:131: Using C-style cast. Use reinterpret_cast<int *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:133: Using C-style cast. Use reinterpret_cast<int64_t *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:140: Using C-style cast. Use reinterpret_cast<int64_t *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:154: Using C-style cast. Use reinterpret_cast<void *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:164: Using C-style cast. Use reinterpret_cast<int32_t *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:178: Using C-style cast. Use reinterpret_cast<void *>(...) instead [readability/casting] [4]
Done processing ./include\LightGBM\R_object_helper.h
./src\boosting\goss.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\goss.hpp:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_BOOSTING_GOSS_HPP_ [build/header_guard] [5]
./src\boosting\goss.hpp:216: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_BOOSTING_GOSS_HPP_" [build/header_guard] [5]
./src\boosting\goss.hpp:10: Include the directory when naming .h files [build/include_subdir] [4]
./src\boosting\goss.hpp:12: Found C++ system header after other header. Should be: goss.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\goss.hpp:13: Found C++ system header after other header. Should be: goss.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\goss.hpp:14: Found C++ system header after other header. Should be: goss.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\goss.hpp:15: Found C++ system header after other header. Should be: goss.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\goss.hpp:16: Found C++ system header after other header. Should be: goss.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\goss.hpp:16: <chrono> is an unapproved C++11 header. [build/c++11] [5]
./src\boosting\goss.hpp:17: Found C++ system header after other header. Should be: goss.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\goss.hpp:87: Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand [runtime/references] [2]
Done processing ./src\boosting\goss.hpp
./src\metric\multiclass_metric.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\metric\multiclass_metric.hpp:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_METRIC_MULTICLASS_METRIC_HPP_ [build/header_guard] [5]
./src\metric\multiclass_metric.hpp:169: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_METRIC_MULTICLASS_METRIC_HPP_" [build/header_guard] [5]
./src\metric\multiclass_metric.hpp:134: Is this a non-const reference? If so, make const or use a pointer: std::vector<double>& score [runtime/references] [2]
./src\metric\multiclass_metric.hpp:154: Is this a non-const reference? If so, make const or use a pointer: std::vector<double>& score [runtime/references] [2]
./src\metric\multiclass_metric.hpp:125: Add #include <string> for string [build/include_what_you_use] [4]
./src\metric\multiclass_metric.hpp:154: Add #include <vector> for vector<> [build/include_what_you_use] [4]
Done processing ./src\metric\multiclass_metric.hpp
./include\LightGBM\meta.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\meta.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_META_H_ [build/header_guard] [5]
./include\LightGBM\meta.h:67: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_META_H_" [build/header_guard] [5]
./include\LightGBM\meta.h:46: Add #include <utility> for pair<> [build/include_what_you_use] [4]
Done processing ./include\LightGBM\meta.h
./include\LightGBM\utils\text_reader.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\utils\text_reader.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_TEXT_READER_H_ [build/header_guard] [5]
./include\LightGBM\utils\text_reader.h:326: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_TEXT_READER_H_" [build/header_guard] [5]
./include\LightGBM\utils\text_reader.h:104: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:104: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:114: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:114: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:162: Is this a non-const reference? If so, make const or use a pointer: Random& random [runtime/references] [2]
./include\LightGBM\utils\text_reader.h:171: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:171: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:198: Is this a non-const reference? If so, make const or use a pointer: Random& random [runtime/references] [2]
./include\LightGBM\utils\text_reader.h:211: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:211: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:254: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:254: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:267: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:267: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:303: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:303: If an else has a brace on one side, it should have it on both [readability/braces] [5]
Done processing ./include\LightGBM\utils\text_reader.h
./src\treelearner\parallel_tree_learner.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\parallel_tree_learner.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_PARALLEL_TREE_LEARNER_H_ [build/header_guard] [5]
./src\treelearner\parallel_tree_learner.h:212: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_PARALLEL_TREE_LEARNER_H_" [build/header_guard] [5]
./src\treelearner\parallel_tree_learner.h:4: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\parallel_tree_learner.h:5: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\parallel_tree_learner.h:6: Found C system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\parallel_tree_learner.h:8: Found C system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\parallel_tree_learner.h:10: Found C++ system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\parallel_tree_learner.h:11: Found C++ system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\parallel_tree_learner.h:12: Found C++ system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
Done processing ./src\treelearner\parallel_tree_learner.h
./src\io\config.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\config.cpp:157: Use int16/int64/etc, rather than the C type short [runtime/int] [4]
Done processing ./src\io\config.cpp
./include\LightGBM\utils\common.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\utils\common.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_COMMON_H_ [build/header_guard] [5]
./include\LightGBM\utils\common.h:881: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_COMMON_H_" [build/header_guard] [5]
./include\LightGBM\utils\common.h:21: Include the directory when naming .h files [build/include_subdir] [4]
./include\LightGBM\utils\common.h:297: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
./include\LightGBM\utils\common.h:343: Using deprecated casting style. Use static_cast<char>(...) instead [readability/casting] [4]
./include\LightGBM\utils\common.h:345: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./include\LightGBM\utils\common.h:345: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./include\LightGBM\utils\common.h:369: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
./include\LightGBM\utils\common.h:409: Closing ) should be moved to the previous line [whitespace/parens] [2]
./include\LightGBM\utils\common.h:413: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
./include\LightGBM\utils\common.h:622: Is this a non-const reference? If so, make const or use a pointer: std::vector<T1>& keys [runtime/references] [2]
./include\LightGBM\utils\common.h:622: Is this a non-const reference? If so, make const or use a pointer: std::vector<T2>& values [runtime/references] [2]
./include\LightGBM\utils\common.h:643: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<T>>& data [runtime/references] [2]
./include\LightGBM\utils\common.h:557: Add #include <limits> for numeric_limits<> [build/include_what_you_use] [4]
./include\LightGBM\utils\common.h:632: Add #include <utility> for pair<> [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\common.h
./src\objective\regression_objective.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\objective\regression_objective.hpp:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_OBJECTIVE_REGRESSION_OBJECTIVE_HPP_ [build/header_guard] [5]
./src\objective\regression_objective.hpp:814: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_OBJECTIVE_REGRESSION_OBJECTIVE_HPP_" [build/header_guard] [5]
./src\objective\regression_objective.hpp:61: Missing space before ( in if( [whitespace/parens] [5]
./src\objective\regression_objective.hpp:61: Missing space before { [whitespace/braces] [5]
./src\objective\regression_objective.hpp:433: Using C-style cast. Use reinterpret_cast<label_t*>(...) instead [readability/casting] [4]
./src\objective\regression_objective.hpp:645: Add #include <algorithm> for max [build/include_what_you_use] [4]
./src\objective\regression_objective.hpp:778: Add #include <string> for string [build/include_what_you_use] [4]
./src\objective\regression_objective.hpp:778: Add #include <vector> for vector<> [build/include_what_you_use] [4]
Done processing ./src\objective\regression_objective.hpp
./src\objective\xentropy_objective.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\objective\xentropy_objective.hpp:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_OBJECTIVE_XENTROPY_OBJECTIVE_HPP_ [build/header_guard] [5]
./src\objective\xentropy_objective.hpp:269: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_OBJECTIVE_XENTROPY_OBJECTIVE_HPP_" [build/header_guard] [5]
./src\objective\xentropy_objective.hpp:60: Using C-style cast. Use reinterpret_cast<label_t*>(...) instead [readability/casting] [4]
./src\objective\xentropy_objective.hpp:163: Using C-style cast. Use reinterpret_cast<label_t*>(...) instead [readability/casting] [4]
./src\objective\xentropy_objective.hpp:254: private: should be indented +1 space inside class CrossEntropyLambda [whitespace/indent] [3]
./src\objective\xentropy_objective.hpp:124: Add #include <algorithm> for max [build/include_what_you_use] [4]
./src\objective\xentropy_objective.hpp:148: Add #include <vector> for vector<> [build/include_what_you_use] [4]
./src\objective\xentropy_objective.hpp:226: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\objective\xentropy_objective.hpp
./src\metric\metric.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
Done processing ./src\metric\metric.cpp
./src\boosting\prediction_early_stop.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\prediction_early_stop.cpp:11: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing ./src\boosting\prediction_early_stop.cpp
./src\treelearner\leaf_splits.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\leaf_splits.hpp:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_LEAF_SPLITS_HPP_ [build/header_guard] [5]
./src\treelearner\leaf_splits.hpp:162: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_LEAF_SPLITS_HPP_" [build/header_guard] [5]
./src\treelearner\leaf_splits.hpp:6: Found C system header after C++ system header. Should be: leaf_splits.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\leaf_splits.hpp:9: Found C++ system header after other header. Should be: leaf_splits.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\leaf_splits.hpp:18: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
Done processing ./src\treelearner\leaf_splits.hpp
./src\treelearner\feature_histogram.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\feature_histogram.hpp:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_FEATURE_HISTOGRAM_HPP_ [build/header_guard] [5]
./src\treelearner\feature_histogram.hpp:821: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_FEATURE_HISTOGRAM_HPP_" [build/header_guard] [5]
./src\treelearner\feature_histogram.hpp:6: Found C system header after other header. Should be: feature_histogram.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\feature_histogram.hpp:7: Found C system header after other header. Should be: feature_histogram.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\feature_histogram.hpp:9: Found C++ system header after other header. Should be: feature_histogram.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\feature_histogram.hpp:10: Found C++ system header after other header. Should be: feature_histogram.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\feature_histogram.hpp:668: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
./src\treelearner\feature_histogram.hpp:439: Add #include <algorithm> for max [build/include_what_you_use] [4]
./src\treelearner\feature_histogram.hpp:790: Add #include <utility> for swap [build/include_what_you_use] [4]
./src\treelearner\feature_histogram.hpp:816: Add #include <vector> for vector<> [build/include_what_you_use] [4]
Done processing ./src\treelearner\feature_histogram.hpp
./include\LightGBM\prediction_early_stop.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\prediction_early_stop.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_PREDICTION_EARLY_STOP_H_ [build/header_guard] [5]
./include\LightGBM\prediction_early_stop.h:32: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_PREDICTION_EARLY_STOP_H_" [build/header_guard] [5]
./include\LightGBM\prediction_early_stop.h:7: Found C system header after C++ system header. Should be: prediction_early_stop.h, c system, c++ system, other. [build/include_order] [4]
Done processing ./include\LightGBM\prediction_early_stop.h
./src\metric\map_metric.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\metric\map_metric.hpp:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_METRIC_MAP_METRIC_HPP_ [build/header_guard] [5]
./src\metric\map_metric.hpp:168: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_METRIC_MAP_METRIC_HPP_" [build/header_guard] [5]
./src\metric\map_metric.hpp:99: Add #include <algorithm> for min [build/include_what_you_use] [4]
./src\metric\map_metric.hpp:162: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\metric\map_metric.hpp
./include\LightGBM\utils\file_io.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\utils\file_io.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_FILE_IO_H_ [build/header_guard] [5]
./include\LightGBM\utils\file_io.h:74: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_FILE_IO_H_" [build/header_guard] [5]
./include\LightGBM\utils\file_io.h:69: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\file_io.h
./include\LightGBM\utils\threading.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\utils\threading.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_THREADING_H_ [build/header_guard] [5]
./include\LightGBM\utils\threading.h:41: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_THREADING_H_" [build/header_guard] [5]
Done processing ./include\LightGBM\utils\threading.h
./src\boosting\boosting.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\boosting.cpp:2: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\boosting\boosting.cpp
./include\LightGBM\utils\random.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\utils\random.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_RANDOM_H_ [build/header_guard] [5]
./include\LightGBM\utils\random.h:114: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_RANDOM_H_" [build/header_guard] [5]
./include\LightGBM\utils\random.h:29: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
Done processing ./include\LightGBM\utils\random.h
./src\metric\regression_metric.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\metric\regression_metric.hpp:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_METRIC_REGRESSION_METRIC_HPP_ [build/header_guard] [5]
./src\metric\regression_metric.hpp:316: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_METRIC_REGRESSION_METRIC_HPP_" [build/header_guard] [5]
./src\metric\regression_metric.hpp:268: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\metric\regression_metric.hpp:290: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\metric\regression_metric.hpp:109: Add #include <string> for string [build/include_what_you_use] [4]
./src\metric\regression_metric.hpp:109: Add #include <vector> for vector<> [build/include_what_you_use] [4]
./src\metric\regression_metric.hpp:243: Add #include <algorithm> for max [build/include_what_you_use] [4]
Done processing ./src\metric\regression_metric.hpp
./src\network\linkers.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\network\linkers.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_NETWORK_LINKERS_H_ [build/header_guard] [5]
./src\network\linkers.h:307: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_NETWORK_LINKERS_H_" [build/header_guard] [5]
./src\network\linkers.h:10: <chrono> is an unapproved C++11 header. [build/c++11] [5]
./src\network\linkers.h:12: <thread> is an unapproved C++11 header. [build/c++11] [5]
./src\network\linkers.h:19: Found C system header after other header. Should be: linkers.h, c system, c++ system, other. [build/include_order] [4]
Done processing ./src\network\linkers.h
./src\boosting\gbdt.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\gbdt.cpp:1: Include the directory when naming .h files [build/include_subdir] [4]
./src\boosting\gbdt.cpp:14: <chrono> is an unapproved C++11 header. [build/c++11] [5]
./src\boosting\gbdt.cpp:264: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing ./src\boosting\gbdt.cpp
./src\boosting\score_updater.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\score_updater.hpp:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_BOOSTING_SCORE_UPDATER_HPP_ [build/header_guard] [5]
./src\boosting\score_updater.hpp:123: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_BOOSTING_SCORE_UPDATER_HPP_" [build/header_guard] [5]
./src\boosting\score_updater.hpp:118: Add #include <vector> for vector<> [build/include_what_you_use] [4]
Done processing ./src\boosting\score_updater.hpp
./src\io\parser.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\parser.hpp:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_IO_PARSER_HPP_ [build/header_guard] [5]
./src\io\parser.hpp:129: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_IO_PARSER_HPP_" [build/header_guard] [5]
./src\io\parser.hpp:32: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\io\parser.hpp:32: If an else has a brace on one side, it should have it on both [readability/braces] [5]
Done processing ./src\io\parser.hpp
./src\io\metadata.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
Done processing ./src\io\metadata.cpp
./include\LightGBM\tree_learner.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\tree_learner.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_TREE_LEARNER_H_ [build/header_guard] [5]
./include\LightGBM\tree_learner.h:100: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_TREE_LEARNER_H_" [build/header_guard] [5]
./include\LightGBM\tree_learner.h:9: Found C++ system header after other header. Should be: tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./include\LightGBM\tree_learner.h:11: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
./include\LightGBM\tree_learner.h:51: Is this a non-const reference? If so, make const or use a pointer: Json& forced_split_json [runtime/references] [2]
./include\LightGBM\tree_learner.h:94: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./include\LightGBM\tree_learner.h
./include\LightGBM\export.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\export.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_EXPORT_H_ [build/header_guard] [5]
./include\LightGBM\export.h:21: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_EXPORT_H_" [build/header_guard] [5]
Done processing ./include\LightGBM\export.h
./include\LightGBM\c_api.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\c_api.h:1: #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_C_API_H_ [build/header_guard] [5]
./include\LightGBM\c_api.h:834: #endif line should be "#endif // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_C_API_H_" [build/header_guard] [5]
./include\LightGBM\c_api.h:15: Found C system header after C++ system header. Should be: c_api.h, c system, c++ system, other. [build/include_order] [4]
./include\LightGBM\c_api.h:831: Almost always, snprintf is better than strcpy [runtime/printf] [4]
Done processing ./include\LightGBM\c_api.h
./src\io\dataset.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\dataset.cpp:7: <chrono> is an unapproved C++11 header. [build/c++11] [5]
./src\io\dataset.cpp:27: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\dataset.cpp:60: Is this a non-const reference? If so, make const or use a pointer: std::vector<bool>& mark [runtime/references] [2]
./src\io\dataset.cpp:138: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers [runtime/references] [2]
./src\io\dataset.cpp:748: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
./src\io\dataset.cpp:777: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
./src\io\dataset.cpp:810: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
./src\io\dataset.cpp:838: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
Done processing ./src\io\dataset.cpp
Total errors found: 674
@guolinke Can we have for No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] something like Copyright xxxx by Contributors, where xxxx is the year of file creation? It will allow to pass lint test and forget about this line for ever.
e5e9fbea5e8170d93422ed32a34aff8b31851998
Total errors found: 752
D:\Users\nekit\Downloads\LightGBM>cpplint --linelength=999 --recursive ./src ./include
./src\treelearner\gpu_tree_learner.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\gpu_tree_learner.h:1: #ifndef header guard has wrong style, please use: SRC_TREELEARNER_GPU_TREE_LEARNER_H_ [build/header_guard] [5]
./src\treelearner\gpu_tree_learner.h:284: #endif line should be "#endif // SRC_TREELEARNER_GPU_TREE_LEARNER_H_" [build/header_guard] [5]
./src\treelearner\gpu_tree_learner.h:10: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\gpu_tree_learner.h:15: Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:16: Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:17: Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:18: Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:19: Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:31: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
./src\treelearner\gpu_tree_learner.h:172: Line contains only semicolon. If this should be an empty statement, use {} instead. [whitespace/semicolon] [5]
./src\treelearner\gpu_tree_learner.h:176: Line contains only semicolon. If this should be an empty statement, use {} instead. [whitespace/semicolon] [5]
./src\treelearner\gpu_tree_learner.h:180: Line contains only semicolon. If this should be an empty statement, use {} instead. [whitespace/semicolon] [5]
./src\treelearner\gpu_tree_learner.h:184: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\treelearner\gpu_tree_learner.h
./src\boosting\gbdt_model_text.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\gbdt_model_text.cpp:1: Include the directory when naming .h files [build/include_subdir] [4]
./src\boosting\gbdt_model_text.cpp:13: For a static/global string constant, use a C style string instead: "const char kModelVersion[]". [runtime/string] [4]
./src\boosting\gbdt_model_text.cpp:241: Using C-style cast. Use static_cast<bool>(...) instead [readability/casting] [4]
./src\boosting\gbdt_model_text.cpp:340: Using C-style cast. Use static_cast<bool>(...) instead [readability/casting] [4]
./src\boosting\gbdt_model_text.cpp:359: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\boosting\gbdt_model_text.cpp:359: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\boosting\gbdt_model_text.cpp:362: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\boosting\gbdt_model_text.cpp:362: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\boosting\gbdt_model_text.cpp:371: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\boosting\gbdt_model_text.cpp:371: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\boosting\gbdt_model_text.cpp:454: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\boosting\gbdt_model_text.cpp:454: If an else has a brace on one side, it should have it on both [readability/braces] [5]
Done processing ./src\boosting\gbdt_model_text.cpp
./src\network\linker_topo.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
Done processing ./src\network\linker_topo.cpp
./include\LightGBM\tree_learner.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\tree_learner.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_TREE_LEARNER_H_ [build/header_guard] [5]
./include\LightGBM\tree_learner.h:100: #endif line should be "#endif // INCLUDE_LIGHTGBM_TREE_LEARNER_H_" [build/header_guard] [5]
./include\LightGBM\tree_learner.h:9: Found C++ system header after other header. Should be: tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./include\LightGBM\tree_learner.h:11: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
./include\LightGBM\tree_learner.h:51: Is this a non-const reference? If so, make const or use a pointer: Json& forced_split_json [runtime/references] [2]
./include\LightGBM\tree_learner.h:94: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./include\LightGBM\tree_learner.h
./src\network\linkers.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\network\linkers.h:1: #ifndef header guard has wrong style, please use: SRC_NETWORK_LINKERS_H_ [build/header_guard] [5]
./src\network\linkers.h:307: #endif line should be "#endif // SRC_NETWORK_LINKERS_H_" [build/header_guard] [5]
./src\network\linkers.h:10: <chrono> is an unapproved C++11 header. [build/c++11] [5]
./src\network\linkers.h:12: <thread> is an unapproved C++11 header. [build/c++11] [5]
./src\network\linkers.h:19: Found C system header after other header. Should be: linkers.h, c system, c++ system, other. [build/include_order] [4]
Done processing ./src\network\linkers.h
./include\LightGBM\dataset_loader.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\dataset_loader.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_DATASET_LOADER_H_ [build/header_guard] [5]
./include\LightGBM\dataset_loader.h:78: #endif line should be "#endif // INCLUDE_LIGHTGBM_DATASET_LOADER_H_" [build/header_guard] [5]
./include\LightGBM\dataset_loader.h:47: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::string>& text_data [runtime/references] [2]
./include\LightGBM\dataset_loader.h:76: Namespace should be terminated with "// namespace LightGBM" [readability/namespace] [5]
./include\LightGBM\dataset_loader.h:71: Add #include <string> for string [build/include_what_you_use] [4]
./include\LightGBM\dataset_loader.h:71: Add #include <vector> for vector<> [build/include_what_you_use] [4]
./include\LightGBM\dataset_loader.h:73: Add #include <unordered_set> for unordered_set<> [build/include_what_you_use] [4]
Done processing ./include\LightGBM\dataset_loader.h
./include\LightGBM\meta.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\meta.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_META_H_ [build/header_guard] [5]
./include\LightGBM\meta.h:67: #endif line should be "#endif // INCLUDE_LIGHTGBM_META_H_" [build/header_guard] [5]
./include\LightGBM\meta.h:46: Add #include <utility> for pair<> [build/include_what_you_use] [4]
Done processing ./include\LightGBM\meta.h
./src\io\tree.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\tree.cpp:345: Using deprecated casting style. Use static_cast<int>(...) instead [readability/casting] [4]
Done processing ./src\io\tree.cpp
./src\treelearner\tree_learner.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\tree_learner.cpp:3: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\tree_learner.cpp:4: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\tree_learner.cpp:5: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\tree_learner.cpp:21: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\tree_learner.cpp:21: If an else has a brace on one side, it should have it on both [readability/braces] [5]
Done processing ./src\treelearner\tree_learner.cpp
./src\io\file_io.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\file_io.cpp:51: For a static/global string constant, use a C style string instead: "const char kHdfsProto[]". [runtime/string] [4]
./src\io\file_io.cpp:95: Using C-style cast. Use reinterpret_cast<char *>(...) instead [readability/casting] [4]
Done processing ./src\io\file_io.cpp
./src\objective\binary_objective.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\objective\binary_objective.hpp:1: #ifndef header guard has wrong style, please use: SRC_OBJECTIVE_BINARY_OBJECTIVE_HPP_ [build/header_guard] [5]
./src\objective\binary_objective.hpp:196: #endif line should be "#endif // SRC_OBJECTIVE_BINARY_OBJECTIVE_HPP_" [build/header_guard] [5]
./src\objective\binary_objective.hpp:31: Add #include <vector> for vector<> [build/include_what_you_use] [4]
./src\objective\binary_objective.hpp:146: Add #include <algorithm> for max [build/include_what_you_use] [4]
./src\objective\binary_objective.hpp:164: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\objective\binary_objective.hpp
./src\application\application.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\application\application.cpp:16: Found C system header after other header. Should be: application.h, c system, c++ system, other. [build/include_order] [4]
./src\application\application.cpp:18: Found C++ system header after other header. Should be: application.h, c system, c++ system, other. [build/include_order] [4]
./src\application\application.cpp:19: Found C++ system header after other header. Should be: application.h, c system, c++ system, other. [build/include_order] [4]
./src\application\application.cpp:21: Found C++ system header after other header. Should be: application.h, c system, c++ system, other. [build/include_order] [4]
./src\application\application.cpp:21: <chrono> is an unapproved C++11 header. [build/c++11] [5]
./src\application\application.cpp:22: Found C++ system header after other header. Should be: application.h, c system, c++ system, other. [build/include_order] [4]
./src\application\application.cpp:23: Found C++ system header after other header. Should be: application.h, c system, c++ system, other. [build/include_order] [4]
./src\application\application.cpp:24: Found C++ system header after other header. Should be: application.h, c system, c++ system, other. [build/include_order] [4]
./src\application\application.cpp:25: Found C++ system header after other header. Should be: application.h, c system, c++ system, other. [build/include_order] [4]
./src\application\application.cpp:26: Found C++ system header after other header. Should be: application.h, c system, c++ system, other. [build/include_order] [4]
Done processing ./src\application\application.cpp
./src\boosting\boosting.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\boosting.cpp:2: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\boosting\boosting.cpp
./src\network\network.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\network\network.cpp:5: Include the directory when naming .h files [build/include_subdir] [4]
./src\network\network.cpp:7: Found C++ system header after other header. Should be: network.h, c system, c++ system, other. [build/include_order] [4]
./src\network\network.cpp:8: Found C++ system header after other header. Should be: network.h, c system, c++ system, other. [build/include_order] [4]
Done processing ./src\network\network.cpp
./include\LightGBM\metric.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\metric.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_METRIC_H_ [build/header_guard] [5]
./include\LightGBM\metric.h:139: #endif line should be "#endif // INCLUDE_LIGHTGBM_METRIC_H_" [build/header_guard] [5]
./include\LightGBM\metric.h:53: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./include\LightGBM\metric.h
./include\LightGBM\lightgbm_R.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\lightgbm_R.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_LIGHTGBM_R_H_ [build/header_guard] [5]
./include\LightGBM\lightgbm_R.h:525: #endif line should be "#endif // INCLUDE_LIGHTGBM_LIGHTGBM_R_H_" [build/header_guard] [5]
./include\LightGBM\lightgbm_R.h:7: Found C system header after C++ system header. Should be: lightgbm_R.h, c system, c++ system, other. [build/include_order] [4]
Done processing ./include\LightGBM\lightgbm_R.h
./include\LightGBM\utils\common.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\utils\common.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_COMMON_H_ [build/header_guard] [5]
./include\LightGBM\utils\common.h:881: #endif line should be "#endif // INCLUDE_LIGHTGBM_UTILS_COMMON_H_" [build/header_guard] [5]
./include\LightGBM\utils\common.h:21: Include the directory when naming .h files [build/include_subdir] [4]
./include\LightGBM\utils\common.h:297: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
./include\LightGBM\utils\common.h:343: Using deprecated casting style. Use static_cast<char>(...) instead [readability/casting] [4]
./include\LightGBM\utils\common.h:345: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./include\LightGBM\utils\common.h:345: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./include\LightGBM\utils\common.h:369: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
./include\LightGBM\utils\common.h:409: Closing ) should be moved to the previous line [whitespace/parens] [2]
./include\LightGBM\utils\common.h:413: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
./include\LightGBM\utils\common.h:622: Is this a non-const reference? If so, make const or use a pointer: std::vector<T1>& keys [runtime/references] [2]
./include\LightGBM\utils\common.h:622: Is this a non-const reference? If so, make const or use a pointer: std::vector<T2>& values [runtime/references] [2]
./include\LightGBM\utils\common.h:643: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<T>>& data [runtime/references] [2]
./include\LightGBM\utils\common.h:557: Add #include <limits> for numeric_limits<> [build/include_what_you_use] [4]
./include\LightGBM\utils\common.h:632: Add #include <utility> for pair<> [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\common.h
./src\boosting\goss.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\goss.hpp:1: #ifndef header guard has wrong style, please use: SRC_BOOSTING_GOSS_HPP_ [build/header_guard] [5]
./src\boosting\goss.hpp:216: #endif line should be "#endif // SRC_BOOSTING_GOSS_HPP_" [build/header_guard] [5]
./src\boosting\goss.hpp:10: Include the directory when naming .h files [build/include_subdir] [4]
./src\boosting\goss.hpp:12: Found C++ system header after other header. Should be: goss.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\goss.hpp:13: Found C++ system header after other header. Should be: goss.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\goss.hpp:14: Found C++ system header after other header. Should be: goss.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\goss.hpp:15: Found C++ system header after other header. Should be: goss.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\goss.hpp:16: Found C++ system header after other header. Should be: goss.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\goss.hpp:16: <chrono> is an unapproved C++11 header. [build/c++11] [5]
./src\boosting\goss.hpp:17: Found C++ system header after other header. Should be: goss.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\goss.hpp:87: Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand [runtime/references] [2]
Done processing ./src\boosting\goss.hpp
./src\io\sparse_bin.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\sparse_bin.hpp:1: #ifndef header guard has wrong style, please use: SRC_IO_SPARSE_BIN_HPP_ [build/header_guard] [5]
./src\io\sparse_bin.hpp:468: #endif line should be "#endif // SRC_IO_SPARSE_BIN_HPP_" [build/header_guard] [5]
./src\io\sparse_bin.hpp:74: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./src\io\sparse_bin.hpp:144: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\io\sparse_bin.hpp:207: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\io\sparse_bin.hpp:416: Missing space before { [whitespace/braces] [5]
./src\io\sparse_bin.hpp:428: Missing space before { [whitespace/braces] [5]
./src\io\sparse_bin.hpp:254: Add #include <algorithm> for sort [build/include_what_you_use] [4]
./src\io\sparse_bin.hpp:423: Add #include <utility> for pair<> [build/include_what_you_use] [4]
Done processing ./src\io\sparse_bin.hpp
./src\objective\rank_objective.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\objective\rank_objective.hpp:1: #ifndef header guard has wrong style, please use: SRC_OBJECTIVE_RANK_OBJECTIVE_HPP_ [build/header_guard] [5]
./src\objective\rank_objective.hpp:240: #endif line should be "#endif // SRC_OBJECTIVE_RANK_OBJECTIVE_HPP_" [build/header_guard] [5]
./src\objective\rank_objective.hpp:200: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\objective\rank_objective.hpp
./src\main.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\main.cpp:2: Found C system header after C++ system header. Should be: main.h, c system, c++ system, other. [build/include_order] [4]
Done processing ./src\main.cpp
./src\treelearner\feature_histogram.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\feature_histogram.hpp:1: #ifndef header guard has wrong style, please use: SRC_TREELEARNER_FEATURE_HISTOGRAM_HPP_ [build/header_guard] [5]
./src\treelearner\feature_histogram.hpp:821: #endif line should be "#endif // SRC_TREELEARNER_FEATURE_HISTOGRAM_HPP_" [build/header_guard] [5]
./src\treelearner\feature_histogram.hpp:6: Found C system header after other header. Should be: feature_histogram.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\feature_histogram.hpp:7: Found C system header after other header. Should be: feature_histogram.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\feature_histogram.hpp:9: Found C++ system header after other header. Should be: feature_histogram.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\feature_histogram.hpp:10: Found C++ system header after other header. Should be: feature_histogram.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\feature_histogram.hpp:668: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
./src\treelearner\feature_histogram.hpp:439: Add #include <algorithm> for max [build/include_what_you_use] [4]
./src\treelearner\feature_histogram.hpp:790: Add #include <utility> for swap [build/include_what_you_use] [4]
./src\treelearner\feature_histogram.hpp:808: Add #include <memory> for unique_ptr<> [build/include_what_you_use] [4]
./src\treelearner\feature_histogram.hpp:816: Add #include <vector> for vector<> [build/include_what_you_use] [4]
Done processing ./src\treelearner\feature_histogram.hpp
./src\metric\multiclass_metric.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\metric\multiclass_metric.hpp:1: #ifndef header guard has wrong style, please use: SRC_METRIC_MULTICLASS_METRIC_HPP_ [build/header_guard] [5]
./src\metric\multiclass_metric.hpp:169: #endif line should be "#endif // SRC_METRIC_MULTICLASS_METRIC_HPP_" [build/header_guard] [5]
./src\metric\multiclass_metric.hpp:134: Is this a non-const reference? If so, make const or use a pointer: std::vector<double>& score [runtime/references] [2]
./src\metric\multiclass_metric.hpp:154: Is this a non-const reference? If so, make const or use a pointer: std::vector<double>& score [runtime/references] [2]
./src\metric\multiclass_metric.hpp:125: Add #include <string> for string [build/include_what_you_use] [4]
./src\metric\multiclass_metric.hpp:154: Add #include <vector> for vector<> [build/include_what_you_use] [4]
Done processing ./src\metric\multiclass_metric.hpp
./include\LightGBM\utils\pipeline_reader.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\utils\pipeline_reader.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_PIPELINE_READER_H_ [build/header_guard] [5]
./include\LightGBM\utils\pipeline_reader.h:67: #endif line should be "#endif // INCLUDE_LIGHTGBM_UTILS_PIPELINE_READER_H_" [build/header_guard] [5]
./include\LightGBM\utils\pipeline_reader.h:9: <thread> is an unapproved C++11 header. [build/c++11] [5]
./include\LightGBM\utils\pipeline_reader.h:13: Include the directory when naming .h files [build/include_subdir] [4]
./include\LightGBM\utils\pipeline_reader.h:58: Add #include <utility> for swap [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\pipeline_reader.h
./include\LightGBM\utils\random.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\utils\random.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_RANDOM_H_ [build/header_guard] [5]
./include\LightGBM\utils\random.h:114: #endif line should be "#endif // INCLUDE_LIGHTGBM_UTILS_RANDOM_H_" [build/header_guard] [5]
./include\LightGBM\utils\random.h:29: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
Done processing ./include\LightGBM\utils\random.h
./include\LightGBM\R_object_helper.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\R_object_helper.h:6: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_R_OBJECT_HELPER_H_ [build/header_guard] [5]
./include\LightGBM\R_object_helper.h:188: #endif line should be "#endif // INCLUDE_LIGHTGBM_R_OBJECT_HELPER_H_" [build/header_guard] [5]
./include\LightGBM\R_object_helper.h:121: Using C-style cast. Use reinterpret_cast<SEXPREC_ALIGN *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:123: Using C-style cast. Use reinterpret_cast<char *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:125: Using C-style cast. Use reinterpret_cast<int *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:127: Using C-style cast. Use reinterpret_cast<int64_t *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:129: Using C-style cast. Use reinterpret_cast<double *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:131: Using C-style cast. Use reinterpret_cast<int *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:133: Using C-style cast. Use reinterpret_cast<int64_t *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:140: Using C-style cast. Use reinterpret_cast<int64_t *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:154: Using C-style cast. Use reinterpret_cast<void *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:164: Using C-style cast. Use reinterpret_cast<int32_t *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:178: Using C-style cast. Use reinterpret_cast<void *>(...) instead [readability/casting] [4]
Done processing ./include\LightGBM\R_object_helper.h
./src\treelearner\serial_tree_learner.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\serial_tree_learner.cpp:1: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\serial_tree_learner.cpp:272: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
./src\treelearner\serial_tree_learner.cpp:801: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\treelearner\serial_tree_learner.cpp:841: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\treelearner\serial_tree_learner.cpp:553: Add #include <unordered_map> for unordered_map<> [build/include_what_you_use] [4]
./src\treelearner\serial_tree_learner.cpp:694: Add #include <utility> for make_pair [build/include_what_you_use] [4]
Done processing ./src\treelearner\serial_tree_learner.cpp
./src\io\bin.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\bin.cpp:11: Found C++ system header after other header. Should be: bin.h, c system, c++ system, other. [build/include_order] [4]
./src\io\bin.cpp:12: Found C++ system header after other header. Should be: bin.h, c system, c++ system, other. [build/include_order] [4]
./src\io\bin.cpp:13: Found C++ system header after other header. Should be: bin.h, c system, c++ system, other. [build/include_order] [4]
./src\io\bin.cpp:15: Found C++ system header after other header. Should be: bin.h, c system, c++ system, other. [build/include_order] [4]
./src\io\bin.cpp:16: Found C++ system header after other header. Should be: bin.h, c system, c++ system, other. [build/include_order] [4]
./src\io\bin.cpp:17: Found C++ system header after other header. Should be: bin.h, c system, c++ system, other. [build/include_order] [4]
./src\io\bin.cpp:76: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\bin.cpp:196: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\bin.cpp:392: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing ./src\io\bin.cpp
./src\treelearner\data_partition.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\data_partition.hpp:1: #ifndef header guard has wrong style, please use: SRC_TREELEARNER_DATA_PARTITION_HPP_ [build/header_guard] [5]
./src\treelearner\data_partition.hpp:225: #endif line should be "#endif // SRC_TREELEARNER_DATA_PARTITION_HPP_" [build/header_guard] [5]
./src\treelearner\data_partition.hpp:83: Add #include <algorithm> for copy [build/include_what_you_use] [4]
Done processing ./src\treelearner\data_partition.hpp
./include\LightGBM\objective_function.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\objective_function.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_OBJECTIVE_FUNCTION_H_ [build/header_guard] [5]
./include\LightGBM\objective_function.h:93: #endif line should be "#endif // INCLUDE_LIGHTGBM_OBJECTIVE_FUNCTION_H_" [build/header_guard] [5]
./include\LightGBM\objective_function.h:88: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./include\LightGBM\objective_function.h
./src\io\dense_bin.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\dense_bin.hpp:1: #ifndef header guard has wrong style, please use: SRC_IO_DENSE_BIN_HPP_ [build/header_guard] [5]
./src\io\dense_bin.hpp:350: #endif line should be "#endif // SRC_IO_DENSE_BIN_HPP_" [build/header_guard] [5]
./src\io\dense_bin.hpp:47: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./src\io\dense_bin.hpp:191: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\io\dense_bin.hpp:252: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\io\dense_bin.hpp:325: Missing space before { [whitespace/braces] [5]
Done processing ./src\io\dense_bin.hpp
./src\io\dataset_loader.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\dataset_loader.cpp:394: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\io\dataset_loader.cpp:394: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\io\dataset_loader.cpp:417: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\io\dataset_loader.cpp:417: If an else has a brace on one side, it should have it on both [readability/braces] [5]
Done processing ./src\io\dataset_loader.cpp
./include\LightGBM\json11.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\json11.hpp:80: public: should be indented +1 space inside class Json [whitespace/indent] [3]
./include\LightGBM\json11.hpp:92: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:93: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:94: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:95: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:96: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:97: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:98: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:99: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:100: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:101: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:102: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:106: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:113: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:119: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:123: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:156: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
./include\LightGBM\json11.hpp:165: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
./include\LightGBM\json11.hpp:168: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
./include\LightGBM\json11.hpp:180: Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos [runtime/references] [2]
./include\LightGBM\json11.hpp:181: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
./include\LightGBM\json11.hpp:186: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
./include\LightGBM\json11.hpp:205: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
./include\LightGBM\json11.hpp:220: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
./include\LightGBM\json11.hpp:204: Add #include <utility> for pair<> [build/include_what_you_use] [4]
Done processing ./include\LightGBM\json11.hpp
./src\io\config_auto.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\config_auto.cpp:271: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
./src\io\config_auto.cpp:277: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:284: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
./src\io\config_auto.cpp:341: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:344: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:353: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:356: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:375: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:378: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:381: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:454: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:482: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:489: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:498: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:501: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:504: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:515: Redundant blank line at the end of a code block should be deleted. [whitespace/blank_line] [3]
./src\io\config_auto.cpp:619: Namespace should be terminated with "// namespace LightGBM" [readability/namespace] [5]
Done processing ./src\io\config_auto.cpp
./src\io\config.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\config.cpp:157: Use int16/int64/etc, rather than the C type short [runtime/int] [4]
Done processing ./src\io\config.cpp
./include\LightGBM\utils\text_reader.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\utils\text_reader.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_TEXT_READER_H_ [build/header_guard] [5]
./include\LightGBM\utils\text_reader.h:326: #endif line should be "#endif // INCLUDE_LIGHTGBM_UTILS_TEXT_READER_H_" [build/header_guard] [5]
./include\LightGBM\utils\text_reader.h:104: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:104: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:114: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:114: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:162: Is this a non-const reference? If so, make const or use a pointer: Random& random [runtime/references] [2]
./include\LightGBM\utils\text_reader.h:171: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:171: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:198: Is this a non-const reference? If so, make const or use a pointer: Random& random [runtime/references] [2]
./include\LightGBM\utils\text_reader.h:211: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:211: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:254: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:254: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:267: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:267: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:303: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:303: If an else has a brace on one side, it should have it on both [readability/braces] [5]
Done processing ./include\LightGBM\utils\text_reader.h
./include\LightGBM\application.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\application.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_APPLICATION_H_ [build/header_guard] [5]
./include\LightGBM\application.h:88: #endif line should be "#endif // INCLUDE_LIGHTGBM_APPLICATION_H_" [build/header_guard] [5]
Done processing ./include\LightGBM\application.h
./include\LightGBM\c_api.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\c_api.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_C_API_H_ [build/header_guard] [5]
./include\LightGBM\c_api.h:945: #endif line should be "#endif // INCLUDE_LIGHTGBM_C_API_H_" [build/header_guard] [5]
./include\LightGBM\c_api.h:15: Found C system header after C++ system header. Should be: c_api.h, c system, c++ system, other. [build/include_order] [4]
./include\LightGBM\c_api.h:942: Almost always, snprintf is better than strcpy [runtime/printf] [4]
Done processing ./include\LightGBM\c_api.h
./include\LightGBM\utils\threading.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\utils\threading.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_THREADING_H_ [build/header_guard] [5]
./include\LightGBM\utils\threading.h:41: #endif line should be "#endif // INCLUDE_LIGHTGBM_UTILS_THREADING_H_" [build/header_guard] [5]
Done processing ./include\LightGBM\utils\threading.h
./src\metric\regression_metric.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\metric\regression_metric.hpp:1: #ifndef header guard has wrong style, please use: SRC_METRIC_REGRESSION_METRIC_HPP_ [build/header_guard] [5]
./src\metric\regression_metric.hpp:316: #endif line should be "#endif // SRC_METRIC_REGRESSION_METRIC_HPP_" [build/header_guard] [5]
./src\metric\regression_metric.hpp:268: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\metric\regression_metric.hpp:290: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\metric\regression_metric.hpp:109: Add #include <string> for string [build/include_what_you_use] [4]
./src\metric\regression_metric.hpp:109: Add #include <vector> for vector<> [build/include_what_you_use] [4]
./src\metric\regression_metric.hpp:243: Add #include <algorithm> for max [build/include_what_you_use] [4]
Done processing ./src\metric\regression_metric.hpp
./src\objective\multiclass_objective.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\objective\multiclass_objective.hpp:1: #ifndef header guard has wrong style, please use: SRC_OBJECTIVE_MULTICLASS_OBJECTIVE_HPP_ [build/header_guard] [5]
./src\objective\multiclass_objective.hpp:259: #endif line should be "#endif // SRC_OBJECTIVE_MULTICLASS_OBJECTIVE_HPP_" [build/header_guard] [5]
./src\objective\multiclass_objective.hpp:137: Add #include <algorithm> for max [build/include_what_you_use] [4]
./src\objective\multiclass_objective.hpp:225: Add #include <string> for string [build/include_what_you_use] [4]
./src\objective\multiclass_objective.hpp:254: Add #include <memory> for unique_ptr<> [build/include_what_you_use] [4]
Done processing ./src\objective\multiclass_objective.hpp
./src\metric\rank_metric.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\metric\rank_metric.hpp:1: #ifndef header guard has wrong style, please use: SRC_METRIC_RANK_METRIC_HPP_ [build/header_guard] [5]
./src\metric\rank_metric.hpp:171: #endif line should be "#endif // SRC_METRIC_RANK_METRIC_HPP_" [build/header_guard] [5]
./src\metric\rank_metric.hpp:152: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\metric\rank_metric.hpp
./src\lightgbm_R.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\lightgbm_R.cpp:34: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing ./src\lightgbm_R.cpp
./include\LightGBM\feature_group.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\feature_group.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_FEATURE_GROUP_H_ [build/header_guard] [5]
./include\LightGBM\feature_group.h:246: #endif line should be "#endif // INCLUDE_LIGHTGBM_FEATURE_GROUP_H_" [build/header_guard] [5]
./include\LightGBM\feature_group.h:31: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers [runtime/references] [2]
./include\LightGBM\feature_group.h:54: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers [runtime/references] [2]
./include\LightGBM\feature_group.h:215: Missing space before { [whitespace/braces] [5]
./include\LightGBM\feature_group.h:222: Missing space before ( in for( [whitespace/parens] [5]
./include\LightGBM\feature_group.h:222: Missing space before { [whitespace/braces] [5]
Done processing ./include\LightGBM\feature_group.h
./src\metric\dcg_calculator.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\metric\dcg_calculator.cpp:25: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing ./src\metric\dcg_calculator.cpp
./src\treelearner\split_info.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\split_info.hpp:1: #ifndef header guard has wrong style, please use: SRC_TREELEARNER_SPLIT_INFO_HPP_ [build/header_guard] [5]
./src\treelearner\split_info.hpp:285: #endif line should be "#endif // SRC_TREELEARNER_SPLIT_INFO_HPP_" [build/header_guard] [5]
./src\treelearner\split_info.hpp:42: Add #include <vector> for vector<> [build/include_what_you_use] [4]
Done processing ./src\treelearner\split_info.hpp
./src\metric\binary_metric.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\metric\binary_metric.hpp:1: #ifndef header guard has wrong style, please use: SRC_METRIC_BINARY_METRIC_HPP_ [build/header_guard] [5]
./src\metric\binary_metric.hpp:263: #endif line should be "#endif // SRC_METRIC_BINARY_METRIC_HPP_" [build/header_guard] [5]
./src\metric\binary_metric.hpp:259: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\metric\binary_metric.hpp
./src\metric\map_metric.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\metric\map_metric.hpp:1: #ifndef header guard has wrong style, please use: SRC_METRIC_MAP_METRIC_HPP_ [build/header_guard] [5]
./src\metric\map_metric.hpp:168: #endif line should be "#endif // SRC_METRIC_MAP_METRIC_HPP_" [build/header_guard] [5]
./src\metric\map_metric.hpp:99: Add #include <algorithm> for min [build/include_what_you_use] [4]
./src\metric\map_metric.hpp:162: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\metric\map_metric.hpp
./src\network\linkers_mpi.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\network\linkers_mpi.cpp:2: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\network\linkers_mpi.cpp
./include\LightGBM\network.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\network.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_NETWORK_H_ [build/header_guard] [5]
./include\LightGBM\network.h:307: #endif line should be "#endif // INCLUDE_LIGHTGBM_NETWORK_H_" [build/header_guard] [5]
./include\LightGBM\network.h:166: Is this a non-const reference? If so, make const or use a pointer: T& local [runtime/references] [2]
./include\LightGBM\network.h:190: Is this a non-const reference? If so, make const or use a pointer: T& local [runtime/references] [2]
./include\LightGBM\network.h:214: Is this a non-const reference? If so, make const or use a pointer: T& local [runtime/references] [2]
./include\LightGBM\network.h:236: Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& local [runtime/references] [2]
Done processing ./include\LightGBM\network.h
./src\io\parser.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\parser.cpp:25: Is this a non-const reference? If so, make const or use a pointer: std::string& str [runtime/references] [2]
./src\io\parser.cpp:39: Is this a non-const reference? If so, make const or use a pointer: std::string& str [runtime/references] [2]
./src\io\parser.cpp:52: Is this a non-const reference? If so, make const or use a pointer: std::string& str [runtime/references] [2]
./src\io\parser.cpp:72: Is this a non-const reference? If so, make const or use a pointer: std::string& line [runtime/references] [2]
./src\io\parser.cpp:72: Is this a non-const reference? If so, make const or use a pointer: std::vector<char>& buffer [runtime/references] [2]
./src\io\parser.cpp:154: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\io\parser.cpp:154: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\io\parser.cpp:158: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\io\parser.cpp:158: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\io\parser.cpp:100: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\io\parser.cpp
./src\objective\regression_objective.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\objective\regression_objective.hpp:1: #ifndef header guard has wrong style, please use: SRC_OBJECTIVE_REGRESSION_OBJECTIVE_HPP_ [build/header_guard] [5]
./src\objective\regression_objective.hpp:814: #endif line should be "#endif // SRC_OBJECTIVE_REGRESSION_OBJECTIVE_HPP_" [build/header_guard] [5]
./src\objective\regression_objective.hpp:61: Missing space before ( in if( [whitespace/parens] [5]
./src\objective\regression_objective.hpp:61: Missing space before { [whitespace/braces] [5]
./src\objective\regression_objective.hpp:433: Using C-style cast. Use reinterpret_cast<label_t*>(...) instead [readability/casting] [4]
./src\objective\regression_objective.hpp:645: Add #include <algorithm> for max [build/include_what_you_use] [4]
./src\objective\regression_objective.hpp:778: Add #include <string> for string [build/include_what_you_use] [4]
./src\objective\regression_objective.hpp:778: Add #include <vector> for vector<> [build/include_what_you_use] [4]
Done processing ./src\objective\regression_objective.hpp
./src\treelearner\gpu_tree_learner.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\gpu_tree_learner.cpp:2: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\gpu_tree_learner.cpp:6: Found C system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:7: Found C system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:8: Found C system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:10: Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:11: Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:106: Using C-style cast. Use static_cast<int>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:111: Using C-style cast. Use static_cast<int>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:113: Using C-style cast. Use static_cast<int>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:154: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:154: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:173: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:173: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:178: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:178: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:186: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:194: Using C-style cast. Use reinterpret_cast<HistType*>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:212: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:212: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:321: At least two spaces is best between code and comments [whitespace/comments] [2]
./src\treelearner\gpu_tree_learner.cpp:332: Using C-style cast. Use static_cast<double>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:334: Using C-style cast. Use static_cast<int>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:341: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:341: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:356: Using C-style cast. Use static_cast<int>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:363: Using C-style cast. Use reinterpret_cast<Feature4*>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:367: Using C-style cast. Use reinterpret_cast<Feature4*>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:372: Using C-style cast. Use static_cast<int>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:414: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:414: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:426: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:426: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:433: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:433: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:438: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:438: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:473: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:473: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:477: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:477: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:487: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:487: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:495: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:495: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:499: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:499: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:513: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:513: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:675: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:675: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:708: Using C-style cast. Use static_cast<int>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:710: Using C-style cast. Use static_cast<int>(...) instead [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:723: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:723: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:729: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:729: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:735: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:735: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:785: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:785: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:819: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:819: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:915: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:915: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:928: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:928: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:948: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:948: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:985: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:985: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:1010: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:1010: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:1064: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:1064: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:564: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\treelearner\gpu_tree_learner.cpp
./src\boosting\prediction_early_stop.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\prediction_early_stop.cpp:11: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing ./src\boosting\prediction_early_stop.cpp
./src\io\json11.cpp:53: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:57: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:67: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:73: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:77: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:114: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:126: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:294: Else clause should never be on same line as else (use 2 lines) [whitespace/newline] [4]
./src\io\json11.cpp:337: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
./src\io\json11.cpp:349: const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants. [runtime/member_string_references] [2]
./src\io\json11.cpp:390: At least two spaces is best between code and comments [whitespace/comments] [2]
./src\io\json11.cpp:398: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\io\json11.cpp:398: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\io\json11.cpp:411: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\io\json11.cpp:430: Empty loop bodies should use {} or continue [whitespace/empty_loop_body] [5]
./src\io\json11.cpp:441: Using C-style cast. Use static_cast<char>(...) instead [readability/casting] [4]
./src\io\json11.cpp:443: Using C-style cast. Use static_cast<char>(...) instead [readability/casting] [4]
./src\io\json11.cpp:452: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
./src\io\json11.cpp:452: Is this a non-const reference? If so, make const or use a pointer: string & out [runtime/references] [2]
./src\io\json11.cpp:479: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
./src\io\json11.cpp:523: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
Done processing ./src\io\json11.cpp
./include\LightGBM\dataset.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\dataset.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_DATASET_H_ [build/header_guard] [5]
./include\LightGBM\dataset.h:631: #endif line should be "#endif // INCLUDE_LIGHTGBM_DATASET_H_" [build/header_guard] [5]
./include\LightGBM\dataset.h:17: <mutex> is an unapproved C++11 header. [build/c++11] [5]
./include\LightGBM\dataset.h:287: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers [runtime/references] [2]
./include\LightGBM\dataset.h:405: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<OrderedBin>>& ordered_bins [runtime/references] [2]
./include\LightGBM\dataset.h:593: Add #include <memory> for unique_ptr<> [build/include_what_you_use] [4]
Done processing ./include\LightGBM\dataset.h
./src\boosting\gbdt.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\gbdt.cpp:1: Include the directory when naming .h files [build/include_subdir] [4]
./src\boosting\gbdt.cpp:14: <chrono> is an unapproved C++11 header. [build/c++11] [5]
./src\boosting\gbdt.cpp:264: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing ./src\boosting\gbdt.cpp
./src\treelearner\leaf_splits.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\leaf_splits.hpp:1: #ifndef header guard has wrong style, please use: SRC_TREELEARNER_LEAF_SPLITS_HPP_ [build/header_guard] [5]
./src\treelearner\leaf_splits.hpp:162: #endif line should be "#endif // SRC_TREELEARNER_LEAF_SPLITS_HPP_" [build/header_guard] [5]
./src\treelearner\leaf_splits.hpp:6: Found C system header after C++ system header. Should be: leaf_splits.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\leaf_splits.hpp:9: Found C++ system header after other header. Should be: leaf_splits.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\leaf_splits.hpp:18: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
Done processing ./src\treelearner\leaf_splits.hpp
./include\LightGBM\utils\file_io.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\utils\file_io.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_FILE_IO_H_ [build/header_guard] [5]
./include\LightGBM\utils\file_io.h:74: #endif line should be "#endif // INCLUDE_LIGHTGBM_UTILS_FILE_IO_H_" [build/header_guard] [5]
./include\LightGBM\utils\file_io.h:69: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\file_io.h
./src\io\parser.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\parser.hpp:1: #ifndef header guard has wrong style, please use: SRC_IO_PARSER_HPP_ [build/header_guard] [5]
./src\io\parser.hpp:129: #endif line should be "#endif // SRC_IO_PARSER_HPP_" [build/header_guard] [5]
./src\io\parser.hpp:32: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\io\parser.hpp:32: If an else has a brace on one side, it should have it on both [readability/braces] [5]
Done processing ./src\io\parser.hpp
./src\treelearner\parallel_tree_learner.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\parallel_tree_learner.h:1: #ifndef header guard has wrong style, please use: SRC_TREELEARNER_PARALLEL_TREE_LEARNER_H_ [build/header_guard] [5]
./src\treelearner\parallel_tree_learner.h:212: #endif line should be "#endif // SRC_TREELEARNER_PARALLEL_TREE_LEARNER_H_" [build/header_guard] [5]
./src\treelearner\parallel_tree_learner.h:4: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\parallel_tree_learner.h:5: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\parallel_tree_learner.h:6: Found C system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\parallel_tree_learner.h:8: Found C system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\parallel_tree_learner.h:10: Found C++ system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\parallel_tree_learner.h:11: Found C++ system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\parallel_tree_learner.h:12: Found C++ system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
Done processing ./src\treelearner\parallel_tree_learner.h
./include\LightGBM\config.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\config.h:3: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_CONFIG_H_ [build/header_guard] [5]
./include\LightGBM\config.h:880: #endif line should be "#endif // INCLUDE_LIGHTGBM_CONFIG_H_" [build/header_guard] [5]
./include\LightGBM\config.h:74: Is this a non-const reference? If so, make const or use a pointer: std::unordered_map<std::string, std::string>& params [runtime/references] [2]
Done processing ./include\LightGBM\config.h
./src\io\dense_nbits_bin.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\dense_nbits_bin.hpp:1: #ifndef header guard has wrong style, please use: SRC_IO_DENSE_NBITS_BIN_HPP_ [build/header_guard] [5]
./src\io\dense_nbits_bin.hpp:397: #endif line should be "#endif // SRC_IO_DENSE_NBITS_BIN_HPP_" [build/header_guard] [5]
./src\io\dense_nbits_bin.hpp:41: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./src\io\dense_nbits_bin.hpp:214: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\io\dense_nbits_bin.hpp:275: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\io\dense_nbits_bin.hpp:372: Missing space before { [whitespace/braces] [5]
./src\io\dense_nbits_bin.hpp:373: Line ends in whitespace. Consider deleting these extra spaces. [whitespace/end_of_line] [4]
Done processing ./src\io\dense_nbits_bin.hpp
./include\LightGBM\boosting.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\boosting.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_BOOSTING_H_ [build/header_guard] [5]
./include\LightGBM\boosting.h:304: #endif line should be "#endif // INCLUDE_LIGHTGBM_BOOSTING_H_" [build/header_guard] [5]
./include\LightGBM\boosting.h:158: Add #include <unordered_map> for unordered_map<> [build/include_what_you_use] [4]
Done processing ./include\LightGBM\boosting.h
./src\objective\objective_function.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
Done processing ./src\objective\objective_function.cpp
./include\LightGBM\tree.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\tree.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_TREE_H_ [build/header_guard] [5]
./include\LightGBM\tree.h:517: #endif line should be "#endif // INCLUDE_LIGHTGBM_TREE_H_" [build/header_guard] [5]
./include\LightGBM\tree.h:262: Using deprecated casting style. Use static_cast<int>(...) instead [readability/casting] [4]
./include\LightGBM\tree.h:271: Using deprecated casting style. Use static_cast<int>(...) instead [readability/casting] [4]
./include\LightGBM\tree.h:334: Complex multi-line /*...*/-style comment found. Lint may give bogus warnings. Consider replacing these with //-style comments, with #if 0...#endif, or with more clearly structured multi-line comments. [readability/multiline_comment] [5]
./include\LightGBM\tree.h:334: At least two spaces is best between code and comments [whitespace/comments] [2]
./include\LightGBM\tree.h:334: Should have a space between // and comment [whitespace/comments] [4]
./include\LightGBM\tree.h:334: Extra space for operator ! [whitespace/operators] [4]
./include\LightGBM\tree.h:469: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
./include\LightGBM\tree.h:500: Add #include <unordered_map> for unordered_map<> [build/include_what_you_use] [4]
Done processing ./include\LightGBM\tree.h
./src\objective\xentropy_objective.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\objective\xentropy_objective.hpp:1: #ifndef header guard has wrong style, please use: SRC_OBJECTIVE_XENTROPY_OBJECTIVE_HPP_ [build/header_guard] [5]
./src\objective\xentropy_objective.hpp:269: #endif line should be "#endif // SRC_OBJECTIVE_XENTROPY_OBJECTIVE_HPP_" [build/header_guard] [5]
./src\objective\xentropy_objective.hpp:60: Using C-style cast. Use reinterpret_cast<label_t*>(...) instead [readability/casting] [4]
./src\objective\xentropy_objective.hpp:163: Using C-style cast. Use reinterpret_cast<label_t*>(...) instead [readability/casting] [4]
./src\objective\xentropy_objective.hpp:254: private: should be indented +1 space inside class CrossEntropyLambda [whitespace/indent] [3]
./src\objective\xentropy_objective.hpp:124: Add #include <algorithm> for max [build/include_what_you_use] [4]
./src\objective\xentropy_objective.hpp:148: Add #include <vector> for vector<> [build/include_what_you_use] [4]
./src\objective\xentropy_objective.hpp:226: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\objective\xentropy_objective.hpp
./src\application\predictor.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\application\predictor.hpp:1: #ifndef header guard has wrong style, please use: SRC_APPLICATION_PREDICTOR_HPP_ [build/header_guard] [5]
./src\application\predictor.hpp:257: #endif line should be "#endif // SRC_APPLICATION_PREDICTOR_HPP_" [build/header_guard] [5]
./src\application\predictor.hpp:41: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\application\predictor.hpp:42: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
./src\application\predictor.hpp:234: Add #include <unordered_map> for unordered_map<> [build/include_what_you_use] [4]
Done processing ./src\application\predictor.hpp
./src\treelearner\voting_parallel_tree_learner.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\voting_parallel_tree_learner.cpp:1: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\voting_parallel_tree_learner.cpp:3: Found C system header after other header. Should be: voting_parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\voting_parallel_tree_learner.cpp:5: Found C++ system header after other header. Should be: voting_parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\voting_parallel_tree_learner.cpp:6: Found C++ system header after other header. Should be: voting_parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\voting_parallel_tree_learner.cpp:7: Found C++ system header after other header. Should be: voting_parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\voting_parallel_tree_learner.cpp:134: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
Done processing ./src\treelearner\voting_parallel_tree_learner.cpp
./src\treelearner\data_parallel_tree_learner.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\data_parallel_tree_learner.cpp:1: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\data_parallel_tree_learner.cpp:3: Found C++ system header after other header. Should be: data_parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\data_parallel_tree_learner.cpp:5: Found C++ system header after other header. Should be: data_parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\data_parallel_tree_learner.cpp:6: Found C++ system header after other header. Should be: data_parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\data_parallel_tree_learner.cpp:138: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
Done processing ./src\treelearner\data_parallel_tree_learner.cpp
./include\LightGBM\utils\log.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\utils\log.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_LOG_H_ [build/header_guard] [5]
./include\LightGBM\utils\log.h:103: #endif line should be "#endif // INCLUDE_LIGHTGBM_UTILS_LOG_H_" [build/header_guard] [5]
./include\LightGBM\utils\log.h:83: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\log.h
./include\LightGBM\utils\array_args.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\utils\array_args.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_ARRAY_ARGS_H_ [build/header_guard] [5]
./include\LightGBM\utils\array_args.h:191: #endif line should be "#endif // INCLUDE_LIGHTGBM_UTILS_ARRAY_ARGS_H_" [build/header_guard] [5]
./include\LightGBM\utils\array_args.h:6: Found C system header after C++ system header. Should be: array_args.h, c system, c++ system, other. [build/include_order] [4]
./include\LightGBM\utils\array_args.h:113: Empty loop bodies should use {} or continue [whitespace/empty_loop_body] [5]
./include\LightGBM\utils\array_args.h:124: Add #include <utility> for swap [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\array_args.h
./include\LightGBM\utils\openmp_wrapper.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\utils\openmp_wrapper.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_OPENMP_WRAPPER_H_ [build/header_guard] [5]
./include\LightGBM\utils\openmp_wrapper.h:76: #endif line should be "#endif // INCLUDE_LIGHTGBM_UTILS_OPENMP_WRAPPER_H_" [build/header_guard] [5]
./include\LightGBM\utils\openmp_wrapper.h:8: <mutex> is an unapproved C++11 header. [build/c++11] [5]
./include\LightGBM\utils\openmp_wrapper.h:11: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./include\LightGBM\utils\openmp_wrapper.h
./src\treelearner\feature_parallel_tree_learner.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\feature_parallel_tree_learner.cpp:1: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\feature_parallel_tree_learner.cpp:3: Found C++ system header after other header. Should be: feature_parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\feature_parallel_tree_learner.cpp:5: Found C++ system header after other header. Should be: feature_parallel_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
Done processing ./src\treelearner\feature_parallel_tree_learner.cpp
./src\boosting\rf.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\rf.hpp:1: #ifndef header guard has wrong style, please use: SRC_BOOSTING_RF_HPP_ [build/header_guard] [5]
./src\boosting\rf.hpp:209: #endif line should be "#endif // SRC_BOOSTING_RF_HPP_" [build/header_guard] [5]
./src\boosting\rf.hpp:7: Include the directory when naming .h files [build/include_subdir] [4]
./src\boosting\rf.hpp:9: Found C++ system header after other header. Should be: rf.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\rf.hpp:10: Found C++ system header after other header. Should be: rf.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\rf.hpp:11: Found C++ system header after other header. Should be: rf.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\rf.hpp:12: Found C++ system header after other header. Should be: rf.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\rf.hpp:105: Add #include <memory> for unique_ptr<> [build/include_what_you_use] [4]
./src\boosting\rf.hpp:153: Add #include <utility> for move [build/include_what_you_use] [4]
Done processing ./src\boosting\rf.hpp
./include\LightGBM\prediction_early_stop.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\prediction_early_stop.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_PREDICTION_EARLY_STOP_H_ [build/header_guard] [5]
./include\LightGBM\prediction_early_stop.h:32: #endif line should be "#endif // INCLUDE_LIGHTGBM_PREDICTION_EARLY_STOP_H_" [build/header_guard] [5]
./include\LightGBM\prediction_early_stop.h:7: Found C system header after C++ system header. Should be: prediction_early_stop.h, c system, c++ system, other. [build/include_order] [4]
Done processing ./include\LightGBM\prediction_early_stop.h
./src\io\ordered_sparse_bin.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\ordered_sparse_bin.hpp:1: #ifndef header guard has wrong style, please use: SRC_IO_ORDERED_SPARSE_BIN_HPP_ [build/header_guard] [5]
./src\io\ordered_sparse_bin.hpp:211: #endif line should be "#endif // SRC_IO_ORDERED_SPARSE_BIN_HPP_" [build/header_guard] [5]
./src\io\ordered_sparse_bin.hpp:10: <mutex> is an unapproved C++11 header. [build/c++11] [5]
./src\io\ordered_sparse_bin.hpp:35: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./src\io\ordered_sparse_bin.hpp:178: Add #include <utility> for swap [build/include_what_you_use] [4]
Done processing ./src\io\ordered_sparse_bin.hpp
./src\boosting\dart.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\dart.hpp:1: #ifndef header guard has wrong style, please use: SRC_BOOSTING_DART_HPP_ [build/header_guard] [5]
./src\boosting\dart.hpp:205: #endif line should be "#endif // SRC_BOOSTING_DART_HPP_" [build/header_guard] [5]
./src\boosting\dart.hpp:6: Include the directory when naming .h files [build/include_subdir] [4]
./src\boosting\dart.hpp:8: Found C++ system header after other header. Should be: dart.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\dart.hpp:9: Found C++ system header after other header. Should be: dart.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\dart.hpp:10: Found C++ system header after other header. Should be: dart.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\dart.hpp:11: Found C++ system header after other header. Should be: dart.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\dart.hpp:112: Add #include <algorithm> for min [build/include_what_you_use] [4]
Done processing ./src\boosting\dart.hpp
./src\metric\xentropy_metric.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\metric\xentropy_metric.hpp:1: #ifndef header guard has wrong style, please use: SRC_METRIC_XENTROPY_METRIC_HPP_ [build/header_guard] [5]
./src\metric\xentropy_metric.hpp:356: #endif line should be "#endif // SRC_METRIC_XENTROPY_METRIC_HPP_" [build/header_guard] [5]
./src\metric\xentropy_metric.hpp:89: Using C-style cast. Use reinterpret_cast<label_t*>(...) instead [readability/casting] [4]
./src\metric\xentropy_metric.hpp:180: Using C-style cast. Use reinterpret_cast<label_t*>(...) instead [readability/casting] [4]
./src\metric\xentropy_metric.hpp:264: Using C-style cast. Use reinterpret_cast<label_t*>(...) instead [readability/casting] [4]
./src\metric\xentropy_metric.hpp:351: Add #include <string> for string [build/include_what_you_use] [4]
Done processing ./src\metric\xentropy_metric.hpp
./src\c_api.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\c_api.cpp:23: <mutex> is an unapproved C++11 header. [build/c++11] [5]
./src\c_api.cpp:220: Missing username in TODO; it should look like "// TODO(my_username): Stuff." [readability/todo] [2]
./src\c_api.cpp:382: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
./src\c_api.cpp:713: Redundant blank line at the start of a code block should be deleted. [whitespace/blank_line] [2]
./src\c_api.cpp:758: Line ends in whitespace. Consider deleting these extra spaces. [whitespace/end_of_line] [4]
./src\c_api.cpp:872: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\c_api.cpp:970: Missing space before ( in if( [whitespace/parens] [5]
./src\c_api.cpp:970: Missing space before { [whitespace/braces] [5]
Done processing ./src\c_api.cpp
./include\LightGBM\export.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\export.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_EXPORT_H_ [build/header_guard] [5]
./include\LightGBM\export.h:21: #endif line should be "#endif // INCLUDE_LIGHTGBM_EXPORT_H_" [build/header_guard] [5]
Done processing ./include\LightGBM\export.h
./src\io\dataset.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\io\dataset.cpp:7: <chrono> is an unapproved C++11 header. [build/c++11] [5]
./src\io\dataset.cpp:28: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\dataset.cpp:61: Is this a non-const reference? If so, make const or use a pointer: std::vector<bool>& mark [runtime/references] [2]
./src\io\dataset.cpp:139: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers [runtime/references] [2]
./src\io\dataset.cpp:581: Missing space before { [whitespace/braces] [5]
./src\io\dataset.cpp:585: An else should appear on the same line as the preceding } [whitespace/newline] [4]
./src\io\dataset.cpp:585: If an else has a brace on one side, it should have it on both [readability/braces] [5]
./src\io\dataset.cpp:710: Missing space before { [whitespace/braces] [5]
./src\io\dataset.cpp:717: Missing space before ( in for( [whitespace/parens] [5]
./src\io\dataset.cpp:717: Missing space before { [whitespace/braces] [5]
./src\io\dataset.cpp:721: Missing space before ( in for( [whitespace/parens] [5]
./src\io\dataset.cpp:721: Missing space before { [whitespace/braces] [5]
./src\io\dataset.cpp:725: Missing space before ( in for( [whitespace/parens] [5]
./src\io\dataset.cpp:725: Missing space before { [whitespace/braces] [5]
./src\io\dataset.cpp:729: Missing space before ( in for( [whitespace/parens] [5]
./src\io\dataset.cpp:729: Missing space before { [whitespace/braces] [5]
./src\io\dataset.cpp:734: Missing space before ( in for( [whitespace/parens] [5]
./src\io\dataset.cpp:734: Missing space before { [whitespace/braces] [5]
./src\io\dataset.cpp:739: Missing space before ( in for( [whitespace/parens] [5]
./src\io\dataset.cpp:739: Missing space before { [whitespace/braces] [5]
./src\io\dataset.cpp:741: Missing space before ( in for( [whitespace/parens] [5]
./src\io\dataset.cpp:741: Missing space before { [whitespace/braces] [5]
./src\io\dataset.cpp:743: Missing space before ( in if( [whitespace/parens] [5]
./src\io\dataset.cpp:743: Missing space before { [whitespace/braces] [5]
./src\io\dataset.cpp:744: Tab found; better to use spaces [whitespace/tab] [1]
./src\io\dataset.cpp:746: Tab found; better to use spaces [whitespace/tab] [1]
./src\io\dataset.cpp:808: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
./src\io\dataset.cpp:837: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
./src\io\dataset.cpp:870: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
./src\io\dataset.cpp:898: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
./src\io\dataset.cpp:945: Missing space before { [whitespace/braces] [5]
./src\io\dataset.cpp:945: Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& dest [runtime/references] [2]
./src\io\dataset.cpp:947: Missing space before ( in for( [whitespace/parens] [5]
./src\io\dataset.cpp:947: Missing space before { [whitespace/braces] [5]
./src\io\dataset.cpp:953: Missing space before { [whitespace/braces] [5]
./src\io\dataset.cpp:953: Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& dest [runtime/references] [2]
./src\io\dataset.cpp:955: Missing space before ( in for( [whitespace/parens] [5]
./src\io\dataset.cpp:955: Missing space before { [whitespace/braces] [5]
./src\io\dataset.cpp:961: Missing space before { [whitespace/braces] [5]
./src\io\dataset.cpp:961: Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& dest [runtime/references] [2]
./src\io\dataset.cpp:962: Missing space before ( in if( [whitespace/parens] [5]
./src\io\dataset.cpp:962: Missing space before { [whitespace/braces] [5]
./src\io\dataset.cpp:964: Missing space before ( in if( [whitespace/parens] [5]
./src\io\dataset.cpp:964: Missing space before { [whitespace/braces] [5]
./src\io\dataset.cpp:965: Missing space before ( in for( [whitespace/parens] [5]
./src\io\dataset.cpp:965: Missing space before { [whitespace/braces] [5]
./src\io\dataset.cpp:968: Missing space before ( in if( [whitespace/parens] [5]
./src\io\dataset.cpp:968: Missing space before { [whitespace/braces] [5]
./src\io\dataset.cpp:969: Missing space before ( in for( [whitespace/parens] [5]
./src\io\dataset.cpp:969: Missing space before { [whitespace/braces] [5]
./src\io\dataset.cpp:976: Missing space before { [whitespace/braces] [5]
./src\io\dataset.cpp:977: Missing space before ( in if( [whitespace/parens] [5]
./src\io\dataset.cpp:977: Missing space before { [whitespace/braces] [5]
./src\io\dataset.cpp:984: Missing space before ( in for( [whitespace/parens] [5]
./src\io\dataset.cpp:984: Missing space before { [whitespace/braces] [5]
./src\io\dataset.cpp:987: Missing space before ( in for( [whitespace/parens] [5]
./src\io\dataset.cpp:987: Missing space before { [whitespace/braces] [5]
./src\io\dataset.cpp:988: Missing space before ( in if( [whitespace/parens] [5]
./src\io\dataset.cpp:988: Missing space before { [whitespace/braces] [5]
./src\io\dataset.cpp:998: Missing space before ( in for( [whitespace/parens] [5]
./src\io\dataset.cpp:998: Missing space before { [whitespace/braces] [5]
./src\io\dataset.cpp:1005: Line ends in whitespace. Consider deleting these extra spaces. [whitespace/end_of_line] [4]
Done processing ./src\io\dataset.cpp
./src\boosting\gbdt.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\gbdt.h:1: #ifndef header guard has wrong style, please use: SRC_BOOSTING_GBDT_H_ [build/header_guard] [5]
./src\boosting\gbdt.h:492: #endif line should be "#endif // SRC_BOOSTING_GBDT_H_" [build/header_guard] [5]
./src\boosting\gbdt.h:11: Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\gbdt.h:12: Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\gbdt.h:13: Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\gbdt.h:14: Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\gbdt.h:15: Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\gbdt.h:16: Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\gbdt.h:16: <mutex> is an unapproved C++11 header. [build/c++11] [5]
./src\boosting\gbdt.h:17: Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other. [build/include_order] [4]
./src\boosting\gbdt.h:19: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
./src\boosting\gbdt.h:137: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:173: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:180: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:268: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:276: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:355: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:381: Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand [runtime/references] [2]
./src\boosting\gbdt.h:94: Add #include <utility> for move [build/include_what_you_use] [4]
./src\boosting\gbdt.h:233: Add #include <unordered_map> for unordered_map<> [build/include_what_you_use] [4]
./src\boosting\gbdt.h:330: Add #include <algorithm> for min [build/include_what_you_use] [4]
Done processing ./src\boosting\gbdt.h
./include\LightGBM\bin.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./include\LightGBM\bin.h:1: #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_BIN_H_ [build/header_guard] [5]
./include\LightGBM\bin.h:497: #endif line should be "#endif // INCLUDE_LIGHTGBM_BIN_H_" [build/header_guard] [5]
./include\LightGBM\bin.h:176: Add #include <string> for string [build/include_what_you_use] [4]
./include\LightGBM\bin.h:181: Add #include <limits> for numeric_limits<> [build/include_what_you_use] [4]
Done processing ./include\LightGBM\bin.h
./src\boosting\gbdt_prediction.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\gbdt_prediction.cpp:1: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\boosting\gbdt_prediction.cpp
./src\network\socket_wrapper.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\network\socket_wrapper.hpp:1: #ifndef header guard has wrong style, please use: SRC_NETWORK_SOCKET_WRAPPER_HPP_ [build/header_guard] [5]
./src\network\socket_wrapper.hpp:300: #endif line should be "#endif // SRC_NETWORK_SOCKET_WRAPPER_HPP_" [build/header_guard] [5]
./src\network\socket_wrapper.hpp:18: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:19: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:20: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:21: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:22: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:23: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:24: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:25: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:176: Using C-style cast. Use reinterpret_cast<IP_ADAPTER_INFO *>(...) instead [readability/casting] [4]
./src\network\socket_wrapper.hpp:184: Using C-style cast. Use reinterpret_cast<IP_ADAPTER_INFO *>(...) instead [readability/casting] [4]
./src\network\socket_wrapper.hpp:216: Are you taking an address of a cast? This is dangerous: could be a temp var. Take the address before doing the cast, rather than after [runtime/casting] [4]
Done processing ./src\network\socket_wrapper.hpp
./src\metric\metric.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
Done processing ./src\metric\metric.cpp
./src\treelearner\serial_tree_learner.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\treelearner\serial_tree_learner.h:1: #ifndef header guard has wrong style, please use: SRC_TREELEARNER_SERIAL_TREE_LEARNER_H_ [build/header_guard] [5]
./src\treelearner\serial_tree_learner.h:183: #endif line should be "#endif // SRC_TREELEARNER_SERIAL_TREE_LEARNER_H_" [build/header_guard] [5]
./src\treelearner\serial_tree_learner.h:16: Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\serial_tree_learner.h:17: Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\serial_tree_learner.h:18: Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\serial_tree_learner.h:19: Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\serial_tree_learner.h:20: Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other. [build/include_order] [4]
./src\treelearner\serial_tree_learner.h:27: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
./src\treelearner\serial_tree_learner.h:105: Is this a non-const reference? If so, make const or use a pointer: Json& forced_split_json [runtime/references] [2]
Done processing ./src\treelearner\serial_tree_learner.h
./src\io\metadata.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
Done processing ./src\io\metadata.cpp
./src\network\linkers_socket.cpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\network\linkers_socket.cpp:2: Include the directory when naming .h files [build/include_subdir] [4]
./src\network\linkers_socket.cpp:14: <thread> is an unapproved C++11 header. [build/c++11] [5]
./src\network\linkers_socket.cpp:15: <chrono> is an unapproved C++11 header. [build/c++11] [5]
Done processing ./src\network\linkers_socket.cpp
./src\boosting\score_updater.hpp:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5]
./src\boosting\score_updater.hpp:1: #ifndef header guard has wrong style, please use: SRC_BOOSTING_SCORE_UPDATER_HPP_ [build/header_guard] [5]
./src\boosting\score_updater.hpp:123: #endif line should be "#endif // SRC_BOOSTING_SCORE_UPDATER_HPP_" [build/header_guard] [5]
./src\boosting\score_updater.hpp:118: Add #include <vector> for vector<> [build/include_what_you_use] [4]
Done processing ./src\boosting\score_updater.hpp
Total errors found: 752
@guolinke WDYT about copyright message?
for the copyright, I think it is something like:
Copyright (c) 2016 Microsoft Corporation. All rights reserved.
Licensed under the MIT License. See License file in the project root for license information.
@guolinke OK. Just MS corp without ... and contributors?
@guolinke OK. Just
MS corpwithout... and contributors?
Yeah, I think it is this, under Microsoft MIT license.
I also check other MS opensource projects, and they are this format.
@guolinke Got it! I'll create PR for this.
@guolinke Can all header files be moved to include/LightGBM folder in order to fix Include the directory when naming .h files [build/include_subdir] [4] error?
Then it will be possible to rewrite such includes with directory:
#include "gpu_tree_learner.h"
#include "serial_tree_learner.h"
@StrikerRUS
There a trade-off here. These header files are not exposed to public, therefore, we put them in them src folder.
@guolinke Oh, I see. Thanks for the explanation!
5b5b98235e4fa8c1eed67f57bf5c409bbe1a09e0
I think we may not check header guards because there are some problems with tests for them: https://github.com/cpplint/cpplint/issues/44.
http://google.github.io/styleguide/cppguide.html#The__define_Guard
cpplint --linelength=999 --filter=-build/header_guard --recursive ./src ./include
Total errors found: 203
./src\application\application.cpp:19: <chrono> is an unapproved C++11 header. [build/c++11] [5]
Done processing ./src\application\application.cpp
./src\application\predictor.hpp:45: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\application\predictor.hpp:46: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing ./src\application\predictor.hpp
Done processing ./src\treelearner\split_info.hpp
Done processing ./include\LightGBM\export.h
./include\LightGBM\tree.h:474: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing ./include\LightGBM\tree.h
Done processing ./src\io\dataset_loader.cpp
./src\io\dense_bin.hpp:51: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./src\io\dense_bin.hpp:195: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\io\dense_bin.hpp:256: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
Done processing ./src\io\dense_bin.hpp
Done processing ./src\objective\regression_objective.hpp
./src\treelearner\serial_tree_learner.h:32: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
./src\treelearner\serial_tree_learner.h:110: Is this a non-const reference? If so, make const or use a pointer: Json& forced_split_json [runtime/references] [2]
Done processing ./src\treelearner\serial_tree_learner.h
./src\io\file_io.cpp:57: For a static/global string constant, use a C style string instead: "const char kHdfsProto[]". [runtime/string] [4]
Done processing ./src\io\file_io.cpp
Done processing ./include\LightGBM\utils\threading.h
./src\treelearner\serial_tree_learner.cpp:5: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\serial_tree_learner.cpp:288: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
./src\treelearner\serial_tree_learner.cpp:875: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\treelearner\serial_tree_learner.cpp:915: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing ./src\treelearner\serial_tree_learner.cpp
./include\LightGBM\json11.hpp:92: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:93: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:94: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:95: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:96: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:97: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:98: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:99: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:100: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:101: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:102: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:106: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:113: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:119: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:123: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:156: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
./include\LightGBM\json11.hpp:165: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
./include\LightGBM\json11.hpp:168: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
./include\LightGBM\json11.hpp:180: Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos [runtime/references] [2]
./include\LightGBM\json11.hpp:181: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
./include\LightGBM\json11.hpp:186: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
./include\LightGBM\json11.hpp:205: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
./include\LightGBM\json11.hpp:220: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
Done processing ./include\LightGBM\json11.hpp
./src\network\socket_wrapper.hpp:22: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:23: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:24: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:25: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:26: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:27: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:28: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:29: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:219: Are you taking an address of a cast? This is dangerous: could be a temp var. Take the address before doing the cast, rather than after [runtime/casting] [4]
Done processing ./src\network\socket_wrapper.hpp
./src\treelearner\voting_parallel_tree_learner.cpp:11: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\voting_parallel_tree_learner.cpp:138: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
Done processing ./src\treelearner\voting_parallel_tree_learner.cpp
Done processing ./include\LightGBM\prediction_early_stop.h
Done processing ./src\network\linker_topo.cpp
Done processing ./src\metric\metric.cpp
./src\treelearner\gpu_tree_learner.h:24: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\gpu_tree_learner.h:37: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
./src\treelearner\gpu_tree_learner.h:178: Line contains only semicolon. If this should be an empty statement, use {} instead. [whitespace/semicolon] [5]
./src\treelearner\gpu_tree_learner.h:182: Line contains only semicolon. If this should be an empty statement, use {} instead. [whitespace/semicolon] [5]
./src\treelearner\gpu_tree_learner.h:186: Line contains only semicolon. If this should be an empty statement, use {} instead. [whitespace/semicolon] [5]
Done processing ./src\treelearner\gpu_tree_learner.h
Done processing ./src\io\tree.cpp
Done processing ./include\LightGBM\objective_function.h
Done processing ./src\main.cpp
./include\LightGBM\R_object_helper.h:126: Using C-style cast. Use reinterpret_cast<SEXPREC_ALIGN *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:128: Using C-style cast. Use reinterpret_cast<char *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:130: Using C-style cast. Use reinterpret_cast<int *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:132: Using C-style cast. Use reinterpret_cast<int64_t *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:134: Using C-style cast. Use reinterpret_cast<double *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:136: Using C-style cast. Use reinterpret_cast<int *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:138: Using C-style cast. Use reinterpret_cast<int64_t *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:145: Using C-style cast. Use reinterpret_cast<int64_t *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:159: Using C-style cast. Use reinterpret_cast<void *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:169: Using C-style cast. Use reinterpret_cast<int32_t *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:183: Using C-style cast. Use reinterpret_cast<void *>(...) instead [readability/casting] [4]
Done processing ./include\LightGBM\R_object_helper.h
./include\LightGBM\network.h:169: Is this a non-const reference? If so, make const or use a pointer: T& local [runtime/references] [2]
./include\LightGBM\network.h:193: Is this a non-const reference? If so, make const or use a pointer: T& local [runtime/references] [2]
./include\LightGBM\network.h:217: Is this a non-const reference? If so, make const or use a pointer: T& local [runtime/references] [2]
./include\LightGBM\network.h:239: Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& local [runtime/references] [2]
Done processing ./include\LightGBM\network.h
./src\c_api.cpp:25: <mutex> is an unapproved C++11 header. [build/c++11] [5]
./src\c_api.cpp:385: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
./src\c_api.cpp:877: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing ./src\c_api.cpp
Done processing ./src\metric\binary_metric.hpp
./src\io\parser.cpp:30: Is this a non-const reference? If so, make const or use a pointer: std::string& str [runtime/references] [2]
./src\io\parser.cpp:44: Is this a non-const reference? If so, make const or use a pointer: std::string& str [runtime/references] [2]
./src\io\parser.cpp:57: Is this a non-const reference? If so, make const or use a pointer: std::string& str [runtime/references] [2]
./src\io\parser.cpp:77: Is this a non-const reference? If so, make const or use a pointer: std::string& line [runtime/references] [2]
./src\io\parser.cpp:77: Is this a non-const reference? If so, make const or use a pointer: std::vector<char>& buffer [runtime/references] [2]
Done processing ./src\io\parser.cpp
./src\treelearner\parallel_tree_learner.h:15: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\parallel_tree_learner.h:16: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\treelearner\parallel_tree_learner.h
./include\LightGBM\utils\openmp_wrapper.h:14: <mutex> is an unapproved C++11 header. [build/c++11] [5]
Done processing ./include\LightGBM\utils\openmp_wrapper.h
./src\boosting\gbdt_prediction.cpp:9: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\boosting\gbdt_prediction.cpp
./src\io\ordered_sparse_bin.hpp:13: <mutex> is an unapproved C++11 header. [build/c++11] [5]
./src\io\ordered_sparse_bin.hpp:39: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
Done processing ./src\io\ordered_sparse_bin.hpp
Done processing ./include\LightGBM\boosting.h
./src\treelearner\feature_histogram.hpp:676: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing ./src\treelearner\feature_histogram.hpp
./src\io\config_auto.cpp:281: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
./src\io\config_auto.cpp:287: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:294: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
./src\io\config_auto.cpp:351: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:354: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:363: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:366: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:399: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:402: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:405: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:478: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:506: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:513: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:522: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:525: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:528: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:539: Redundant blank line at the end of a code block should be deleted. [whitespace/blank_line] [3]
Done processing ./src\io\config_auto.cpp
./src\treelearner\leaf_splits.hpp:22: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
Done processing ./src\treelearner\leaf_splits.hpp
./src\boosting\gbdt_model_text.cpp:13: Include the directory when naming .h files [build/include_subdir] [4]
./src\boosting\gbdt_model_text.cpp:17: For a static/global string constant, use a C style string instead: "const char kModelVersion[]". [runtime/string] [4]
Done processing ./src\boosting\gbdt_model_text.cpp
Done processing ./src\metric\rank_metric.hpp
./src\boosting\goss.hpp:15: <chrono> is an unapproved C++11 header. [build/c++11] [5]
./src\boosting\goss.hpp:20: Include the directory when naming .h files [build/include_subdir] [4]
./src\boosting\goss.hpp:91: Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand [runtime/references] [2]
Done processing ./src\boosting\goss.hpp
Done processing ./include\LightGBM\metric.h
./src\metric\regression_metric.hpp:274: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\metric\regression_metric.hpp:296: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing ./src\metric\regression_metric.hpp
Done processing ./include\LightGBM\utils\file_io.h
Done processing ./include\LightGBM\bin.h
./src\treelearner\tree_learner.cpp:7: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\tree_learner.cpp:8: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\tree_learner.cpp:9: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\treelearner\tree_learner.cpp
./include\LightGBM\dataset_loader.h:55: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::string>& text_data [runtime/references] [2]
Done processing ./include\LightGBM\dataset_loader.h
Done processing ./src\objective\binary_objective.hpp
./include\LightGBM\utils\text_reader.h:163: Is this a non-const reference? If so, make const or use a pointer: Random& random [runtime/references] [2]
./include\LightGBM\utils\text_reader.h:198: Is this a non-const reference? If so, make const or use a pointer: Random& random [runtime/references] [2]
Done processing ./include\LightGBM\utils\text_reader.h
./src\boosting\gbdt.cpp:5: Include the directory when naming .h files [build/include_subdir] [4]
./src\boosting\gbdt.cpp:14: <chrono> is an unapproved C++11 header. [build/c++11] [5]
./src\boosting\gbdt.cpp:263: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing ./src\boosting\gbdt.cpp
./src\treelearner\feature_parallel_tree_learner.cpp:8: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\treelearner\feature_parallel_tree_learner.cpp
./include\LightGBM\utils\array_args.h:119: Empty loop bodies should use {} or continue [whitespace/empty_loop_body] [5]
Done processing ./include\LightGBM\utils\array_args.h
./src\io\sparse_bin.hpp:78: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./src\io\sparse_bin.hpp:148: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\io\sparse_bin.hpp:211: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
Done processing ./src\io\sparse_bin.hpp
./include\LightGBM\feature_group.h:34: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers [runtime/references] [2]
./include\LightGBM\feature_group.h:57: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers [runtime/references] [2]
Done processing ./include\LightGBM\feature_group.h
./src\io\dense_nbits_bin.hpp:45: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./src\io\dense_nbits_bin.hpp:218: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\io\dense_nbits_bin.hpp:279: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
Done processing ./src\io\dense_nbits_bin.hpp
./src\lightgbm_R.cpp:36: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing ./src\lightgbm_R.cpp
./src\io\json11.cpp:53: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:57: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:67: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:73: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:77: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:114: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:126: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:339: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
./src\io\json11.cpp:351: const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants. [runtime/member_string_references] [2]
./src\io\json11.cpp:431: Empty loop bodies should use {} or continue [whitespace/empty_loop_body] [5]
./src\io\json11.cpp:453: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
./src\io\json11.cpp:453: Is this a non-const reference? If so, make const or use a pointer: string & out [runtime/references] [2]
./src\io\json11.cpp:480: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
./src\io\json11.cpp:524: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
Done processing ./src\io\json11.cpp
Done processing ./src\metric\xentropy_metric.hpp
Done processing ./src\boosting\score_updater.hpp
./src\network\linkers_socket.cpp:12: <chrono> is an unapproved C++11 header. [build/c++11] [5]
./src\network\linkers_socket.cpp:14: <thread> is an unapproved C++11 header. [build/c++11] [5]
./src\network\linkers_socket.cpp:19: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\network\linkers_socket.cpp
Done processing ./src\treelearner\data_partition.hpp
./include\LightGBM\config.h:78: Is this a non-const reference? If so, make const or use a pointer: std::unordered_map<std::string, std::string>& params [runtime/references] [2]
Done processing ./include\LightGBM\config.h
Done processing ./src\metric\map_metric.hpp
./src\network\linkers_mpi.cpp:7: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\network\linkers_mpi.cpp
./src\treelearner\data_parallel_tree_learner.cpp:9: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\data_parallel_tree_learner.cpp:141: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
Done processing ./src\treelearner\data_parallel_tree_learner.cpp
Done processing ./include\LightGBM\meta.h
./src\io\bin.cpp:77: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\bin.cpp:197: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\bin.cpp:393: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing ./src\io\bin.cpp
./src\boosting\prediction_early_stop.cpp:16: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing ./src\boosting\prediction_early_stop.cpp
./include\LightGBM\c_api.h:990: Almost always, snprintf is better than strcpy [runtime/printf] [4]
Done processing ./include\LightGBM\c_api.h
./include\LightGBM\utils\common.h:27: Include the directory when naming .h files [build/include_subdir] [4]
./include\LightGBM\utils\common.h:303: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
./include\LightGBM\utils\common.h:374: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
./include\LightGBM\utils\common.h:414: Closing ) should be moved to the previous line [whitespace/parens] [2]
./include\LightGBM\utils\common.h:418: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
./include\LightGBM\utils\common.h:627: Is this a non-const reference? If so, make const or use a pointer: std::vector<T1>& keys [runtime/references] [2]
./include\LightGBM\utils\common.h:627: Is this a non-const reference? If so, make const or use a pointer: std::vector<T2>& values [runtime/references] [2]
./include\LightGBM\utils\common.h:648: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<T>>& data [runtime/references] [2]
./include\LightGBM\utils\common.h:824: Is this a non-const reference? If so, make const or use a pointer: std::vector<uint32_t>& vec [runtime/references] [2]
Done processing ./include\LightGBM\utils\common.h
./include\LightGBM\tree_learner.h:16: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
./include\LightGBM\tree_learner.h:56: Is this a non-const reference? If so, make const or use a pointer: Json& forced_split_json [runtime/references] [2]
Done processing ./include\LightGBM\tree_learner.h
./include\LightGBM\utils\pipeline_reader.h:15: <thread> is an unapproved C++11 header. [build/c++11] [5]
Done processing ./include\LightGBM\utils\pipeline_reader.h
./src\boosting\rf.hpp:18: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\boosting\rf.hpp
./src\boosting\dart.hpp:16: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\boosting\dart.hpp
Done processing ./src\io\metadata.cpp
Done processing ./src\objective\multiclass_objective.hpp
./src\metric\multiclass_metric.hpp:139: Is this a non-const reference? If so, make const or use a pointer: std::vector<double>& score [runtime/references] [2]
./src\metric\multiclass_metric.hpp:159: Is this a non-const reference? If so, make const or use a pointer: std::vector<double>& score [runtime/references] [2]
Done processing ./src\metric\multiclass_metric.hpp
./src\boosting\gbdt.h:18: <mutex> is an unapproved C++11 header. [build/c++11] [5]
./src\boosting\gbdt.h:26: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
./src\boosting\gbdt.h:144: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:180: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:187: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:275: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:283: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:362: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:388: Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand [runtime/references] [2]
Done processing ./src\boosting\gbdt.h
Done processing ./include\LightGBM\application.h
./src\io\dataset.cpp:13: <chrono> is an unapproved C++11 header. [build/c++11] [5]
./src\io\dataset.cpp:29: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\dataset.cpp:62: Is this a non-const reference? If so, make const or use a pointer: std::vector<bool>& mark [runtime/references] [2]
./src\io\dataset.cpp:140: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers [runtime/references] [2]
./src\io\dataset.cpp:813: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
./src\io\dataset.cpp:842: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
./src\io\dataset.cpp:875: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
./src\io\dataset.cpp:903: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
./src\io\dataset.cpp:950: Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& dest [runtime/references] [2]
./src\io\dataset.cpp:958: Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& dest [runtime/references] [2]
./src\io\dataset.cpp:966: Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& dest [runtime/references] [2]
Done processing ./src\io\dataset.cpp
Done processing ./src\objective\rank_objective.hpp
./src\boosting\boosting.cpp:8: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\boosting\boosting.cpp
Done processing ./include\LightGBM\lightgbm_R.h
Done processing ./src\io\parser.hpp
./include\LightGBM\dataset.h:18: <mutex> is an unapproved C++11 header. [build/c++11] [5]
./include\LightGBM\dataset.h:291: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers [runtime/references] [2]
./include\LightGBM\dataset.h:409: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<OrderedBin>>& ordered_bins [runtime/references] [2]
Done processing ./include\LightGBM\dataset.h
./src\treelearner\gpu_tree_learner.cpp:7: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\gpu_tree_learner.cpp:187: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
Done processing ./src\treelearner\gpu_tree_learner.cpp
Done processing ./include\LightGBM\utils\log.h
./include\LightGBM\utils\random.h:32: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
Done processing ./include\LightGBM\utils\random.h
./src\network\linkers.h:14: <chrono> is an unapproved C++11 header. [build/c++11] [5]
./src\network\linkers.h:17: <thread> is an unapproved C++11 header. [build/c++11] [5]
./src\network\linkers.h:22: Found C system header after other header. Should be: linkers.h, c system, c++ system, other. [build/include_order] [4]
Done processing ./src\network\linkers.h
./src\network\network.cpp:12: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\network\network.cpp
./src\io\config.cpp:157: Use int16/int64/etc, rather than the C type short [runtime/int] [4]
Done processing ./src\io\config.cpp
Done processing ./src\objective\xentropy_objective.hpp
Done processing ./src\objective\objective_function.cpp
./src\metric\dcg_calculator.cpp:27: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing ./src\metric\dcg_calculator.cpp
Total errors found: 203
@guolinke It seems to me that there are no errors anymore which I can address. Maybe you can? All remaining issues we can mark as // NOLINT or include in --filter option and finally deploy this lint check at our CI test.
@StrikerRUS It looks good to me. Thanks very much for your great work!
@guolinke No problem!
I can help with // NOLINT marking after your contentful PR(s).
716fe4d015c2333f9a261f853ff559ef385add17
Total errors found: 210
Done processing ./include\LightGBM\lightgbm_R.h
./include\LightGBM\dataset_loader.h:55: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::string>& text_data [runtime/references] [2]
Done processing ./include\LightGBM\dataset_loader.h
Done processing ./include\LightGBM\metric.h
./src\io\bin.cpp:77: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\bin.cpp:197: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\bin.cpp:391: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing ./src\io\bin.cpp
./include\LightGBM\dataset.h:19: <mutex> is an unapproved C++11 header. [build/c++11] [5]
./include\LightGBM\dataset.h:292: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers [runtime/references] [2]
./include\LightGBM\dataset.h:410: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<OrderedBin>>& ordered_bins [runtime/references] [2]
Done processing ./include\LightGBM\dataset.h
./src\boosting\gbdt_prediction.cpp:9: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\boosting\gbdt_prediction.cpp
./include\LightGBM\utils\array_args.h:119: Empty loop bodies should use {} or continue [whitespace/empty_loop_body] [5]
Done processing ./include\LightGBM\utils\array_args.h
Done processing ./src\metric\rank_metric.hpp
./src\c_api.cpp:25: <mutex> is an unapproved C++11 header. [build/c++11] [5]
./src\c_api.cpp:385: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
./src\c_api.cpp:876: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing ./src\c_api.cpp
Done processing ./src\objective\regression_objective.hpp
./src\boosting\dart.hpp:16: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\boosting\dart.hpp
./src\treelearner\feature_histogram.hpp:676: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing ./src\treelearner\feature_histogram.hpp
Done processing ./src\metric\map_metric.hpp
./src\io\ordered_sparse_bin.hpp:13: <mutex> is an unapproved C++11 header. [build/c++11] [5]
./src\io\ordered_sparse_bin.hpp:39: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
Done processing ./src\io\ordered_sparse_bin.hpp
Done processing ./include\LightGBM\application.h
Done processing ./src\network\linker_topo.cpp
./include\LightGBM\network.h:169: Is this a non-const reference? If so, make const or use a pointer: T& local [runtime/references] [2]
./include\LightGBM\network.h:193: Is this a non-const reference? If so, make const or use a pointer: T& local [runtime/references] [2]
./include\LightGBM\network.h:217: Is this a non-const reference? If so, make const or use a pointer: T& local [runtime/references] [2]
./include\LightGBM\network.h:239: Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& local [runtime/references] [2]
Done processing ./include\LightGBM\network.h
./src\treelearner\voting_parallel_tree_learner.cpp:11: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\voting_parallel_tree_learner.cpp:138: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
Done processing ./src\treelearner\voting_parallel_tree_learner.cpp
./src\boosting\boosting.cpp:8: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\boosting\boosting.cpp
./include\LightGBM\utils\pipeline_reader.h:15: <thread> is an unapproved C++11 header. [build/c++11] [5]
Done processing ./include\LightGBM\utils\pipeline_reader.h
./include\LightGBM\utils\random.h:32: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
Done processing ./include\LightGBM\utils\random.h
Done processing ./include\LightGBM\bin.h
Done processing ./src\treelearner\data_partition.hpp
./src\treelearner\leaf_splits.hpp:22: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
Done processing ./src\treelearner\leaf_splits.hpp
./src\metric\multiclass_metric.hpp:141: Is this a non-const reference? If so, make const or use a pointer: std::vector<double>& score [runtime/references] [2]
./src\metric\multiclass_metric.hpp:165: Is this a non-const reference? If so, make const or use a pointer: std::vector<double>& score [runtime/references] [2]
Done processing ./src\metric\multiclass_metric.hpp
./src\treelearner\parallel_tree_learner.h:15: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\parallel_tree_learner.h:16: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\treelearner\parallel_tree_learner.h
./src\application\application.cpp:19: <chrono> is an unapproved C++11 header. [build/c++11] [5]
Done processing ./src\application\application.cpp
./src\treelearner\serial_tree_learner.cpp:5: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\serial_tree_learner.cpp:288: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
./src\treelearner\serial_tree_learner.cpp:883: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing ./src\treelearner\serial_tree_learner.cpp
./src\boosting\gbdt.h:18: <mutex> is an unapproved C++11 header. [build/c++11] [5]
./src\boosting\gbdt.h:26: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
./src\boosting\gbdt.h:144: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:180: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:187: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:275: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:283: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:362: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\boosting\gbdt.h:388: Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand [runtime/references] [2]
./src\boosting\gbdt.h:398: Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand [runtime/references] [2]
Done processing ./src\boosting\gbdt.h
Done processing ./include\LightGBM\utils\file_io.h
./include\LightGBM\utils\common.h:27: Include the directory when naming .h files [build/include_subdir] [4]
./include\LightGBM\utils\common.h:303: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
./include\LightGBM\utils\common.h:374: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
./include\LightGBM\utils\common.h:414: Closing ) should be moved to the previous line [whitespace/parens] [2]
./include\LightGBM\utils\common.h:418: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
./include\LightGBM\utils\common.h:627: Is this a non-const reference? If so, make const or use a pointer: std::vector<T1>& keys [runtime/references] [2]
./include\LightGBM\utils\common.h:627: Is this a non-const reference? If so, make const or use a pointer: std::vector<T2>& values [runtime/references] [2]
./include\LightGBM\utils\common.h:648: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<T>>& data [runtime/references] [2]
./include\LightGBM\utils\common.h:824: Is this a non-const reference? If so, make const or use a pointer: std::vector<uint32_t>& vec [runtime/references] [2]
Done processing ./include\LightGBM\utils\common.h
Done processing ./src\main.cpp
./src\treelearner\serial_tree_learner.h:32: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
./src\treelearner\serial_tree_learner.h:107: Is this a non-const reference? If so, make const or use a pointer: Json& forced_split_json [runtime/references] [2]
Done processing ./src\treelearner\serial_tree_learner.h
./src\network\socket_wrapper.hpp:22: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:23: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:24: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:25: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:26: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:27: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:28: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:29: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
./src\network\socket_wrapper.hpp:219: Are you taking an address of a cast? This is dangerous: could be a temp var. Take the address before doing the cast, rather than after [runtime/casting] [4]
Done processing ./src\network\socket_wrapper.hpp
Done processing ./src\io\tree.cpp
./src\boosting\prediction_early_stop.cpp:16: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing ./src\boosting\prediction_early_stop.cpp
./src\io\dataset.cpp:13: <chrono> is an unapproved C++11 header. [build/c++11] [5]
./src\io\dataset.cpp:29: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\dataset.cpp:62: Is this a non-const reference? If so, make const or use a pointer: std::vector<bool>& mark [runtime/references] [2]
./src\io\dataset.cpp:140: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers [runtime/references] [2]
./src\io\dataset.cpp:323: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\dataset.cpp:833: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
./src\io\dataset.cpp:862: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
./src\io\dataset.cpp:895: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
./src\io\dataset.cpp:923: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
./src\io\dataset.cpp:970: Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& dest [runtime/references] [2]
./src\io\dataset.cpp:978: Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& dest [runtime/references] [2]
./src\io\dataset.cpp:986: Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& dest [runtime/references] [2]
Done processing ./src\io\dataset.cpp
./src\boosting\gbdt.cpp:5: Include the directory when naming .h files [build/include_subdir] [4]
./src\boosting\gbdt.cpp:14: <chrono> is an unapproved C++11 header. [build/c++11] [5]
./src\boosting\gbdt.cpp:298: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing ./src\boosting\gbdt.cpp
Done processing ./src\metric\xentropy_metric.hpp
./include\LightGBM\utils\openmp_wrapper.h:14: <mutex> is an unapproved C++11 header. [build/c++11] [5]
Done processing ./include\LightGBM\utils\openmp_wrapper.h
./src\treelearner\tree_learner.cpp:7: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\tree_learner.cpp:8: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\tree_learner.cpp:9: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\treelearner\tree_learner.cpp
./src\application\predictor.hpp:45: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\application\predictor.hpp:46: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing ./src\application\predictor.hpp
./src\boosting\gbdt_model_text.cpp:13: Include the directory when naming .h files [build/include_subdir] [4]
./src\boosting\gbdt_model_text.cpp:17: For a static/global string constant, use a C style string instead: "const char kModelVersion[]". [runtime/string] [4]
Done processing ./src\boosting\gbdt_model_text.cpp
Done processing ./src\metric\metric.cpp
./src\metric\regression_metric.hpp:274: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\metric\regression_metric.hpp:296: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing ./src\metric\regression_metric.hpp
./include\LightGBM\R_object_helper.h:126: Using C-style cast. Use reinterpret_cast<SEXPREC_ALIGN *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:128: Using C-style cast. Use reinterpret_cast<char *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:130: Using C-style cast. Use reinterpret_cast<int *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:132: Using C-style cast. Use reinterpret_cast<int64_t *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:134: Using C-style cast. Use reinterpret_cast<double *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:136: Using C-style cast. Use reinterpret_cast<int *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:138: Using C-style cast. Use reinterpret_cast<int64_t *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:145: Using C-style cast. Use reinterpret_cast<int64_t *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:159: Using C-style cast. Use reinterpret_cast<void *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:169: Using C-style cast. Use reinterpret_cast<int32_t *>(...) instead [readability/casting] [4]
./include\LightGBM\R_object_helper.h:183: Using C-style cast. Use reinterpret_cast<void *>(...) instead [readability/casting] [4]
Done processing ./include\LightGBM\R_object_helper.h
./src\boosting\goss.hpp:15: <chrono> is an unapproved C++11 header. [build/c++11] [5]
./src\boosting\goss.hpp:20: Include the directory when naming .h files [build/include_subdir] [4]
./src\boosting\goss.hpp:91: Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand [runtime/references] [2]
Done processing ./src\boosting\goss.hpp
Done processing ./include\LightGBM\objective_function.h
Done processing ./src\io\parser.hpp
./src\io\json11.cpp:53: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:57: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:67: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:73: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:77: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:114: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:126: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
./src\io\json11.cpp:339: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
./src\io\json11.cpp:351: const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants. [runtime/member_string_references] [2]
./src\io\json11.cpp:431: Empty loop bodies should use {} or continue [whitespace/empty_loop_body] [5]
./src\io\json11.cpp:453: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
./src\io\json11.cpp:453: Is this a non-const reference? If so, make const or use a pointer: string & out [runtime/references] [2]
./src\io\json11.cpp:480: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
./src\io\json11.cpp:524: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
Done processing ./src\io\json11.cpp
./src\network\linkers.h:14: <chrono> is an unapproved C++11 header. [build/c++11] [5]
./src\network\linkers.h:17: <thread> is an unapproved C++11 header. [build/c++11] [5]
./src\network\linkers.h:22: Found C system header after other header. Should be: linkers.h, c system, c++ system, other. [build/include_order] [4]
Done processing ./src\network\linkers.h
./src\io\dataset_loader.cpp:432: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\dataset_loader.cpp:566: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\dataset_loader.cpp:654: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
./src\io\dataset_loader.cpp:872: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\dataset_loader.cpp:980: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing ./src\io\dataset_loader.cpp
./src\io\file_io.cpp:57: For a static/global string constant, use a C style string instead: "const char kHdfsProto[]". [runtime/string] [4]
Done processing ./src\io\file_io.cpp
./src\boosting\rf.hpp:18: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\boosting\rf.hpp
./src\treelearner\gpu_tree_learner.cpp:7: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\gpu_tree_learner.cpp:187: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
Done processing ./src\treelearner\gpu_tree_learner.cpp
./src\io\config.cpp:160: Use int16/int64/etc, rather than the C type short [runtime/int] [4]
Done processing ./src\io\config.cpp
./src\lightgbm_R.cpp:36: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing ./src\lightgbm_R.cpp
Done processing ./include\LightGBM\prediction_early_stop.h
Done processing ./src\objective\xentropy_objective.hpp
Done processing ./src\treelearner\split_info.hpp
Done processing ./include\LightGBM\boosting.h
./src\io\parser.cpp:30: Is this a non-const reference? If so, make const or use a pointer: std::string& str [runtime/references] [2]
./src\io\parser.cpp:44: Is this a non-const reference? If so, make const or use a pointer: std::string& str [runtime/references] [2]
./src\io\parser.cpp:57: Is this a non-const reference? If so, make const or use a pointer: std::string& str [runtime/references] [2]
./src\io\parser.cpp:77: Is this a non-const reference? If so, make const or use a pointer: std::string& line [runtime/references] [2]
./src\io\parser.cpp:77: Is this a non-const reference? If so, make const or use a pointer: std::vector<char>& buffer [runtime/references] [2]
Done processing ./src\io\parser.cpp
./src\treelearner\gpu_tree_learner.h:24: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\gpu_tree_learner.h:37: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
./src\treelearner\gpu_tree_learner.h:178: Line contains only semicolon. If this should be an empty statement, use {} instead. [whitespace/semicolon] [5]
./src\treelearner\gpu_tree_learner.h:182: Line contains only semicolon. If this should be an empty statement, use {} instead. [whitespace/semicolon] [5]
./src\treelearner\gpu_tree_learner.h:186: Line contains only semicolon. If this should be an empty statement, use {} instead. [whitespace/semicolon] [5]
Done processing ./src\treelearner\gpu_tree_learner.h
./src\io\config_auto.cpp:292: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
./src\io\config_auto.cpp:298: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:305: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
./src\io\config_auto.cpp:372: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:375: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:384: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:387: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:420: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:427: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:430: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:503: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:531: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:538: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:547: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:550: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:553: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:556: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
./src\io\config_auto.cpp:567: Redundant blank line at the end of a code block should be deleted. [whitespace/blank_line] [3]
Done processing ./src\io\config_auto.cpp
./include\LightGBM\config.h:78: Is this a non-const reference? If so, make const or use a pointer: std::unordered_map<std::string, std::string>& params [runtime/references] [2]
Done processing ./include\LightGBM\config.h
./src\treelearner\feature_parallel_tree_learner.cpp:8: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\treelearner\feature_parallel_tree_learner.cpp
Done processing ./include\LightGBM\export.h
./src\io\dense_nbits_bin.hpp:45: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./src\io\dense_nbits_bin.hpp:218: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\io\dense_nbits_bin.hpp:279: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
Done processing ./src\io\dense_nbits_bin.hpp
Done processing ./src\objective\rank_objective.hpp
./src\network\linkers_socket.cpp:12: <chrono> is an unapproved C++11 header. [build/c++11] [5]
./src\network\linkers_socket.cpp:14: <thread> is an unapproved C++11 header. [build/c++11] [5]
./src\network\linkers_socket.cpp:19: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\network\linkers_socket.cpp
Done processing ./src\metric\binary_metric.hpp
Done processing ./src\objective\objective_function.cpp
Done processing ./include\LightGBM\meta.h
./include\LightGBM\tree_learner.h:16: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
./include\LightGBM\tree_learner.h:56: Is this a non-const reference? If so, make const or use a pointer: Json& forced_split_json [runtime/references] [2]
Done processing ./include\LightGBM\tree_learner.h
./include\LightGBM\c_api.h:1042: Almost always, snprintf is better than strcpy [runtime/printf] [4]
Done processing ./include\LightGBM\c_api.h
./src\network\linkers_mpi.cpp:7: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\network\linkers_mpi.cpp
Done processing ./include\LightGBM\utils\threading.h
./src\network\network.cpp:12: Include the directory when naming .h files [build/include_subdir] [4]
Done processing ./src\network\network.cpp
./include\LightGBM\json11.hpp:80: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:81: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:82: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:83: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:84: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:85: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:86: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:87: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:88: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:89: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:90: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:94: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:101: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:107: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:111: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./include\LightGBM\json11.hpp:144: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
./include\LightGBM\json11.hpp:153: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
./include\LightGBM\json11.hpp:156: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
./include\LightGBM\json11.hpp:168: Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos [runtime/references] [2]
./include\LightGBM\json11.hpp:169: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
./include\LightGBM\json11.hpp:174: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
./include\LightGBM\json11.hpp:193: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
./include\LightGBM\json11.hpp:208: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
Done processing ./include\LightGBM\json11.hpp
./src\io\sparse_bin.hpp:78: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./src\io\sparse_bin.hpp:148: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\io\sparse_bin.hpp:211: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
Done processing ./src\io\sparse_bin.hpp
./src\treelearner\data_parallel_tree_learner.cpp:9: Include the directory when naming .h files [build/include_subdir] [4]
./src\treelearner\data_parallel_tree_learner.cpp:141: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
Done processing ./src\treelearner\data_parallel_tree_learner.cpp
./include\LightGBM\tree.h:487: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing ./include\LightGBM\tree.h
./include\LightGBM\utils\text_reader.h:163: Is this a non-const reference? If so, make const or use a pointer: Random& random [runtime/references] [2]
./include\LightGBM\utils\text_reader.h:198: Is this a non-const reference? If so, make const or use a pointer: Random& random [runtime/references] [2]
Done processing ./include\LightGBM\utils\text_reader.h
Done processing ./src\io\metadata.cpp
Done processing ./src\objective\binary_objective.hpp
Done processing ./src\objective\multiclass_objective.hpp
./include\LightGBM\feature_group.h:34: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers [runtime/references] [2]
./include\LightGBM\feature_group.h:57: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers [runtime/references] [2]
Done processing ./include\LightGBM\feature_group.h
./src\io\dense_bin.hpp:51: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
./src\io\dense_bin.hpp:195: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
./src\io\dense_bin.hpp:256: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
Done processing ./src\io\dense_bin.hpp
Done processing ./src\boosting\score_updater.hpp
Done processing ./include\LightGBM\utils\log.h
./src\metric\dcg_calculator.cpp:27: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing ./src\metric\dcg_calculator.cpp
Total errors found: 210
@guolinke Are we planning implementing CHECK_XX functions? If not, I can include readability/check into a filter, and the number of errors will be significantly decreased which will allow to concentrate on other errors.
@StrikerRUS I think we could add them, but I don't have much spare time for it now.
Maybe you could help to implement it, or i could do it in the future?
306c6dbfd507c2d89b0d593cc2a42cd72a14e777
Total errors found: 225
src/metric/regression_metric.hpp:274: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/metric/regression_metric.hpp:296: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/metric/regression_metric.hpp
src/objective/rank_objective.hpp:108: Tab found; better to use spaces [whitespace/tab] [1]
src/objective/rank_objective.hpp:108: Line ends in whitespace. Consider deleting these extra spaces. [whitespace/end_of_line] [4]
src/objective/rank_objective.hpp:146: Tab found; better to use spaces [whitespace/tab] [1]
src/objective/rank_objective.hpp:146: Line ends in whitespace. Consider deleting these extra spaces. [whitespace/end_of_line] [4]
Done processing src/objective/rank_objective.hpp
Done processing include/LightGBM/application.h
Done processing include/LightGBM/utils/file_io.h
src/c_api.cpp:25: <mutex> is an unapproved C++11 header. [build/c++11] [5]
src/c_api.cpp:57: Is this a non-const reference? If so, make const or use a pointer: Boosting& boosting [runtime/references] [2]
src/c_api.cpp:81: Is this a non-const reference? If so, make const or use a pointer: Boosting& boosting [runtime/references] [2]
src/c_api.cpp:88: Line ends in whitespace. Consider deleting these extra spaces. [whitespace/end_of_line] [4]
src/c_api.cpp:416: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/c_api.cpp:907: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/c_api.cpp
src/boosting/prediction_early_stop.cpp:16: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/boosting/prediction_early_stop.cpp
src/io/config.cpp:213: Use int16/int64/etc, rather than the C type short [runtime/int] [4]
Done processing src/io/config.cpp
src/metric/multiclass_metric.hpp:141: Is this a non-const reference? If so, make const or use a pointer: std::vector<double>& score [runtime/references] [2]
src/metric/multiclass_metric.hpp:165: Is this a non-const reference? If so, make const or use a pointer: std::vector<double>& score [runtime/references] [2]
Done processing src/metric/multiclass_metric.hpp
src/boosting/gbdt.h:18: <mutex> is an unapproved C++11 header. [build/c++11] [5]
src/boosting/gbdt.h:26: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/boosting/gbdt.h:144: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
src/boosting/gbdt.h:180: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
src/boosting/gbdt.h:187: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
src/boosting/gbdt.h:275: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
src/boosting/gbdt.h:283: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
src/boosting/gbdt.h:362: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
src/boosting/gbdt.h:388: Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand [runtime/references] [2]
src/boosting/gbdt.h:398: Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand [runtime/references] [2]
Done processing src/boosting/gbdt.h
include/LightGBM/tree_learner.h:16: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
include/LightGBM/tree_learner.h:56: Is this a non-const reference? If so, make const or use a pointer: Json& forced_split_json [runtime/references] [2]
Done processing include/LightGBM/tree_learner.h
Done processing include/LightGBM/objective_function.h
src/io/dense_nbits_bin.hpp:45: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
src/io/dense_nbits_bin.hpp:218: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
src/io/dense_nbits_bin.hpp:279: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
Done processing src/io/dense_nbits_bin.hpp
include/LightGBM/utils/random.h:32: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
Done processing include/LightGBM/utils/random.h
Done processing src/objective/xentropy_objective.hpp
Done processing include/LightGBM/prediction_early_stop.h
src/lightgbm_R.cpp:36: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/lightgbm_R.cpp
src/treelearner/tree_learner.cpp:7: Include the directory when naming .h files [build/include_subdir] [4]
src/treelearner/tree_learner.cpp:8: Include the directory when naming .h files [build/include_subdir] [4]
src/treelearner/tree_learner.cpp:9: Include the directory when naming .h files [build/include_subdir] [4]
Done processing src/treelearner/tree_learner.cpp
src/network/linkers_mpi.cpp:7: Include the directory when naming .h files [build/include_subdir] [4]
Done processing src/network/linkers_mpi.cpp
src/boosting/boosting.cpp:8: Include the directory when naming .h files [build/include_subdir] [4]
Done processing src/boosting/boosting.cpp
src/boosting/gbdt_model_text.cpp:13: Include the directory when naming .h files [build/include_subdir] [4]
src/boosting/gbdt_model_text.cpp:17: For a static/global string constant, use a C style string instead: "const char kModelVersion[]". [runtime/string] [4]
Done processing src/boosting/gbdt_model_text.cpp
Done processing src/objective/objective_function.cpp
Done processing src/network/linker_topo.cpp
Done processing src/io/metadata.cpp
src/boosting/gbdt_prediction.cpp:9: Include the directory when naming .h files [build/include_subdir] [4]
Done processing src/boosting/gbdt_prediction.cpp
Done processing include/LightGBM/export.h
include/LightGBM/tree.h:487: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing include/LightGBM/tree.h
src/io/dataset.cpp:13: <chrono> is an unapproved C++11 header. [build/c++11] [5]
src/io/dataset.cpp:29: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset.cpp:62: Is this a non-const reference? If so, make const or use a pointer: std::vector<bool>& mark [runtime/references] [2]
src/io/dataset.cpp:140: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers [runtime/references] [2]
src/io/dataset.cpp:323: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset.cpp:833: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
src/io/dataset.cpp:862: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
src/io/dataset.cpp:895: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
src/io/dataset.cpp:923: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
src/io/dataset.cpp:970: Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& dest [runtime/references] [2]
src/io/dataset.cpp:978: Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& dest [runtime/references] [2]
src/io/dataset.cpp:986: Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& dest [runtime/references] [2]
Done processing src/io/dataset.cpp
Done processing src/metric/binary_metric.hpp
src/treelearner/serial_tree_learner.h:32: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/treelearner/serial_tree_learner.h:81: Do not leave a blank line after "protected:" [whitespace/blank_line] [3]
src/treelearner/serial_tree_learner.h:109: Is this a non-const reference? If so, make const or use a pointer: Json& forced_split_json [runtime/references] [2]
Done processing src/treelearner/serial_tree_learner.h
Done processing src/boosting/score_updater.hpp
src/treelearner/parallel_tree_learner.h:15: Include the directory when naming .h files [build/include_subdir] [4]
src/treelearner/parallel_tree_learner.h:16: Include the directory when naming .h files [build/include_subdir] [4]
Done processing src/treelearner/parallel_tree_learner.h
Done processing src/objective/multiclass_objective.hpp
Done processing include/LightGBM/lightgbm_R.h
include/LightGBM/json11.hpp:80: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:81: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:82: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:83: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:84: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:85: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:86: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:87: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:88: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:89: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:90: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:94: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:101: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:107: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:111: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:144: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
include/LightGBM/json11.hpp:153: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:156: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:168: Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos [runtime/references] [2]
include/LightGBM/json11.hpp:169: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:174: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:193: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:208: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
Done processing include/LightGBM/json11.hpp
src/network/linkers_socket.cpp:12: <chrono> is an unapproved C++11 header. [build/c++11] [5]
src/network/linkers_socket.cpp:14: <thread> is an unapproved C++11 header. [build/c++11] [5]
src/network/linkers_socket.cpp:19: Include the directory when naming .h files [build/include_subdir] [4]
src/network/linkers_socket.cpp:190: At least two spaces is best between code and comments [whitespace/comments] [2]
Done processing src/network/linkers_socket.cpp
src/network/socket_wrapper.hpp:22: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
src/network/socket_wrapper.hpp:23: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
src/network/socket_wrapper.hpp:24: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
src/network/socket_wrapper.hpp:25: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
src/network/socket_wrapper.hpp:26: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
src/network/socket_wrapper.hpp:27: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
src/network/socket_wrapper.hpp:28: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
src/network/socket_wrapper.hpp:29: Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other. [build/include_order] [4]
src/network/socket_wrapper.hpp:219: Are you taking an address of a cast? This is dangerous: could be a temp var. Take the address before doing the cast, rather than after [runtime/casting] [4]
Done processing src/network/socket_wrapper.hpp
src/io/file_io.cpp:57: For a static/global string constant, use a C style string instead: "const char kHdfsProto[]". [runtime/string] [4]
Done processing src/io/file_io.cpp
Done processing include/LightGBM/utils/log.h
Done processing include/LightGBM/boosting.h
src/io/dataset_loader.cpp:432: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:566: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:658: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/dataset_loader.cpp:876: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:984: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/io/dataset_loader.cpp
include/LightGBM/R_object_helper.h:126: Using C-style cast. Use reinterpret_cast<SEXPREC_ALIGN *>(...) instead [readability/casting] [4]
include/LightGBM/R_object_helper.h:128: Using C-style cast. Use reinterpret_cast<char *>(...) instead [readability/casting] [4]
include/LightGBM/R_object_helper.h:130: Using C-style cast. Use reinterpret_cast<int *>(...) instead [readability/casting] [4]
include/LightGBM/R_object_helper.h:132: Using C-style cast. Use reinterpret_cast<int64_t *>(...) instead [readability/casting] [4]
include/LightGBM/R_object_helper.h:134: Using C-style cast. Use reinterpret_cast<double *>(...) instead [readability/casting] [4]
include/LightGBM/R_object_helper.h:136: Using C-style cast. Use reinterpret_cast<int *>(...) instead [readability/casting] [4]
include/LightGBM/R_object_helper.h:138: Using C-style cast. Use reinterpret_cast<int64_t *>(...) instead [readability/casting] [4]
include/LightGBM/R_object_helper.h:145: Using C-style cast. Use reinterpret_cast<int64_t *>(...) instead [readability/casting] [4]
include/LightGBM/R_object_helper.h:159: Using C-style cast. Use reinterpret_cast<void *>(...) instead [readability/casting] [4]
include/LightGBM/R_object_helper.h:169: Using C-style cast. Use reinterpret_cast<int32_t *>(...) instead [readability/casting] [4]
include/LightGBM/R_object_helper.h:183: Using C-style cast. Use reinterpret_cast<void *>(...) instead [readability/casting] [4]
Done processing include/LightGBM/R_object_helper.h
src/io/sparse_bin.hpp:78: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
src/io/sparse_bin.hpp:148: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
src/io/sparse_bin.hpp:211: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
Done processing src/io/sparse_bin.hpp
src/io/parser.cpp:30: Is this a non-const reference? If so, make const or use a pointer: std::string& str [runtime/references] [2]
src/io/parser.cpp:44: Is this a non-const reference? If so, make const or use a pointer: std::string& str [runtime/references] [2]
src/io/parser.cpp:57: Is this a non-const reference? If so, make const or use a pointer: std::string& str [runtime/references] [2]
src/io/parser.cpp:77: Is this a non-const reference? If so, make const or use a pointer: std::string& line [runtime/references] [2]
src/io/parser.cpp:77: Is this a non-const reference? If so, make const or use a pointer: std::vector<char>& buffer [runtime/references] [2]
Done processing src/io/parser.cpp
Done processing src/metric/map_metric.hpp
include/LightGBM/utils/array_args.h:119: Empty loop bodies should use {} or continue [whitespace/empty_loop_body] [5]
Done processing include/LightGBM/utils/array_args.h
src/boosting/goss.hpp:15: <chrono> is an unapproved C++11 header. [build/c++11] [5]
src/boosting/goss.hpp:20: Include the directory when naming .h files [build/include_subdir] [4]
src/boosting/goss.hpp:91: Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand [runtime/references] [2]
Done processing src/boosting/goss.hpp
Done processing src/treelearner/split_info.hpp
src/network/network.cpp:12: Include the directory when naming .h files [build/include_subdir] [4]
Done processing src/network/network.cpp
include/LightGBM/config.h:78: Is this a non-const reference? If so, make const or use a pointer: std::unordered_map<std::string, std::string>& params [runtime/references] [2]
Done processing include/LightGBM/config.h
Done processing src/objective/regression_objective.hpp
src/io/config_auto.cpp:296: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/config_auto.cpp:302: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:309: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/config_auto.cpp:380: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:383: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:392: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:395: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:428: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:435: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:438: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:511: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:539: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:548: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:557: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:560: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:563: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:566: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:577: Redundant blank line at the end of a code block should be deleted. [whitespace/blank_line] [3]
Done processing src/io/config_auto.cpp
Done processing include/LightGBM/utils/threading.h
Done processing src/metric/metric.cpp
src/metric/dcg_calculator.cpp:27: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/metric/dcg_calculator.cpp
Done processing src/metric/rank_metric.hpp
Done processing src/io/parser.hpp
Done processing src/io/tree.cpp
src/boosting/dart.hpp:16: Include the directory when naming .h files [build/include_subdir] [4]
Done processing src/boosting/dart.hpp
include/LightGBM/c_api.h:1041: Almost always, snprintf is better than strcpy [runtime/printf] [4]
Done processing include/LightGBM/c_api.h
Done processing src/treelearner/data_partition.hpp
src/io/dense_bin.hpp:51: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
src/io/dense_bin.hpp:195: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
src/io/dense_bin.hpp:256: "virtual" is redundant since function is already declared as "override" [readability/inheritance] [4]
Done processing src/io/dense_bin.hpp
src/application/predictor.hpp:45: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/application/predictor.hpp:46: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/application/predictor.hpp
include/LightGBM/dataset.h:19: <mutex> is an unapproved C++11 header. [build/c++11] [5]
include/LightGBM/dataset.h:292: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers [runtime/references] [2]
include/LightGBM/dataset.h:410: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<OrderedBin>>& ordered_bins [runtime/references] [2]
Done processing include/LightGBM/dataset.h
include/LightGBM/dataset_loader.h:55: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::string>& text_data [runtime/references] [2]
Done processing include/LightGBM/dataset_loader.h
src/treelearner/serial_tree_learner.cpp:5: Include the directory when naming .h files [build/include_subdir] [4]
src/treelearner/serial_tree_learner.cpp:290: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:293: Missing space before ( in if( [whitespace/parens] [5]
src/treelearner/serial_tree_learner.cpp:302: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:314: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:925: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/treelearner/serial_tree_learner.cpp
src/io/bin.cpp:77: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/bin.cpp:393: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/bin.cpp
src/treelearner/data_parallel_tree_learner.cpp:9: Include the directory when naming .h files [build/include_subdir] [4]
src/treelearner/data_parallel_tree_learner.cpp:141: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
Done processing src/treelearner/data_parallel_tree_learner.cpp
src/application/application.cpp:19: <chrono> is an unapproved C++11 header. [build/c++11] [5]
src/application/application.cpp:88: Line ends in whitespace. Consider deleting these extra spaces. [whitespace/end_of_line] [4]
Done processing src/application/application.cpp
Done processing src/objective/binary_objective.hpp
Done processing include/LightGBM/metric.h
Done processing src/main.cpp
src/boosting/rf.hpp:18: Include the directory when naming .h files [build/include_subdir] [4]
Done processing src/boosting/rf.hpp
src/io/json11.cpp:53: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:57: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:67: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:73: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:77: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:114: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:126: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:339: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:351: const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants. [runtime/member_string_references] [2]
src/io/json11.cpp:431: Empty loop bodies should use {} or continue [whitespace/empty_loop_body] [5]
src/io/json11.cpp:453: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:453: Is this a non-const reference? If so, make const or use a pointer: string & out [runtime/references] [2]
src/io/json11.cpp:480: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:524: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
Done processing src/io/json11.cpp
Done processing include/LightGBM/meta.h
include/LightGBM/utils/text_reader.h:163: Is this a non-const reference? If so, make const or use a pointer: Random& random [runtime/references] [2]
include/LightGBM/utils/text_reader.h:198: Is this a non-const reference? If so, make const or use a pointer: Random& random [runtime/references] [2]
Done processing include/LightGBM/utils/text_reader.h
src/treelearner/feature_parallel_tree_learner.cpp:8: Include the directory when naming .h files [build/include_subdir] [4]
Done processing src/treelearner/feature_parallel_tree_learner.cpp
src/io/ordered_sparse_bin.hpp:13: <mutex> is an unapproved C++11 header. [build/c++11] [5]
src/io/ordered_sparse_bin.hpp:39: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
Done processing src/io/ordered_sparse_bin.hpp
src/treelearner/leaf_splits.hpp:22: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
Done processing src/treelearner/leaf_splits.hpp
include/LightGBM/utils/pipeline_reader.h:15: <thread> is an unapproved C++11 header. [build/c++11] [5]
Done processing include/LightGBM/utils/pipeline_reader.h
include/LightGBM/feature_group.h:34: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers [runtime/references] [2]
include/LightGBM/feature_group.h:57: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers [runtime/references] [2]
Done processing include/LightGBM/feature_group.h
src/treelearner/gpu_tree_learner.cpp:7: Include the directory when naming .h files [build/include_subdir] [4]
src/treelearner/gpu_tree_learner.cpp:187: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
Done processing src/treelearner/gpu_tree_learner.cpp
include/LightGBM/network.h:169: Is this a non-const reference? If so, make const or use a pointer: T& local [runtime/references] [2]
include/LightGBM/network.h:192: Is this a non-const reference? If so, make const or use a pointer: T& local [runtime/references] [2]
include/LightGBM/network.h:216: Is this a non-const reference? If so, make const or use a pointer: T& local [runtime/references] [2]
include/LightGBM/network.h:238: Is this a non-const reference? If so, make const or use a pointer: T& local [runtime/references] [2]
include/LightGBM/network.h:243: Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& local [runtime/references] [2]
Done processing include/LightGBM/network.h
src/treelearner/gpu_tree_learner.h:24: Include the directory when naming .h files [build/include_subdir] [4]
src/treelearner/gpu_tree_learner.h:37: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/treelearner/gpu_tree_learner.h:178: Line contains only semicolon. If this should be an empty statement, use {} instead. [whitespace/semicolon] [5]
src/treelearner/gpu_tree_learner.h:182: Line contains only semicolon. If this should be an empty statement, use {} instead. [whitespace/semicolon] [5]
src/treelearner/gpu_tree_learner.h:186: Line contains only semicolon. If this should be an empty statement, use {} instead. [whitespace/semicolon] [5]
Done processing src/treelearner/gpu_tree_learner.h
include/LightGBM/utils/openmp_wrapper.h:14: <mutex> is an unapproved C++11 header. [build/c++11] [5]
Done processing include/LightGBM/utils/openmp_wrapper.h
src/treelearner/voting_parallel_tree_learner.cpp:11: Include the directory when naming .h files [build/include_subdir] [4]
src/treelearner/voting_parallel_tree_learner.cpp:138: Using C-style cast. Use reinterpret_cast<void*>(...) instead [readability/casting] [4]
Done processing src/treelearner/voting_parallel_tree_learner.cpp
Done processing include/LightGBM/bin.h
src/treelearner/feature_histogram.hpp:676: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/treelearner/feature_histogram.hpp
src/boosting/gbdt.cpp:5: Include the directory when naming .h files [build/include_subdir] [4]
src/boosting/gbdt.cpp:14: <chrono> is an unapproved C++11 header. [build/c++11] [5]
src/boosting/gbdt.cpp:299: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/boosting/gbdt.cpp
src/network/linkers.h:14: <chrono> is an unapproved C++11 header. [build/c++11] [5]
src/network/linkers.h:17: <thread> is an unapproved C++11 header. [build/c++11] [5]
src/network/linkers.h:22: Found C system header after other header. Should be: linkers.h, c system, c++ system, other. [build/include_order] [4]
Done processing src/network/linkers.h
include/LightGBM/utils/common.h:27: Include the directory when naming .h files [build/include_subdir] [4]
include/LightGBM/utils/common.h:167: Is this a non-const reference? If so, make const or use a pointer: std::vector<T> &ret [runtime/references] [2]
include/LightGBM/utils/common.h:328: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
include/LightGBM/utils/common.h:399: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
include/LightGBM/utils/common.h:439: Closing ) should be moved to the previous line [whitespace/parens] [2]
include/LightGBM/utils/common.h:443: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
include/LightGBM/utils/common.h:667: Is this a non-const reference? If so, make const or use a pointer: std::vector<T1>& keys [runtime/references] [2]
include/LightGBM/utils/common.h:667: Is this a non-const reference? If so, make const or use a pointer: std::vector<T2>& values [runtime/references] [2]
include/LightGBM/utils/common.h:688: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<T>>& data [runtime/references] [2]
include/LightGBM/utils/common.h:718: Missing space before { [whitespace/braces] [5]
include/LightGBM/utils/common.h:868: Is this a non-const reference? If so, make const or use a pointer: std::vector<uint32_t>& vec [runtime/references] [2]
Done processing include/LightGBM/utils/common.h
Done processing src/metric/xentropy_metric.hpp
Total errors found: 225
@StrikerRUS
it seems mutex is a false alert.
refer to https://github.com/google/styleguide/issues/434
@guolinke
it seems mutex is a false alert.
refer to google/styleguide#434
Here is the reason why they are banned
https://github.com/iotaledger/entangled/issues/213#issuecomment-417307849
https://chromium-cpp.appspot.com/
We can use // NOLINT for them.
f1a1486929f8e981c44cba45132f5b4929453f8a
cpplint --filter=-build/include_subdir,-build/header_guard,-whitespace/line_length --recursive ./src ./include
Total errors found: 107
src/metric/regression_metric.hpp:274: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/metric/regression_metric.hpp:296: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/metric/regression_metric.hpp
Done processing src/boosting/gbdt_prediction.cpp
Done processing src/treelearner/split_info.hpp
Done processing include/LightGBM/export.h
src/boosting/gbdt.h:18: <mutex> is an unapproved C++11 header. [build/c++11] [5]
src/boosting/gbdt.h:26: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/boosting/gbdt.h
include/LightGBM/utils/openmp_wrapper.h:14: <mutex> is an unapproved C++11 header. [build/c++11] [5]
Done processing include/LightGBM/utils/openmp_wrapper.h
Done processing src/objective/objective_function.cpp
Done processing include/LightGBM/R_object_helper.h
src/network/socket_wrapper.hpp:221: Are you taking an address of a cast? This is dangerous: could be a temp var. Take the address before doing the cast, rather than after [runtime/casting] [4]
Done processing src/network/socket_wrapper.hpp
Done processing src/metric/multiclass_metric.hpp
Done processing src/network/network.cpp
Done processing src/main.cpp
Done processing src/treelearner/data_parallel_tree_learner.cpp
Done processing include/LightGBM/utils/random.h
Done processing src/io/parser.cpp
Done processing src/treelearner/voting_parallel_tree_learner.cpp
Done processing include/LightGBM/utils/file_io.h
Done processing src/objective/multiclass_objective.hpp
Done processing include/LightGBM/config.h
Done processing include/LightGBM/utils/array_args.h
include/LightGBM/utils/pipeline_reader.h:15: <thread> is an unapproved C++11 header. [build/c++11] [5]
Done processing include/LightGBM/utils/pipeline_reader.h
src/treelearner/serial_tree_learner.h:32: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/treelearner/serial_tree_learner.h
src/io/config_auto.cpp:296: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/config_auto.cpp:302: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:309: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/config_auto.cpp:380: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:383: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:392: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:395: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:428: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:435: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:438: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:511: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:539: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:548: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:557: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:560: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:563: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:566: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:577: Redundant blank line at the end of a code block should be deleted. [whitespace/blank_line] [3]
Done processing src/io/config_auto.cpp
Done processing src/io/dense_nbits_bin.hpp
src/metric/dcg_calculator.cpp:27: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/metric/dcg_calculator.cpp
src/io/bin.cpp:77: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/bin.cpp:393: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/bin.cpp
Done processing src/boosting/rf.hpp
Done processing src/io/dense_bin.hpp
Done processing include/LightGBM/boosting.h
Done processing include/LightGBM/lightgbm_R.h
Done processing src/io/metadata.cpp
Done processing include/LightGBM/network.h
src/network/linkers_socket.cpp:12: <chrono> is an unapproved C++11 header. [build/c++11] [5]
src/network/linkers_socket.cpp:14: <thread> is an unapproved C++11 header. [build/c++11] [5]
src/network/linkers_socket.cpp:190: At least two spaces is best between code and comments [whitespace/comments] [2]
Done processing src/network/linkers_socket.cpp
Done processing src/metric/metric.cpp
Done processing src/network/linkers_mpi.cpp
Done processing src/objective/regression_objective.hpp
Done processing src/objective/xentropy_objective.hpp
Done processing src/treelearner/gpu_tree_learner.cpp
src/c_api.cpp:25: <mutex> is an unapproved C++11 header. [build/c++11] [5]
src/c_api.cpp:416: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/c_api.cpp:907: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/c_api.cpp
include/LightGBM/dataset.h:19: <mutex> is an unapproved C++11 header. [build/c++11] [5]
Done processing include/LightGBM/dataset.h
Done processing src/objective/binary_objective.hpp
Done processing src/network/linker_topo.cpp
Done processing src/boosting/boosting.cpp
Done processing src/boosting/gbdt_model_text.cpp
Done processing src/boosting/dart.hpp
Done processing include/LightGBM/objective_function.h
Done processing src/io/sparse_bin.hpp
src/treelearner/gpu_tree_learner.h:37: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/treelearner/gpu_tree_learner.h:178: Line contains only semicolon. If this should be an empty statement, use {} instead. [whitespace/semicolon] [5]
src/treelearner/gpu_tree_learner.h:182: Line contains only semicolon. If this should be an empty statement, use {} instead. [whitespace/semicolon] [5]
src/treelearner/gpu_tree_learner.h:186: Line contains only semicolon. If this should be an empty statement, use {} instead. [whitespace/semicolon] [5]
Done processing src/treelearner/gpu_tree_learner.h
Done processing include/LightGBM/feature_group.h
src/io/ordered_sparse_bin.hpp:13: <mutex> is an unapproved C++11 header. [build/c++11] [5]
Done processing src/io/ordered_sparse_bin.hpp
include/LightGBM/tree.h:487: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing include/LightGBM/tree.h
Done processing src/metric/map_metric.hpp
src/lightgbm_R.cpp:36: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/lightgbm_R.cpp
Done processing include/LightGBM/meta.h
Done processing src/boosting/score_updater.hpp
Done processing src/metric/binary_metric.hpp
Done processing include/LightGBM/bin.h
Done processing src/io/tree.cpp
include/LightGBM/json11.hpp:80: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:81: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:82: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:83: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:84: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:85: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:86: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:87: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:88: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:89: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:90: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:94: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:101: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:107: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:111: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:144: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
include/LightGBM/json11.hpp:153: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:156: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:168: Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos [runtime/references] [2]
include/LightGBM/json11.hpp:169: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:174: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:193: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:208: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
Done processing include/LightGBM/json11.hpp
src/io/json11.cpp:53: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:57: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:67: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:73: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:77: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:114: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:126: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:339: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:351: const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants. [runtime/member_string_references] [2]
src/io/json11.cpp:431: Empty loop bodies should use {} or continue [whitespace/empty_loop_body] [5]
src/io/json11.cpp:453: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:453: Is this a non-const reference? If so, make const or use a pointer: string & out [runtime/references] [2]
src/io/json11.cpp:480: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:524: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
Done processing src/io/json11.cpp
Done processing src/io/parser.hpp
src/application/application.cpp:19: <chrono> is an unapproved C++11 header. [build/c++11] [5]
Done processing src/application/application.cpp
Done processing src/metric/xentropy_metric.hpp
src/io/dataset_loader.cpp:432: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:566: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:658: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/dataset_loader.cpp:876: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:984: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/io/dataset_loader.cpp
include/LightGBM/tree_learner.h:16: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing include/LightGBM/tree_learner.h
Done processing src/treelearner/leaf_splits.hpp
Done processing src/treelearner/data_partition.hpp
Done processing include/LightGBM/prediction_early_stop.h
src/io/dataset.cpp:13: <chrono> is an unapproved C++11 header. [build/c++11] [5]
src/io/dataset.cpp:29: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset.cpp:323: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/dataset.cpp
Done processing include/LightGBM/utils/text_reader.h
Done processing src/treelearner/parallel_tree_learner.h
src/treelearner/feature_histogram.hpp:676: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/treelearner/feature_histogram.hpp
include/LightGBM/utils/common.h:303: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
include/LightGBM/utils/common.h:374: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
include/LightGBM/utils/common.h:414: Closing ) should be moved to the previous line [whitespace/parens] [2]
include/LightGBM/utils/common.h:418: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
Done processing include/LightGBM/utils/common.h
Done processing src/boosting/prediction_early_stop.cpp
Done processing include/LightGBM/application.h
Done processing src/treelearner/tree_learner.cpp
src/network/linkers.h:15: <chrono> is an unapproved C++11 header. [build/c++11] [5]
src/network/linkers.h:18: <thread> is an unapproved C++11 header. [build/c++11] [5]
Done processing src/network/linkers.h
Done processing include/LightGBM/metric.h
src/treelearner/serial_tree_learner.cpp:290: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:302: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:314: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:925: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/treelearner/serial_tree_learner.cpp
Done processing include/LightGBM/dataset_loader.h
Done processing include/LightGBM/utils/log.h
Done processing src/io/file_io.cpp
src/boosting/gbdt.cpp:14: <chrono> is an unapproved C++11 header. [build/c++11] [5]
src/boosting/gbdt.cpp:299: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/boosting/gbdt.cpp
Done processing src/objective/rank_objective.hpp
src/application/predictor.hpp:45: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/application/predictor.hpp:46: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/application/predictor.hpp
Done processing src/treelearner/feature_parallel_tree_learner.cpp
Done processing src/io/config.cpp
include/LightGBM/c_api.h:1041: Almost always, snprintf is better than strcpy [runtime/printf] [4]
Done processing include/LightGBM/c_api.h
src/boosting/goss.hpp:15: <chrono> is an unapproved C++11 header. [build/c++11] [5]
Done processing src/boosting/goss.hpp
Done processing src/metric/rank_metric.hpp
Done processing include/LightGBM/utils/threading.h
Total errors found: 107
9b61166fccab1edc92edebc97ef6714018736b18
Total errors found: 108
include/LightGBM/utils/common.h:303: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
include/LightGBM/utils/common.h:374: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
include/LightGBM/utils/common.h:414: Closing ) should be moved to the previous line [whitespace/parens] [2]
include/LightGBM/utils/common.h:418: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
Done processing include/LightGBM/utils/common.h
Done processing include/LightGBM/lightgbm_R.h
Done processing include/LightGBM/objective_function.h
include/LightGBM/c_api.h:1041: Almost always, snprintf is better than strcpy [runtime/printf] [4]
Done processing include/LightGBM/c_api.h
src/treelearner/gpu_tree_learner.h:37: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/treelearner/gpu_tree_learner.h:178: Line contains only semicolon. If this should be an empty statement, use {} instead. [whitespace/semicolon] [5]
src/treelearner/gpu_tree_learner.h:182: Line contains only semicolon. If this should be an empty statement, use {} instead. [whitespace/semicolon] [5]
src/treelearner/gpu_tree_learner.h:186: Line contains only semicolon. If this should be an empty statement, use {} instead. [whitespace/semicolon] [5]
Done processing src/treelearner/gpu_tree_learner.h
include/LightGBM/tree.h:487: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing include/LightGBM/tree.h
Done processing include/LightGBM/feature_group.h
Done processing src/objective/multiclass_objective.hpp
Done processing src/treelearner/gpu_tree_learner.cpp
Done processing src/io/dense_bin.hpp
src/metric/dcg_calculator.cpp:27: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/metric/dcg_calculator.cpp
Done processing src/objective/binary_objective.hpp
src/network/socket_wrapper.hpp:221: Are you taking an address of a cast? This is dangerous: could be a temp var. Take the address before doing the cast, rather than after [runtime/casting] [4]
Done processing src/network/socket_wrapper.hpp
Done processing src/network/network.cpp
Done processing src/objective/objective_function.cpp
Done processing src/boosting/gbdt_prediction.cpp
Done processing src/treelearner/parallel_tree_learner.h
Done processing src/boosting/prediction_early_stop.cpp
Done processing src/metric/binary_metric.hpp
Done processing src/treelearner/feature_parallel_tree_learner.cpp
src/io/config_auto.cpp:298: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/config_auto.cpp:304: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:305: Consider using CHECK_LE instead of CHECK(a <= b) [readability/check] [2]
src/io/config_auto.cpp:312: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/config_auto.cpp:383: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:386: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:395: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:398: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:433: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:440: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:443: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:516: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:544: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:553: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:562: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:565: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:568: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:571: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:582: Redundant blank line at the end of a code block should be deleted. [whitespace/blank_line] [3]
Done processing src/io/config_auto.cpp
Done processing include/LightGBM/utils/random.h
Done processing src/treelearner/leaf_splits.hpp
Done processing src/objective/regression_objective.hpp
Done processing src/io/config.cpp
Done processing src/treelearner/cost_effective_gradient_boosting.hpp
Done processing include/LightGBM/config.h
Done processing include/LightGBM/utils/file_io.h
src/application/application.cpp:19: <chrono> is an unapproved C++11 header. [build/c++11] [5]
Done processing src/application/application.cpp
Done processing src/io/file_io.cpp
src/lightgbm_R.cpp:36: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/lightgbm_R.cpp
Done processing src/metric/metric.cpp
include/LightGBM/utils/pipeline_reader.h:15: <thread> is an unapproved C++11 header. [build/c++11] [5]
Done processing include/LightGBM/utils/pipeline_reader.h
src/application/predictor.hpp:45: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/application/predictor.hpp:46: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/application/predictor.hpp
Done processing src/boosting/score_updater.hpp
Done processing src/boosting/rf.hpp
Done processing include/LightGBM/prediction_early_stop.h
src/io/json11.cpp:53: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:57: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:67: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:73: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:77: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:114: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:126: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:339: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:351: const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants. [runtime/member_string_references] [2]
src/io/json11.cpp:431: Empty loop bodies should use {} or continue [whitespace/empty_loop_body] [5]
src/io/json11.cpp:453: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:453: Is this a non-const reference? If so, make const or use a pointer: string & out [runtime/references] [2]
src/io/json11.cpp:480: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:524: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
Done processing src/io/json11.cpp
src/boosting/goss.hpp:15: <chrono> is an unapproved C++11 header. [build/c++11] [5]
Done processing src/boosting/goss.hpp
Done processing src/network/linker_topo.cpp
Done processing include/LightGBM/utils/text_reader.h
include/LightGBM/tree_learner.h:16: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing include/LightGBM/tree_learner.h
src/c_api.cpp:25: <mutex> is an unapproved C++11 header. [build/c++11] [5]
src/c_api.cpp:416: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/c_api.cpp:907: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/c_api.cpp
Done processing src/treelearner/tree_learner.cpp
Done processing include/LightGBM/meta.h
Done processing include/LightGBM/metric.h
Done processing src/io/metadata.cpp
Done processing src/metric/rank_metric.hpp
src/boosting/gbdt.h:18: <mutex> is an unapproved C++11 header. [build/c++11] [5]
src/boosting/gbdt.h:26: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/boosting/gbdt.h
Done processing src/treelearner/data_parallel_tree_learner.cpp
include/LightGBM/dataset.h:19: <mutex> is an unapproved C++11 header. [build/c++11] [5]
Done processing include/LightGBM/dataset.h
src/network/linkers.h:15: <chrono> is an unapproved C++11 header. [build/c++11] [5]
src/network/linkers.h:18: <thread> is an unapproved C++11 header. [build/c++11] [5]
Done processing src/network/linkers.h
Done processing src/boosting/boosting.cpp
Done processing src/objective/xentropy_objective.hpp
Done processing src/metric/map_metric.hpp
src/io/bin.cpp:78: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/bin.cpp:509: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/bin.cpp
Done processing include/LightGBM/export.h
src/treelearner/feature_histogram.hpp:676: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/treelearner/feature_histogram.hpp
Done processing src/boosting/dart.hpp
src/io/dataset_loader.cpp:16: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/io/dataset_loader.cpp:440: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:588: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:687: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/dataset_loader.cpp:909: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:1025: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/io/dataset_loader.cpp
Done processing src/io/sparse_bin.hpp
Done processing include/LightGBM/utils/array_args.h
src/io/dataset.cpp:13: <chrono> is an unapproved C++11 header. [build/c++11] [5]
src/io/dataset.cpp:30: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset.cpp:325: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/dataset.cpp
src/network/linkers_socket.cpp:12: <chrono> is an unapproved C++11 header. [build/c++11] [5]
src/network/linkers_socket.cpp:14: <thread> is an unapproved C++11 header. [build/c++11] [5]
Done processing src/network/linkers_socket.cpp
include/LightGBM/utils/openmp_wrapper.h:14: <mutex> is an unapproved C++11 header. [build/c++11] [5]
Done processing include/LightGBM/utils/openmp_wrapper.h
Done processing include/LightGBM/boosting.h
Done processing src/io/parser.cpp
Done processing src/metric/xentropy_metric.hpp
Done processing src/objective/rank_objective.hpp
Done processing src/treelearner/split_info.hpp
include/LightGBM/json11.hpp:80: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:81: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:82: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:83: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:84: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:85: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:86: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:87: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:88: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:89: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:90: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:94: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:101: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:107: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:111: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:144: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
include/LightGBM/json11.hpp:153: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:156: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:168: Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos [runtime/references] [2]
include/LightGBM/json11.hpp:169: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:174: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:193: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:208: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
Done processing include/LightGBM/json11.hpp
Done processing include/LightGBM/network.h
src/boosting/gbdt.cpp:14: <chrono> is an unapproved C++11 header. [build/c++11] [5]
src/boosting/gbdt.cpp:299: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/boosting/gbdt.cpp
Done processing include/LightGBM/dataset_loader.h
Done processing include/LightGBM/utils/log.h
Done processing src/metric/multiclass_metric.hpp
src/treelearner/serial_tree_learner.h:32: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/treelearner/serial_tree_learner.h
Done processing src/main.cpp
Done processing include/LightGBM/application.h
Done processing src/io/parser.hpp
Done processing src/io/tree.cpp
Done processing src/treelearner/data_partition.hpp
Done processing src/network/linkers_mpi.cpp
src/io/ordered_sparse_bin.hpp:13: <mutex> is an unapproved C++11 header. [build/c++11] [5]
Done processing src/io/ordered_sparse_bin.hpp
Done processing src/io/dense_nbits_bin.hpp
src/treelearner/serial_tree_learner.cpp:290: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:302: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:314: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:876: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/treelearner/serial_tree_learner.cpp
Done processing src/boosting/gbdt_model_text.cpp
Done processing src/treelearner/voting_parallel_tree_learner.cpp
src/metric/regression_metric.hpp:274: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/metric/regression_metric.hpp:296: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/metric/regression_metric.hpp
Done processing include/LightGBM/R_object_helper.h
Done processing include/LightGBM/bin.h
Done processing include/LightGBM/utils/threading.h
Total errors found: 108
@guolinke Are we going to mark those headers as // NOLINT? Or something else? https://github.com/microsoft/LightGBM/issues/1990#issuecomment-533547900
@StrikerRUS NOLINT looks good to me.
dc65e0ac6ee8faa5790263a8dc2d9cc2a8dd7c4b
cpplint --filter=-build/c++11,-build/include_subdir,-build/header_guard,-whitespace/line_length --recursive ./src ./include
Total errors found: 93
Done processing src/metric/rank_metric.hpp
Done processing src/objective/xentropy_objective.hpp
Done processing include/LightGBM/utils/pipeline_reader.h
Done processing src/network/linkers.h
Done processing src/treelearner/tree_learner.cpp
Done processing src/network/network.cpp
Done processing include/LightGBM/metric.h
src/boosting/gbdt.h:26: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/boosting/gbdt.h
src/metric/dcg_calculator.cpp:27: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/metric/dcg_calculator.cpp
Done processing src/treelearner/feature_parallel_tree_learner.cpp
Done processing include/LightGBM/utils/array_args.h
Done processing src/boosting/prediction_early_stop.cpp
Done processing include/LightGBM/feature_group.h
src/network/socket_wrapper.hpp:221: Are you taking an address of a cast? This is dangerous: could be a temp var. Take the address before doing the cast, rather than after [runtime/casting] [4]
Done processing src/network/socket_wrapper.hpp
Done processing src/io/parser.hpp
Done processing src/objective/binary_objective.hpp
Done processing include/LightGBM/utils/openmp_wrapper.h
Done processing src/boosting/goss.hpp
Done processing src/io/parser.cpp
Done processing src/io/file_io.cpp
Done processing include/LightGBM/export.h
Done processing include/LightGBM/boosting.h
include/LightGBM/tree.h:487: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing include/LightGBM/tree.h
src/boosting/gbdt.cpp:299: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/boosting/gbdt.cpp
Done processing include/LightGBM/R_object_helper.h
include/LightGBM/json11.hpp:80: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:81: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:82: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:83: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:84: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:85: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:86: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:87: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:88: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:89: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:90: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:94: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:101: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:107: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:111: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:144: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
include/LightGBM/json11.hpp:153: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:156: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:168: Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos [runtime/references] [2]
include/LightGBM/json11.hpp:169: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:174: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:193: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:208: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
Done processing include/LightGBM/json11.hpp
Done processing src/treelearner/data_parallel_tree_learner.cpp
include/LightGBM/utils/common.h:303: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
include/LightGBM/utils/common.h:374: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
include/LightGBM/utils/common.h:414: Closing ) should be moved to the previous line [whitespace/parens] [2]
include/LightGBM/utils/common.h:418: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
Done processing include/LightGBM/utils/common.h
Done processing src/treelearner/split_info.hpp
Done processing src/boosting/gbdt_model_text.cpp
src/io/dataset.cpp:30: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset.cpp:325: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/dataset.cpp
Done processing src/objective/multiclass_objective.hpp
src/io/dataset_loader.cpp:16: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/io/dataset_loader.cpp:440: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:588: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:687: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/dataset_loader.cpp:909: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:1025: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/io/dataset_loader.cpp
Done processing src/application/application.cpp
Done processing src/network/linkers_socket.cpp
Done processing include/LightGBM/dataset_loader.h
src/treelearner/gpu_tree_learner.h:37: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/treelearner/gpu_tree_learner.h:178: Line contains only semicolon. If this should be an empty statement, use {} instead. [whitespace/semicolon] [5]
src/treelearner/gpu_tree_learner.h:182: Line contains only semicolon. If this should be an empty statement, use {} instead. [whitespace/semicolon] [5]
src/treelearner/gpu_tree_learner.h:186: Line contains only semicolon. If this should be an empty statement, use {} instead. [whitespace/semicolon] [5]
Done processing src/treelearner/gpu_tree_learner.h
src/treelearner/serial_tree_learner.h:32: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/treelearner/serial_tree_learner.h
Done processing include/LightGBM/meta.h
Done processing src/io/metadata.cpp
Done processing src/boosting/dart.hpp
Done processing include/LightGBM/prediction_early_stop.h
Done processing include/LightGBM/objective_function.h
Done processing src/treelearner/data_partition.hpp
Done processing src/io/dense_nbits_bin.hpp
Done processing include/LightGBM/utils/random.h
Done processing src/metric/binary_metric.hpp
src/metric/regression_metric.hpp:274: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/metric/regression_metric.hpp:296: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/metric/regression_metric.hpp
Done processing src/boosting/gbdt_prediction.cpp
Done processing src/io/dense_bin.hpp
Done processing src/io/ordered_sparse_bin.hpp
Done processing src/metric/multiclass_metric.hpp
Done processing src/treelearner/voting_parallel_tree_learner.cpp
src/treelearner/serial_tree_learner.cpp:290: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:302: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:314: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:876: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/treelearner/serial_tree_learner.cpp
Done processing include/LightGBM/utils/threading.h
Done processing src/metric/metric.cpp
Done processing include/LightGBM/utils/text_reader.h
Done processing include/LightGBM/lightgbm_R.h
Done processing include/LightGBM/utils/log.h
Done processing include/LightGBM/application.h
Done processing src/boosting/score_updater.hpp
Done processing src/metric/xentropy_metric.hpp
Done processing src/treelearner/gpu_tree_learner.cpp
Done processing src/network/linker_topo.cpp
Done processing src/main.cpp
src/application/predictor.hpp:45: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/application/predictor.hpp:46: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/application/predictor.hpp
include/LightGBM/c_api.h:1041: Almost always, snprintf is better than strcpy [runtime/printf] [4]
Done processing include/LightGBM/c_api.h
src/c_api.cpp:416: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/c_api.cpp:907: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/c_api.cpp
Done processing include/LightGBM/network.h
Done processing src/boosting/rf.hpp
Done processing src/metric/map_metric.hpp
Done processing src/io/sparse_bin.hpp
src/treelearner/feature_histogram.hpp:676: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/treelearner/feature_histogram.hpp
Done processing src/objective/objective_function.cpp
Done processing src/network/linkers_mpi.cpp
Done processing src/treelearner/leaf_splits.hpp
src/lightgbm_R.cpp:36: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/lightgbm_R.cpp
Done processing include/LightGBM/dataset.h
Done processing src/io/tree.cpp
src/io/json11.cpp:53: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:57: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:67: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:73: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:77: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:114: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:126: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:339: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:351: const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants. [runtime/member_string_references] [2]
src/io/json11.cpp:431: Empty loop bodies should use {} or continue [whitespace/empty_loop_body] [5]
src/io/json11.cpp:453: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:453: Is this a non-const reference? If so, make const or use a pointer: string & out [runtime/references] [2]
src/io/json11.cpp:480: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:524: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
Done processing src/io/json11.cpp
Done processing src/boosting/boosting.cpp
Done processing src/io/config.cpp
Done processing include/LightGBM/config.h
src/io/config_auto.cpp:298: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/config_auto.cpp:304: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:305: Consider using CHECK_LE instead of CHECK(a <= b) [readability/check] [2]
src/io/config_auto.cpp:312: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/config_auto.cpp:383: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:386: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:395: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:398: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:433: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:440: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:443: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:516: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:544: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:553: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:562: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:565: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:568: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:571: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/config_auto.cpp
Done processing src/treelearner/parallel_tree_learner.h
Done processing src/objective/rank_objective.hpp
Done processing include/LightGBM/bin.h
Done processing include/LightGBM/utils/file_io.h
include/LightGBM/tree_learner.h:16: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing include/LightGBM/tree_learner.h
Done processing src/treelearner/cost_effective_gradient_boosting.hpp
src/io/bin.cpp:78: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/bin.cpp:509: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/bin.cpp
Done processing src/objective/regression_objective.hpp
Total errors found: 93
7feaaefb5b730524d12449e48d93a862a668a024
Total errors found: 88
src/treelearner/serial_tree_learner.h:32: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/treelearner/serial_tree_learner.h
Done processing include/LightGBM/export.h
Done processing include/LightGBM/application.h
Done processing src/boosting/rf.hpp
Done processing include/LightGBM/utils/array_args.h
src/boosting/gbdt.h:26: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/boosting/gbdt.h
Done processing src/io/file_io.cpp
Done processing src/boosting/gbdt_prediction.cpp
Done processing include/LightGBM/feature_group.h
Done processing include/LightGBM/network.h
src/io/dataset.cpp:30: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset.cpp:341: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/dataset.cpp
Done processing include/LightGBM/objective_function.h
Done processing src/network/linkers_mpi.cpp
Done processing src/treelearner/data_partition.hpp
Done processing src/io/tree.cpp
Done processing src/objective/multiclass_objective.hpp
Done processing src/objective/xentropy_objective.hpp
src/c_api.cpp:421: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/c_api.cpp:920: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/c_api.cpp
Done processing src/application/application.cpp
Done processing src/treelearner/voting_parallel_tree_learner.cpp
Done processing src/boosting/gbdt_model_text.cpp
Done processing src/treelearner/feature_parallel_tree_learner.cpp
src/io/dataset_loader.cpp:16: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/io/dataset_loader.cpp:439: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:591: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:902: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/dataset_loader.cpp
Done processing src/treelearner/tree_learner.cpp
Done processing include/LightGBM/dataset_loader.h
Done processing include/LightGBM/utils/file_io.h
Done processing src/treelearner/split_info.hpp
Done processing src/boosting/score_updater.hpp
Done processing include/LightGBM/utils/text_reader.h
Done processing src/network/network.cpp
Done processing src/boosting/boosting.cpp
Done processing include/LightGBM/meta.h
Done processing include/LightGBM/lightgbm_R.h
Done processing src/metric/rank_metric.hpp
src/network/socket_wrapper.hpp:221: Are you taking an address of a cast? This is dangerous: could be a temp var. Take the address before doing the cast, rather than after [runtime/casting] [4]
Done processing src/network/socket_wrapper.hpp
src/boosting/gbdt.cpp:299: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/boosting/gbdt.cpp
Done processing src/io/parser.hpp
Done processing src/metric/multiclass_metric.hpp
Done processing src/metric/binary_metric.hpp
Done processing src/network/linker_topo.cpp
include/LightGBM/tree.h:487: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing include/LightGBM/tree.h
Done processing src/metric/xentropy_metric.hpp
Done processing src/boosting/dart.hpp
src/io/config_auto.cpp:298: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/config_auto.cpp:304: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:305: Consider using CHECK_LE instead of CHECK(a <= b) [readability/check] [2]
src/io/config_auto.cpp:312: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/config_auto.cpp:383: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:386: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:395: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:398: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:433: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:440: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:443: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:516: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:544: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:553: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:562: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:565: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:568: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:571: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/config_auto.cpp
src/lightgbm_R.cpp:36: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/lightgbm_R.cpp
src/application/predictor.hpp:45: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/application/predictor.hpp:46: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/application/predictor.hpp
src/treelearner/feature_histogram.hpp:676: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/treelearner/feature_histogram.hpp
Done processing src/io/ordered_sparse_bin.hpp
Done processing src/io/dense_nbits_bin.hpp
Done processing src/treelearner/parallel_tree_learner.h
Done processing include/LightGBM/R_object_helper.h
Done processing src/io/metadata.cpp
Done processing src/network/linkers_socket.cpp
src/metric/regression_metric.hpp:274: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/metric/regression_metric.hpp:296: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/metric/regression_metric.hpp
Done processing include/LightGBM/metric.h
Done processing include/LightGBM/boosting.h
Done processing include/LightGBM/utils/openmp_wrapper.h
Done processing include/LightGBM/bin.h
src/treelearner/serial_tree_learner.cpp:290: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:302: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:314: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:876: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/treelearner/serial_tree_learner.cpp
Done processing src/metric/metric.cpp
Done processing include/LightGBM/prediction_early_stop.h
src/io/json11.cpp:53: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:57: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:67: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:73: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:77: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:114: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:126: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:339: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:351: const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants. [runtime/member_string_references] [2]
src/io/json11.cpp:452: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:452: Is this a non-const reference? If so, make const or use a pointer: string & out [runtime/references] [2]
src/io/json11.cpp:479: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:523: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
Done processing src/io/json11.cpp
Done processing include/LightGBM/utils/random.h
Done processing include/LightGBM/config.h
Done processing src/boosting/prediction_early_stop.cpp
Done processing src/objective/binary_objective.hpp
Done processing include/LightGBM/utils/threading.h
src/metric/dcg_calculator.cpp:27: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/metric/dcg_calculator.cpp
Done processing src/objective/rank_objective.hpp
Done processing include/LightGBM/utils/log.h
Done processing src/boosting/goss.hpp
Done processing include/LightGBM/dataset.h
src/io/bin.cpp:80: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/bin.cpp:511: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/bin.cpp
Done processing src/treelearner/gpu_tree_learner.cpp
Done processing src/io/dense_bin.hpp
Done processing src/network/linkers.h
Done processing src/metric/map_metric.hpp
Done processing src/objective/regression_objective.hpp
Done processing src/objective/objective_function.cpp
include/LightGBM/tree_learner.h:16: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing include/LightGBM/tree_learner.h
Done processing src/io/config.cpp
Done processing src/treelearner/leaf_splits.hpp
src/treelearner/gpu_tree_learner.h:37: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/treelearner/gpu_tree_learner.h
Done processing src/io/sparse_bin.hpp
Done processing src/main.cpp
src/io/parser.cpp:183: Add #include <algorithm> for max [build/include_what_you_use] [4]
Done processing src/io/parser.cpp
include/LightGBM/utils/common.h:303: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
include/LightGBM/utils/common.h:374: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
include/LightGBM/utils/common.h:414: Closing ) should be moved to the previous line [whitespace/parens] [2]
include/LightGBM/utils/common.h:418: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
Done processing include/LightGBM/utils/common.h
include/LightGBM/c_api.h:1041: Almost always, snprintf is better than strcpy [runtime/printf] [4]
Done processing include/LightGBM/c_api.h
Done processing src/treelearner/data_parallel_tree_learner.cpp
include/LightGBM/json11.hpp:80: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:81: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:82: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:83: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:84: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:85: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:86: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:87: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:88: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:89: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:90: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:94: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:101: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:107: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:111: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:144: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
include/LightGBM/json11.hpp:153: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:156: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:168: Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos [runtime/references] [2]
include/LightGBM/json11.hpp:169: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:174: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:193: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:208: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
Done processing include/LightGBM/json11.hpp
Done processing include/LightGBM/utils/pipeline_reader.h
Done processing src/treelearner/cost_effective_gradient_boosting.hpp
Total errors found: 88
https://github.com/microsoft/LightGBM/commit/a8dc03250e235a00baf3ecefe4155023624dd239
Total errors found: 87
Jamess-MacBook-Pro:LightGBM jlamb$ cpplint --filter=-build/c++11,-build/include_subdir,-build/header_guard,-whitespace/line_length --recursive ./src ./include
Done processing include/LightGBM/R_object_helper.h
Done processing src/io/parser.hpp
Done processing src/network/linker_topo.cpp
Done processing src/io/tree.cpp
Done processing src/objective/multiclass_objective.hpp
include/LightGBM/json11.hpp:80: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:81: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:82: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:83: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:84: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:85: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:86: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:87: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:88: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:89: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:90: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:94: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:101: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:107: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:111: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:144: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
include/LightGBM/json11.hpp:153: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:156: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:168: Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos [runtime/references] [2]
include/LightGBM/json11.hpp:169: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:174: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:193: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:208: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
Done processing include/LightGBM/json11.hpp
include/LightGBM/utils/common.h:303: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
include/LightGBM/utils/common.h:374: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
include/LightGBM/utils/common.h:419: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
Done processing include/LightGBM/utils/common.h
Done processing src/boosting/prediction_early_stop.cpp
Done processing src/boosting/gbdt_prediction.cpp
Done processing src/main.cpp
Done processing include/LightGBM/network.h
Done processing src/treelearner/gpu_tree_learner.cpp
src/c_api.cpp:421: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/c_api.cpp:920: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/c_api.cpp
src/network/socket_wrapper.hpp:221: Are you taking an address of a cast? This is dangerous: could be a temp var. Take the address before doing the cast, rather than after [runtime/casting] [4]
Done processing src/network/socket_wrapper.hpp
Done processing src/network/linkers_socket.cpp
Done processing src/io/file_io.cpp
src/treelearner/serial_tree_learner.cpp:290: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:302: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:314: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:876: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/treelearner/serial_tree_learner.cpp
Done processing src/io/dense_nbits_bin.hpp
src/metric/regression_metric.hpp:274: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/metric/regression_metric.hpp:296: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/metric/regression_metric.hpp
Done processing include/LightGBM/utils/array_args.h
Done processing include/LightGBM/utils/file_io.h
Done processing src/metric/binary_metric.hpp
src/io/config_auto.cpp:298: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/config_auto.cpp:304: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:305: Consider using CHECK_LE instead of CHECK(a <= b) [readability/check] [2]
src/io/config_auto.cpp:312: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/config_auto.cpp:383: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:386: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:395: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:398: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:433: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:440: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:443: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:516: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:544: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:553: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:562: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:565: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:568: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:571: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/config_auto.cpp
src/boosting/gbdt.cpp:299: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/boosting/gbdt.cpp
Done processing src/treelearner/cost_effective_gradient_boosting.hpp
Done processing include/LightGBM/bin.h
Done processing include/LightGBM/boosting.h
Done processing src/boosting/score_updater.hpp
src/io/json11.cpp:53: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:57: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:67: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:73: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:77: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:114: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:126: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:339: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:351: const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants. [runtime/member_string_references] [2]
src/io/json11.cpp:452: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:452: Is this a non-const reference? If so, make const or use a pointer: string & out [runtime/references] [2]
src/io/json11.cpp:479: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:523: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
Done processing src/io/json11.cpp
Done processing include/LightGBM/objective_function.h
Done processing src/metric/metric.cpp
Done processing src/treelearner/parallel_tree_learner.h
Done processing include/LightGBM/lightgbm_R.h
Done processing include/LightGBM/utils/random.h
Done processing include/LightGBM/meta.h
Done processing include/LightGBM/dataset_loader.h
Done processing src/metric/multiclass_metric.hpp
src/treelearner/gpu_tree_learner.h:37: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/treelearner/gpu_tree_learner.h
Done processing include/LightGBM/utils/openmp_wrapper.h
Done processing src/treelearner/split_info.hpp
src/io/dataset.cpp:30: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset.cpp:341: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/dataset.cpp
src/metric/dcg_calculator.cpp:27: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/metric/dcg_calculator.cpp
Done processing include/LightGBM/utils/text_reader.h
Done processing src/network/network.cpp
Done processing src/metric/map_metric.hpp
Done processing src/boosting/gbdt_model_text.cpp
src/treelearner/feature_histogram.hpp:676: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/treelearner/feature_histogram.hpp
Done processing src/boosting/rf.hpp
Done processing include/LightGBM/utils/threading.h
Done processing src/objective/binary_objective.hpp
Done processing src/io/dense_bin.hpp
Done processing src/boosting/boosting.cpp
Done processing include/LightGBM/metric.h
src/application/predictor.hpp:45: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/application/predictor.hpp:46: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/application/predictor.hpp
Done processing include/LightGBM/feature_group.h
Done processing include/LightGBM/application.h
Done processing src/objective/objective_function.cpp
Done processing src/network/linkers_mpi.cpp
Done processing include/LightGBM/dataset.h
Done processing src/objective/regression_objective.hpp
Done processing src/io/config.cpp
Done processing src/boosting/dart.hpp
Done processing include/LightGBM/export.h
include/LightGBM/c_api.h:1041: Almost always, snprintf is better than strcpy [runtime/printf] [4]
Done processing include/LightGBM/c_api.h
include/LightGBM/tree.h:487: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing include/LightGBM/tree.h
src/boosting/gbdt.h:26: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/boosting/gbdt.h
Done processing src/application/application.cpp
Done processing src/objective/rank_objective.hpp
Done processing src/treelearner/voting_parallel_tree_learner.cpp
Done processing src/io/ordered_sparse_bin.hpp
Done processing src/boosting/goss.hpp
Done processing include/LightGBM/prediction_early_stop.h
Done processing src/metric/xentropy_metric.hpp
Done processing include/LightGBM/config.h
Done processing src/treelearner/leaf_splits.hpp
src/io/dataset_loader.cpp:16: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/io/dataset_loader.cpp:439: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:591: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:902: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/dataset_loader.cpp
Done processing src/objective/xentropy_objective.hpp
Done processing include/LightGBM/utils/pipeline_reader.h
Done processing src/treelearner/data_partition.hpp
src/lightgbm_R.cpp:36: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/lightgbm_R.cpp
include/LightGBM/tree_learner.h:16: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing include/LightGBM/tree_learner.h
Done processing src/io/metadata.cpp
Done processing src/network/linkers.h
Done processing include/LightGBM/utils/log.h
Done processing src/io/sparse_bin.hpp
Done processing src/treelearner/data_parallel_tree_learner.cpp
Done processing src/metric/rank_metric.hpp
src/io/parser.cpp:183: Add #include <algorithm> for max [build/include_what_you_use] [4]
Done processing src/io/parser.cpp
src/treelearner/serial_tree_learner.h:32: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/treelearner/serial_tree_learner.h
src/io/bin.cpp:80: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/bin.cpp:511: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/bin.cpp
Done processing src/treelearner/tree_learner.cpp
Done processing src/treelearner/feature_parallel_tree_learner.cpp
Total errors found: 87
https://github.com/microsoft/LightGBM/commit/26ff099ab47cd98f7613503ff5976f7359e3465b
Total errors found: 87
Seems a new one was introduced in a previous PR?
include/LightGBM/config.h:1022: Could not find a newline character at the end of the file. [whitespace/ending_newline] [5]
Report (Clickable)
Done processing src/treelearner/feature_parallel_tree_learner.cpp
Done processing include/LightGBM/utils/log.h
Done processing src/io/sparse_bin.hpp
src/treelearner/feature_histogram.hpp:676: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/treelearner/feature_histogram.hpp
Done processing src/network/linkers.h
include/LightGBM/c_api.h:1041: Almost always, snprintf is better than strcpy [runtime/printf] [4]
Done processing include/LightGBM/c_api.h
Done processing src/boosting/boosting.cpp
Done processing src/metric/xentropy_metric.hpp
Done processing src/io/file_io.cpp
Done processing include/LightGBM/utils/array_args.h
Done processing src/objective/rank_objective.hpp
Done processing include/LightGBM/lightgbm_R.h
Done processing include/LightGBM/feature_group.h
Done processing src/objective/xentropy_objective.hpp
Done processing src/io/ordered_sparse_bin.hpp
src/boosting/gbdt.h:26: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/boosting/gbdt.h
include/LightGBM/config.h:1022: Could not find a newline character at the end of the file. [whitespace/ending_newline] [5]
Done processing include/LightGBM/config.h
Done processing src/network/linkers_mpi.cpp
Done processing src/boosting/rf.hpp
Done processing src/boosting/goss.hpp
Done processing src/objective/regression_objective.hpp
src/io/json11.cpp:53: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:57: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:67: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:73: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:77: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:114: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:126: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:339: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:351: const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants. [runtime/member_string_references] [2]
src/io/json11.cpp:452: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:452: Is this a non-const reference? If so, make const or use a pointer: string & out [runtime/references] [2]
src/io/json11.cpp:479: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:523: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
Done processing src/io/json11.cpp
Done processing include/LightGBM/R_object_helper.h
Done processing src/treelearner/parallel_tree_learner.h
Done processing include/LightGBM/utils/threading.h
Done processing include/LightGBM/utils/random.h
Done processing include/LightGBM/dataset_loader.h
Done processing src/io/dense_nbits_bin.hpp
Done processing include/LightGBM/export.h
src/treelearner/serial_tree_learner.cpp:290: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:302: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:314: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:876: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/treelearner/serial_tree_learner.cpp
include/LightGBM/utils/common.h:303: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
include/LightGBM/utils/common.h:374: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
include/LightGBM/utils/common.h:419: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
Done processing include/LightGBM/utils/common.h
src/io/config_auto.cpp:298: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/config_auto.cpp:304: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:305: Consider using CHECK_LE instead of CHECK(a <= b) [readability/check] [2]
src/io/config_auto.cpp:312: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/config_auto.cpp:383: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:386: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:395: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:398: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:433: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:440: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:443: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:516: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:544: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:553: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:562: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:565: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:568: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:571: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/config_auto.cpp
Done processing src/objective/objective_function.cpp
Done processing src/treelearner/voting_parallel_tree_learner.cpp
Done processing src/boosting/gbdt_model_text.cpp
Done processing src/boosting/gbdt_prediction.cpp
src/io/dataset.cpp:30: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset.cpp:341: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/dataset.cpp
src/io/dataset_loader.cpp:16: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/io/dataset_loader.cpp:439: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:591: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:902: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/dataset_loader.cpp
Done processing include/LightGBM/network.h
Done processing src/io/parser.hpp
Done processing src/treelearner/split_info.hpp
src/lightgbm_R.cpp:36: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/lightgbm_R.cpp
Done processing src/io/dense_bin.hpp
Done processing src/treelearner/cost_effective_gradient_boosting.hpp
Done processing include/LightGBM/utils/pipeline_reader.h
Done processing src/boosting/score_updater.hpp
Done processing include/LightGBM/utils/openmp_wrapper.h
src/boosting/gbdt.cpp:299: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/boosting/gbdt.cpp
Done processing include/LightGBM/utils/file_io.h
Done processing include/LightGBM/bin.h
Done processing src/application/application.cpp
src/metric/regression_metric.hpp:274: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/metric/regression_metric.hpp:296: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/metric/regression_metric.hpp
src/c_api.cpp:421: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/c_api.cpp:920: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/c_api.cpp
src/metric/dcg_calculator.cpp:27: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/metric/dcg_calculator.cpp
src/treelearner/serial_tree_learner.h:32: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/treelearner/serial_tree_learner.h
src/network/socket_wrapper.hpp:221: Are you taking an address of a cast? This is dangerous: could be a temp var. Take the address before doing the cast, rather than after [runtime/casting] [4]
Done processing src/network/socket_wrapper.hpp
Done processing src/treelearner/data_partition.hpp
Done processing src/metric/binary_metric.hpp
Done processing include/LightGBM/application.h
Done processing include/LightGBM/meta.h
Done processing include/LightGBM/prediction_early_stop.h
Done processing src/metric/rank_metric.hpp
Done processing src/treelearner/leaf_splits.hpp
Done processing src/io/metadata.cpp
Done processing include/LightGBM/objective_function.h
Done processing include/LightGBM/utils/text_reader.h
Done processing src/objective/multiclass_objective.hpp
Done processing src/boosting/dart.hpp
Done processing include/LightGBM/boosting.h
Done processing src/treelearner/tree_learner.cpp
Done processing src/objective/binary_objective.hpp
include/LightGBM/tree_learner.h:16: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing include/LightGBM/tree_learner.h
src/application/predictor.hpp:45: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/application/predictor.hpp:46: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/application/predictor.hpp
Done processing src/network/linkers_socket.cpp
Done processing src/metric/multiclass_metric.hpp
src/io/bin.cpp:80: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/bin.cpp:511: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/bin.cpp
Done processing src/main.cpp
Done processing src/io/tree.cpp
Done processing src/metric/map_metric.hpp
Done processing include/LightGBM/metric.h
Done processing src/io/config.cpp
include/LightGBM/json11.hpp:80: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:81: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:82: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:83: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:84: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:85: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:86: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:87: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:88: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:89: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:90: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:94: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:101: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:107: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:111: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:144: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
include/LightGBM/json11.hpp:153: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:156: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:168: Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos [runtime/references] [2]
include/LightGBM/json11.hpp:169: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:174: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:193: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:208: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
Done processing include/LightGBM/json11.hpp
Done processing src/metric/metric.cpp
Done processing include/LightGBM/dataset.h
Done processing src/treelearner/data_parallel_tree_learner.cpp
Done processing src/io/parser.cpp
Done processing src/treelearner/gpu_tree_learner.cpp
include/LightGBM/tree.h:487: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing include/LightGBM/tree.h
Done processing src/network/network.cpp
Done processing src/boosting/prediction_early_stop.cpp
Done processing src/network/linker_topo.cpp
src/treelearner/gpu_tree_learner.h:37: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/treelearner/gpu_tree_learner.h
Total errors found: 87
27ec9e3b9f86eb9a2472957074c8178e9b028b75
Total errors found: 88
Done processing src/boosting/gbdt_prediction.cpp
Done processing include/LightGBM/utils/threading.h
Done processing src/objective/regression_objective.hpp
Done processing src/boosting/gbdt_model_text.cpp
Done processing src/boosting/dart.hpp
src/boosting/gbdt.h:26: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/boosting/gbdt.h
src/io/bin.cpp:80: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/bin.cpp:511: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/bin.cpp
src/treelearner/serial_tree_learner.h:32: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/treelearner/serial_tree_learner.h
src/lightgbm_R.cpp:36: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/lightgbm_R.cpp
Done processing include/LightGBM/feature_group.h
Done processing src/metric/binary_metric.hpp
Done processing include/LightGBM/network.h
Done processing include/LightGBM/utils/openmp_wrapper.h
Done processing src/objective/xentropy_objective.hpp
include/LightGBM/tree_learner.h:16: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing include/LightGBM/tree_learner.h
Done processing src/boosting/score_updater.hpp
Done processing include/LightGBM/utils/file_io.h
Done processing src/main.cpp
include/LightGBM/json11.hpp:80: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:81: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:82: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:83: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:84: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:85: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:86: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:87: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:88: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:89: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:90: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:94: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:101: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:107: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:111: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:144: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
include/LightGBM/json11.hpp:153: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:156: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:168: Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos [runtime/references] [2]
include/LightGBM/json11.hpp:169: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:174: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:193: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:208: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
Done processing include/LightGBM/json11.hpp
src/boosting/gbdt.cpp:299: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/boosting/gbdt.cpp
Done processing src/treelearner/split_info.hpp
Done processing src/metric/metric.cpp
include/LightGBM/utils/common.h:303: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
include/LightGBM/utils/common.h:374: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
include/LightGBM/utils/common.h:419: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
Done processing include/LightGBM/utils/common.h
Done processing include/LightGBM/dataset_loader.h
Done processing include/LightGBM/utils/text_reader.h
src/io/config_auto.cpp:299: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/config_auto.cpp:305: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:306: Consider using CHECK_LE instead of CHECK(a <= b) [readability/check] [2]
src/io/config_auto.cpp:313: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/config_auto.cpp:384: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:387: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:396: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:399: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:434: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:441: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:444: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:517: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:545: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:554: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:563: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:570: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:573: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:576: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/config_auto.cpp
Done processing src/metric/map_metric.hpp
Done processing src/io/parser.hpp
Done processing include/LightGBM/metric.h
Done processing src/treelearner/cost_effective_gradient_boosting.hpp
Done processing src/application/application.cpp
Done processing src/treelearner/data_partition.hpp
src/treelearner/feature_histogram.hpp:676: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/treelearner/feature_histogram.hpp
Done processing src/io/dense_nbits_bin.hpp
Done processing src/boosting/prediction_early_stop.cpp
Done processing include/LightGBM/prediction_early_stop.h
src/treelearner/serial_tree_learner.cpp:290: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:302: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:314: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:876: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/treelearner/serial_tree_learner.cpp
Done processing include/LightGBM/config.h
Done processing src/metric/multiclass_metric.hpp
Done processing include/LightGBM/application.h
Done processing src/metric/xentropy_metric.hpp
Done processing src/io/tree.cpp
include/LightGBM/tree.h:487: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing include/LightGBM/tree.h
Done processing src/treelearner/gpu_tree_learner.cpp
Done processing src/objective/multiclass_objective.hpp
Done processing src/io/file_io.cpp
Done processing include/LightGBM/boosting.h
Done processing src/objective/objective_function.cpp
src/io/dataset_loader.cpp:16: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/io/dataset_loader.cpp:440: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:592: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:903: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/dataset_loader.cpp
Done processing src/treelearner/tree_learner.cpp
src/treelearner/gpu_tree_learner.h:37: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/treelearner/gpu_tree_learner.h
src/c_api.cpp:421: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/c_api.cpp:920: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/c_api.cpp
Done processing include/LightGBM/export.h
Done processing include/LightGBM/dataset.h
Done processing src/objective/rank_objective.hpp
Done processing src/network/linker_topo.cpp
Done processing src/boosting/rf.hpp
src/metric/dcg_calculator.cpp:27: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/metric/dcg_calculator.cpp
Done processing src/network/linkers_socket.cpp
Done processing src/network/network.cpp
src/io/dataset.cpp:30: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset.cpp:341: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/dataset.cpp
Done processing src/network/linkers_mpi.cpp
Done processing include/LightGBM/utils/random.h
Done processing include/LightGBM/objective_function.h
Done processing include/LightGBM/R_object_helper.h
Done processing src/io/config.cpp
Done processing include/LightGBM/meta.h
Done processing src/treelearner/parallel_tree_learner.h
Done processing include/LightGBM/bin.h
Done processing src/io/metadata.cpp
Done processing src/treelearner/leaf_splits.hpp
Done processing src/objective/binary_objective.hpp
src/metric/regression_metric.hpp:274: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/metric/regression_metric.hpp:296: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/metric/regression_metric.hpp
Done processing src/io/ordered_sparse_bin.hpp
src/application/predictor.hpp:45: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/application/predictor.hpp:46: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/application/predictor.hpp
Done processing src/treelearner/feature_parallel_tree_learner.cpp
Done processing include/LightGBM/lightgbm_R.h
Done processing src/io/sparse_bin.hpp
Done processing include/LightGBM/utils/array_args.h
Done processing include/LightGBM/utils/log.h
include/LightGBM/c_api.h:1041: Almost always, snprintf is better than strcpy [runtime/printf] [4]
Done processing include/LightGBM/c_api.h
Done processing src/io/parser.cpp
src/io/json11.cpp:53: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:57: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:67: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:73: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:77: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:114: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:126: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:339: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:351: const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants. [runtime/member_string_references] [2]
src/io/json11.cpp:452: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:452: Is this a non-const reference? If so, make const or use a pointer: string & out [runtime/references] [2]
src/io/json11.cpp:479: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:523: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
Done processing src/io/json11.cpp
Done processing src/boosting/goss.hpp
Done processing include/LightGBM/utils/pipeline_reader.h
Done processing src/boosting/boosting.cpp
Done processing src/treelearner/data_parallel_tree_learner.cpp
Done processing src/metric/rank_metric.hpp
src/network/linkers.h:159: private: should be indented +1 space inside class Linkers [whitespace/indent] [3]
src/network/linkers.h:159: "private:" should be preceded by a blank line [whitespace/blank_line] [3]
Done processing src/network/linkers.h
src/network/socket_wrapper.hpp:221: Are you taking an address of a cast? This is dangerous: could be a temp var. Take the address before doing the cast, rather than after [runtime/casting] [4]
Done processing src/network/socket_wrapper.hpp
Done processing src/treelearner/voting_parallel_tree_learner.cpp
Done processing src/io/dense_bin.hpp
Total errors found: 88
1c1a276519439bdb10a91855bc8af8801cd819d5
Total errors found: 90
Done processing include/LightGBM/dataset_loader.h
Done processing src/metric/xentropy_metric.hpp
Done processing src/boosting/prediction_early_stop.cpp
Done processing src/io/dense_nbits_bin.hpp
Done processing include/LightGBM/utils/openmp_wrapper.h
Done processing src/io/file_io.cpp
Done processing src/treelearner/tree_learner.cpp
Done processing include/LightGBM/objective_function.h
Done processing src/io/metadata.cpp
Done processing src/io/config.cpp
Done processing src/treelearner/split_info.hpp
Done processing src/treelearner/voting_parallel_tree_learner.cpp
Done processing include/LightGBM/utils/text_reader.h
Done processing src/main.cpp
Done processing include/LightGBM/feature_group.h
Done processing include/LightGBM/utils/file_io.h
Done processing include/LightGBM/R_object_helper.h
Done processing include/LightGBM/application.h
Done processing src/metric/binary_metric.hpp
Done processing src/treelearner/data_partition.hpp
Done processing src/treelearner/data_parallel_tree_learner.cpp
Done processing src/boosting/boosting.cpp
Done processing src/io/parser.cpp
Done processing src/network/network.cpp
src/boosting/gbdt.cpp:300: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/boosting/gbdt.cpp
Done processing include/LightGBM/meta.h
Done processing src/network/linkers_socket.cpp
Done processing src/io/multi_val_dense_bin.hpp
Done processing src/io/sparse_bin.hpp
Done processing include/LightGBM/boosting.h
src/io/config_auto.cpp:309: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/config_auto.cpp:315: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:316: Consider using CHECK_LE instead of CHECK(a <= b) [readability/check] [2]
src/io/config_auto.cpp:327: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/config_auto.cpp:402: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:405: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:414: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:417: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:452: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:461: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:464: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:529: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:557: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:568: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:577: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:584: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:587: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:590: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/config_auto.cpp
Done processing include/LightGBM/utils/array_args.h
Done processing src/treelearner/cost_effective_gradient_boosting.hpp
src/treelearner/feature_histogram.hpp:710: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/treelearner/feature_histogram.hpp
src/lightgbm_R.cpp:36: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/lightgbm_R.cpp
Done processing src/boosting/rf.hpp
Done processing include/LightGBM/utils/threading.h
Done processing src/boosting/gbdt_model_text.cpp
src/metric/regression_metric.hpp:274: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/metric/regression_metric.hpp:296: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/metric/regression_metric.hpp
src/treelearner/serial_tree_learner.cpp:246: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:258: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:270: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:701: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:705: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:747: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/treelearner/serial_tree_learner.cpp
src/c_api.cpp:423: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/c_api.cpp:930: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/c_api.cpp
Done processing include/LightGBM/network.h
include/LightGBM/utils/common.h:316: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
include/LightGBM/utils/common.h:387: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
include/LightGBM/utils/common.h:432: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
include/LightGBM/utils/common.h:1075: Is this a non-const reference? If so, make const or use a pointer: Timer& timer [runtime/references] [2]
Done processing include/LightGBM/utils/common.h
Done processing src/io/tree.cpp
src/io/bin.cpp:83: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/bin.cpp:514: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/bin.cpp
src/boosting/gbdt.h:26: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/boosting/gbdt.h
Done processing src/metric/map_metric.hpp
Done processing src/objective/multiclass_objective.hpp
Done processing src/objective/objective_function.cpp
Done processing src/treelearner/leaf_splits.hpp
Done processing src/network/linkers_mpi.cpp
Done processing include/LightGBM/bin.h
Done processing include/LightGBM/metric.h
src/treelearner/serial_tree_learner.h:32: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/treelearner/serial_tree_learner.h
Done processing src/objective/binary_objective.hpp
Done processing src/application/application.cpp
Done processing src/metric/rank_metric.hpp
Done processing src/io/parser.hpp
src/io/json11.cpp:53: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:57: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:67: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:73: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:77: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:114: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:126: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:339: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:351: const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants. [runtime/member_string_references] [2]
src/io/json11.cpp:452: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:452: Is this a non-const reference? If so, make const or use a pointer: string & out [runtime/references] [2]
src/io/json11.cpp:479: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:523: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
Done processing src/io/json11.cpp
Done processing include/LightGBM/lightgbm_R.h
Done processing src/metric/metric.cpp
src/io/dataset.cpp:30: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset.cpp:409: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset.cpp:486: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<std::unique_ptr<BinIterator>>>& iters [runtime/references] [2]
Done processing src/io/dataset.cpp
Done processing src/treelearner/gpu_tree_learner.cpp
Done processing include/LightGBM/dataset.h
Done processing include/LightGBM/export.h
src/application/predictor.hpp:45: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/application/predictor.hpp:46: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/application/predictor.hpp
Done processing include/LightGBM/utils/log.h
Done processing src/objective/rank_objective.hpp
Done processing src/metric/multiclass_metric.hpp
Done processing src/boosting/gbdt_prediction.cpp
src/treelearner/gpu_tree_learner.h:37: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/treelearner/gpu_tree_learner.h
Done processing src/boosting/dart.hpp
Done processing src/boosting/score_updater.hpp
include/LightGBM/tree.h:506: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing include/LightGBM/tree.h
Done processing src/network/linker_topo.cpp
Done processing src/treelearner/parallel_tree_learner.h
src/metric/dcg_calculator.cpp:27: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/metric/dcg_calculator.cpp
Done processing include/LightGBM/config.h
Done processing src/objective/regression_objective.hpp
src/io/dataset_loader.cpp:16: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/io/dataset_loader.cpp:438: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:590: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:901: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/dataset_loader.cpp
Done processing src/io/multi_val_sparse_bin.hpp
include/LightGBM/c_api.h:1041: Almost always, snprintf is better than strcpy [runtime/printf] [4]
Done processing include/LightGBM/c_api.h
Done processing src/objective/rank_xendcg_objective.hpp
Done processing src/objective/xentropy_objective.hpp
Done processing include/LightGBM/prediction_early_stop.h
Done processing include/LightGBM/utils/random.h
Done processing src/io/dense_bin.hpp
include/LightGBM/json11.hpp:80: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:81: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:82: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:83: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:84: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:85: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:86: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:87: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:88: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:89: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:90: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:94: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:101: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:107: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:111: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:144: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
include/LightGBM/json11.hpp:153: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:156: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:168: Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos [runtime/references] [2]
include/LightGBM/json11.hpp:169: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:174: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:193: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:208: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
Done processing include/LightGBM/json11.hpp
Done processing include/LightGBM/utils/pipeline_reader.h
Done processing src/treelearner/feature_parallel_tree_learner.cpp
include/LightGBM/tree_learner.h:16: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing include/LightGBM/tree_learner.h
Done processing src/network/linkers.h
src/network/socket_wrapper.hpp:221: Are you taking an address of a cast? This is dangerous: could be a temp var. Take the address before doing the cast, rather than after [runtime/casting] [4]
Done processing src/network/socket_wrapper.hpp
Done processing src/boosting/goss.hpp
Total errors found: 90
1e5049a1a6bdde4e37701a237b025bfe060e4119
Total errors found: 92
Done processing src/network/linkers_socket.cpp
src/metric/dcg_calculator.cpp:27: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/metric/dcg_calculator.cpp
Done processing include/LightGBM/boosting.h
Done processing src/objective/rank_xendcg_objective.hpp
Done processing src/network/linkers.h
Done processing src/metric/map_metric.hpp
src/application/predictor.hpp:45: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/application/predictor.hpp:46: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/application/predictor.hpp
Done processing src/metric/binary_metric.hpp
Done processing src/io/sparse_bin.hpp
Done processing include/LightGBM/feature_group.h
Done processing src/network/network.cpp
Done processing src/boosting/dart.hpp
Done processing src/treelearner/parallel_tree_learner.h
Done processing src/treelearner/monotone_constraints.hpp
Done processing include/LightGBM/meta.h
Done processing src/io/config.cpp
Done processing src/io/parser.hpp
Done processing src/main.cpp
src/metric/regression_metric.hpp:274: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/metric/regression_metric.hpp:296: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/metric/regression_metric.hpp
src/treelearner/serial_tree_learner.cpp:247: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:259: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:271: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:689: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:693: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:725: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/treelearner/serial_tree_learner.cpp
Done processing src/objective/regression_objective.hpp
Done processing src/boosting/rf.hpp
include/LightGBM/tree.h:506: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing include/LightGBM/tree.h
src/boosting/gbdt.h:26: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/boosting/gbdt.h
Done processing include/LightGBM/utils/text_reader.h
Done processing include/LightGBM/utils/threading.h
Done processing src/network/linker_topo.cpp
Done processing src/io/multi_val_sparse_bin.hpp
Done processing include/LightGBM/lightgbm_R.h
Done processing src/objective/rank_objective.hpp
Done processing src/treelearner/cost_effective_gradient_boosting.hpp
Done processing src/io/multi_val_dense_bin.hpp
Done processing include/LightGBM/prediction_early_stop.h
Done processing include/LightGBM/objective_function.h
Done processing src/metric/rank_metric.hpp
Done processing src/io/metadata.cpp
Done processing src/io/parser.cpp
include/LightGBM/c_api.h:1041: Almost always, snprintf is better than strcpy [runtime/printf] [4]
Done processing include/LightGBM/c_api.h
src/io/config_auto.cpp:309: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/config_auto.cpp:315: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:316: Consider using CHECK_LE instead of CHECK(a <= b) [readability/check] [2]
src/io/config_auto.cpp:327: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/config_auto.cpp:402: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:405: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:414: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:417: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:452: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:461: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:464: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:529: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:557: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:568: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:577: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:584: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:587: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:590: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/config_auto.cpp
Done processing src/io/file_io.cpp
Done processing src/objective/multiclass_objective.hpp
Done processing src/io/tree.cpp
src/io/dataset.cpp:30: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset.cpp:409: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset.cpp:486: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<std::unique_ptr<BinIterator>>>& iters [runtime/references] [2]
Done processing src/io/dataset.cpp
Done processing src/boosting/prediction_early_stop.cpp
Done processing src/boosting/boosting.cpp
src/io/bin.cpp:83: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/bin.cpp:514: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/bin.cpp
Done processing src/treelearner/data_parallel_tree_learner.cpp
Done processing src/treelearner/tree_learner.cpp
Done processing include/LightGBM/R_object_helper.h
Done processing src/treelearner/data_partition.hpp
include/LightGBM/tree_learner.h:16: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing include/LightGBM/tree_learner.h
Done processing src/application/application.cpp
Done processing include/LightGBM/utils/file_io.h
Done processing src/boosting/goss.hpp
Done processing src/objective/objective_function.cpp
Done processing include/LightGBM/utils/random.h
Done processing include/LightGBM/utils/log.h
Done processing src/metric/xentropy_metric.hpp
Done processing src/objective/xentropy_objective.hpp
Done processing src/io/dense_bin.hpp
src/io/json11.cpp:53: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:57: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:67: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:73: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:77: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:114: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:126: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:339: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:351: const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants. [runtime/member_string_references] [2]
src/io/json11.cpp:452: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:452: Is this a non-const reference? If so, make const or use a pointer: string & out [runtime/references] [2]
src/io/json11.cpp:479: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:523: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
Done processing src/io/json11.cpp
Done processing include/LightGBM/dataset_loader.h
Done processing include/LightGBM/application.h
Done processing src/metric/metric.cpp
Done processing src/io/dense_nbits_bin.hpp
Done processing src/objective/binary_objective.hpp
include/LightGBM/json11.hpp:80: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:81: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:82: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:83: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:84: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:85: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:86: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:87: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:88: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:89: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:90: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:94: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:101: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:107: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:111: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:144: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
include/LightGBM/json11.hpp:153: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:156: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:168: Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos [runtime/references] [2]
include/LightGBM/json11.hpp:169: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:174: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:193: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:208: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
Done processing include/LightGBM/json11.hpp
Done processing include/LightGBM/network.h
Done processing src/treelearner/gpu_tree_learner.cpp
src/treelearner/feature_histogram.hpp:711: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/treelearner/feature_histogram.hpp
Done processing include/LightGBM/metric.h
src/lightgbm_R.cpp:36: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/lightgbm_R.cpp
Done processing include/LightGBM/utils/pipeline_reader.h
include/LightGBM/utils/common.h:316: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
include/LightGBM/utils/common.h:387: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
include/LightGBM/utils/common.h:432: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
include/LightGBM/utils/common.h:1075: Is this a non-const reference? If so, make const or use a pointer: Timer& timer [runtime/references] [2]
Done processing include/LightGBM/utils/common.h
src/boosting/gbdt.cpp:300: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/boosting/gbdt.cpp
src/treelearner/gpu_tree_learner.h:37: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/treelearner/gpu_tree_learner.h
Done processing include/LightGBM/utils/array_args.h
Done processing src/metric/multiclass_metric.hpp
Done processing src/treelearner/voting_parallel_tree_learner.cpp
Done processing src/treelearner/leaf_splits.hpp
Done processing include/LightGBM/dataset.h
src/io/dataset_loader.cpp:16: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/io/dataset_loader.cpp:438: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:590: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:901: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/dataset_loader.cpp
src/treelearner/serial_tree_learner.h:33: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/treelearner/serial_tree_learner.h
Done processing include/LightGBM/config.h
Done processing include/LightGBM/bin.h
Done processing src/treelearner/split_info.hpp
Done processing include/LightGBM/utils/openmp_wrapper.h
src/c_api.cpp:423: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/c_api.cpp:930: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/c_api.cpp
Done processing include/LightGBM/export.h
Done processing src/treelearner/feature_parallel_tree_learner.cpp
Done processing src/boosting/gbdt_prediction.cpp
src/boosting/gbdt_model_text.cpp:566: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/boosting/gbdt_model_text.cpp:577: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/boosting/gbdt_model_text.cpp
Done processing src/boosting/score_updater.hpp
Done processing src/network/linkers_mpi.cpp
src/network/socket_wrapper.hpp:221: Are you taking an address of a cast? This is dangerous: could be a temp var. Take the address before doing the cast, rather than after [runtime/casting] [4]
Done processing src/network/socket_wrapper.hpp
Total errors found: 92
224b8b98e38f41e8ef3c7287e6097d4afe0b816a
Total errors found: 97
Done processing include/LightGBM/objective_function.h
Done processing src/objective/binary_objective.hpp
Done processing src/io/dense_nbits_bin.hpp
Done processing include/LightGBM/utils/text_reader.h
Done processing src/network/linkers_socket.cpp
src/treelearner/feature_histogram.hpp:717: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/treelearner/feature_histogram.hpp
Done processing src/network/linker_topo.cpp
src/metric/dcg_calculator.cpp:28: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/metric/dcg_calculator.cpp
Done processing src/objective/rank_objective.hpp
Done processing src/objective/objective_function.cpp
Done processing include/LightGBM/application.h
Done processing include/LightGBM/export.h
Done processing src/application/application.cpp
Done processing include/LightGBM/metric.h
Done processing src/treelearner/tree_learner.cpp
Done processing src/io/metadata.cpp
include/LightGBM/tree.h:516: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing include/LightGBM/tree.h
src/treelearner/serial_tree_learner.h:33: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/treelearner/serial_tree_learner.h
Done processing include/LightGBM/meta.h
Done processing src/main.cpp
Done processing src/metric/xentropy_metric.hpp
Done processing src/treelearner/cost_effective_gradient_boosting.hpp
Done processing src/network/network.cpp
Done processing include/LightGBM/utils/file_io.h
Done processing include/LightGBM/utils/pipeline_reader.h
src/io/dataset_loader.cpp:16: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/io/dataset_loader.cpp:394: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:546: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:858: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/dataset_loader.cpp
Done processing src/boosting/dart.hpp
Done processing include/LightGBM/utils/openmp_wrapper.h
Done processing src/network/linkers_mpi.cpp
src/application/predictor.hpp:46: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/application/predictor.hpp:47: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/application/predictor.hpp
include/LightGBM/utils/threading.h:52: Add #include <algorithm> for min [build/include_what_you_use] [4]
Done processing include/LightGBM/utils/threading.h
Done processing src/boosting/goss.hpp
Done processing include/LightGBM/bin.h
Done processing src/objective/multiclass_objective.hpp
Done processing src/metric/map_metric.hpp
Done processing include/LightGBM/prediction_early_stop.h
include/LightGBM/json11.hpp:80: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:81: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:82: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:83: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:84: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:85: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:86: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:87: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:88: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:89: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:90: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:94: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:101: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:107: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:111: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:144: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
include/LightGBM/json11.hpp:153: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:156: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:168: Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos [runtime/references] [2]
include/LightGBM/json11.hpp:169: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:174: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:193: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:208: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
Done processing include/LightGBM/json11.hpp
Done processing include/LightGBM/utils/log.h
src/io/config_auto.cpp:301: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/config_auto.cpp:307: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:308: Consider using CHECK_LE instead of CHECK(a <= b) [readability/check] [2]
src/io/config_auto.cpp:321: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/config_auto.cpp:396: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:399: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:408: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:411: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:450: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:457: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:460: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:517: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:545: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:556: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:565: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:572: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:575: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:578: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/config_auto.cpp
Done processing src/objective/rank_xendcg_objective.hpp
Done processing src/boosting/gbdt_prediction.cpp
Done processing src/io/multi_val_dense_bin.hpp
src/metric/regression_metric.hpp:274: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/metric/regression_metric.hpp:296: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/metric/regression_metric.hpp
Done processing src/treelearner/feature_parallel_tree_learner.cpp
Done processing src/treelearner/leaf_splits.hpp
Done processing src/treelearner/monotone_constraints.hpp
Done processing include/LightGBM/utils/random.h
Done processing src/metric/rank_metric.hpp
Done processing src/boosting/boosting.cpp
Done processing src/network/linkers.h
Done processing src/treelearner/voting_parallel_tree_learner.cpp
Done processing src/io/sparse_bin.hpp
src/io/dataset.cpp:31: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset.cpp:408: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset.cpp:437: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<std::unique_ptr<BinIterator>>>& iters [runtime/references] [2]
Done processing src/io/dataset.cpp
Done processing include/LightGBM/lightgbm_R.h
Done processing include/LightGBM/dataset_loader.h
Done processing include/LightGBM/config.h
src/io/bin.cpp:83: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/bin.cpp:514: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/bin.cpp
include/LightGBM/utils/common.h:316: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
include/LightGBM/utils/common.h:387: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
include/LightGBM/utils/common.h:432: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
include/LightGBM/utils/common.h:1075: Is this a non-const reference? If so, make const or use a pointer: Timer& timer [runtime/references] [2]
Done processing include/LightGBM/utils/common.h
src/boosting/gbdt.cpp:308: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/boosting/gbdt.cpp
Done processing src/io/tree.cpp
Done processing src/objective/regression_objective.hpp
Done processing src/treelearner/parallel_tree_learner.h
Done processing include/LightGBM/dataset.h
Done processing include/LightGBM/boosting.h
src/c_api.cpp:546: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/c_api.cpp:1053: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/c_api.cpp
Done processing src/io/config.cpp
Done processing src/io/parser.cpp
Done processing include/LightGBM/utils/array_args.h
src/network/socket_wrapper.hpp:221: Are you taking an address of a cast? This is dangerous: could be a temp var. Take the address before doing the cast, rather than after [runtime/casting] [4]
Done processing src/network/socket_wrapper.hpp
Done processing src/metric/multiclass_metric.hpp
Done processing src/objective/xentropy_objective.hpp
Done processing src/treelearner/data_partition.hpp
Done processing src/boosting/prediction_early_stop.cpp
Done processing src/io/dense_bin.hpp
src/io/file_io.cpp:173: If an else has a brace on one side, it should have it on both [readability/braces] [5]
src/io/file_io.cpp:186: If an else has a brace on one side, it should have it on both [readability/braces] [5]
src/io/file_io.cpp:197: If an else has a brace on one side, it should have it on both [readability/braces] [5]
src/io/file_io.cpp:197: If/else bodies with multiple statements require braces [readability/braces] [4]
Done processing src/io/file_io.cpp
include/LightGBM/c_api.h:1059: Almost always, snprintf is better than strcpy [runtime/printf] [4]
Done processing include/LightGBM/c_api.h
Done processing src/boosting/score_updater.hpp
Done processing src/treelearner/data_parallel_tree_learner.cpp
Done processing include/LightGBM/network.h
Done processing src/metric/metric.cpp
Done processing src/io/parser.hpp
Done processing src/treelearner/split_info.hpp
Done processing src/metric/binary_metric.hpp
Done processing include/LightGBM/R_object_helper.h
src/treelearner/serial_tree_learner.cpp:250: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:262: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:274: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:702: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:706: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:738: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/treelearner/serial_tree_learner.cpp
Done processing include/LightGBM/feature_group.h
src/io/json11.cpp:53: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:57: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:67: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:73: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:77: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:114: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:126: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:339: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:351: const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants. [runtime/member_string_references] [2]
src/io/json11.cpp:452: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:452: Is this a non-const reference? If so, make const or use a pointer: string & out [runtime/references] [2]
src/io/json11.cpp:479: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:523: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
Done processing src/io/json11.cpp
src/boosting/gbdt.h:26: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/boosting/gbdt.h
src/boosting/gbdt_model_text.cpp:596: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/boosting/gbdt_model_text.cpp:607: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/boosting/gbdt_model_text.cpp
Done processing src/io/multi_val_sparse_bin.hpp
include/LightGBM/tree_learner.h:16: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing include/LightGBM/tree_learner.h
src/treelearner/gpu_tree_learner.h:37: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/treelearner/gpu_tree_learner.h
Done processing src/treelearner/gpu_tree_learner.cpp
Done processing src/boosting/rf.hpp
src/lightgbm_R.cpp:36: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/lightgbm_R.cpp
Total errors found: 97
e502ed01f67c878f2a24b6fdf6bc3958dd62e939
Total errors found: 95
Done processing src/io/tree.cpp
Done processing src/io/parser.cpp
Done processing src/io/config.cpp
Done processing src/treelearner/cost_effective_gradient_boosting.hpp
src/io/dataset.cpp:31: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset.cpp:408: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset.cpp:437: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<std::unique_ptr<BinIterator>>>& iters [runtime/references] [2]
Done processing src/io/dataset.cpp
src/boosting/gbdt.cpp:267: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/boosting/gbdt.cpp
Done processing src/network/linkers.h
Done processing src/treelearner/data_partition.hpp
Done processing include/LightGBM/utils/random.h
src/c_api.cpp:546: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/c_api.cpp:1053: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/c_api.cpp
Done processing include/LightGBM/config.h
Done processing src/io/sparse_bin.hpp
Done processing src/io/dense_nbits_bin.hpp
Done processing src/io/metadata.cpp
Done processing src/treelearner/split_info.hpp
Done processing src/metric/metric.cpp
src/io/dataset_loader.cpp:16: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/io/dataset_loader.cpp:394: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:546: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:858: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/dataset_loader.cpp
Done processing src/treelearner/gpu_tree_learner.cpp
Done processing src/boosting/rf.hpp
Done processing src/boosting/prediction_early_stop.cpp
Done processing src/boosting/goss.hpp
Done processing src/objective/rank_objective.hpp
Done processing src/treelearner/leaf_splits.hpp
Done processing src/treelearner/monotone_constraints.hpp
Done processing src/network/network.cpp
src/treelearner/serial_tree_learner.cpp:250: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:262: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:274: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:702: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:706: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:738: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/treelearner/serial_tree_learner.cpp
Done processing src/treelearner/parallel_tree_learner.h
Done processing src/objective/binary_objective.hpp
Done processing include/LightGBM/dataset_loader.h
src/metric/regression_metric.hpp:274: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/metric/regression_metric.hpp:296: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/metric/regression_metric.hpp
Done processing src/io/multi_val_sparse_bin.hpp
include/LightGBM/tree_learner.h:16: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing include/LightGBM/tree_learner.h
Done processing src/metric/xentropy_metric.hpp
src/io/bin.cpp:83: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/bin.cpp:517: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/bin.cpp
Done processing src/boosting/gbdt_prediction.cpp
src/treelearner/serial_tree_learner.h:33: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/treelearner/serial_tree_learner.h
include/LightGBM/tree.h:516: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing include/LightGBM/tree.h
Done processing src/metric/multiclass_metric.hpp
Done processing src/objective/objective_function.cpp
Done processing include/LightGBM/R_object_helper.h
src/boosting/gbdt.h:27: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/boosting/gbdt.h
Done processing include/LightGBM/utils/text_reader.h
Done processing include/LightGBM/dataset.h
Done processing include/LightGBM/utils/openmp_wrapper.h
include/LightGBM/utils/common.h:316: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
include/LightGBM/utils/common.h:387: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
include/LightGBM/utils/common.h:432: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
Done processing include/LightGBM/utils/common.h
Done processing src/network/linkers_socket.cpp
Done processing include/LightGBM/network.h
Done processing src/io/parser.hpp
Done processing include/LightGBM/bin.h
Done processing include/LightGBM/feature_group.h
Done processing src/io/dense_bin.hpp
Done processing src/treelearner/voting_parallel_tree_learner.cpp
src/lightgbm_R.cpp:36: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/lightgbm_R.cpp
Done processing src/treelearner/data_parallel_tree_learner.cpp
src/io/json11.cpp:53: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:57: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:67: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:73: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:77: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:114: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:126: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:339: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:351: const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants. [runtime/member_string_references] [2]
src/io/json11.cpp:452: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:452: Is this a non-const reference? If so, make const or use a pointer: string & out [runtime/references] [2]
src/io/json11.cpp:479: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:523: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
Done processing src/io/json11.cpp
Done processing src/network/linker_topo.cpp
include/LightGBM/json11.hpp:80: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:81: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:82: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:83: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:84: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:85: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:86: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:87: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:88: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:89: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:90: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:94: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:101: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:107: Single-parameter constructors should be marked explicit. [runtime/explicit] [Done processing src/io/config_auto.cpp
Done processing src/objective/xentropy_objective.hpp
src/network/socket_wrapper.hpp:221: Are you taking an address of a cast? This is dangerous: could be a temp var. Take the address before doing the cast, rather than after [runtime/casting] [4]
Done processing src/network/socket_wrapper.hpp
Done processing src/network/linkers_mpi.cpp
Done processing include/LightGBM/boosting.h
Done processing src/objective/multiclass_objective.hpp
Done processing include/LightGBM/metric.h
Done processing src/metric/map_metric.hpp
Done processing include/LightGBM/export.h
src/treelearner/feature_histogram.hpp:746: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/treelearner/feature_histogram.hpp
5]
include/LightGBM/json11.hpp:111: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:144: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
include/LightGBM/json11.hpp:153: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:156: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:168: Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos [runtime/references] [2]
include/LightGBM/json11.hpp:169: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:174: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:193: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:208: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
Done processing include/LightGBM/json11.hpp
Done processing src/boosting/dart.hpp
src/metric/dcg_calculator.cpp:28: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/metric/dcg_calculator.cpp
src/boosting/gbdt_model_text.cpp:596: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/boosting/gbdt_model_text.cpp:607: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/boosting/gbdt_model_text.cpp
src/io/config_auto.cpp:301: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/config_auto.cpp:307: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:308: Consider using CHECK_LE instead of CHECK(a <= b) [readability/check] [2]
src/io/config_auto.cpp:321: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/config_auto.cpp:396: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:399: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:408: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:411: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:450: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:457: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:460: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:519: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:547: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:556: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:565: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:572: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:575: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:578: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
include/LightGBM/c_api.h:1059: Almost always, snprintf is better than strcpy [runtime/printf] [4]
Done processing include/LightGBM/c_api.h
Done processing src/objective/regression_objective.hpp
Done processing src/application/application.cpp
Done processing include/LightGBM/lightgbm_R.h
Done processing include/LightGBM/meta.h
Done processing include/LightGBM/utils/log.h
Done processing src/io/multi_val_dense_bin.hpp
Done processing include/LightGBM/utils/array_args.h
src/treelearner/gpu_tree_learner.h:37: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/treelearner/gpu_tree_learner.h
Done processing include/LightGBM/utils/file_io.h
Done processing include/LightGBM/utils/threading.h
Done processing include/LightGBM/application.h
src/io/file_io.cpp:173: If an else has a brace on one side, it should have it on both [readability/braces] [5]
src/io/file_io.cpp:186: If an else has a brace on one side, it should have it on both [readability/braces] [5]
src/io/file_io.cpp:197: If an else has a brace on one side, it should have it on both [readability/braces] [5]
src/io/file_io.cpp:197: If/else bodies with multiple statements require braces [readability/braces] [4]
Done processing src/io/file_io.cpp
Done processing src/treelearner/tree_learner.cpp
Done processing include/LightGBM/prediction_early_stop.h
Done processing src/boosting/boosting.cpp
Done processing src/metric/binary_metric.hpp
Done processing src/metric/rank_metric.hpp
Done processing include/LightGBM/utils/pipeline_reader.h
Done processing src/treelearner/feature_parallel_tree_learner.cpp
Done processing src/main.cpp
src/application/predictor.hpp:46: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/application/predictor.hpp:47: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/application/predictor.hpp
Done processing include/LightGBM/objective_function.h
Done processing src/boosting/score_updater.hpp
Total errors found: 95
8f5cd52275faed16cf9e3ff7b6cc4f8197a01294
Total errors found: 90
src/treelearner/feature_histogram.hpp:746: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/treelearner/feature_histogram.hpp
Done processing src/metric/map_metric.hpp
Done processing include/LightGBM/utils/file_io.h
Done processing include/LightGBM/meta.h
Done processing include/LightGBM/feature_group.h
Done processing include/LightGBM/bin.h
Done processing include/LightGBM/dataset.h
src/boosting/gbdt.cpp:267: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/boosting/gbdt.cpp
Done processing include/LightGBM/metric.h
Done processing src/network/linkers_mpi.cpp
src/boosting/gbdt_model_text.cpp:596: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/boosting/gbdt_model_text.cpp:607: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/boosting/gbdt_model_text.cpp
Done processing src/treelearner/gpu_tree_learner.cpp
Done processing src/network/linker_topo.cpp
Done processing src/metric/metric.cpp
Done processing include/LightGBM/boosting.h
Done processing src/treelearner/tree_learner.cpp
Done processing include/LightGBM/prediction_early_stop.h
src/network/socket_wrapper.hpp:221: Are you taking an address of a cast? This is dangerous: could be a temp var. Take the address before doing the cast, rather than after [runtime/casting] [4]
Done processing src/network/socket_wrapper.hpp
src/io/config_auto.cpp:301: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/config_auto.cpp:307: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:308: Consider using CHECK_LE instead of CHECK(a <= b) [readability/check] [2]
src/io/config_auto.cpp:321: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/io/config_auto.cpp:396: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:399: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:408: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:411: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:450: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:457: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:460: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:519: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:547: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:556: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:565: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:572: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:575: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/config_auto.cpp:578: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/config_auto.cpp
Done processing include/LightGBM/objective_function.h
src/metric/dcg_calculator.cpp:28: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/metric/dcg_calculator.cpp
Done processing src/boosting/boosting.cpp
Done processing src/treelearner/data_partition.hpp
Done processing src/objective/rank_objective.hpp
Done processing src/io/config.cpp
include/LightGBM/c_api.h:1059: Almost always, snprintf is better than strcpy [runtime/printf] [4]
Done processing include/LightGBM/c_api.h
Done processing include/LightGBM/utils/openmp_wrapper.h
Done processing include/LightGBM/utils/threading.h
Done processing src/io/dense_bin.hpp
include/LightGBM/tree.h:516: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing include/LightGBM/tree.h
Done processing src/boosting/dart.hpp
Done processing src/boosting/goss.hpp
Done processing src/treelearner/monotone_constraints.hpp
src/io/file_io.cpp:173: If an else has a brace on one side, it should have it on both [readability/braces] [5]
src/io/file_io.cpp:186: If an else has a brace on one side, it should have it on both [readability/braces] [5]
src/io/file_io.cpp:197: If an else has a brace on one side, it should have it on both [readability/braces] [5]
src/io/file_io.cpp:197: If/else bodies with multiple statements require braces [readability/braces] [4]
Done processing src/io/file_io.cpp
Done processing include/LightGBM/tree_learner.h
Done processing src/network/network.cpp
Done processing include/LightGBM/utils/log.h
Done processing src/treelearner/split_info.hpp
Done processing src/objective/regression_objective.hpp
Done processing src/treelearner/gpu_tree_learner.h
Done processing include/LightGBM/utils/random.h
Done processing src/main.cpp
Done processing src/io/tree.cpp
src/io/dataset.cpp:31: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset.cpp:408: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset.cpp:437: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<std::unique_ptr<BinIterator>>>& iters [runtime/references] [2]
Done processing src/io/dataset.cpp
Done processing include/LightGBM/dataset_loader.h
Done processing src/boosting/gbdt_prediction.cpp
Done processing src/objective/xentropy_objective.hpp
src/lightgbm_R.cpp:36: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/lightgbm_R.cpp
Done processing include/LightGBM/utils/array_args.h
Done processing include/LightGBM/R_object_helper.h
src/application/predictor.hpp:46: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/application/predictor.hpp:47: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
Done processing src/application/predictor.hpp
Done processing src/io/multi_val_dense_bin.hpp
Done processing include/LightGBM/lightgbm_R.h
src/io/bin.cpp:83: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/bin.cpp:517: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/bin.cpp
Done processing src/io/dense_nbits_bin.hpp
src/metric/regression_metric.hpp:274: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/metric/regression_metric.hpp:296: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/metric/regression_metric.hpp
Done processing include/LightGBM/network.h
Done processing src/io/sparse_bin.hpp
Done processing src/application/application.cpp
Done processing src/io/parser.hpp
Done processing include/LightGBM/export.h
include/LightGBM/utils/common.h:316: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
include/LightGBM/utils/common.h:387: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
include/LightGBM/utils/common.h:432: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
Done processing include/LightGBM/utils/common.h
include/LightGBM/json11.hpp:80: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:81: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:82: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:83: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:84: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:85: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:86: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:87: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:88: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:89: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:90: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:94: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:101: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:107: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:111: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:144: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
include/LightGBM/json11.hpp:153: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:156: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:168: Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos [runtime/references] [2]
include/LightGBM/json11.hpp:169: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:174: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:193: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:208: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
Done processing include/LightGBM/json11.hpp
Done processing src/boosting/score_updater.hpp
Done processing src/boosting/rf.hpp
Done processing src/treelearner/feature_parallel_tree_learner.cpp
Done processing src/objective/multiclass_objective.hpp
src/io/json11.cpp:53: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:57: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:67: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:73: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:77: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:114: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:126: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:339: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:351: const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants. [runtime/member_string_references] [2]
src/io/json11.cpp:452: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:452: Is this a non-const reference? If so, make const or use a pointer: string & out [runtime/references] [2]
src/io/json11.cpp:479: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:523: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
Done processing src/io/json11.cpp
Done processing src/treelearner/serial_tree_learner.h
Done processing src/treelearner/data_parallel_tree_learner.cpp
Done processing include/LightGBM/utils/pipeline_reader.h
Done processing src/network/linkers.h
Done processing include/LightGBM/utils/text_reader.h
Done processing src/objective/binary_objective.hpp
Done processing src/objective/objective_function.cpp
src/c_api.cpp:546: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
src/c_api.cpp:1053: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/c_api.cpp
src/treelearner/serial_tree_learner.cpp:250: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:262: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:274: Consider using CHECK_GE instead of CHECK(a >= b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:709: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:713: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:745: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/treelearner/serial_tree_learner.cpp
Done processing src/metric/binary_metric.hpp
Done processing src/treelearner/voting_parallel_tree_learner.cpp
Done processing src/metric/multiclass_metric.hpp
Done processing src/network/linkers_socket.cpp
Done processing src/treelearner/leaf_splits.hpp
Done processing src/io/parser.cpp
Done processing src/treelearner/cost_effective_gradient_boosting.hpp
Done processing src/metric/rank_metric.hpp
Done processing include/LightGBM/config.h
Done processing include/LightGBM/application.h
Done processing src/treelearner/parallel_tree_learner.h
Done processing src/boosting/gbdt.h
Done processing src/metric/xentropy_metric.hpp
src/io/dataset_loader.cpp:394: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:546: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
src/io/dataset_loader.cpp:858: Consider using CHECK_GT instead of CHECK(a > b) [readability/check] [2]
Done processing src/io/dataset_loader.cpp
Done processing src/boosting/prediction_early_stop.cpp
Done processing src/io/metadata.cpp
Done processing src/io/multi_val_sparse_bin.hpp
Total errors found: 90
73bc8ed740730a089b5bb17532a40b1bdc18a20f
Total errors found: 49
Done processing src/objective/multiclass_objective.hpp
Done processing src/treelearner/parallel_tree_learner.h
Done processing src/metric/binary_metric.hpp
Done processing include/LightGBM/utils/text_reader.h
Done processing src/network/linkers.h
Done processing src/metric/xentropy_metric.hpp
Done processing src/treelearner/cost_effective_gradient_boosting.hpp
include/LightGBM/json11.hpp:80: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:81: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:82: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:83: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:84: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:85: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:86: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:87: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:88: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:89: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:90: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:94: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:101: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:107: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:111: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:144: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
include/LightGBM/json11.hpp:153: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:156: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:168: Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos [runtime/references] [2]
include/LightGBM/json11.hpp:169: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:174: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:193: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:208: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
Done processing include/LightGBM/json11.hpp
Done processing src/io/multi_val_sparse_bin.hpp
Done processing src/boosting/prediction_early_stop.cpp
Done processing src/io/parser.hpp
Done processing include/LightGBM/utils/openmp_wrapper.h
Done processing include/LightGBM/dataset_loader.h
Done processing src/objective/xentropy_objective.hpp
Done processing src/objective/binary_objective.hpp
Done processing src/treelearner/monotone_constraints.hpp
Done processing include/LightGBM/config.h
Done processing include/LightGBM/tree_learner.h
Done processing include/LightGBM/application.h
Done processing include/LightGBM/R_object_helper.h
include/LightGBM/c_api.h:1059: Almost always, snprintf is better than strcpy [runtime/printf] [4]
Done processing include/LightGBM/c_api.h
Done processing src/boosting/boosting.cpp
Done processing src/boosting/gbdt_model_text.cpp
src/io/file_io.cpp:173: If an else has a brace on one side, it should have it on both [readability/braces] [5]
src/io/file_io.cpp:186: If an else has a brace on one side, it should have it on both [readability/braces] [5]
src/io/file_io.cpp:197: If an else has a brace on one side, it should have it on both [readability/braces] [5]
src/io/file_io.cpp:197: If/else bodies with multiple statements require braces [readability/braces] [4]
Done processing src/io/file_io.cpp
src/io/dataset.cpp:437: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<std::unique_ptr<BinIterator>>>& iters [runtime/references] [2]
Done processing src/io/dataset.cpp
Done processing src/network/linkers_socket.cpp
Done processing src/io/dense_nbits_bin.hpp
Done processing src/io/config.cpp
Done processing src/main.cpp
Done processing include/LightGBM/utils/threading.h
Done processing include/LightGBM/utils/random.h
Done processing src/metric/multiclass_metric.hpp
include/LightGBM/tree.h:154: Line ends in whitespace. Consider deleting these extra spaces. [whitespace/end_of_line] [4]
Done processing include/LightGBM/tree.h
Done processing src/boosting/gbdt_prediction.cpp
Done processing include/LightGBM/feature_group.h
Done processing src/objective/regression_objective.hpp
Done processing include/LightGBM/lightgbm_R.h
Done processing src/network/linkers_mpi.cpp
Done processing include/LightGBM/meta.h
src/lightgbm_R.cpp:35: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/lightgbm_R.cpp
Done processing include/LightGBM/utils/file_io.h
Done processing src/metric/dcg_calculator.cpp
Done processing include/LightGBM/export.h
Done processing src/treelearner/data_parallel_tree_learner.cpp
Done processing src/network/linker_topo.cpp
Done processing include/LightGBM/utils/array_args.h
Done processing include/LightGBM/boosting.h
src/c_api.cpp:546: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/c_api.cpp
Done processing include/LightGBM/utils/pipeline_reader.h
Done processing include/LightGBM/bin.h
Done processing src/application/predictor.hpp
Done processing src/boosting/score_updater.hpp
Done processing src/network/network.cpp
Done processing src/objective/objective_function.cpp
Done processing src/io/bin.cpp
Done processing src/treelearner/feature_histogram.hpp
Done processing src/application/application.cpp
Done processing src/boosting/dart.hpp
Done processing src/io/parser.cpp
Done processing src/treelearner/data_partition.hpp
Done processing src/treelearner/gpu_tree_learner.cpp
Done processing src/objective/rank_objective.hpp
Done processing src/boosting/goss.hpp
Done processing src/treelearner/feature_parallel_tree_learner.cpp
include/LightGBM/utils/common.h:316: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
include/LightGBM/utils/common.h:387: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
include/LightGBM/utils/common.h:432: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
Done processing include/LightGBM/utils/common.h
Done processing include/LightGBM/metric.h
Done processing src/io/metadata.cpp
Done processing src/io/dataset_loader.cpp
Done processing include/LightGBM/network.h
Done processing include/LightGBM/prediction_early_stop.h
Done processing src/treelearner/split_info.hpp
Done processing src/treelearner/serial_tree_learner.cpp
Done processing src/boosting/gbdt.cpp
Done processing src/boosting/gbdt.h
Done processing include/LightGBM/objective_function.h
Done processing src/io/tree.cpp
Done processing src/treelearner/voting_parallel_tree_learner.cpp
Done processing src/io/multi_val_dense_bin.hpp
src/io/json11.cpp:53: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:57: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:67: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:73: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:77: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:114: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:126: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:339: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:351: const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants. [runtime/member_string_references] [2]
src/io/json11.cpp:452: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:452: Is this a non-const reference? If so, make const or use a pointer: string & out [runtime/references] [2]
src/io/json11.cpp:479: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:523: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
Done processing src/io/json11.cpp
Done processing src/metric/regression_metric.hpp
src/network/socket_wrapper.hpp:221: Are you taking an address of a cast? This is dangerous: could be a temp var. Take the address before doing the cast, rather than after [runtime/casting] [4]
Done processing src/network/socket_wrapper.hpp
Done processing src/treelearner/tree_learner.cpp
Done processing src/treelearner/serial_tree_learner.h
Done processing include/LightGBM/utils/log.h
Done processing src/boosting/rf.hpp
Done processing src/treelearner/gpu_tree_learner.h
Done processing src/io/sparse_bin.hpp
Done processing src/io/config_auto.cpp
Done processing src/io/dense_bin.hpp
Done processing src/metric/map_metric.hpp
Done processing src/metric/metric.cpp
Done processing src/treelearner/leaf_splits.hpp
Done processing src/metric/rank_metric.hpp
Done processing include/LightGBM/dataset.h
Total errors found: 49
Huh, 853 -> 49! I believe we are almost done with this issue and will be able to enable cpplint check at CI in the near future.
@guolinke Can you please help with the rest errors, mainly with json11?
woo! @StrikerRUS I could make a PR for the whitespace and braces ones if you don't already have one.
@jameslamb Sure, please do it!
@StrikerRUS
I will work on json11 when I have time
https://github.com/microsoft/LightGBM/commit/7776cfea05bbc1c6ac1ea4fdf337e1db0c77eec9
Total errors found: 44
Done processing include/LightGBM/network.h
Done processing src/treelearner/leaf_splits.hpp
Done processing src/treelearner/serial_tree_learner.h
Done processing src/objective/binary_objective.hpp
Done processing include/LightGBM/meta.h
Done processing src/boosting/rf.hpp
Done processing include/LightGBM/dataset_loader.h
Done processing src/application/predictor.hpp
Done processing include/LightGBM/lightgbm_R.h
Done processing src/objective/multiclass_objective.hpp
Done processing src/boosting/boosting.cpp
Done processing include/LightGBM/utils/array_args.h
Done processing src/treelearner/gpu_tree_learner.h
Done processing src/treelearner/data_parallel_tree_learner.cpp
Done processing src/io/sparse_bin.hpp
Done processing include/LightGBM/boosting.h
Done processing include/LightGBM/export.h
Done processing src/boosting/goss.hpp
Done processing src/io/dense_bin.hpp
include/LightGBM/json11.hpp:80: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:81: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:82: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:83: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:84: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:85: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:86: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:87: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:88: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:89: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:90: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:94: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:101: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:107: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:111: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/json11.hpp:144: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
include/LightGBM/json11.hpp:153: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:156: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:168: Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos [runtime/references] [2]
include/LightGBM/json11.hpp:169: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:174: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:193: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/json11.hpp:208: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
Done processing include/LightGBM/json11.hpp
Done processing src/network/linkers.h
src/io/dataset.cpp:437: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<std::unique_ptr<BinIterator>>>& iters [runtime/references] [2]
Done processing src/io/dataset.cpp
Done processing include/LightGBM/metric.h
Done processing src/io/config.cpp
src/io/json11.cpp:53: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:57: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:67: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:73: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:77: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:114: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:126: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:339: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:351: const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants. [runtime/member_string_references] [2]
src/io/json11.cpp:452: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:452: Is this a non-const reference? If so, make const or use a pointer: string & out [runtime/references] [2]
src/io/json11.cpp:479: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:523: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
Done processing src/io/json11.cpp
Done processing include/LightGBM/objective_function.h
src/c_api.cpp:546: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/c_api.cpp
src/lightgbm_R.cpp:35: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/lightgbm_R.cpp
Done processing src/treelearner/feature_histogram.hpp
Done processing src/network/linkers_mpi.cpp
Done processing include/LightGBM/utils/text_reader.h
Done processing src/objective/xentropy_objective.hpp
Done processing include/LightGBM/config.h
src/network/socket_wrapper.hpp:221: Are you taking an address of a cast? This is dangerous: could be a temp var. Take the address before doing the cast, rather than after [runtime/casting] [4]
Done processing src/network/socket_wrapper.hpp
Done processing include/LightGBM/tree.h
Done processing src/treelearner/cost_effective_gradient_boosting.hpp
Done processing src/network/linkers_socket.cpp
Done processing src/main.cpp
Done processing include/LightGBM/utils/log.h
Done processing src/io/multi_val_dense_bin.hpp
Done processing src/io/tree.cpp
Done processing src/application/application.cpp
Done processing src/metric/map_metric.hpp
Done processing src/objective/rank_objective.hpp
Done processing include/LightGBM/bin.h
Done processing src/io/multi_val_sparse_bin.hpp
Done processing src/boosting/gbdt.h
Done processing src/boosting/dart.hpp
Done processing src/treelearner/parallel_tree_learner.h
Done processing src/metric/regression_metric.hpp
Done processing src/treelearner/split_info.hpp
Done processing src/treelearner/monotone_constraints.hpp
Done processing src/io/metadata.cpp
Done processing include/LightGBM/dataset.h
Done processing src/io/dense_nbits_bin.hpp
Done processing src/metric/dcg_calculator.cpp
include/LightGBM/c_api.h:1059: Almost always, snprintf is better than strcpy [runtime/printf] [4]
Done processing include/LightGBM/c_api.h
Done processing include/LightGBM/utils/threading.h
Done processing src/metric/binary_metric.hpp
Done processing src/treelearner/tree_learner.cpp
Done processing src/treelearner/data_partition.hpp
Done processing src/network/linker_topo.cpp
Done processing src/metric/xentropy_metric.hpp
Done processing src/objective/objective_function.cpp
Done processing include/LightGBM/R_object_helper.h
Done processing src/metric/multiclass_metric.hpp
Done processing src/treelearner/voting_parallel_tree_learner.cpp
Done processing include/LightGBM/tree_learner.h
Done processing src/io/dataset_loader.cpp
Done processing src/metric/rank_metric.hpp
Done processing include/LightGBM/application.h
Done processing include/LightGBM/utils/openmp_wrapper.h
Done processing src/network/network.cpp
Done processing src/io/file_io.cpp
Done processing src/boosting/gbdt.cpp
Done processing src/io/parser.hpp
Done processing src/treelearner/feature_parallel_tree_learner.cpp
Done processing src/metric/metric.cpp
Done processing include/LightGBM/utils/pipeline_reader.h
Done processing src/io/parser.cpp
Done processing src/boosting/gbdt_model_text.cpp
Done processing src/treelearner/gpu_tree_learner.cpp
Done processing include/LightGBM/utils/file_io.h
Done processing src/objective/regression_objective.hpp
Done processing src/io/config_auto.cpp
Done processing src/boosting/gbdt_prediction.cpp
Done processing src/treelearner/serial_tree_learner.cpp
include/LightGBM/utils/common.h:316: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
include/LightGBM/utils/common.h:387: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
include/LightGBM/utils/common.h:432: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
Done processing include/LightGBM/utils/common.h
Done processing src/io/bin.cpp
Done processing include/LightGBM/utils/random.h
Done processing include/LightGBM/feature_group.h
Done processing src/boosting/prediction_early_stop.cpp
Done processing src/boosting/score_updater.hpp
Done processing include/LightGBM/prediction_early_stop.h
Total errors found: 44
0d878b17fe696e6656606f2072053cc7327300c5
Total errors found: 44
Done processing src/metric/metric.cpp
Done processing src/objective/multiclass_objective.hpp
Done processing include/LightGBM/utils/file_io.h
Done processing src/boosting/boosting.cpp
Done processing src/boosting/gbdt.cpp
Done processing include/LightGBM/utils/threading.h
Done processing src/treelearner/gpu_tree_learner.h
Done processing src/boosting/score_updater.hpp
src/network/socket_wrapper.hpp:221: Are you taking an address of a cast? This is dangerous: could be a temp var. Take the address before doing the cast, rather than after [runtime/casting] [4]
Done processing src/network/socket_wrapper.hpp
Done processing src/metric/multiclass_metric.hpp
Done processing include/LightGBM/lightgbm_R.h
Done processing src/treelearner/serial_tree_learner.h
Done processing include/LightGBM/utils/text_reader.h
Done processing src/io/file_io.cpp
Done processing src/treelearner/data_partition.hpp
Done processing src/io/config.cpp
include/LightGBM/utils/json11.h:80: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:81: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:82: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:83: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:84: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:85: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:86: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:87: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:88: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:89: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:90: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:94: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:101: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:107: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:111: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:144: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
include/LightGBM/utils/json11.h:153: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/utils/json11.h:156: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/utils/json11.h:168: Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos [runtime/references] [2]
include/LightGBM/utils/json11.h:169: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/utils/json11.h:174: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/utils/json11.h:193: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/utils/json11.h:208: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
Done processing include/LightGBM/utils/json11.h
Done processing src/boosting/gbdt.h
include/LightGBM/c_api.h:1061: Almost always, snprintf is better than strcpy [runtime/printf] [4]
Done processing include/LightGBM/c_api.h
Done processing src/boosting/dart.hpp
Done processing src/boosting/prediction_early_stop.cpp
Done processing include/LightGBM/objective_function.h
Done processing include/LightGBM/prediction_early_stop.h
Done processing src/application/application.cpp
Done processing src/treelearner/gpu_tree_learner.cpp
Done processing include/LightGBM/boosting.h
Done processing src/objective/rank_objective.hpp
src/io/dataset.cpp:437: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<std::unique_ptr<BinIterator>>>& iters [runtime/references] [2]
Done processing src/io/dataset.cpp
Done processing src/treelearner/data_parallel_tree_learner.cpp
Done processing include/LightGBM/utils/openmp_wrapper.h
Done processing src/objective/binary_objective.hpp
Done processing src/treelearner/col_sampler.hpp
Done processing src/metric/binary_metric.hpp
src/lightgbm_R.cpp:35: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/lightgbm_R.cpp
Done processing src/io/multi_val_sparse_bin.hpp
Done processing include/LightGBM/feature_group.h
Done processing src/treelearner/monotone_constraints.hpp
Done processing src/io/parser.cpp
Done processing src/io/metadata.cpp
Done processing include/LightGBM/dataset.h
Done processing src/application/predictor.hpp
Done processing src/boosting/goss.hpp
Done processing src/network/network.cpp
Done processing src/io/config_auto.cpp
Done processing src/treelearner/voting_parallel_tree_learner.cpp
Done processing src/metric/rank_metric.hpp
Done processing src/objective/xentropy_objective.hpp
src/io/json11.cpp:55: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:59: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:69: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:75: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:79: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:116: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:128: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:341: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:353: const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants. [runtime/member_string_references] [2]
src/io/json11.cpp:454: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:454: Is this a non-const reference? If so, make const or use a pointer: string & out [runtime/references] [2]
src/io/json11.cpp:481: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:525: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
Done processing src/io/json11.cpp
Done processing include/LightGBM/export.h
Done processing include/LightGBM/application.h
Done processing src/network/linkers_socket.cpp
Done processing include/LightGBM/metric.h
Done processing src/boosting/gbdt_prediction.cpp
Done processing src/treelearner/parallel_tree_learner.h
Done processing src/io/multi_val_dense_bin.hpp
Done processing src/treelearner/serial_tree_learner.cpp
Done processing src/io/tree.cpp
Done processing src/io/parser.hpp
Done processing include/LightGBM/utils/array_args.h
Done processing src/io/dataset_loader.cpp
Done processing src/boosting/gbdt_model_text.cpp
Done processing include/LightGBM/utils/log.h
Done processing src/treelearner/tree_learner.cpp
Done processing src/io/bin.cpp
Done processing include/LightGBM/bin.h
Done processing src/objective/objective_function.cpp
Done processing src/metric/map_metric.hpp
Done processing src/treelearner/feature_parallel_tree_learner.cpp
Done processing src/metric/dcg_calculator.cpp
Done processing include/LightGBM/config.h
Done processing include/LightGBM/utils/random.h
Done processing include/LightGBM/network.h
Done processing include/LightGBM/R_object_helper.h
Done processing include/LightGBM/dataset_loader.h
Done processing src/boosting/rf.hpp
Done processing src/treelearner/cost_effective_gradient_boosting.hpp
src/c_api.cpp:545: Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]
Done processing src/c_api.cpp
Done processing src/io/sparse_bin.hpp
Done processing src/treelearner/feature_histogram.hpp
Done processing src/treelearner/split_info.hpp
Done processing src/network/linkers_mpi.cpp
Done processing src/io/dense_bin.hpp
Done processing src/network/linker_topo.cpp
Done processing src/treelearner/leaf_splits.hpp
Done processing src/main.cpp
include/LightGBM/utils/common.h:316: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
include/LightGBM/utils/common.h:387: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
include/LightGBM/utils/common.h:432: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
Done processing include/LightGBM/utils/common.h
Done processing include/LightGBM/tree_learner.h
Done processing src/metric/xentropy_metric.hpp
Done processing include/LightGBM/tree.h
Done processing src/network/linkers.h
Done processing include/LightGBM/meta.h
Done processing src/objective/regression_objective.hpp
Done processing include/LightGBM/utils/pipeline_reader.h
Done processing src/metric/regression_metric.hpp
Total errors found: 44
https://github.com/microsoft/LightGBM/commit/3e540eac97640159d471d56951b6ce026b4f4869
Total errors found: 42
Report (Clickable):
Done processing src/objective/binary_objective.hpp
Done processing src/treelearner/col_sampler.hpp
Done processing include/LightGBM/utils/text_reader.h
Done processing src/network/network.cpp
Done processing src/io/multi_val_sparse_bin.hpp
Done processing src/treelearner/feature_parallel_tree_learner.cpp
Done processing src/main.cpp
Done processing src/metric/map_metric.hpp
Done processing src/metric/regression_metric.hpp
Done processing src/treelearner/tree_learner.cpp
Done processing include/LightGBM/utils/threading.h
Done processing src/io/file_io.cpp
Done processing src/objective/xentropy_objective.hpp
Done processing include/LightGBM/dataset_loader.h
Done processing include/LightGBM/utils/pipeline_reader.h
Done processing include/LightGBM/objective_function.h
Done processing src/treelearner/split_info.hpp
Done processing src/boosting/goss.hpp
Done processing src/io/tree.cpp
Done processing src/treelearner/feature_histogram.hpp
Done processing src/metric/metric.cpp
Done processing include/LightGBM/application.h
Done processing include/LightGBM/feature_group.h
Done processing include/LightGBM/utils/log.h
include/LightGBM/utils/common.h:316: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
include/LightGBM/utils/common.h:387: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
include/LightGBM/utils/common.h:432: Never use sprintf. Use snprintf instead. [runtime/printf] [5]
Done processing include/LightGBM/utils/common.h
Done processing src/treelearner/monotone_constraints.hpp
Done processing include/LightGBM/dataset.h
Done processing src/treelearner/data_parallel_tree_learner.cpp
Done processing src/io/parser.cpp
Done processing src/treelearner/parallel_tree_learner.h
Done processing src/boosting/gbdt_model_text.cpp
Done processing include/LightGBM/config.h
Done processing src/boosting/score_updater.hpp
Done processing src/treelearner/gpu_tree_learner.cpp
Done processing src/io/dataset_loader.cpp
Done processing src/io/parser.hpp
Done processing src/network/linkers_socket.cpp
Done processing src/network/linker_topo.cpp
Done processing src/io/config_auto.cpp
Done processing include/LightGBM/lightgbm_R.h
Done processing src/objective/objective_function.cpp
Done processing src/treelearner/leaf_splits.hpp
Done processing src/metric/xentropy_metric.hpp
Done processing include/LightGBM/tree_learner.h
Done processing src/objective/rank_objective.hpp
Done processing include/LightGBM/utils/file_io.h
Done processing src/metric/binary_metric.hpp
Done processing src/metric/multiclass_metric.hpp
Done processing include/LightGBM/meta.h
Done processing src/treelearner/cost_effective_gradient_boosting.hpp
Done processing src/application/application.cpp
Done processing src/treelearner/serial_tree_learner.h
Done processing src/boosting/gbdt.h
Done processing include/LightGBM/export.h
Done processing include/LightGBM/R_object_helper.h
Done processing src/boosting/gbdt_prediction.cpp
Done processing include/LightGBM/utils/random.h
Done processing src/boosting/boosting.cpp
Done processing src/boosting/prediction_early_stop.cpp
Done processing src/lightgbm_R.cpp
Done processing src/c_api.cpp
Done processing src/treelearner/serial_tree_learner.cpp
Done processing src/network/linkers_mpi.cpp
Done processing src/metric/dcg_calculator.cpp
Done processing include/LightGBM/tree.h
Done processing src/io/sparse_bin.hpp
Done processing src/objective/regression_objective.hpp
Done processing src/boosting/rf.hpp
Done processing src/objective/multiclass_objective.hpp
include/LightGBM/c_api.h:1077: Almost always, snprintf is better than strcpy [runtime/printf] [4]
Done processing include/LightGBM/c_api.h
Done processing src/treelearner/voting_parallel_tree_learner.cpp
include/LightGBM/utils/json11.h:80: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:81: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:82: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:83: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:84: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:85: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:86: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:87: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:88: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:89: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:90: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:94: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:101: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:107: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:111: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:144: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
include/LightGBM/utils/json11.h:153: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/utils/json11.h:156: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/utils/json11.h:168: Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos [runtime/references] [2]
include/LightGBM/utils/json11.h:169: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/utils/json11.h:174: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/utils/json11.h:193: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/utils/json11.h:208: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
Done processing include/LightGBM/utils/json11.h
Done processing include/LightGBM/prediction_early_stop.h
Done processing include/LightGBM/utils/openmp_wrapper.h
Done processing include/LightGBM/utils/locale_context.h
Done processing include/LightGBM/utils/array_args.h
Done processing src/network/linkers.h
Done processing src/io/metadata.cpp
src/io/json11.cpp:55: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:59: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:69: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:75: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:79: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:116: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:128: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:341: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:353: const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants. [runtime/member_string_references] [2]
src/io/json11.cpp:454: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:454: Is this a non-const reference? If so, make const or use a pointer: string & out [runtime/references] [2]
src/io/json11.cpp:481: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:525: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
Done processing src/io/json11.cpp
Done processing src/io/multi_val_dense_bin.hpp
Done processing include/LightGBM/network.h
Done processing include/LightGBM/metric.h
Done processing src/io/dense_bin.hpp
Done processing src/boosting/dart.hpp
src/network/socket_wrapper.hpp:221: Are you taking an address of a cast? This is dangerous: could be a temp var. Take the address before doing the cast, rather than after [runtime/casting] [4]
Done processing src/network/socket_wrapper.hpp
src/io/dataset.cpp:437: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<std::unique_ptr<BinIterator>>>& iters [runtime/references] [2]
Done processing src/io/dataset.cpp
Done processing include/LightGBM/bin.h
Done processing src/treelearner/data_partition.hpp
Done processing include/LightGBM/boosting.h
Done processing src/boosting/gbdt.cpp
Done processing src/treelearner/gpu_tree_learner.h
Done processing src/metric/rank_metric.hpp
Done processing src/io/bin.cpp
Done processing src/io/config.cpp
Done processing src/application/predictor.hpp
Total errors found: 42
https://github.com/microsoft/LightGBM/commit/3a335e9d4f63da10094d690a92cbefd0f4e6faf6
Total errors found: 40
Report (Clickable)
Done processing src/boosting/rf.hpp
Done processing src/treelearner/parallel_tree_learner.h
Done processing src/main.cpp
Done processing src/io/dataset_loader.cpp
Done processing src/metric/xentropy_metric.hpp
Done processing src/io/multi_val_sparse_bin.hpp
Done processing include/LightGBM/utils/array_args.h
Done processing src/boosting/boosting.cpp
Done processing src/io/config.cpp
Done processing src/io/dense_bin.hpp
Done processing include/LightGBM/objective_function.h
Done processing include/LightGBM/meta.h
Done processing src/io/metadata.cpp
Done processing src/application/predictor.hpp
Done processing src/boosting/score_updater.hpp
Done processing src/c_api.cpp
Done processing src/boosting/gbdt_prediction.cpp
Done processing src/boosting/prediction_early_stop.cpp
Done processing include/LightGBM/metric.h
Done processing src/network/network.cpp
Done processing src/io/bin.cpp
Done processing src/metric/regression_metric.hpp
Done processing src/objective/binary_objective.hpp
Done processing src/boosting/gbdt.h
Done processing src/objective/xentropy_objective.hpp
Done processing include/LightGBM/config.h
Done processing src/treelearner/col_sampler.hpp
Done processing src/metric/multiclass_metric.hpp
Done processing include/LightGBM/utils/pipeline_reader.h
Done processing src/io/parser.cpp
Done processing src/boosting/gbdt_model_text.cpp
Done processing src/objective/regression_objective.hpp
Done processing src/io/parser.hpp
Done processing src/boosting/dart.hpp
include/LightGBM/c_api.h:1077: Almost always, snprintf is better than strcpy [runtime/printf] [4]
Done processing include/LightGBM/c_api.h
Done processing src/treelearner/serial_tree_learner.h
Done processing src/network/linkers_mpi.cpp
Done processing src/objective/objective_function.cpp
src/io/json11.cpp:55: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:59: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:69: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:75: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:79: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:116: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:128: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:341: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:353: const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants. [runtime/member_string_references] [2]
src/io/json11.cpp:454: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:454: Is this a non-const reference? If so, make const or use a pointer: string & out [runtime/references] [2]
src/io/json11.cpp:481: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:525: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
Done processing src/io/json11.cpp
Done processing include/LightGBM/utils/locale_context.h
Done processing src/treelearner/monotone_constraints.hpp
Done processing src/metric/metric.cpp
Done processing include/LightGBM/boosting.h
Done processing src/application/application.cpp
Done processing include/LightGBM/prediction_early_stop.h
Done processing src/treelearner/split_info.hpp
Done processing include/LightGBM/utils/log.h
Done processing src/treelearner/feature_parallel_tree_learner.cpp
Done processing src/treelearner/cost_effective_gradient_boosting.hpp
Done processing include/LightGBM/dataset.h
Done processing include/LightGBM/utils/file_io.h
Done processing src/treelearner/feature_histogram.hpp
Done processing src/treelearner/gpu_tree_learner.h
Done processing src/io/config_auto.cpp
Done processing src/lightgbm_R.cpp
Done processing include/LightGBM/utils/threading.h
Done processing src/objective/multiclass_objective.hpp
Done processing src/metric/dcg_calculator.cpp
Done processing include/LightGBM/feature_group.h
Done processing include/LightGBM/export.h
Done processing src/objective/rank_objective.hpp
src/io/dataset.cpp:437: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<std::unique_ptr<BinIterator>>>& iters [runtime/references] [2]
Done processing src/io/dataset.cpp
Done processing src/io/sparse_bin.hpp
src/network/socket_wrapper.hpp:221: Are you taking an address of a cast? This is dangerous: could be a temp var. Take the address before doing the cast, rather than after [runtime/casting] [4]
Done processing src/network/socket_wrapper.hpp
Done processing src/network/linker_topo.cpp
Done processing include/LightGBM/utils/text_reader.h
Done processing src/treelearner/leaf_splits.hpp
Done processing src/treelearner/voting_parallel_tree_learner.cpp
include/LightGBM/utils/common.h:316: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
Done processing include/LightGBM/utils/common.h
Done processing src/io/file_io.cpp
Done processing src/treelearner/serial_tree_learner.cpp
Done processing src/network/linkers_socket.cpp
Done processing include/LightGBM/utils/random.h
Done processing src/treelearner/data_partition.hpp
Done processing src/boosting/gbdt.cpp
Done processing include/LightGBM/application.h
Done processing include/LightGBM/tree_learner.h
Done processing src/boosting/goss.hpp
Done processing include/LightGBM/network.h
Done processing src/metric/binary_metric.hpp
Done processing src/io/tree.cpp
Done processing src/metric/rank_metric.hpp
Done processing src/treelearner/gpu_tree_learner.cpp
Done processing include/LightGBM/dataset_loader.h
Done processing include/LightGBM/lightgbm_R.h
Done processing include/LightGBM/utils/openmp_wrapper.h
Done processing include/LightGBM/R_object_helper.h
Done processing src/metric/map_metric.hpp
Done processing src/io/multi_val_dense_bin.hpp
Done processing include/LightGBM/bin.h
Done processing src/treelearner/data_parallel_tree_learner.cpp
Done processing src/network/linkers.h
Done processing include/LightGBM/tree.h
Done processing src/treelearner/tree_learner.cpp
include/LightGBM/utils/json11.h:80: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:81: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:82: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:83: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:84: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:85: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:86: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:87: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:88: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:89: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:90: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:94: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:101: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:107: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:111: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:144: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
include/LightGBM/utils/json11.h:153: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/utils/json11.h:156: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/utils/json11.h:168: Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos [runtime/references] [2]
include/LightGBM/utils/json11.h:169: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/utils/json11.h:174: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/utils/json11.h:193: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/utils/json11.h:208: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
Done processing include/LightGBM/utils/json11.h
Total errors found: 40
6d9e7f1796abfe47846cb06abe7b1847fa77ded5
Total errors found: 39
Done processing src/treelearner/serial_tree_learner.h
Done processing src/treelearner/feature_histogram.hpp
Done processing src/treelearner/data_partition.hpp
Done processing src/treelearner/parallel_tree_learner.h
Done processing src/objective/rank_objective.hpp
Done processing src/treelearner/cost_effective_gradient_boosting.hpp
Done processing src/io/parser.hpp
Done processing src/application/application.cpp
Done processing src/application/predictor.hpp
Done processing src/treelearner/gpu_tree_learner.h
Done processing src/boosting/gbdt_prediction.cpp
src/network/socket_wrapper.hpp:221: Are you taking an address of a cast? This is dangerous: could be a temp var. Take the address before doing the cast, rather than after [runtime/casting] [4]
Done processing src/network/socket_wrapper.hpp
Done processing src/boosting/dart.hpp
Done processing src/treelearner/data_parallel_tree_learner.cpp
Done processing include/LightGBM/R_object_helper.h
Done processing src/objective/xentropy_objective.hpp
Done processing include/LightGBM/prediction_early_stop.h
Done processing src/treelearner/gpu_tree_learner.cpp
Done processing include/LightGBM/meta.h
Done processing include/LightGBM/tree_learner.h
Done processing src/treelearner/tree_learner.cpp
Done processing src/treelearner/feature_parallel_tree_learner.cpp
Done processing src/boosting/gbdt_model_text.cpp
Done processing src/metric/regression_metric.hpp
include/LightGBM/utils/json11.h:80: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:81: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:82: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:83: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:84: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:85: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:86: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:87: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:88: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:89: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:90: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:94: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:101: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:107: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:111: Single-parameter constructors should be marked explicit. [runtime/explicit] [5]
include/LightGBM/utils/json11.h:144: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
include/LightGBM/utils/json11.h:153: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/utils/json11.h:156: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/utils/json11.h:168: Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos [runtime/references] [2]
include/LightGBM/utils/json11.h:169: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/utils/json11.h:174: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/utils/json11.h:193: Is this a non-const reference? If so, make const or use a pointer: std::string & err [runtime/references] [2]
include/LightGBM/utils/json11.h:208: Is this a non-const reference? If so, make const or use a pointer: std::string &out [runtime/references] [2]
Done processing include/LightGBM/utils/json11.h
Done processing src/boosting/gbdt.cpp
Done processing include/LightGBM/utils/pipeline_reader.h
Done processing src/network/network.cpp
Done processing src/network/linkers_mpi.cpp
Done processing src/io/tree.cpp
Done processing include/LightGBM/dataset.h
Done processing include/LightGBM/network.h
Done processing include/LightGBM/metric.h
Done processing src/boosting/gbdt.h
Done processing include/LightGBM/tree.h
Done processing src/metric/dcg_calculator.cpp
Done processing src/treelearner/voting_parallel_tree_learner.cpp
Done processing src/main.cpp
Done processing src/boosting/rf.hpp
Done processing src/objective/multiclass_objective.hpp
Done processing include/LightGBM/bin.h
include/LightGBM/c_api.h:1077: Almost always, snprintf is better than strcpy [runtime/printf] [4]
Done processing include/LightGBM/c_api.h
Done processing include/LightGBM/utils/file_io.h
Done processing src/io/file_io.cpp
Done processing src/network/linkers.h
Done processing src/network/linkers_socket.cpp
Done processing src/metric/multiclass_metric.hpp
Done processing src/treelearner/split_info.hpp
Done processing include/LightGBM/utils/locale_context.h
Done processing include/LightGBM/application.h
Done processing include/LightGBM/utils/threading.h
Done processing src/boosting/boosting.cpp
Done processing include/LightGBM/utils/log.h
Done processing src/network/linker_topo.cpp
Done processing src/c_api.cpp
Done processing src/lightgbm_R.cpp
Done processing include/LightGBM/boosting.h
Done processing include/LightGBM/utils/text_reader.h
Done processing src/io/dataset_loader.cpp
src/io/json11.cpp:56: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:60: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:70: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:76: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:80: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:117: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:129: Is this a non-const reference? If so, make const or use a pointer: string &out [runtime/references] [2]
src/io/json11.cpp:342: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:456: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:456: Is this a non-const reference? If so, make const or use a pointer: string & out [runtime/references] [2]
src/io/json11.cpp:483: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
src/io/json11.cpp:527: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
Done processing src/io/json11.cpp
Done processing src/io/parser.cpp
Done processing include/LightGBM/utils/random.h
Done processing include/LightGBM/feature_group.h
Done processing src/metric/rank_metric.hpp
Done processing src/io/bin.cpp
Done processing include/LightGBM/config.h
Done processing src/io/multi_val_sparse_bin.hpp
Done processing src/boosting/prediction_early_stop.cpp
Done processing src/metric/binary_metric.hpp
Done processing src/io/sparse_bin.hpp
Done processing src/io/metadata.cpp
Done processing src/metric/map_metric.hpp
Done processing src/io/config_auto.cpp
Done processing src/io/config.cpp
Done processing include/LightGBM/objective_function.h
Done processing src/io/multi_val_dense_bin.hpp
Done processing include/LightGBM/export.h
Done processing src/treelearner/monotone_constraints.hpp
Done processing include/LightGBM/utils/openmp_wrapper.h
Done processing src/objective/regression_objective.hpp
Done processing src/objective/objective_function.cpp
src/io/dataset.cpp:437: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<std::unique_ptr<BinIterator>>>& iters [runtime/references] [2]
Done processing src/io/dataset.cpp
Done processing src/boosting/goss.hpp
Done processing include/LightGBM/utils/array_args.h
Done processing src/treelearner/leaf_splits.hpp
include/LightGBM/utils/common.h:316: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
Done processing include/LightGBM/utils/common.h
Done processing src/metric/xentropy_metric.hpp
Done processing src/objective/binary_objective.hpp
Done processing src/io/dense_bin.hpp
Done processing src/treelearner/serial_tree_learner.cpp
Done processing src/treelearner/col_sampler.hpp
Done processing src/boosting/score_updater.hpp
Done processing src/metric/metric.cpp
Done processing include/LightGBM/dataset_loader.h
Done processing include/LightGBM/lightgbm_R.h
Total errors found: 39
5c201e48f2cf853fede4352de236233cee7289b4
Total errors found: 4
Done processing include/LightGBM/utils/openmp_wrapper.h
Done processing src/boosting/score_updater.hpp
Done processing src/objective/rank_objective.hpp
Done processing src/io/metadata.cpp
Done processing src/treelearner/tree_learner.cpp
Done processing src/main.cpp
Done processing src/network/linker_topo.cpp
Done processing include/LightGBM/utils/locale_context.h
Done processing src/lightgbm_R.cpp
Done processing include/LightGBM/metric.h
Done processing src/network/linkers_socket.cpp
Done processing src/io/multi_val_dense_bin.hpp
Done processing src/treelearner/gpu_tree_learner.cpp
Done processing src/metric/regression_metric.hpp
Done processing src/io/parser.cpp
Done processing include/LightGBM/feature_group.h
Done processing include/LightGBM/prediction_early_stop.h
Done processing src/c_api.cpp
Done processing src/io/tree.cpp
Done processing src/network/linkers_mpi.cpp
Done processing src/io/dataset_loader.cpp
Done processing src/application/predictor.hpp
Done processing src/boosting/rf.hpp
Done processing src/io/dense_bin.hpp
Done processing src/treelearner/split_info.hpp
Done processing src/objective/xentropy_objective.hpp
Done processing src/metric/binary_metric.hpp
Done processing src/treelearner/col_sampler.hpp
Done processing src/treelearner/monotone_constraints.hpp
Done processing src/metric/rank_metric.hpp
Done processing include/LightGBM/utils/text_reader.h
Done processing src/metric/map_metric.hpp
Done processing src/objective/objective_function.cpp
Done processing include/LightGBM/lightgbm_R.h
Done processing src/boosting/dart.hpp
Done processing include/LightGBM/tree_learner.h
Done processing src/treelearner/parallel_tree_learner.h
Done processing src/treelearner/voting_parallel_tree_learner.cpp
Done processing include/LightGBM/utils/array_args.h
Done processing include/LightGBM/bin.h
Done processing src/boosting/gbdt.cpp
Done processing src/io/sparse_bin.hpp
Done processing src/io/bin.cpp
Done processing src/metric/dcg_calculator.cpp
Done processing src/application/application.cpp
Done processing src/objective/binary_objective.hpp
Done processing include/LightGBM/R_object_helper.h
include/LightGBM/utils/common.h:316: Use int16/int64/etc, rather than the C type long [runtime/int] [4]
Done processing include/LightGBM/utils/common.h
Done processing src/io/multi_val_sparse_bin.hpp
Done processing src/treelearner/feature_histogram.hpp
include/LightGBM/c_api.h:1077: Almost always, snprintf is better than strcpy [runtime/printf] [4]
Done processing include/LightGBM/c_api.h
Done processing include/LightGBM/objective_function.h
Done processing include/LightGBM/dataset.h
Done processing src/io/file_io.cpp
Done processing src/treelearner/cost_effective_gradient_boosting.hpp
Done processing src/metric/xentropy_metric.hpp
Done processing include/LightGBM/utils/threading.h
src/io/dataset.cpp:437: Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<std::unique_ptr<BinIterator>>>& iters [runtime/references] [2]
Done processing src/io/dataset.cpp
Done processing src/objective/multiclass_objective.hpp
Done processing src/metric/metric.cpp
Done processing src/treelearner/gpu_tree_learner.h
Done processing src/network/linkers.h
Done processing include/LightGBM/utils/log.h
Done processing include/LightGBM/boosting.h
Done processing src/io/config.cpp
Done processing include/LightGBM/config.h
Done processing src/treelearner/serial_tree_learner.cpp
Done processing include/LightGBM/dataset_loader.h
Done processing src/treelearner/data_parallel_tree_learner.cpp
Done processing include/LightGBM/export.h
Done processing src/treelearner/data_partition.hpp
Done processing src/boosting/gbdt.h
Done processing src/io/parser.hpp
Done processing src/boosting/gbdt_model_text.cpp
Done processing src/boosting/boosting.cpp
Done processing src/treelearner/leaf_splits.hpp
Done processing src/objective/regression_objective.hpp
Done processing include/LightGBM/meta.h
Done processing src/io/config_auto.cpp
Done processing src/metric/multiclass_metric.hpp
Done processing src/boosting/gbdt_prediction.cpp
Done processing src/treelearner/feature_parallel_tree_learner.cpp
Done processing include/LightGBM/network.h
Done processing include/LightGBM/application.h
Done processing src/io/json11.cpp
Done processing include/LightGBM/utils/file_io.h
Done processing src/boosting/goss.hpp
Done processing src/network/network.cpp
Done processing include/LightGBM/utils/pipeline_reader.h
Done processing include/LightGBM/tree.h
Done processing src/boosting/prediction_early_stop.cpp
Done processing include/LightGBM/utils/random.h
src/network/socket_wrapper.hpp:221: Are you taking an address of a cast? This is dangerous: could be a temp var. Take the address before doing the cast, rather than after [runtime/casting] [4]
Done processing src/network/socket_wrapper.hpp
Done processing src/treelearner/serial_tree_learner.h
Done processing include/LightGBM/utils/json11.h
Total errors found: 4
@guolinke We already have a PR for 1 (about snprintf) of 4 remaining issues. Do you know how to fix the rest 3 quickly or should we mark them as NOLINT for now to enable auto-checking ASAP?
https://github.com/microsoft/LightGBM/commit/9843506e63c546b989df16e6235261fd38ce247d
馃帀 馃帀 馃帀 馃帀 馃帀 馃帀 馃帀
馃帀 Total errors found: 0 馃帀
馃帀 馃帀 馃帀 馃帀 馃帀 馃帀 馃帀
Report (clickable)
Linting C++ code
Done processing include/LightGBM/boosting.h
Done processing src/treelearner/col_sampler.hpp
Done processing include/LightGBM/config.h
Done processing src/metric/map_metric.hpp
Done processing src/network/network.cpp
Done processing include/LightGBM/utils/common.h
Done processing src/boosting/dart.hpp
Done processing src/metric/binary_metric.hpp
Done processing src/io/multi_val_sparse_bin.hpp
Done processing src/io/bin.cpp
Done processing include/LightGBM/prediction_early_stop.h
Done processing include/LightGBM/metric.h
Done processing include/LightGBM/bin.h
Done processing src/io/config_auto.cpp
Done processing src/objective/objective_function.cpp
Done processing src/lightgbm_R.cpp
Done processing src/boosting/score_updater.hpp
Done processing include/LightGBM/utils/log.h
Done processing src/io/tree.cpp
Done processing src/metric/multiclass_metric.hpp
Done processing src/objective/regression_objective.hpp
Done processing include/LightGBM/feature_group.h
Done processing src/application/application.cpp
Done processing src/io/metadata.cpp
Done processing src/main.cpp
Done processing src/metric/metric.cpp
Done processing include/LightGBM/utils/array_args.h
Done processing src/metric/xentropy_metric.hpp
Done processing src/network/linker_topo.cpp
Done processing src/application/predictor.hpp
Done processing include/LightGBM/utils/threading.h
Done processing src/io/dataset.cpp
Done processing include/LightGBM/objective_function.h
Done processing include/LightGBM/tree_learner.h
Done processing src/boosting/gbdt_prediction.cpp
Done processing src/objective/rank_objective.hpp
Done processing src/io/dataset_loader.cpp
Done processing include/LightGBM/dataset_loader.h
Done processing include/LightGBM/c_api.h
Done processing src/treelearner/voting_parallel_tree_learner.cpp
Done processing include/LightGBM/R_object_helper.h
Done processing src/metric/regression_metric.hpp
Done processing include/LightGBM/utils/json11.h
Done processing include/LightGBM/lightgbm_R.h
Done processing src/treelearner/serial_tree_learner.cpp
Done processing src/treelearner/serial_tree_learner.h
Done processing src/c_api.cpp
Done processing src/treelearner/parallel_tree_learner.h
Done processing src/treelearner/gpu_tree_learner.h
Done processing src/boosting/gbdt.cpp
Done processing src/boosting/prediction_early_stop.cpp
Done processing include/LightGBM/meta.h
Done processing include/LightGBM/tree.h
Done processing src/boosting/gbdt.h
Done processing src/treelearner/feature_parallel_tree_learner.cpp
Done processing src/io/sparse_bin.hpp
Done processing include/LightGBM/dataset.h
Done processing src/boosting/boosting.cpp
Done processing include/LightGBM/utils/random.h
Done processing src/io/parser.cpp
Done processing src/io/file_io.cpp
Done processing include/LightGBM/export.h
Done processing include/LightGBM/utils/text_reader.h
Done processing src/metric/dcg_calculator.cpp
Done processing src/objective/multiclass_objective.hpp
Done processing src/metric/rank_metric.hpp
Done processing include/LightGBM/utils/file_io.h
Done processing src/treelearner/gpu_tree_learner.cpp
Done processing src/network/linkers.h
Done processing src/network/linkers_socket.cpp
Done processing src/network/socket_wrapper.hpp
Done processing src/treelearner/split_info.hpp
Done processing src/io/multi_val_dense_bin.hpp
Done processing src/network/linkers_mpi.cpp
Done processing src/io/parser.hpp
Done processing src/boosting/goss.hpp
Done processing src/io/json11.cpp
Done processing include/LightGBM/utils/openmp_wrapper.h
Done processing include/LightGBM/application.h
Done processing src/treelearner/feature_histogram.hpp
Done processing src/boosting/gbdt_model_text.cpp
Done processing src/boosting/rf.hpp
Done processing include/LightGBM/network.h
Done processing src/io/config.cpp
Done processing src/treelearner/monotone_constraints.hpp
Done processing src/treelearner/tree_learner.cpp
Done processing src/treelearner/leaf_splits.hpp
Done processing src/treelearner/data_partition.hpp
Done processing src/objective/xentropy_objective.hpp
Done processing include/LightGBM/utils/pipeline_reader.h
Done processing src/treelearner/cost_effective_gradient_boosting.hpp
Done processing src/treelearner/data_parallel_tree_learner.cpp
Done processing src/objective/binary_objective.hpp
Done processing src/io/dense_bin.hpp
We did it! Thanks for pushing this forward @StrikerRUS and for all the assistance @guolinke . Some of the linting issues fixed here were stylistic, but many were genuinely about the safety of the code, so I think all the effort here was well worth it.
Most helpful comment
@StrikerRUS
I will work on json11 when I have time