[ci] added tests with Clang/AppleClang compilation at Travis

Compiling CMake from sources is extremely sloooow, but at least it works :-) .
Refer to #1501.

Some warnings are generated:
AppleClang <IP_ADDRESS>20042:
In file included from /Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:25:
/Users/travis/build/Microsoft/LightGBM/src/./application/predictor.hpp:244:12: warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
    return std::move(buf);
           ^
/Users/travis/build/Microsoft/LightGBM/src/./application/predictor.hpp:244:12: note: remove std::move call here
    return std::move(buf);
           ^~~~~~~~~~   ~
1 warning generated.
[  6%] Building CXX object CMakeFiles/_lightgbm.dir/src/lightgbm_R.cpp.o
[  9%] Building CXX object CMakeFiles/_lightgbm.dir/src/application/application.cpp.o
In file included from /Users/travis/build/Microsoft/LightGBM/src/application/application.cpp:14:
/Users/travis/build/Microsoft/LightGBM/src/application/predictor.hpp:244:12: warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
    return std::move(buf);
           ^
/Users/travis/build/Microsoft/LightGBM/src/application/predictor.hpp:244:12: note: remove std::move call here
    return std::move(buf);
           ^~~~~~~~~~   ~
1 warning generated.

AppleClang <IP_ADDRESS>20039:
[  3%] Building CXX object CMakeFiles/_lightgbm.dir/src/c_api.cpp.o
In file included from /Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:7:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/dataset_loader.h:4:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/dataset.h:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/text_reader.h:4:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/pipeline_reader.h:49:33: warning: lambda capture 'buffer_size' is not required to be captured for this use [-Wunused-lambda-capture]
        [&reader, &buffer_read, buffer_size, &last_read_cnt] {
                                ^
In file included from /Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:25:
/Users/travis/build/Microsoft/LightGBM/src/./application/predictor.hpp:66:29: warning: lambda capture 'kFeatureThreshold' is not required to be captured for this use [-Wunused-lambda-capture]
      predict_fun_ = [this, kFeatureThreshold, KSparseThreshold](const std::vector<std::pair<int, double>>& features, double* output) {
                            ^
/Users/travis/build/Microsoft/LightGBM/src/./application/predictor.hpp:88:31: warning: lambda capture 'kFeatureThreshold' is not required to be captured for this use [-Wunused-lambda-capture]
        predict_fun_ = [this, kFeatureThreshold, KSparseThreshold](const std::vector<std::pair<int, double>>& features, double* output) {
                              ^
/Users/travis/build/Microsoft/LightGBM/src/./application/predictor.hpp:100:31: warning: lambda capture 'kFeatureThreshold' is not required to be captured for this use [-Wunused-lambda-capture]
        predict_fun_ = [this, kFeatureThreshold, KSparseThreshold](const std::vector<std::pair<int, double>>& features, double* output) {
                              ^
/Users/travis/build/Microsoft/LightGBM/src/./application/predictor.hpp:166:19: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
    parser_fun = [this, &parser, &tmp_label, &need_adjust, &feature_names_map_]
                  ^
/Users/travis/build/Microsoft/LightGBM/src/./application/predictor.hpp:244:12: warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
    return std::move(buf);
           ^
/Users/travis/build/Microsoft/LightGBM/src/./application/predictor.hpp:244:12: note: remove std::move call here
    return std::move(buf);
           ^~~~~~~~~~   ~
/Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:1283:34: warning: lambda capture 'num_row' is not used [-Wunused-lambda-capture]
      return [data_ptr, num_col, num_row] (int row_idx) {
                                 ^
/Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:1303:34: warning: lambda capture 'num_row' is not used [-Wunused-lambda-capture]
      return [data_ptr, num_col, num_row] (int row_idx) {
                                 ^
/Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:1348:46: warning: lambda capture 'nindptr' is not used [-Wunused-lambda-capture]
      return [ptr_indptr, indices, data_ptr, nindptr, nelem] (int idx) {
                                             ^
/Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:1348:55: warning: lambda capture 'nelem' is not used [-Wunused-lambda-capture]
      return [ptr_indptr, indices, data_ptr, nindptr, nelem] (int idx) {
                                                      ^
/Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:1359:46: warning: lambda capture 'nindptr' is not used [-Wunused-lambda-capture]
      return [ptr_indptr, indices, data_ptr, nindptr, nelem] (int idx) {
                                             ^
/Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:1359:55: warning: lambda capture 'nelem' is not used [-Wunused-lambda-capture]
      return [ptr_indptr, indices, data_ptr, nindptr, nelem] (int idx) {
                                                      ^
/Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:1373:46: warning: lambda capture 'nindptr' is not used [-Wunused-lambda-capture]
      return [ptr_indptr, indices, data_ptr, nindptr, nelem] (int idx) {
                                             ^
/Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:1373:55: warning: lambda capture 'nelem' is not used [-Wunused-lambda-capture]
      return [ptr_indptr, indices, data_ptr, nindptr, nelem] (int idx) {
                                                      ^
/Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:1384:46: warning: lambda capture 'nindptr' is not used [-Wunused-lambda-capture]
      return [ptr_indptr, indices, data_ptr, nindptr, nelem] (int idx) {
                                             ^
/Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:1384:55: warning: lambda capture 'nelem' is not used [-Wunused-lambda-capture]
      return [ptr_indptr, indices, data_ptr, nindptr, nelem] (int idx) {
                                                      ^
/Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:1407:15: warning: lambda capture 'ptr_col_ptr' is not used [-Wunused-lambda-capture]
      return [ptr_col_ptr, indices, data_ptr, ncol_ptr, nelem, start, end] (int bias) {
              ^
/Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:1407:47: warning: lambda capture 'ncol_ptr' is not used [-Wunused-lambda-capture]
      return [ptr_col_ptr, indices, data_ptr, ncol_ptr, nelem, start, end] (int bias) {
                                              ^
/Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:1407:57: warning: lambda capture 'nelem' is not used [-Wunused-lambda-capture]
      return [ptr_col_ptr, indices, data_ptr, ncol_ptr, nelem, start, end] (int bias) {
                                                        ^
/Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:1420:15: warning: lambda capture 'ptr_col_ptr' is not used [-Wunused-lambda-capture]
      return [ptr_col_ptr, indices, data_ptr, ncol_ptr, nelem, start, end] (int bias) {
              ^
/Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:1420:47: warning: lambda capture 'ncol_ptr' is not used [-Wunused-lambda-capture]
      return [ptr_col_ptr, indices, data_ptr, ncol_ptr, nelem, start, end] (int bias) {
                                              ^
/Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:1420:57: warning: lambda capture 'nelem' is not used [-Wunused-lambda-capture]
      return [ptr_col_ptr, indices, data_ptr, ncol_ptr, nelem, start, end] (int bias) {
                                                        ^
/Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:1436:15: warning: lambda capture 'ptr_col_ptr' is not used [-Wunused-lambda-capture]
      return [ptr_col_ptr, indices, data_ptr, ncol_ptr, nelem, start, end] (int bias) {
              ^
/Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:1436:47: warning: lambda capture 'ncol_ptr' is not used [-Wunused-lambda-capture]
      return [ptr_col_ptr, indices, data_ptr, ncol_ptr, nelem, start, end] (int bias) {
                                              ^
/Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:1436:57: warning: lambda capture 'nelem' is not used [-Wunused-lambda-capture]
      return [ptr_col_ptr, indices, data_ptr, ncol_ptr, nelem, start, end] (int bias) {
                                                        ^
/Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:1449:15: warning: lambda capture 'ptr_col_ptr' is not used [-Wunused-lambda-capture]
      return [ptr_col_ptr, indices, data_ptr, ncol_ptr, nelem, start, end] (int bias) {
              ^
/Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:1449:47: warning: lambda capture 'ncol_ptr' is not used [-Wunused-lambda-capture]
      return [ptr_col_ptr, indices, data_ptr, ncol_ptr, nelem, start, end] (int bias) {
                                              ^
/Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:1449:57: warning: lambda capture 'nelem' is not used [-Wunused-lambda-capture]
      return [ptr_col_ptr, indices, data_ptr, ncol_ptr, nelem, start, end] (int bias) {
                                                        ^
28 warnings generated.
[  6%] Building CXX object CMakeFiles/_lightgbm.dir/src/lightgbm_R.cpp.o
In file included from /Users/travis/build/Microsoft/LightGBM/src/lightgbm_R.cpp:11:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/text_reader.h:4:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/pipeline_reader.h:49:33: warning: lambda capture 'buffer_size' is not required to be captured for this use [-Wunused-lambda-capture]
        [&reader, &buffer_read, buffer_size, &last_read_cnt] {
                                ^
1 warning generated.
[  9%] Building CXX object CMakeFiles/_lightgbm.dir/src/application/application.cpp.o
In file included from /Users/travis/build/Microsoft/LightGBM/src/application/application.cpp:4:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/text_reader.h:4:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/pipeline_reader.h:49:33: warning: lambda capture 'buffer_size' is not required to be captured for this use [-Wunused-lambda-capture]
        [&reader, &buffer_read, buffer_size, &last_read_cnt] {
                                ^
In file included from /Users/travis/build/Microsoft/LightGBM/src/application/application.cpp:14:
/Users/travis/build/Microsoft/LightGBM/src/application/predictor.hpp:66:29: warning: lambda capture 'kFeatureThreshold' is not required to be captured for this use [-Wunused-lambda-capture]
      predict_fun_ = [this, kFeatureThreshold, KSparseThreshold](const std::vector<std::pair<int, double>>& features, double* output) {
                            ^
/Users/travis/build/Microsoft/LightGBM/src/application/predictor.hpp:88:31: warning: lambda capture 'kFeatureThreshold' is not required to be captured for this use [-Wunused-lambda-capture]
        predict_fun_ = [this, kFeatureThreshold, KSparseThreshold](const std::vector<std::pair<int, double>>& features, double* output) {
                              ^
/Users/travis/build/Microsoft/LightGBM/src/application/predictor.hpp:100:31: warning: lambda capture 'kFeatureThreshold' is not required to be captured for this use [-Wunused-lambda-capture]
        predict_fun_ = [this, kFeatureThreshold, KSparseThreshold](const std::vector<std::pair<int, double>>& features, double* output) {
                              ^
/Users/travis/build/Microsoft/LightGBM/src/application/predictor.hpp:166:19: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
    parser_fun = [this, &parser, &tmp_label, &need_adjust, &feature_names_map_]
                  ^
/Users/travis/build/Microsoft/LightGBM/src/application/predictor.hpp:24:12: warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
    return std::move(buf);
           ^
/Users/travis/build/Microsoft/LightGBM/src/application/predictor.hpp:244:12: note: remove std::move call here
    return std::move(buf);
           ^~~~~~~~~~   ~
6 warnings generated.
[ 12%] Building CXX object CMakeFiles/_lightgbm.dir/src/boosting/boosting.cpp.o
In file included from /Users/travis/build/Microsoft/LightGBM/src/boosting/boosting.cpp:2:
In file included from /Users/travis/build/Microsoft/LightGBM/src/boosting/gbdt.h:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/objective_function.h:6:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/dataset.h:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/text_reader.h:4:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/pipeline_reader.h:49:33: warning: lambda capture 'buffer_size' is not required to be captured for this use [-Wunused-lambda-capture]
        [&reader, &buffer_read, buffer_size, &last_read_cnt] {
                                ^
1 warning generated.
[ 15%] Building CXX object CMakeFiles/_lightgbm.dir/src/boosting/gbdt.cpp.o
In file included from /Users/travis/build/Microsoft/LightGBM/src/boosting/gbdt.cpp:1:
In file included from /Users/travis/build/Microsoft/LightGBM/src/boosting/gbdt.h:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/objective_function.h:6:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/dataset.h:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/text_reader.h:4:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/pipeline_reader.h:49:33: warning: lambda capture 'buffer_size' is not required to be captured for this use [-Wunused-lambda-capture]
        [&reader, &buffer_read, buffer_size, &last_read_cnt] {
                                ^
1 warning generated.
[ 18%] Building CXX object CMakeFiles/_lightgbm.dir/src/boosting/gbdt_model_text.cpp.o
In file included from /Users/travis/build/Microsoft/LightGBM/src/boosting/gbdt_model_text.cpp:1:
In file included from /Users/travis/build/Microsoft/LightGBM/src/boosting/gbdt.h:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/objective_function.h:6:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/dataset.h:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/text_reader.h:4:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/pipeline_reader.h:49:33: warning: lambda capture 'buffer_size' is not required to be captured for this use [-Wunused-lambda-capture]
        [&reader, &buffer_read, buffer_size, &last_read_cnt] {
                                ^
1 warning generated.
[ 21%] Building CXX object CMakeFiles/_lightgbm.dir/src/boosting/gbdt_prediction.cpp.o
In file included from /Users/travis/build/Microsoft/LightGBM/src/boosting/gbdt_prediction.cpp:1:
In file included from /Users/travis/build/Microsoft/LightGBM/src/boosting/gbdt.h:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/objective_function.h:6:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/dataset.h:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/text_reader.h:4:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/pipeline_reader.h:49:33: warning: lambda capture 'buffer_size' is not required to be captured for this use [-Wunused-lambda-capture]
        [&reader, &buffer_read, buffer_size, &last_read_cnt] {
                                ^
1 warning generated.
[ 25%] Building CXX object CMakeFiles/_lightgbm.dir/src/boosting/prediction_early_stop.cpp.o
[ 28%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/bin.cpp.o
[ 31%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/config.cpp.o
[ 34%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/config_auto.cpp.o
[ 37%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/dataset.cpp.o
In file included from /Users/travis/build/Microsoft/LightGBM/src/io/dataset.cpp:1:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/dataset.h:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/text_reader.h:4:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/pipeline_reader.h:49:33: warning: lambda capture 'buffer_size' is not required to be captured for this use [-Wunused-lambda-capture]
        [&reader, &buffer_read, buffer_size, &last_read_cnt] {
                                ^
1 warning generated.
[ 40%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/dataset_loader.cpp.o
In file included from /Users/travis/build/Microsoft/LightGBM/src/io/dataset_loader.cpp:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/dataset_loader.h:4:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/dataset.h:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/text_reader.h:4:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/pipeline_reader.h:49:33: warning: lambda capture 'buffer_size' is not required to be captured for this use [-Wunused-lambda-capture]
        [&reader, &buffer_read, buffer_size, &last_read_cnt] {
                                ^
In file included from /Users/travis/build/Microsoft/LightGBM/src/io/dataset_loader.cpp:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/dataset_loader.h:4:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/dataset.h:5:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/text_reader.h:224:8: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
      [this](INDEX_T, const char*, size_t) {
       ^
/Users/travis/build/Microsoft/LightGBM/src/io/dataset_loader.cpp:248:65: note: in instantiation of member function 'LightGBM::TextReader<int>::CountLine' requested here
      dataset->num_data_ = static_cast<data_size_t>(text_reader.CountLine());
                                                                ^
In file included from /Users/travis/build/Microsoft/LightGBM/src/io/dataset_loader.cpp:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/dataset_loader.h:4:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/dataset.h:5:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/text_reader.h:165:8: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
      [this, &random, &cur_sample_cnt, &sample_cnt, &out_sampled_data]
       ^
/Users/travis/build/Microsoft/LightGBM/src/io/dataset_loader.cpp:728:61: note: in instantiation of member function 'LightGBM::TextReader<int>::SampleFromFile' requested here
    *num_global_data = static_cast<data_size_t>(text_reader.SampleFromFile(random_, sample_cnt, &out_data));
                                                            ^
In file included from /Users/travis/build/Microsoft/LightGBM/src/io/dataset_loader.cpp:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/dataset_loader.h:4:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/dataset.h:5:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/text_reader.h:202:8: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
      [this, &out_used_data_indices, &filter_fun, &random, &cur_sample_cnt, &sample_cnt, &out_sampled_data]
       ^
/Users/travis/build/Microsoft/LightGBM/src/io/dataset_loader.cpp:734:38: note: in instantiation of member function 'LightGBM::TextReader<int>::SampleAndFilterFromFile' requested here
      *num_global_data = text_reader.SampleAndFilterFromFile([this, rank, num_machines]
                                     ^
4 warnings generated.
[ 43%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/file_io.cpp.o
[ 46%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/json11.cpp.o
[ 50%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/metadata.cpp.o
In file included from /Users/travis/build/Microsoft/LightGBM/src/io/metadata.cpp:1:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/dataset.h:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/text_reader.h:4:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/pipeline_reader.h:49:33: warning: lambda capture 'buffer_size' is not required to be captured for this use [-Wunused-lambda-capture]
        [&reader, &buffer_read, buffer_size, &last_read_cnt] {
                                ^
1 warning generated.
[ 53%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/parser.cpp.o
In file included from /Users/travis/build/Microsoft/LightGBM/src/io/parser.cpp:1:
In file included from /Users/travis/build/Microsoft/LightGBM/src/io/parser.hpp:7:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/dataset.h:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/text_reader.h:4:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/pipeline_reader.h:49:33: warning: lambda capture 'buffer_size' is not required to be captured for this use [-Wunused-lambda-capture]
        [&reader, &buffer_read, buffer_size, &last_read_cnt] {
                                ^
1 warning generated.
[ 56%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/tree.cpp.o
In file included from /Users/travis/build/Microsoft/LightGBM/src/io/tree.cpp:1:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/tree.h:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/dataset.h:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/text_reader.h:4:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/pipeline_reader.h:49:33: warning: lambda capture 'buffer_size' is not required to be captured for this use [-Wunused-lambda-capture]
        [&reader, &buffer_read, buffer_size, &last_read_cnt] {
                                ^
1 warning generated.
[ 59%] Building CXX object CMakeFiles/_lightgbm.dir/src/metric/dcg_calculator.cpp.o
In file included from /Users/travis/build/Microsoft/LightGBM/src/metric/dcg_calculator.cpp:1:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/metric.h:6:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/dataset.h:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/text_reader.h:4:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/pipeline_reader.h:49:33: warning: lambda capture 'buffer_size' is not required to be captured for this use [-Wunused-lambda-capture]
        [&reader, &buffer_read, buffer_size, &last_read_cnt] {
                                ^
1 warning generated.
[ 62%] Building CXX object CMakeFiles/_lightgbm.dir/src/metric/metric.cpp.o
In file included from /Users/travis/build/Microsoft/LightGBM/src/metric/metric.cpp:1:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/metric.h:6:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/dataset.h:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/text_reader.h:4:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/pipeline_reader.h:49:33: warning: lambda capture 'buffer_size' is not required to be captured for this use [-Wunused-lambda-capture]
        [&reader, &buffer_read, buffer_size, &last_read_cnt] {
                                ^
1 warning generated.
[ 65%] Building CXX object CMakeFiles/_lightgbm.dir/src/network/linker_topo.cpp.o
[ 68%] Building CXX object CMakeFiles/_lightgbm.dir/src/network/linkers_mpi.cpp.o
[ 71%] Building CXX object CMakeFiles/_lightgbm.dir/src/network/linkers_socket.cpp.o
In file included from /Users/travis/build/Microsoft/LightGBM/src/network/linkers_socket.cpp:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/text_reader.h:4:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/pipeline_reader.h:49:33: warning: lambda capture 'buffer_size' is not required to be captured for this use [-Wunused-lambda-capture]
        [&reader, &buffer_read, buffer_size, &last_read_cnt] {
                                ^
1 warning generated.
[ 75%] Building CXX object CMakeFiles/_lightgbm.dir/src/network/network.cpp.o
[ 78%] Building CXX object CMakeFiles/_lightgbm.dir/src/objective/objective_function.cpp.
In file included from /Users/travis/build/Microsoft/LightGBM/src/objective/objective_function.cpp:1:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/objective_function.h:6:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/dataset.h:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/text_reader.h:4:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/pipeline_reader.h:49:33: warning: lambda capture 'buffer_size' is not required to be captured for this use [-Wunused-lambda-capture]
        [&reader, &buffer_read, buffer_size, &last_read_cnt] {
                                ^
1 warning generated.
[ 81%] Building CXX object CMakeFiles/_lightgbm.dir/src/treelearner/data_parallel_tree_learner.cpp.o
In file included from /Users/travis/build/Microsoft/LightGBM/src/treelearner/data_parallel_tree_learner.cpp:1:
In file included from /Users/travis/build/Microsoft/LightGBM/src/treelearner/parallel_tree_learner.h:7:
In file included from /Users/travis/build/Microsoft/LightGBM/src/treelearner/serial_tree_learner.h:8:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/dataset.h:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/text_reader.h:4:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/pipeline_reader.h:49:33: warning: lambda capture 'buffer_size' is not required to be captured for this use [-Wunused-lambda-capture]
        [&reader, &buffer_read, buffer_size, &last_read_cnt] {
                                ^
1 warning generated.
[ 84%] Building CXX object CMakeFiles/_lightgbm.dir/src/treelearner/feature_parallel_tree_learner.cpp.o
In file included from /Users/travis/build/Microsoft/LightGBM/src/treelearner/feature_parallel_tree_learner.cpp:1:
In file included from /Users/travis/build/Microsoft/LightGBM/src/treelearner/parallel_tree_learner.h:7:
In file included from /Users/travis/build/Microsoft/LightGBM/src/treelearner/serial_tree_learner.h:8:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/dataset.h:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/text_reader.h:4:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/pipeline_reader.h:49:33: warning: lambda capture 'buffer_size' is not required to be captured for this use [-Wunused-lambda-capture]
        [&reader, &buffer_read, buffer_size, &last_read_cnt] {
                                ^
1 warning generated.
[ 87%] Building CXX object CMakeFiles/_lightgbm.dir/src/treelearner/gpu_tree_learner.cpp.o
[ 90%] Building CXX object CMakeFiles/_lightgbm.dir/src/treelearner/serial_tree_learner.cpp.o
In file included from /Users/travis/build/Microsoft/LightGBM/src/treelearner/serial_tree_learner.cpp:1:
In file included from /Users/travis/build/Microsoft/LightGBM/src/treelearner/serial_tree_learner.h:8:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/dataset.h:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/text_reader.h:4:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/pipeline_reader.h:49:33: warning: lambda capture 'buffer_size' is not required to be captured for this use [-Wunused-lambda-capture]
        [&reader, &buffer_read, buffer_size, &last_read_cnt] {
                                ^
1 warning generated.
[ 93%] Building CXX object CMakeFiles/_lightgbm.dir/src/treelearner/tree_learner.cpp.o
In file included from /Users/travis/build/Microsoft/LightGBM/src/treelearner/tree_learner.cpp:3:
In file included from /Users/travis/build/Microsoft/LightGBM/src/treelearner/serial_tree_learner.h:8:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/dataset.h:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/text_reader.h:4:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/pipeline_reader.h:49:33: warning: lambda capture 'buffer_size' is not required to be captured for this use [-Wunused-lambda-capture]
        [&reader, &buffer_read, buffer_size, &last_read_cnt] {
                                ^
1 warning generated.
[ 96%] Building CXX object CMakeFiles/_lightgbm.dir/src/treelearner/voting_parallel_tree_learner.cpp.o
In file included from /Users/travis/build/Microsoft/LightGBM/src/treelearner/voting_parallel_tree_learner.cpp:1:
In file included from /Users/travis/build/Microsoft/LightGBM/src/treelearner/parallel_tree_learner.h:7:
In file included from /Users/travis/build/Microsoft/LightGBM/src/treelearner/serial_tree_learner.h:8:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/dataset.h:5:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/text_reader.h:4:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/pipeline_reader.h:49:33: warning: lambda capture 'buffer_size' is not required to be captured for this use [-Wunused-lambda-capture]
        [&reader, &buffer_read, buffer_size, &last_read_cnt] {
                                ^
1 warning generated.

Builds with old versions of Apple Clangs fail with the following errors:
Apple LLVM version 8.0.0 (clang-800.0.38)
-- The C compiler identification is AppleClang <IP_ADDRESS>00038
-- The CXX compiler identification is AppleClang <IP_ADDRESS>00038
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenMP_C: -Xclang -fopenmp (found version "4.0")
-- Found OpenMP_CXX: -Xclang -fopenmp (found version "4.0")
-- Found OpenMP: TRUE (found version "4.0")
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/travis/build/Microsoft/LightGBM/build
Scanning dependencies of target _lightgbm
[  3%] Building CXX object CMakeFiles/_lightgbm.dir/src/c_api.cpp.o
In file included from /Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:25:
/Users/travis/build/Microsoft/LightGBM/src/./application/predictor.hpp:244:12: warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
    return std::move(buf);
           ^
/Users/travis/build/Microsoft/LightGBM/src/./application/predictor.hpp:244:12: note: remove std::move call here
    return std::move(buf);
           ^~~~~~~~~~   ~
1 warning generated.
[  6%] Building CXX object CMakeFiles/_lightgbm.dir/src/lightgbm_R.cpp.o
[  9%] Building CXX object CMakeFiles/_lightgbm.dir/src/application/application.cpp.o
In file included from /Users/travis/build/Microsoft/LightGBM/src/application/application.cpp:14:
/Users/travis/build/Microsoft/LightGBM/src/application/predictor.hpp:244:12: warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
    return std::move(buf);
           ^
/Users/travis/build/Microsoft/LightGBM/src/application/predictor.hpp:244:12: note: remove std::move call here
    return std::move(buf);
           ^~~~~~~~~~   ~
1 warning generated.
[ 12%] Building CXX object CMakeFiles/_lightgbm.dir/src/boosting/boosting.cpp.o
[ 15%] Building CXX object CMakeFiles/_lightgbm.dir/src/boosting/gbdt.cpp.o
[ 18%] Building CXX object CMakeFiles/_lightgbm.dir/src/boosting/gbdt_model_text.cpp.o
[ 21%] Building CXX object CMakeFiles/_lightgbm.dir/src/boosting/gbdt_prediction.cpp.o
[ 25%] Building CXX object CMakeFiles/_lightgbm.dir/src/boosting/prediction_early_stop.cpp.o
[ 28%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/bin.cpp.o
[ 31%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/config.cpp.o
[ 34%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/config_auto.cpp.o
[ 37%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/dataset.cpp.o
[ 40%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/dataset_loader.cpp.o
[ 43%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/file_io.cpp.o
[ 46%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/json11.cpp.o
[ 50%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/metadata.cpp.o
[ 53%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/parser.cpp.o
[ 56%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/tree.cpp.o
clang: error: unable to execute command: Segmentation fault: 11
clang: error: clang frontend command failed due to signal (use -v to see invocation)
Apple LLVM version 8.0.0 (clang-800.0.38)
Target: x86_64-apple-darwin15.6.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
clang: note: diagnostic msg: PLEASE submit a bug report to http://developer.apple.com/bugreporter/ and include the crash backtrace, preprocessed source, and associated run script.
clang: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /var/folders/my/m6ynh3bn6tq06h7xr3js0z7r0000gn/T/tree-e4b822.cpp
clang: note: diagnostic msg: /var/folders/my/m6ynh3bn6tq06h7xr3js0z7r0000gn/T/tree-e4b822.sh
clang: note: diagnostic msg:
********************
make[3]: *** [CMakeFiles/_lightgbm.dir/src/io/tree.cpp.o] Error 254
make[2]: *** [CMakeFiles/_lightgbm.dir/all] Error 2
make[1]: *** [CMakeFiles/_lightgbm.dir/rule] Error 2
make: *** [_lightgbm] Error 2

Apple LLVM version 7.3.0 (clang-703.0.31)
-- The C compiler identification is AppleClang <IP_ADDRESS>30031
-- The CXX compiler identification is AppleClang <IP_ADDRESS>30031
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenMP_C: -Xclang -fopenmp (found version "4.0")
-- Found OpenMP_CXX: -Xclang -fopenmp (found version "4.0")
-- Found OpenMP: TRUE (found version "4.0")
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/travis/build/Microsoft/LightGBM/build
Scanning dependencies of target _lightgbm
[  3%] Building CXX object CMakeFiles/_lightgbm.dir/src/c_api.cpp.o
In file included from /Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:1:
In file included from /Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/openmp_wrapper.h:11:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/log.h:100:40: error: thread-local storage is not supported for the current target
  static LogLevel& GetLevel() { static THREAD_LOCAL LogLevel level = LogLevel::Info; return level; }
                                       ^
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/log.h:17:22: note: expanded from macro 'THREAD_LOCAL'
#define THREAD_LOCAL thread_local
                     ^
In file included from /Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:6:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/c_api.h:786:38: error: thread-local storage is not supported for the current target
static char* LastErrorMsg() { static THREAD_LOCAL char err_msg[512] = "Everything is fine"; return err_msg; }
                                     ^
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/log.h:17:22: note: expanded from macro 'THREAD_LOCAL'
#define THREAD_LOCAL thread_local
                     ^
In file included from /Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:14:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/network.h:276:10: error: thread-local storage is not supported for the current target
  static THREAD_LOCAL int num_machines_;
         ^
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/log.h:17:22: note: expanded from macro 'THREAD_LOCAL'
#define THREAD_LOCAL thread_local
                     ^
In file included from /Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:14:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/network.h:278:10: error: thread-local storage is not supported for the current target
  static THREAD_LOCAL int rank_;
         ^
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/log.h:17:22: note: expanded from macro 'THREAD_LOCAL'
#define THREAD_LOCAL thread_local
                     ^
In file included from /Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:14:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/network.h:280:10: error: thread-local storage is not supported for the current target
  static THREAD_LOCAL std::unique_ptr<Linkers> linkers_;
         ^
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/log.h:17:22: note: expanded from macro 'THREAD_LOCAL'
#define THREAD_LOCAL thread_local
                     ^
In file included from /Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:14:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/network.h:282:10: error: thread-local storage is not supported for the current target
  static THREAD_LOCAL BruckMap bruck_map_;
         ^
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/log.h:17:22: note: expanded from macro 'THREAD_LOCAL'
#define THREAD_LOCAL thread_local
                     ^
In file included from /Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:14:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/network.h:284:10: error: thread-local storage is not supported for the current target
  static THREAD_LOCAL RecursiveHalvingMap recursive_halving_map_;
         ^
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/log.h:17:22: note: expanded from macro 'THREAD_LOCAL'
#define THREAD_LOCAL thread_local
                     ^
In file included from /Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:14:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/network.h:286:10: error: thread-local storage is not supported for the current target
  static THREAD_LOCAL std::vector<comm_size_t> block_start_;
         ^
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/log.h:17:22: note: expanded from macro 'THREAD_LOCAL'
#define THREAD_LOCAL thread_local
                     ^
In file included from /Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:14:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/network.h:288:10: error: thread-local storage is not supported for the current target
  static THREAD_LOCAL std::vector<comm_size_t> block_len_;
         ^
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/log.h:17:22: note: expanded from macro 'THREAD_LOCAL'
#define THREAD_LOCAL thread_local
                     ^
In file included from /Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:14:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/network.h:290:10: error: thread-local storage is not supported for the current target
  static THREAD_LOCAL std::vector<char> buffer_;
         ^
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/log.h:17:22: note: expanded from macro 'THREAD_LOCAL'
#define THREAD_LOCAL thread_local
                     ^
In file included from /Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:14:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/network.h:292:10: error: thread-local storage is not supported for the current target
  static THREAD_LOCAL comm_size_t buffer_size_;
         ^
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/log.h:17:22: note: expanded from macro 'THREAD_LOCAL'
#define THREAD_LOCAL thread_local
                     ^
In file included from /Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:14:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/network.h:294:10: error: thread-local storage is not supported for the current target
  static THREAD_LOCAL ReduceScatterFunction reduce_scatter_ext_fun_;
         ^
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/log.h:17:22: note: expanded from macro 'THREAD_LOCAL'
#define THREAD_LOCAL thread_local
                     ^
In file included from /Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:14:
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/network.h:295:10: error: thread-local storage is not supported for the current target
  static THREAD_LOCAL AllgatherFunction allgather_ext_fun_;
         ^
/Users/travis/build/Microsoft/LightGBM/include/LightGBM/utils/log.h:17:22: note: expanded from macro 'THREAD_LOCAL'
#define THREAD_LOCAL thread_local
                     ^
In file included from /Users/travis/build/Microsoft/LightGBM/src/c_api.cpp:25:
/Users/travis/build/Microsoft/LightGBM/src/./application/predictor.hpp:244:12: warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
    return std::move(buf);
           ^
/Users/travis/build/Microsoft/LightGBM/src/./application/predictor.hpp:244:12: note: remove std::move call here
    return std::move(buf);
           ^~~~~~~~~~   ~
1 warning and 13 errors generated.
make[3]: *** [CMakeFiles/_lightgbm.dir/src/c_api.cpp.o] Error 1
make[2]: *** [CMakeFiles/_lightgbm.dir/all] Error 2
make[1]: *** [CMakeFiles/_lightgbm.dir/rule] Error 2
make: *** [_lightgbm] Error 2

ping @guolinke and @chivee for warnings and errors

does this relate to https://lightgbm.visualstudio.com/LightGBM-Build/LightGBM-Build Team/_build/results?buildId=207&view=logs

Sorry, I was wrong when I suggested to move cmake_minimum_required check to the top of the file. The thing is that CMAKE_CXX_COMPILER_ID variable is available only after PROJECT() command.
BTW, this check
https://github.com/Microsoft/LightGBM/blob/65e63967e786fe6797f79ba515e39b47ad870dbc/CMakeLists.txt#L3-L4
(refer to #723) have been never performed by the same reason (now moved down).
It's need to be mentioned that AppleClang value was introduced only in CMake 3.0. But as we require 3.2 version for any Apple compile,
https://github.com/Microsoft/LightGBM/blob/65e63967e786fe6797f79ba515e39b47ad870dbc/CMakeLists.txt#L5-L6
it's OK to perform this check:
https://github.com/Microsoft/LightGBM/blob/9dcafa7021b32e956d1199d67a351cf976e0a477/CMakeLists.txt#L24

@chivee Nope. The reason is #1519

How about the binary(python wheel) ?
can we replace it with clang version ? and then users don't need to install gcc. However, it may still require to upgrade clang.

@guolinke Good question! :-)
I wanted to create a separate issue for this. Or at least use #1523 because this PR is expected to be verbose even without it.

Finally Travis team repaired xcode6.4 image and I re-tested AppleClang 6.1.0.
It fails to find OpenMP even with CMake 3.12:
-- The C compiler identification is AppleClang <IP_ADDRESS>20053
-- The CXX compiler identification is AppleClang <IP_ADDRESS>20053
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at /usr/local/Cellar/cmake/HEAD-1a1eeda/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS OpenMP_C_LIB_NAMES)
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/HEAD-1a1eeda/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  /usr/local/Cellar/cmake/HEAD-1a1eeda/share/cmake/Modules/FindOpenMP.cmake:466 (find_package_handle_standard_args)
  CMakeLists.txt:67 (find_package)
-- Configuring incomplete, errors occurred!
See also "/Users/travis/build/Microsoft/LightGBM/build/CMakeFiles/CMakeOutput.log".
make: *** No rule to make target `_lightgbm'.  Stop.

However,
Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)

and our CMakeLists says that Clang >= 3.8 is needed
https://github.com/Microsoft/LightGBM/blob/c6cdea75a3f7732a13c21c760c1bf221441a5c79/CMakeLists.txt#L24-L28
so I think it doesn't worth to dig into this problem.

Plotting test is failing again (only with AppleClang) with the weird error:
============================= test session starts ==============================
platform darwin -- Python 3.6.6, pytest-3.6.2, py-1.5.3, pluggy-0.6.0
rootdir: /Users/travis/build/Microsoft/LightGBM, inifile:
collected 56 items
../tests/c_api_test/test_.py ssssss..                                    [ 14%]
../tests/python_package_test/test_basic.py ..                            [ 17%]
../tests/python_package_test/test_consistency.py ....                    [ 25%]
../tests/python_package_test/test_engine.py ......................       [ 64%]
../tests/python_package_test/test_plotting.py ....travis/test.sh: line 104: 15452 Abort trap: 6           pytest $TRAVIS_BUILD_DIR
The command "bash .travis/test.sh" exited with 255.

All other tests are passed.
Any ideas?

OK, I've identified that the failing test is test_plot_tree.

Tried to run examples:
it fails on python-guide/logistic_regression.py
https://github.com/Microsoft/LightGBM/blob/3384713e4f013dcd93a2b0a282d80c0c562146c6/examples/python-guide/logistic_regression.py#L85-L86
with
Performance of `binary` objective with binary labels:
OMP: Error #15: Initializing libiomp5.dylib, but found libomp.dylib already initialized.
OMP: Hint: This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performance or cause incorrect results. The best thing to do is to ensure that only a single OpenMP runtime is linked into the process, e.g. by avoiding static linking of the OpenMP runtime in any library. As an unsafe, unsupported, undocumented workaround you can set the environment variable KMP_DUPLICATE_LIB_OK=TRUE to allow the program to continue to execute, but that may cause crashes or silently produce incorrect results. For more information, please see http://www.intel.com/software/products/support/.
.travis/test.sh: line 106: 15727 Abort trap: 6           python $f

Also ping @levyfan
Can you please check the possibility to run Python examples on your machine?
python ./examples/python-guide/logistic_regression.py

@StrikerRUS ok to run on my laptop
(py27) localhost:LightGBM fanliwen$ python ./examples/python-guide/logistic_regression.py
Performance of `binary` objective with binary labels:
{'logloss': 0.15545640415178236, 'correlation': 0.6012584922759887, 'time': 0.016366958618164062}
Performance of `xentropy` objective with binary labels:
{'logloss': 0.15545640415178236, 'correlation': 0.6012584922759887, 'time': 0.006663084030151367}
Performance of `xentropy` objective with probability labels:
{'logloss': 0.1551448517607808, 'correlation': 0.8841891508165867, 'time': 0.02840709686279297}
Best `binary` time: 0.00641584396362
Best `xentropy` time: 0.00634908676147

Thank you @levyfan !
Unfortunately, those fixes from the referenced issue don't work.

I have another little request @levyfan
If it's not hard for you, please run pytest ./tests/python_package_test/test_plotting.py. It also fails at CI side.

@StrikerRUS you are welcome. test_plotting also works on my laptop.
(py-virtualenv-base) tianludeMacBook-Pro:LightGBM tianlu$ pytest ./tests/python_package_test/test_plotting.py
===================================================================== test session starts ======================================================================
platform darwin -- Python 2.7.10, pytest-3.6.3, py-1.5.4, pluggy-0.6.0
rootdir: /Users/tianlu/github/LightGBM, inifile:
collected 4 items

tests/python_package_test/test_plotting.py ....                                                                                [100%]

======================================================================= warnings summary =======================================================================
tests/python_package_test/test_plotting.py::TestBasic::test_plot_metrics
  /Users/tianlu/github/LightGBM/tests/python_package_test/test_plotting.py:115: UserWarning: more than one metric available, picking one to plot.
    ax0 = lgb.plot_metric(evals_result0)

-- Docs: http://doc.pytest.org/en/latest/warnings.html
============================================================= 4 passed, 1 warnings in 2.63 seconds =============================================================

@levyfan Many thanks!

Great! CMake 3.12 is not RC anymore.

It turned out that the root of the problem was in conda's mkl package. MKL is a numpy's dependency and it comes with own OpenMP library which installs into conda's environment directory. Problem was solved by symlinking these MKL's OpenMP library files to system ones, which are installed by brew.
FYI, problem of conflict between MKL and system OpenMP is a real headache. There are dozens of issues which can be found by googling conda mkl openmp error #15. The most popular advices are to set dangerous KMP_DUPLICATE_LIB_OK=TRUE as it's suggested in the error description, update mkl to 2018.0.3 (didn't work for Travis), install llvm-openmp (also didn't help), use pip, install no-mkl version of numpy, etc.

@guolinke Why STATUS here? Maybe FATAL_ERROR is better?
https://cmake.org/cmake/help/v3.12/command/message.html
https://github.com/Microsoft/LightGBM/blob/04e2356baffcc1303988916c11fdd8e53bb8073b/CMakeLists.txt#L113-L115
Refer to 70c31c075dbea597c141b2230d261caa3e13f82c and #1024.

Added some info about OMP Error #15 in FAQ.
Moved APPLE_OUTPUT_DYLIB closer to other options.
Updated installation guide. Principal changes:

added info that LightGBM can be compiled on Linux with Clang;
added guide for compiling MPI version on macOS with Apple Clang;
left only guide for compiling HDFS version on Linux and marked it as untested (to be honest, I'm not sure that this version can be compiled at all. For instance, we don't provide FindHDFS CMake module like this one https://github.com/dmlc/dmlc-core/blob/master/cmake/Modules/FindHDFS.cmake and HDFS_CXX_LIBRARIES variable appears in Google results only in LightGBM repo (see screen below));
fixed make target of SWIG version.

gcc produces many warnings while compiling SWIG version:

-- The C compiler identification is GNU 4.8.4

-- The CXX compiler identification is GNU 4.8.4

-- Check for working C compiler: /usr/bin/cc

-- Check for working C compiler: /usr/bin/cc -- works

-- Detecting C compiler ABI info

-- Detecting C compiler ABI info - done

-- Detecting C compile features

-- Detecting C compile features - done

-- Check for working CXX compiler: /usr/bin/c++

-- Check for working CXX compiler: /usr/bin/c++ -- works

-- Detecting CXX compiler ABI info

-- Detecting CXX compiler ABI info - done

-- Detecting CXX compile features

-- Detecting CXX compile features - done

-- Found SWIG: /usr/bin/swig2.0 (found version "2.0.11")

-- Found Java: /usr/lib/jvm/java-8-oracle/bin/java (found version "<IP_ADDRESS>")

-- Found JNI: /usr/lib/jvm/java-8-oracle/jre/lib/amd64/libjawt.so

CMake Warning (dev) at /usr/local/cmake-3.9.2/share/cmake-3.9/Modules/FindOpenMP.cmake:200 (if):

  Policy CMP0054 is not set: Only interpret if() arguments as variables or

  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy

  details.  Use the cmake_policy command to set the policy and suppress this

  warning.

  Quoted variables like "c" will no longer be dereferenced when the policy is

  set to NEW.  Since the policy is not set the OLD behavior will be used.

Call Stack (most recent call first):

  /usr/local/cmake-3.9.2/share/cmake-3.9/Modules/FindOpenMP.cmake:324 (_OPENMP_GET_FLAGS)

  CMakeLists.txt:73 (find_package)

This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found OpenMP_C: -fopenmp (found version "3.1")

-- Found OpenMP_CXX: -fopenmp (found version "3.1")

CMake Deprecation Warning at /usr/local/cmake-3.9.2/share/cmake-3.9/Modules/UseSWIG.cmake:228 (message):

  SWIG_ADD_MODULE is deprecated.  Use SWIG_ADD_LIBRARY instead.

Call Stack (most recent call first):

  CMakeLists.txt:171 (swig_add_module)

-- Configuring done

-- Generating done

-- Build files have been written to: /home/travis/build/Microsoft/LightGBM/build

Scanning dependencies of target _lightgbm

[  2%] Building CXX object CMakeFiles/_lightgbm.dir/src/c_api.cpp.o

[  5%] Building CXX object CMakeFiles/_lightgbm.dir/src/lightgbm_R.cpp.o

[  8%] Building CXX object CMakeFiles/_lightgbm.dir/src/application/application.cpp.o

[ 11%] Building CXX object CMakeFiles/_lightgbm.dir/src/boosting/boosting.cpp.o

[ 14%] Building CXX object CMakeFiles/_lightgbm.dir/src/boosting/gbdt.cpp.o

[ 17%] Building CXX object CMakeFiles/_lightgbm.dir/src/boosting/gbdt_model_text.cpp.o

[ 20%] Building CXX object CMakeFiles/_lightgbm.dir/src/boosting/gbdt_prediction.cpp.o

[ 22%] Building CXX object CMakeFiles/_lightgbm.dir/src/boosting/prediction_early_stop.cpp.o

[ 25%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/bin.cpp.o

[ 28%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/config.cpp.o

[ 31%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/config_auto.cpp.o

[ 34%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/dataset.cpp.o

[ 37%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/dataset_loader.cpp.o

[ 40%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/file_io.cpp.o

[ 42%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/json11.cpp.o

[ 45%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/metadata.cpp.o

[ 48%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/parser.cpp.o

[ 51%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/tree.cpp.o

[ 54%] Building CXX object CMakeFiles/_lightgbm.dir/src/metric/dcg_calculator.cpp.o

[ 57%] Building CXX object CMakeFiles/_lightgbm.dir/src/metric/metric.cpp.o

[ 60%] Building CXX object CMakeFiles/_lightgbm.dir/src/objective/objective_function.cpp.o

[ 62%] Building CXX object CMakeFiles/_lightgbm.dir/src/network/linker_topo.cpp.o

[ 65%] Building CXX object CMakeFiles/_lightgbm.dir/src/network/linkers_mpi.cpp.o

[ 68%] Building CXX object CMakeFiles/_lightgbm.dir/src/network/linkers_socket.cpp.o

[ 71%] Building CXX object CMakeFiles/_lightgbm.dir/src/network/network.cpp.o

[ 74%] Building CXX object CMakeFiles/_lightgbm.dir/src/treelearner/data_parallel_tree_learner.cpp.o

[ 77%] Building CXX object CMakeFiles/_lightgbm.dir/src/treelearner/feature_parallel_tree_learner.cpp.o

[ 80%] Building CXX object CMakeFiles/_lightgbm.dir/src/treelearner/gpu_tree_learner.cpp.o

[ 82%] Building CXX object CMakeFiles/_lightgbm.dir/src/treelearner/serial_tree_learner.cpp.o

[ 85%] Building CXX object CMakeFiles/_lightgbm.dir/src/treelearner/tree_learner.cpp.o

[ 88%] Building CXX object CMakeFiles/_lightgbm.dir/src/treelearner/voting_parallel_tree_learner.cpp.o

[ 91%] Linking CXX shared library ../lib_lightgbm.so

[ 91%] Built target _lightgbm

[ 94%] Swig source

Scanning dependencies of target _lightgbm_swig

[ 97%] Building CXX object CMakeFiles/_lightgbm_swig.dir/java/lightgbmlibJAVA_wrap.cxx.o

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1DatasetCreateFromFile(JNIEnv*, jclass, jstring, jstring, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:615:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg3 = *(DatasetHandle *)&jarg3;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:616:30: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg4 = *(DatasetHandle **)&jarg4;

                              ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1DatasetCreateFromSampledColumn(JNIEnv*, jclass, jlong, jlong, jlong, jlong, jlong, jlong, jstring, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:642:24: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(double ***)&jarg1;

                        ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:643:21: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg2 = *(int ***)&jarg2;

                     ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:644:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp3 = *(int32_t **)&jarg3;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:650:20: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg4 = *(int **)&jarg4;

                    ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:651:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp5 = *(int32_t **)&jarg5;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:657:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp6 = *(int32_t **)&jarg6;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:668:30: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg8 = *(DatasetHandle **)&jarg8;

                              ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1DatasetCreateByReference(JNIEnv*, jclass, jlong, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:686:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(DatasetHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:687:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp2 = *(int64_t **)&jarg2;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:693:30: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg3 = *(DatasetHandle **)&jarg3;

                              ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1DatasetPushRows(JNIEnv*, jclass, jlong, jlong, jint, jlong, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:715:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(DatasetHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:716:21: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg2 = *(void **)&jarg2;

                     ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:718:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp4 = *(int32_t **)&jarg4;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:724:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp5 = *(int32_t **)&jarg5;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:730:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp6 = *(int32_t **)&jarg6;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1DatasetPushRowsByCSR(JNIEnv*, jclass, jlong, jlong, jint, jlong, jlong, jint, jlong, jlong, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:762:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(DatasetHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:763:21: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg2 = *(void **)&jarg2;

                     ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:765:24: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg4 = *(int32_t **)&jarg4;

                        ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:766:21: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg5 = *(void **)&jarg5;

                     ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:768:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp7 = *(int64_t **)&jarg7;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:774:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp8 = *(int64_t **)&jarg8;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:780:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp9 = *(int64_t **)&jarg9;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:786:26: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp10 = *(int64_t **)&jarg10;

                          ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1DatasetCreateFromCSR(JNIEnv*, jclass, jlong, jint, jlong, jlong, jint, jlong, jlong, jlong, jstring, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:818:21: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(void **)&jarg1;

                     ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:820:24: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg3 = *(int32_t **)&jarg3;

                        ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:821:21: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg4 = *(void **)&jarg4;

                     ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:823:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp6 = *(int64_t **)&jarg6;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:829:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp7 = *(int64_t **)&jarg7;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:835:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp8 = *(int64_t **)&jarg8;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:846:30: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg10 = *(DatasetHandle *)&jarg10;

                              ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:847:31: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg11 = *(DatasetHandle **)&jarg11;

                               ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1DatasetCreateFromCSC(JNIEnv*, jclass, jlong, jint, jlong, jlong, jint, jlong, jlong, jlong, jstring, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:875:21: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(void **)&jarg1;

                     ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:877:24: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg3 = *(int32_t **)&jarg3;

                        ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:878:21: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg4 = *(void **)&jarg4;

                     ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:880:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp6 = *(int64_t **)&jarg6;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:886:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp7 = *(int64_t **)&jarg7;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:892:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp8 = *(int64_t **)&jarg8;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:903:30: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg10 = *(DatasetHandle *)&jarg10;

                              ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:904:31: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg11 = *(DatasetHandle **)&jarg11;

                               ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1DatasetCreateFromMat(JNIEnv*, jclass, jlong, jint, jlong, jlong, jint, jstring, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:928:21: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(void **)&jarg1;

                     ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:930:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp3 = *(int32_t **)&jarg3;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:936:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp4 = *(int32_t **)&jarg4;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:948:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg7 = *(DatasetHandle *)&jarg7;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:949:30: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg8 = *(DatasetHandle **)&jarg8;

                              ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1DatasetCreateFromMats(JNIEnv*, jclass, jlong, jlong, jint, jlong, jlong, jint, jstring, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:974:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp1 = *(int32_t **)&jarg1;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:980:22: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg2 = *(void ***)&jarg2;

                      ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:982:24: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg4 = *(int32_t **)&jarg4;

                        ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:983:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp5 = *(int32_t **)&jarg5;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:995:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg8 = *(DatasetHandle *)&jarg8;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:996:30: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg9 = *(DatasetHandle **)&jarg9;

                              ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1DatasetGetSubset(JNIEnv*, jclass, jlong, jlong, jlong, jstring, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1016:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(DatasetHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1017:24: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg2 = *(int32_t **)&jarg2;

                        ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1018:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp3 = *(int32_t **)&jarg3;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1029:30: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg5 = *(DatasetHandle **)&jarg5;

                              ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1DatasetSetFeatureNames(JNIEnv*, jclass, jlong, jlong, jint)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1046:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(DatasetHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1047:22: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg2 = *(char ***)&jarg2;

                      ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1DatasetGetFeatureNames(JNIEnv*, jclass, jlong, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1064:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(DatasetHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1065:22: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg2 = *(char ***)&jarg2;

                      ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1066:20: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg3 = *(int **)&jarg3;

                    ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1DatasetFree(JNIEnv*, jclass, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1080:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(DatasetHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1DatasetSaveBinary(JNIEnv*, jclass, jlong, jstring)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1095:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(DatasetHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1DatasetSetField(JNIEnv*, jclass, jlong, jstring, jlong, jint, jint)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1119:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(DatasetHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1125:21: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg3 = *(void **)&jarg3;

                     ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1DatasetGetField(JNIEnv*, jclass, jlong, jstring, jlong, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1146:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(DatasetHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1152:20: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg3 = *(int **)&jarg3;

                    ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1153:22: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg4 = *(void ***)&jarg4;

                      ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1154:20: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg5 = *(int **)&jarg5;

                    ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1DatasetGetNumData(JNIEnv*, jclass, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1170:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(DatasetHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1171:20: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg2 = *(int **)&jarg2;

                    ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1DatasetGetNumFeature(JNIEnv*, jclass, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1186:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(DatasetHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1187:20: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg2 = *(int **)&jarg2;

                    ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterCreate(JNIEnv*, jclass, jlong, jstring, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1203:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(DatasetHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1209:30: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg3 = *(BoosterHandle **)&jarg3;

                              ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterCreateFromModelfile(JNIEnv*, jclass, jstring, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1231:20: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg2 = *(int **)&jarg2;

                    ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1232:30: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg3 = *(BoosterHandle **)&jarg3;

                              ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterLoadModelFromString(JNIEnv*, jclass, jstring, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1254:20: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg2 = *(int **)&jarg2;

                    ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1255:30: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg3 = *(BoosterHandle **)&jarg3;

                              ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterFree(JNIEnv*, jclass, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1270:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterMerge(JNIEnv*, jclass, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1285:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1286:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg2 = *(BoosterHandle *)&jarg2;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterAddValidData(JNIEnv*, jclass, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1301:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1302:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg2 = *(DatasetHandle *)&jarg2;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterResetTrainingData(JNIEnv*, jclass, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1317:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1318:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg2 = *(DatasetHandle *)&jarg2;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterResetParameter(JNIEnv*, jclass, jlong, jstring)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1333:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterGetNumClasses(JNIEnv*, jclass, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1354:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1355:20: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg2 = *(int **)&jarg2;

                    ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterUpdateOneIter(JNIEnv*, jclass, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1370:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1371:20: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg2 = *(int **)&jarg2;

                    ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterUpdateOneIterCustom(JNIEnv*, jclass, jlong, jlong, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1388:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1389:22: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg2 = *(float **)&jarg2;

                      ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1390:22: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg3 = *(float **)&jarg3;

                      ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1391:20: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg4 = *(int **)&jarg4;

                    ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterRollbackOneIter(JNIEnv*, jclass, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1405:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterGetCurrentIteration(JNIEnv*, jclass, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1420:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1421:20: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg2 = *(int **)&jarg2;

                    ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterGetEvalCounts(JNIEnv*, jclass, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1436:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1437:20: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg2 = *(int **)&jarg2;

                    ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterGetEvalNames(JNIEnv*, jclass, jlong, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1453:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1454:20: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg2 = *(int **)&jarg2;

                    ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1455:22: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg3 = *(char ***)&jarg3;

                      ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterGetFeatureNames(JNIEnv*, jclass, jlong, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1471:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1472:20: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg2 = *(int **)&jarg2;

                    ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1473:22: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg3 = *(char ***)&jarg3;

                      ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterGetNumFeature(JNIEnv*, jclass, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1488:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1489:20: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg2 = *(int **)&jarg2;

                    ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterGetEval(JNIEnv*, jclass, jlong, jint, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1506:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1508:20: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg3 = *(int **)&jarg3;

                    ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1509:23: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg4 = *(double **)&jarg4;

                       ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterGetNumPredict(JNIEnv*, jclass, jlong, jint, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1525:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1527:24: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg3 = *(int64_t **)&jarg3;

                        ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterGetPredict(JNIEnv*, jclass, jlong, jint, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1544:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1546:24: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg3 = *(int64_t **)&jarg3;

                        ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1547:23: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg4 = *(double **)&jarg4;

                       ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterPredictForFile(JNIEnv*, jclass, jlong, jstring, jint, jint, jint, jstring, jstring)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1567:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterCalcNumPredict(JNIEnv*, jclass, jlong, jint, jint, jint, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1606:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1610:24: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg5 = *(int64_t **)&jarg5;

                        ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterPredictForCSR(JNIEnv*, jclass, jlong, jlong, jint, jlong, jlong, jint, jlong, jlong, jlong, jint, jint, jstring, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1640:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1641:21: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg2 = *(void **)&jarg2;

                     ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1643:24: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg4 = *(int32_t **)&jarg4;

                        ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1644:21: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg5 = *(void **)&jarg5;

                     ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1646:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp7 = *(int64_t **)&jarg7;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1652:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp8 = *(int64_t **)&jarg8;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1658:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp9 = *(int64_t **)&jarg9;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1671:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg13 = *(int64_t **)&jarg13;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1672:24: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg14 = *(double **)&jarg14;

                        ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterPredictForCSC(JNIEnv*, jclass, jlong, jlong, jint, jlong, jlong, jint, jlong, jlong, jlong, jint, jint, jstring, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1703:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1704:21: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg2 = *(void **)&jarg2;

                     ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1706:24: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg4 = *(int32_t **)&jarg4;

                        ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1707:21: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg5 = *(void **)&jarg5;

                     ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1709:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp7 = *(int64_t **)&jarg7;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1715:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp8 = *(int64_t **)&jarg8;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1721:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp9 = *(int64_t **)&jarg9;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1734:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg13 = *(int64_t **)&jarg13;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1735:24: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg14 = *(double **)&jarg14;

                        ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterPredictForMat(JNIEnv*, jclass, jlong, jlong, jint, jlong, jlong, jint, jint, jint, jstring, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1762:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1763:21: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg2 = *(void **)&jarg2;

                     ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1765:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp4 = *(int32_t **)&jarg4;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1771:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp5 = *(int32_t **)&jarg5;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1785:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg10 = *(int64_t **)&jarg10;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1786:24: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg11 = *(double **)&jarg11;

                        ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterSaveModel(JNIEnv*, jclass, jlong, jint, jstring)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1803:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterDumpModel(JNIEnv*, jclass, jlong, jint, jlong, jlong, jstring)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1829:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1831:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp3 = *(int64_t **)&jarg3;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1837:24: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg4 = *(int64_t **)&jarg4;

                        ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterGetLeafValue(JNIEnv*, jclass, jlong, jint, jint, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1860:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1863:23: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg4 = *(double **)&jarg4;

                       ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterSetLeafValue(JNIEnv*, jclass, jlong, jint, jint, jdouble)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1880:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterFeatureImportance(JNIEnv*, jclass, jlong, jint, jint, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1900:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1903:23: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg4 = *(double **)&jarg4;

                       ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1NetworkInitWithFunctions(JNIEnv*, jclass, jint, jint, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1959:21: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg3 = *(void **)&jarg3;

                     ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:1960:21: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg4 = *(void **)&jarg4;

                     ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1APIHandleException_1_1SWIG_10(JNIEnv*, jclass, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2001:31: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(std::exception **)&jarg1;

                               ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1APIHandleException_1_1SWIG_11(JNIEnv*, jclass, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2019:28: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(std::string **)&jarg1;

                            ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘_jstring* Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_LGBM_1BoosterSaveModelToStringSWIG(JNIEnv*, jclass, jlong, jint, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2041:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(BoosterHandle *)&jarg1;

                             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2043:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp3 = *(int64_t **)&jarg3;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2049:24: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg4 = *(int64_t **)&jarg4;

                        ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jlong Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_new_1intp(JNIEnv*, jclass)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2063:13: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   *(int **)&jresult = result;

             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jlong Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_copy_1intp(JNIEnv*, jclass, jint)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2077:13: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   *(int **)&jresult = result;

             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘void Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_delete_1intp(JNIEnv*, jclass, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2087:20: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(int **)&jarg1;

                    ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘void Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_intp_1assign(JNIEnv*, jclass, jlong, jint)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2098:20: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(int **)&jarg1;

                    ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_intp_1value(JNIEnv*, jclass, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2111:20: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(int **)&jarg1;

                    ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jlong Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_new_1longp(JNIEnv*, jclass)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2125:14: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   *(long **)&jresult = result;

              ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jlong Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_copy_1longp(JNIEnv*, jclass, jint)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2139:14: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   *(long **)&jresult = result;

              ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘void Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_delete_1longp(JNIEnv*, jclass, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2149:21: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(long **)&jarg1;

                     ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘void Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_longp_1assign(JNIEnv*, jclass, jlong, jint)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2160:21: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(long **)&jarg1;

                     ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jint Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_longp_1value(JNIEnv*, jclass, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2173:21: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(long **)&jarg1;

                     ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jlong Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_new_1doublep(JNIEnv*, jclass)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2187:16: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   *(double **)&jresult = result;

                ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jlong Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_copy_1doublep(JNIEnv*, jclass, jdouble)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2201:16: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   *(double **)&jresult = result;

                ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘void Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_delete_1doublep(JNIEnv*, jclass, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2211:23: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(double **)&jarg1;

                       ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘void Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_doublep_1assign(JNIEnv*, jclass, jlong, jdouble)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2222:23: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(double **)&jarg1;

                       ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jdouble Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_doublep_1value(JNIEnv*, jclass, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2235:23: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(double **)&jarg1;

                       ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jlong Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_new_1floatp(JNIEnv*, jclass)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2249:15: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   *(float **)&jresult = result;

               ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jlong Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_copy_1floatp(JNIEnv*, jclass, jfloat)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2263:15: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   *(float **)&jresult = result;

               ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘void Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_delete_1floatp(JNIEnv*, jclass, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2273:22: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(float **)&jarg1;

                      ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘void Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_floatp_1assign(JNIEnv*, jclass, jlong, jfloat)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2284:22: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(float **)&jarg1;

                      ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jfloat Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_floatp_1value(JNIEnv*, jclass, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2297:22: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(float **)&jarg1;

                      ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jlong Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_new_1int64_1tp(JNIEnv*, jclass)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2311:17: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   *(int64_t **)&jresult = result;

                 ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jlong Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_copy_1int64_1tp(JNIEnv*, jclass, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2324:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp1 = *(int64_t **)&jarg1;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2331:17: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   *(int64_t **)&jresult = result;

                 ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘void Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_delete_1int64_1tp(JNIEnv*, jclass, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2341:24: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(int64_t **)&jarg1;

                        ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘void Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_int64_1tp_1assign(JNIEnv*, jclass, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2353:24: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(int64_t **)&jarg1;

                        ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2354:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp2 = *(int64_t **)&jarg2;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jlong Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_int64_1tp_1value(JNIEnv*, jclass, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2371:24: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(int64_t **)&jarg1;

                        ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2373:17: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   *(int64_t **)&jresult = new int64_t((const int64_t &)result);

                 ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jlong Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_new_1int32_1tp(JNIEnv*, jclass)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2385:17: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   *(int32_t **)&jresult = result;

                 ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jlong Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_copy_1int32_1tp(JNIEnv*, jclass, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2398:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp1 = *(int32_t **)&jarg1;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2405:17: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   *(int32_t **)&jresult = result;

                 ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘void Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_delete_1int32_1tp(JNIEnv*, jclass, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2415:24: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(int32_t **)&jarg1;

                        ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘void Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_int32_1tp_1assign(JNIEnv*, jclass, jlong, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2427:24: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(int32_t **)&jarg1;

                        ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2428:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   argp2 = *(int32_t **)&jarg2;

                         ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jlong Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_int32_1tp_1value(JNIEnv*, jclass, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2445:24: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(int32_t **)&jarg1;

                        ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2447:17: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   *(int32_t **)&jresult = new int32_t((const int32_t &)result);

                 ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jlong Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_int64_1t_1to_1long_1ptr(JNIEnv*, jclass, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2459:24: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(int64_t **)&jarg1;

                        ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2461:14: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   *(long **)&jresult = result;

              ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jlong Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_int64_1t_1to_1double_1ptr(JNIEnv*, jclass, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2473:24: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(int64_t **)&jarg1;

                        ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2475:16: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   *(double **)&jresult = result;

                ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jlong Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_int32_1t_1to_1int_1ptr(JNIEnv*, jclass, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2487:24: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(int32_t **)&jarg1;

                        ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2489:13: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   *(int **)&jresult = result;

             ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jlong Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_long_1to_1int64_1t_1ptr(JNIEnv*, jclass, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2501:21: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(long **)&jarg1;

                     ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2503:17: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   *(int64_t **)&jresult = result;

                 ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jlong Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_double_1to_1int64_1t_1ptr(JNIEnv*, jclass, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2515:23: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(double **)&jarg1;

                       ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2517:17: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   *(int64_t **)&jresult = result;

                 ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jlong Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_double_1to_1voidp_1ptr(JNIEnv*, jclass, jlong)’:

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2529:23: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   arg1 = *(double **)&jarg1;

                       ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2531:14: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

   *(void **)&jresult = result;

              ^

/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jlong Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_int_1to_1int32_1t_1ptr(JNIEnv*, jclass, jlong)’:
/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2543:20: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   arg1 = *(int **)&jarg1;
                    ^
/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2545:17: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   *(int32_t **)&jresult = result;
                 ^
/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jlong Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_float_1to_1voidp_1ptr(JNIEnv*, jclass, jlong)’:
/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2557:22: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   arg1 = *(float **)&jarg1;
                      ^
/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2559:14: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   *(void **)&jresult = result;
              ^
/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘jlong Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_new_1doubleArray(JNIEnv*, jclass, jint)’:
/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2573:16: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   *(double **)&jresult = result;
                ^
/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx: In function ‘void Java_com_microsoft_ml_lightgbm_lightgbmlibJNI_delete_1doubleArray(JNIEnv*, jclass, jlong)’:
/home/travis/build/Microsoft/LightGBM/build/java/lightgbmlibJAVA_wrap.cxx:2583:23: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   arg1 = *(double **)&jarg1;
                       ^