Xilinx / CHaiDNN

HLS based Deep Neural Network Accelerator Library for Xilinx Ultrascale+ MPSoCs
Other
319 stars 151 forks source link

Facing errors when following instructions to build using SDx GUI #141

Closed NP95 closed 5 years ago

NP95 commented 5 years ago

I am having a Ubuntu 18.04.1 LTS and downloaded SDSoC 2018.3 , I followed the instructions in this link https://github.com/Xilinx/CHaiDNN/blob/master/docs/BUILD_USING_SDX_GUI.md . But I am getting these errors while trying to build the project.

fatal error: 'google/protobuf/stubs/common.h' file not found make: [sd_card] Error 1 make: [src/software/xtract/caffe.pb.o] Error 1 recipe for target 'src/software/xtract/caffe.pb.o' failed SdsCompiler 83-5004: Build failed SdsCompiler 83-5176: RTL template analysis exited with non-zero code processing /home/nishant/workspace/ChaiDNN_bringup/Release/CONV_ENABLE__ /home/nishant/workspace/ChaiDNN_bringup/Release/DSP48E2 /home/nishant/workspace/ChaiDNN_bringup/Release/SYNTHESIS /home/nishant/workspace/ChaiDNN_bringup/Release/POOL_ENABLE /home/nishant/workspace/ChaiDNN_bringup/Release/__DECONV_ENABLE /home/nishant/workspace/ChaiDNN_bringup/src/software/xtract/caffe.pb.cc TemplateExtract 83-3509: Failed to run clang frontend action of rtl_template_extract!

Can someone point me to what I am doing incorrectly that is generating these errors?

VishalX commented 5 years ago

@NP95

Check #57.

NP95 commented 5 years ago

Ok But I am still getting these errors

fatal error: 'google/protobuf/stubs/common.h' file not found make: [sd_card] Error 1 make: [src/software/xtract/caffe.pb.o] Error 1 recipe for target 'src/software/xtract/caffe.pb.o' failed SdsCompiler 83-5004: Build failed SdsCompiler 83-5176: RTL template analysis exited with non-zero code processing /home/nishant/workspace/new/ChaiDNN_dummies/src/software/xtract/caffe.pb.cc TemplateExtract 83-3509: Failed to run clang frontend action of rtl_template_extract!

VishalX commented 5 years ago

Looks like include error. Make sure to provide correct include paths in settings.

NP95 commented 5 years ago

I moved to CentOS and followed the instructions, but I am getting errors related to gnu-aarch 64 compiler. I don't have it installed by default, but I believe it comes installed with SDSoc. Please look at the logs that I am attaching ' /tools/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:41:9: error: unknown type name 'Int64x1_t'; did you mean '__int64_t'? typedef Int64x1_t int64x1_t; ^~~ int64_t /tools/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/aarch64-linux-gnu/libc/usr/include/bits/types.h:43:25: note: '__int64_t' declared here typedef signed long int int64_t; ^ /tools/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:42:9: error: unknown type name 'Float16x4_t' typedef __Float16x4_t float16x4_t; ^ /tools/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:43:9: error: unknown type name 'Float32x2_t' typedef Float32x2_t float32x2_t; ^ /tools/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:44:9: error: unknown type name '__Poly8x8_t' typedef Poly8x8_t poly8x8_t; ^ /tools/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:45:9: error: unknown type name 'Poly16x4_t' typedef __Poly16x4_t poly16x4_t; ^ /tools/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:46:9: error: unknown type name 'Uint8x8_t' typedef Uint8x8_t uint8x8_t; ^ /tools/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:47:9: error: unknown type name '__Uint16x4_t' typedef Uint16x4_t uint16x4_t; ^ /tools/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:48:9: error: unknown type name 'Uint32x2_t' typedef __Uint32x2_t uint32x2_t; ^ /tools/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:49:9: error: unknown type name 'Float64x1_t' typedef Float64x1_t float64x1_t; ^ /tools/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:50:9: error: unknown type name '__Uint64x1_t' typedef Uint64x1_t uint64x1_t; ^ /tools/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:51:9: error: unknown type name 'Int8x16_t'; did you mean '__int16_t'? typedef Int8x16_t int8x16_t; ^~~ int16_t /tools/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/aarch64-linux-gnu/libc/usr/include/bits/types.h:38:26: note: '__int16_t' declared here typedef signed short int int16_t; ^ /tools/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:52:9: error: unknown type name 'Int16x8_t' typedef __Int16x8_t int16x8_t; ^ /tools/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:53:9: error: unknown type name 'Int32x4_t'; did you mean 'int32_t'? typedef Int32x4_t int32x4_t; ^~~ int32_t /tools/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/aarch64-linux-gnu/libc/usr/include/bits/types.h:40:20: note: 'int32_t' declared here typedef signed int int32_t; ^ /tools/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:54:9: error: unknown type name 'Int64x2_t'; did you mean 'int64_t'? typedef Int64x2_t int64x2_t; ^~~ int64_t /tools/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/aarch64-linux-gnu/libc/usr/include/bits/types.h:43:25: note: 'int64_t' declared here typedef signed long int int64_t; ^ /tools/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:55:9: error: unknown type name 'Float16x8_t' typedef Float16x8_t float16x8_t; ^ /tools/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:56:9: error: unknown type name '__Float32x4_t' typedef Float32x4_t float32x4_t; '

Even if I am trying to build using makefile in Ubuntu I am getting an error related to the compiler. Are there any changes I have to make with respect to SDSoc 2018.3 or gnu-aarch 64

NP95 commented 5 years ago

aarch64-linux-gnu-g++ -std=c++11 -D__SDSOC=1 -Wno-write-strings -L/home/nishant/CHaiDNN/SD_Card/protobuf/arm64/lib -I/home/nishant/CHaiDNN/SD_Card/protobuf/arm64/include -L/home/nishant/CHaiDNN/SD_Card/opencv/arm64/lib -I/home/nishant/CHaiDNN/SD_Card/opencv/arm64/include -L/home/nishant/CHaiDNN/SD_Card/cblas/arm64/lib -I/home/nishant/CHaiDNN/SD_Card/cblas/arm64/include -lopencv_core -llzma -ltiff -lpng16 -lz -ljpeg -lopencv_imgproc -lopencv_imgcodecs -ldl -lrt -lwebp -I/tools/Xilinx/SDx/2018.3/target/aarch64-linux/include -L/home/nishant/CHaiDNN/SD_Card/lib -lprotobuf -lpthread -lxstack -lxlnxdnn -lparser_arm resnet50_ex.cpp -o ResNet.elf -lm /usr/lib/gcc-cross/aarch64-linux-gnu/7/../../../../aarch64-linux-gnu/bin/ld: /tmp/ccAVI5un.o: undefined reference to symbol '__cxa_atexit@@GLIBC_2.17' //usr/aarch64-linux-gnu/lib/libc.so.6: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status Makefile:15: recipe for target 'ResNet.elf' failed make: *** [ResNet.elf] Error 1 and the corresponding makefile

ARM_CXX = aarch64-linux-gnu-g++

Provide Correct SDx Path

SDx_BUILD_PATH =/tools/Xilinx/SDx/2018.3 IDIRS = -I$(SDx_BUILD_PATH)/target/aarch64-linux/include PB_ARM_DIR = /home/nishant/CHaiDNN/SD_Card/protobuf/arm64 OPENCV_DIR = /home/nishant/CHaiDNN/SD_Card/opencv/arm64 CBLAS_ARM_DIR = /home/nishant/CHaiDNN/SD_Card/cblas/arm64 OPENCV_LIBS = -lopencv_core -llzma -ltiff -lpng16 -lz -ljpeg -lopencv_imgproc -lopencv_imgcodecs -ldl -lrt -lwebp LDIRS = -L/home/nishant/CHaiDNN/SD_Card/lib LLIBS = -lprotobuf -lpthread -lxstack -lxlnxdnn -lparser_arm CFLAGS_ARM = -std=c++11 -D__SDSOC=1 -Wno-write-strings .PHONY: all ResNet.elf : ./resnet50_ex.cpp $(ARM_CXX) $(CFLAGS_ARM) -L$(PB_ARM_DIR)/lib -I$(PB_ARM_DIR)/include -L$(OPENCV_DIR)/lib -I$(OPENCV_DIR)/include -L$(CBLAS_ARM_DIR)/lib -I$(CBLAS_ARM_DIR)/include $(OPENCV_LIBS) $(IDIRS) $(LDIRS) $(LLIBS) $^ -o $@ -lm

NP95 commented 5 years ago

I have uploaded my Makefile and the platforms file. The procedure I did

  1. Clone the CHaiDNN repository
  2. Go the the design/build folder and change the makefile according to the instructions here. https://github.com/Xilinx/CHaiDNN (under the Build from source instructions)

zcu102.zip

Makefile.zip

The error I am getting is `make sds++ -sds-pf "/home/nishant/CHaiDNN/zcu102" -dmclkid 1 -xp param:compiler.skipTimingCheckAndFrequencyScaling=1 -xp "vivado_prop:run.impl_1.{STEPS.OPT_DESIGN.ARGS.MORE OPTIONS}={-directive Explore}" -xp "vivado_prop:run.impl_1.{STEPS.PLACE_DESIGN.ARGS.MORE OPTIONS}={-directive Explore}" -xp "vivado_prop:run.impl_1.STEPS.PHYS_OPT_DESIGN.IS_ENABLED=1" -xp "vivado_prop:run.impl_1.{STEPS.PHYS_OPT_DESIGN.ARGS.MORE OPTIONS}={-directive Explore}" -xp "vivado_prop:run.impl_1.{STEPS.ROUTE_DESIGN.ARGS.MORE OPTIONS}={-directive Explore}" -Wall -O0 -c -I. -I../conv/include -I../conv/src -I../pool/include -I../pool/src -I../deconv/include -I../deconv/src -DSDSOC=1 -Wno-unused-label -DSYNTHESIS=0 -DXI_DIET_CHAI_Z=0 -DXI_DIET_CHAI_ZUPLUS=0 -DCONV_ENABLE=1 -DPOOL_ENABLE=1 -DDECONV_ENABLE__=1 -fPIC ../wrapper/dnn_wrapper.cpp -o dnn_wrapper.o Platform system configuration option -sds-sys-config was not specified, searching for a configuration that uses the specified OS linux Using system configuration -sds-sys-config a53_linux Analyzing source for RTL template usage /tools/Xilinx/Vivado/2018.3/include/ap_int_base.h:265:19: error: use of undeclared identifier '__builtin_bit_select' bool is_neg = _AP_ROOT_op_get_bit(reg.V, BITS - 1); ^ /tools/Xilinx/Vivado/2018.3/include/ap_common.h:622:39: note: expanded from macro '_AP_ROOT_op_get_bit'

define _AP_ROOT_op_get_bit(Val, Bit) _ssdm_op_get_bit(Val, Bit)

                                  ^

/tools/Xilinx/Vivado/2018.3/include/ap_common.h:529:23: note: expanded from macro '_ssdm_op_get_bit' bool Result = builtin_bit_select((void*)(&Val2), Bit); \ ^ /tools/Xilinx/Vivado/2018.3/include/ap_int_base.h:268:13: error: use of undeclared identifier 'builtin_bit_part_select' exp.V = _AP_ROOT_op_get_range(reg.V, FLOAT_MAN, BITS - 2); ^ /tools/Xilinx/Vivado/2018.3/include/ap_common.h:624:44: note: expanded from macro '_AP_ROOT_op_get_range'

define _AP_ROOT_op_get_range(Val, Lo, Hi) _ssdm_op_get_range(Val, Lo, Hi)

                                       ^

/tools/Xilinx/Vivado/2018.3/include/ap_common.h:547:5: note: expanded from macro '_ssdm_op_get_range' __builtin_bit_part_select((void)(&Result), (void)(&Val2), Lo, \ ^ /tools/Xilinx/Vivado/2018.3/include/ap_int_base.h:272:13: error: use of undeclared identifier '__builtin_bit_part_select' man.V = _AP_ROOT_op_get_range(reg.V, 0, FLOAT_MAN - 1); ^ /tools/Xilinx/Vivado/2018.3/include/ap_common.h:624:44: note: expanded from macro '_AP_ROOT_op_get_range'

define _AP_ROOT_op_get_range(Val, Lo, Hi) _ssdm_op_get_range(Val, Lo, Hi)

                                       ^

/tools/Xilinx/Vivado/2018.3/include/ap_common.h:547:5: note: expanded from macro '_ssdm_op_get_range' __builtin_bit_part_select((void)(&Result), (void)(&Val2), Lo, \ ^ /tools/Xilinx/Vivado/2018.3/include/ap_int_base.h:277:13: error: use of undeclared identifier '__builtin_bit_part_set' man.V = _AP_ROOT_op_set_bit(man.V, FLOAT_MAN, 1); ^ /tools/Xilinx/Vivado/2018.3/include/ap_common.h:623:45: note: expanded from macro '_AP_ROOT_op_set_bit'

define _AP_ROOT_op_set_bit(Val, Bit, Repl) _ssdm_op_set_bit(Val, Bit, Repl)

                                        ^

/tools/Xilinx/Vivado/2018.3/include/ap_common.h:538:5: note: expanded from macro '_ssdm_op_set_bit' __builtin_bit_part_set((void)(&Result), (void)(&Val2), \ ^ /tools/Xilinx/Vivado/2018.3/include/ap_int_base.h:313:19: error: use of undeclared identifier '__builtin_bit_select' bool is_neg = _AP_ROOT_op_get_bit(reg.V, BITS - 1); ^ /tools/Xilinx/Vivado/2018.3/include/ap_common.h:622:39: note: expanded from macro '_AP_ROOT_op_get_bit'

define _AP_ROOT_op_get_bit(Val, Bit) _ssdm_op_get_bit(Val, Bit)

                                  ^

/tools/Xilinx/Vivado/2018.3/include/ap_common.h:529:23: note: expanded from macro '_ssdm_op_get_bit' bool Result = builtin_bit_select((void*)(&Val2), Bit); \ ^ /tools/Xilinx/Vivado/2018.3/include/ap_int_base.h:316:13: error: use of undeclared identifier 'builtin_bit_part_select' exp.V = _AP_ROOT_op_get_range(reg.V, DOUBLE_MAN, BITS - 2); ^ /tools/Xilinx/Vivado/2018.3/include/ap_common.h:624:44: note: expanded from macro '_AP_ROOT_op_get_range'

define _AP_ROOT_op_get_range(Val, Lo, Hi) _ssdm_op_get_range(Val, Lo, Hi)

                                       ^

/tools/Xilinx/Vivado/2018.3/include/ap_common.h:547:5: note: expanded from macro '_ssdm_op_get_range' __builtin_bit_part_select((void)(&Result), (void)(&Val2), Lo, \ ^ /tools/Xilinx/Vivado/2018.3/include/ap_int_base.h:320:13: error: use of undeclared identifier '__builtin_bit_part_select' man.V = _AP_ROOT_op_get_range(reg.V, 0, DOUBLE_MAN - 1); ^ /tools/Xilinx/Vivado/2018.3/include/ap_common.h:624:44: note: expanded from macro '_AP_ROOT_op_get_range'

define _AP_ROOT_op_get_range(Val, Lo, Hi) _ssdm_op_get_range(Val, Lo, Hi)

                                       ^

/tools/Xilinx/Vivado/2018.3/include/ap_common.h:547:5: note: expanded from macro '_ssdm_op_get_range' __builtin_bit_part_select((void)(&Result), (void)(&Val2), Lo, \ ^ /tools/Xilinx/Vivado/2018.3/include/ap_int_base.h:325:13: error: use of undeclared identifier '__builtin_bit_part_set' man.V = _AP_ROOT_op_set_bit(man.V, DOUBLE_MAN, 1); ^ /tools/Xilinx/Vivado/2018.3/include/ap_common.h:623:45: note: expanded from macro '_AP_ROOT_op_set_bit'

define _AP_ROOT_op_set_bit(Val, Bit, Repl) _ssdm_op_set_bit(Val, Bit, Repl)

                                        ^

/tools/Xilinx/Vivado/2018.3/include/ap_common.h:538:5: note: expanded from macro '_ssdm_op_set_bit' __builtin_bit_part_set((void)(&Result), (void)(&Val2), \ ^ /tools/Xilinx/Vivado/2018.3/include/ap_int_base.h:599:9: error: use of undeclared identifier '__builtin_bit_select' _AP_ROOT_op_get_bit(Base::V, _AP_W - 1)) ^ /tools/Xilinx/Vivado/2018.3/include/ap_common.h:622:39: note: expanded from macro '_AP_ROOT_op_get_bit'

define _AP_ROOT_op_get_bit(Val, Bit) _ssdm_op_get_bit(Val, Bit)

                                  ^

/tools/Xilinx/Vivado/2018.3/include/ap_common.h:529:23: note: expanded from macro '_ssdm_op_get_bit' bool Result = builtin_bit_select((void*)(&Val2), Bit); \ ^ /tools/Xilinx/Vivado/2018.3/include/ap_int_base.h:608:15: error: use of undeclared identifier 'builtin_bit_part_set' Base::V = _AP_ROOT_op_set_bit(Base::V, i, 0); ^ /tools/Xilinx/Vivado/2018.3/include/ap_common.h:623:45: note: expanded from macro '_AP_ROOT_op_set_bit'

define _AP_ROOT_op_set_bit(Val, Bit, Repl) _ssdm_op_set_bit(Val, Bit, Repl)

                                        ^

/tools/Xilinx/Vivado/2018.3/include/ap_common.h:538:5: note: expanded from macro '_ssdm_op_set_bit' __builtin_bit_part_set((void)(&Result), (void)(&Val2), \ ^ /tools/Xilinx/Vivado/2018.3/include/ap_int_base.h:614:16: error: use of undeclared identifier '__builtin_bit_select' bool val = _AP_ROOT_op_get_bit(Base::V, i); ^ /tools/Xilinx/Vivado/2018.3/include/ap_common.h:622:39: note: expanded from macro '_AP_ROOT_op_get_bit'

define _AP_ROOT_op_get_bit(Val, Bit) _ssdm_op_get_bit(Val, Bit)

                                  ^

/tools/Xilinx/Vivado/2018.3/include/ap_common.h:529:23: note: expanded from macro '_ssdm_op_get_bit' bool Result = builtin_bit_select((void*)(&Val2), Bit); \ ^ /tools/Xilinx/Vivado/2018.3/include/ap_int_base.h:616:17: error: use of undeclared identifier 'builtin_bit_part_set' Base::V = _AP_ROOT_op_set_bit(Base::V, i, 0); ^ /tools/Xilinx/Vivado/2018.3/include/ap_common.h:623:45: note: expanded from macro '_AP_ROOT_op_set_bit'

define _AP_ROOT_op_set_bit(Val, Bit, Repl) _ssdm_op_set_bit(Val, Bit, Repl)

                                        ^

/tools/Xilinx/Vivado/2018.3/include/ap_common.h:538:5: note: expanded from macro '_ssdm_op_set_bit' __builtin_bit_part_set((void)(&Result), (void)(&Val2), \ ^ /tools/Xilinx/Vivado/2018.3/include/ap_int_base.h:618:17: error: use of undeclared identifier '__builtin_bit_part_set' Base::V = _AP_ROOT_op_set_bit(Base::V, i, 1); ^ /tools/Xilinx/Vivado/2018.3/include/ap_common.h:623:45: note: expanded from macro '_AP_ROOT_op_set_bit'

define _AP_ROOT_op_set_bit(Val, Bit, Repl) _ssdm_op_set_bit(Val, Bit, Repl)

                                        ^

/tools/Xilinx/Vivado/2018.3/include/ap_common.h:538:5: note: expanded from macro '_ssdm_op_set_bit' __builtin_bit_part_set((void)(&Result), (void)(&Val2), \ ^ /tools/Xilinx/Vivado/2018.3/include/ap_int_base.h:623:12: error: use of undeclared identifier '__builtin_bit_select' return _AP_ROOT_op_get_bit(Base::V, i); ^ /tools/Xilinx/Vivado/2018.3/include/ap_common.h:622:39: note: expanded from macro '_AP_ROOT_op_get_bit'

define _AP_ROOT_op_get_bit(Val, Bit) _ssdm_op_get_bit(Val, Bit)

                                  ^

/tools/Xilinx/Vivado/2018.3/include/ap_common.h:529:23: note: expanded from macro '_ssdm_op_get_bit' bool Result = builtin_bit_select((void*)(&Val2), Bit); \ ^ /tools/Xilinx/Vivado/2018.3/include/ap_int_base.h:632:15: error: use of undeclared identifier 'builtin_bit_part_set' Base::V = _AP_ROOT_op_set_bit(Base::V, i, 1); ^ /tools/Xilinx/Vivado/2018.3/include/ap_common.h:623:45: note: expanded from macro '_AP_ROOT_op_set_bit'

define _AP_ROOT_op_set_bit(Val, Bit, Repl) _ssdm_op_set_bit(Val, Bit, Repl)

                                        ^

/tools/Xilinx/Vivado/2018.3/include/ap_common.h:538:5: note: expanded from macro '_ssdm_op_set_bit' __builtin_bit_part_set((void)(&Result), (void)(&Val2), \ ^ /tools/Xilinx/Vivado/2018.3/include/ap_int_base.h:638:15: error: use of undeclared identifier '__builtin_bit_part_set' Base::V = _AP_ROOT_op_set_bit(Base::V, i, v); ^ /tools/Xilinx/Vivado/2018.3/include/ap_common.h:623:45: note: expanded from macro '_AP_ROOT_op_set_bit'

define _AP_ROOT_op_set_bit(Val, Bit, Repl) _ssdm_op_set_bit(Val, Bit, Repl)

                                        ^

/tools/Xilinx/Vivado/2018.3/include/ap_common.h:538:5: note: expanded from macro '_ssdm_op_set_bit' __builtin_bit_part_set((void)(&Result), (void)(&Val2), \ ^ /tools/Xilinx/Vivado/2018.3/include/ap_int_base.h:674:15: error: use of undeclared identifier '__builtin_bit_part_select' Base::V = _AP_ROOT_op_get_range(Base::V, _AP_W - 1, 0); ^ /tools/Xilinx/Vivado/2018.3/include/ap_common.h:624:44: note: expanded from macro '_AP_ROOT_op_get_range'

define _AP_ROOT_op_get_range(Val, Lo, Hi) _ssdm_op_get_range(Val, Lo, Hi)

                                       ^

/tools/Xilinx/Vivado/2018.3/include/ap_common.h:547:5: note: expanded from macro '_ssdm_op_get_range' __builtin_bit_part_select((void)(&Result), (void)(&Val2), Lo, \ ^ /tools/Xilinx/Vivado/2018.3/include/ap_int_base.h:680:15: error: use of undeclared identifier '__builtin_bit_part_set' Base::V = _AP_ROOT_op_set_bit(Base::V, i, v); ^ /tools/Xilinx/Vivado/2018.3/include/ap_common.h:623:45: note: expanded from macro '_AP_ROOT_op_set_bit'

define _AP_ROOT_op_set_bit(Val, Bit, Repl) _ssdm_op_set_bit(Val, Bit, Repl)

                                        ^

/tools/Xilinx/Vivado/2018.3/include/ap_common.h:538:5: note: expanded from macro '_ssdm_op_set_bit' __builtin_bit_part_set((void)(&Result), (void)(&Val2), \ ^ /tools/Xilinx/Vivado/2018.3/include/ap_int_base.h:685:18: error: use of undeclared identifier '__builtin_bit_select' return (bool)_AP_ROOT_op_get_bit(Base::V, i); ^ /tools/Xilinx/Vivado/2018.3/include/ap_common.h:622:39: note: expanded from macro '_AP_ROOT_op_get_bit'

define _AP_ROOT_op_get_bit(Val, Bit) _ssdm_op_get_bit(Val, Bit)

                                  ^

/tools/Xilinx/Vivado/2018.3/include/ap_common.h:529:23: note: expanded from macro '_ssdm_op_get_bit' bool Result = builtin_bit_select((void*)(&Val2__), Bit); \ ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] Error while processing /home/nishant/CHaiDNN/design/wrapper/dnn_wrapper.cpp. ERROR: [TemplateExtract 83-3509] Failed to run clang frontend action of rtl_template_extract! ERROR: [SdsCompiler 83-5176] RTL template analysis exited with non-zero code processing /home/nishant/CHaiDNN/design/wrapper/dnn_wrapper.cpp sds++ log file saved as /home/nishant/CHaiDNN/design/build/_sds/reports/sds_dnn_wrapper.log ERROR: [SdsCompiler 83-5004] Build failed Makefile:143: recipe for target 'dnn_wrapper.o' failed make: *** [dnn_wrapper.o] Error 1 ` Environment: Ubuntu 18.04 with kernel version 4.15.0-44-generic. SDSoc 2018.3

nkpavan commented 5 years ago

@NP95 As you are using SDSoc 2018.3, remove the SYNTHESIS flag from Makefile and you need to include the stdio header in the pooling_layer_dp_2xio_top.cpp file.

NP95 commented 5 years ago

Closing this as I am able to build hardware with latest SDSoc. WIll open a new issue thread if running into issues with building software.

averr5 commented 5 years ago

@nkpavan I am using SDSoC 2018.3. I have removed SYNTHESIS flag from Makefile also tried adding stdio header in pooling_layer_dp_top.cpp file. I am following steps from https://github.com/Xilinx/CHaiDNN/blob/master/docs/BUILD_USING_SDX_GUI.md, but i run into these errors.

Finished building: ../src/software/swkernels/xi_crop.cpp

Building file: ../src/software/swkernels/xi_eltwiseadd_top.cpp Invoking: SDS++ Compiler sds++ -sds-hw XiConvolutionTop /home/eva/Workspace2/CHai/src/design/conv/src/xi_convolution_top.cpp -clkid 1 -hls-tcl /home/eva/Workspace2/CHai/src/design/conv/scripts/config_core.tcl -sds-end -DSDSOC -DPOOL_ENABLE -DDECONV_ENABLE -DCONV_ENABLE -DDSP48E2 -Wall -O0 -I"../src" -I/home/eva/Workspace2/CHai/src/design/pool/include -I/home/eva/Workspace2/CHai/src/design/pool/src -I/home/eva/Workspace2/CHai/src/design/deconv/include -I/home/eva/Workspace2/CHai/src/design/deconv/src -I/home/eva/Desktop/CHaiDNN/SD_Card/opencv/arm64/include -I/home/eva/Desktop/CHaiDNN/SD_Card/protobuf/arm64/include -I/home/eva/Desktop/CHaiDNN/SD_Card/cblas/arm64/include -I/home/eva/Workspace2/CHai/src/design/conv/include -I/home/eva/Workspace2/CHai/src/design/conv/src -c -fmessage-length=0 -MT"src/software/swkernels/xi_eltwiseadd_top.o" -MMD -MP -MF"src/software/swkernels/xi_eltwiseadd_top.d" -MT"src/software/swkernels/xi_eltwiseadd_top.o" -o "src/software/swkernels/xi_eltwiseadd_top.o" "../src/software/swkernels/xi_eltwiseadd_top.cpp" -sds-hw PoolTop pooling_layer_dp_2xio_top.cpp -files ../src/design/pool/src/pool_dp_2xio.hpp -clkid 1 -sds-end -sds-hw XiDeconvTop xi_deconv_top.cpp -files ../src/design/deconv/src/xi_deconv.hpp -clkid 1 -sds-end -sds-sys-config a53_linux -sds-proc a53_linux -sds-pf "/home/eva/Desktop/CHaiDNN/zcu102" Analyzing source for RTL template usage /opt/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:38:9: error: unknown type name '__Int8x8_t' typedef Int8x8_t int8x8_t; ^ /opt/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:39:9: error: unknown type name 'Int16x4_t' typedef __Int16x4_t int16x4_t; ^ /opt/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:40:9: error: unknown type name 'Int32x2_t'; did you mean 'int32_t'? typedef Int32x2_t int32x2_t; ^~~ int32_t /opt/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/aarch64-linux-gnu/libc/usr/include/bits/types.h:40:20: note: 'int32_t' declared here typedef signed int int32_t; ^ /opt/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:41:9: error: unknown type name 'Int64x1_t'; did you mean 'int64_t'? typedef Int64x1_t int64x1_t; ^~~ int64_t /opt/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/aarch64-linux-gnu/libc/usr/include/bits/types.h:43:25: note: 'int64_t' declared here typedef signed long int int64_t; ^ /opt/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:42:9: error: unknown type name 'Float16x4_t' typedef Float16x4_t float16x4_t; ^ /opt/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:43:9: error: unknown type name '__Float32x2_t' typedef Float32x2_t float32x2_t; ^ /opt/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:44:9: error: unknown type name 'Poly8x8_t' typedef __Poly8x8_t poly8x8_t; ^ /opt/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:45:9: error: unknown type name 'Poly16x4_t' typedef Poly16x4_t poly16x4_t; ^ /opt/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:46:9: error: unknown type name '__Uint8x8_t' typedef Uint8x8_t uint8x8_t; ^ /opt/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:47:9: error: unknown type name 'Uint16x4_t' typedef __Uint16x4_t uint16x4_t; ^ /opt/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:48:9: error: unknown type name 'Uint32x2_t' typedef Uint32x2_t uint32x2_t; ^ /opt/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:49:9: error: unknown type name '__Float64x1_t' typedef Float64x1_t float64x1_t; ^ /opt/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:50:9: error: unknown type name 'Uint64x1_t' typedef __Uint64x1_t uint64x1_t; ^ /opt/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:51:9: error: unknown type name 'Int8x16_t'; did you mean 'int16_t'? typedef Int8x16_t int8x16_t; ^~~ int16_t /opt/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/aarch64-linux-gnu/libc/usr/include/bits/types.h:38:26: note: 'int16_t' declared here typedef signed short int int16_t; ^ /opt/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:52:9: error: unknown type name 'Int16x8_t' typedef Int16x8_t int16x8_t; ^ /opt/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:53:9: error: unknown type name '__Int32x4_t'; did you mean 'int32_t'? typedef Int32x4_t int32x4_t; ^~~ int32_t /opt/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/aarch64-linux-gnu/libc/usr/include/bits/types.h:40:20: note: 'int32_t' declared here typedef signed int int32_t; ^ /opt/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:54:9: error: unknown type name 'Int64x2_t'; did you mean 'int64_t'? typedef Int64x2_t int64x2_t; ^~~ int64_t /opt/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/aarch64-linux-gnu/libc/usr/include/bits/types.h:43:25: note: 'int64_t' declared here typedef signed long int int64_t; ^ /opt/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:55:9: error: unknown type name 'Float16x8_t' typedef Float16x8_t float16x8_t; ^ /opt/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/lib/gcc/aarch64-linux-gnu/7.3.1/include/arm_neon.h:56:9: error: unknown type name '__Float32x4_t' typedef __Float32x4_t float32x4_t; ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] Error while processing /home/eva/Workspace2/CHai/src/software/swkernels/xi_eltwiseadd_top.cpp. ERROR: [TemplateExtract 83-3509] Failed to run clang frontend action of rtl_template_extract! ERROR: [SdsCompiler 83-5176] RTL template analysis exited with non-zero code processing /home/eva/Workspace2/CHai/src/software/swkernels/xi_eltwiseadd_top.cpp sds++ log file saved as /home/eva/Workspace2/CHai/Release/_sds/reports/sds_xi_eltwiseadd_top.log ERROR: [SdsCompiler 83-5004] Build failed

make: *** [src/software/swkernels/xi_eltwiseadd_top.o] Error 1 src/software/swkernels/subdir.mk:39: recipe for target 'src/software/swkernels/xi_eltwiseadd_top.o' failed

11:48:14 Build Finished (took 39s.668ms)

I have attached my Makefile. Where am i going wrong? Makefile.zip

NP95 commented 5 years ago

For 2018.3, there is some issue with building from GUI. Just build from command line, it will work.

averr5 commented 5 years ago

@NP95 So how to proceed with command line build?

NP95 commented 5 years ago

Well just follow the command line build instructions which are right under the instructions for building using GUI.

On Mon, Apr 8, 2019 at 3:28 PM averr5 notifications@github.com wrote:

@NP95 https://github.com/NP95 So how to proceed with command line build?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Xilinx/CHaiDNN/issues/141#issuecomment-480766559, or mute the thread https://github.com/notifications/unsubscribe-auth/AExhBsjxG7ifGFutFhJwli3WPsrDFCbpks5vexK4gaJpZM4aFOVO .

wlx20190529 commented 4 years ago

@NP95 I have the same problem as you. could you tell me how to solved it?

gitosu67 commented 4 years ago

@NP95 Do you also generate the custom platform? I mean is that necessary in order to build ChaiDNN?

meghuiyer commented 3 years ago

15:40:48 Incremental Build of configuration Release for project test make all make --no-print-directory pre-build sdsoc_make_clean Release

make --no-print-directory main-build Building target: test.elf Invoking: SDS++ Linker sds++ -L/usr/local/include/opencv4/opencv2 -L/tools/Xilinx/Vivado/2019.1/lnx64/tools/systemc/lib -L/tools/Xilinx/Vivado/2019.1/lnx64/tools/opencv/opencv_gcc -L/tools/Xilinx/SDx/2019.1/platforms/zed/sw/linux/boot -L/tools/Xilinx/SDK/2019.1/gnu/aarch32/lin/gcc-arm-linux-gnueabi -L/tools/Xilinx/SDK/2019.1/gnu/aarch32/lin/gcc-arm-linux-gnueabi/arm-linux-gnueabihf/lib/opencv_build -L/tools/Xilinx/SDx/2019.1/xfopencv/include -sdcard ../src/data -Xlinker tools/Xilinx/SDK/2019.1/gnu/aarch32/lin/gcc-arm-linux-gnueabi --remote_ip_cache /tools/Xilinx/Workspace/ip_cache -o "test.elf" ./src/xf_otsuthreshold_accel.o ./src/xf_otsuthreshold_tb.o -lopencv_core -lopencv_imgproc -lopencv_calib3d -lopencv_videoio -dmclkid 1 -mno-bitstream -mno-boot-files -sds-sys-config linux -sds-proc linux -sds-pf "zed" -emulation debug Analyzing object files ... /tools/Xilinx/Workspace/test/Release/tools/Xilinx/SDK/2019.1/gnu/aarch32/lin/gcc-arm-linux-gnueabi ... /tools/Xilinx/Workspace/test/Release/src/xf_otsuthreshold_accel.o ... /tools/Xilinx/Workspace/test/Release/src/xf_otsuthreshold_tb.o Generating data motion network INFO: [DMAnalysis 83-4494] Analyzing hardware accelerators... INFO: [DMAnalysis 83-4497] Analyzing callers to hardware accelerators... WARNING: [DMAnalysis 83-4492] Unable to determine the memory attributes passed to _src_mat.data of function w0_xf_OtsuThreshold at /tools/Xilinx/Workspace/test/src/xf_otsuthreshold_accel.cpp:38, please use mem_attribute pragma to specify INFO: [DMAnalysis 83-4444] Scheduling data transfer graph for partition 0 INFO: [DMAnalysis 83-4446] Creating data motion network hardware for partition 0 INFO: [DMAnalysis 83-4448] Creating software stub functions for partition 0 INFO: [DMAnalysis 83-4450] Generating data motion network report for partition 0 INFO: [DMAnalysis 83-4454] Rewriting caller code Skipping block diagram (BD), address map, port information and device registration for partition 0 Rewrite caller functions Compile caller rewrite file /tools/Xilinx/Workspace/test/Release/_sds/swstubs/xf_otsuthreshold_accel.cpp from /tools/Xilinx/Workspace/test/src/xf_otsuthreshold_config.h:40, from /tools/Xilinx/Workspace/test/Release/_sds/swstubs/xf_otsuthreshold_accel.cpp:31: from /tools/Xilinx/Workspace/test/Release/_sds/swstubs/xf_otsuthreshold_accel.cpp:31: from /tools/Xilinx/Workspace/test/Release/_sds/swstubs/xf_otsuthreshold_accel.cpp:31: from /tools/Xilinx/Workspace/test/src/xf_otsuthreshold_config.h:42, from /tools/Xilinx/Workspace/test/Release/_sds/swstubs/xf_otsuthreshold_accel.cpp:31: from /tools/Xilinx/Workspace/test/src/xf_otsuthreshold_config.h:42, from /tools/Xilinx/Workspace/test/Release/_sds/swstubs/xf_otsuthreshold_accel.cpp:31: from /tools/Xilinx/Workspace/test/Release/_sds/swstubs/xf_otsuthreshold_accel.cpp:31: from /tools/Xilinx/Workspace/test/src/xf_otsuthreshold_config.h:42, from /tools/Xilinx/Workspace/test/Release/_sds/swstubs/xf_otsuthreshold_accel.cpp:31: /tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h: In function ‘char xf::IdentifySignBits(ap_int<24>)’: /tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:319:5: warning: label ‘signBitsLoop’ defined but not used [-Wunused-label] signBitsLoop: ^~~~ /tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h: In function ‘short unsigned int xf::Inverse8(unsigned char, int, char)’: /tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:340:15: warning: unused variable ‘index’ [-Wunused-variable] unsigned int index; ^~~~~ /tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h: In function ‘void xf::findInverse24(ap_int<24>&, int&, int&, unsigned int&, int, int)’: /tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:380:12: warning: unused variable ‘N1’ [-Wunused-variable] int M1,N1,leftover_bits=0; ^~ /tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h: In function ‘long unsigned int xf::DivideYByX24(ap_int24_t, ap_int24_t, int, int, int, int)’: /tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:426:11: warning: unused variable ‘N2’ [-Wunused-variable] int N1=0,N2=0; ^~ from /tools/Xilinx/Workspace/test/Release/_sds/swstubs/xf_otsuthreshold_accel.cpp:31: /tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp: In function ‘void xf::xfOtsuKernel(uint32_t ()[256], uint16_t, uint16_t, uint8_t&)’: /tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:92:2: warning: label ‘HISTOGRAM_NORM_LOOP’ defined but not used [-Wunused-label] HISTOGRAM_NORM_LOOP: ^~~~~~~ /tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:100:2: warning: label ‘SUM_LOOP’ defined but not used [-Wunused-label] SUM_LOOP: ^~~~ /tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:107:2: warning: label ‘THRESHOLD_LOOP’ defined but not used [-Wunused-label] THRESHOLD_LOOP: ^~~~~~ from /tools/Xilinx/Vivado/2019.1/include/ap_int.h:54, from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_types.h:37, from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_structs.h:44, from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_common.h:34, from /tools/Xilinx/Workspace/test/src/xf_otsuthreshold_config.h:40, from /tools/Xilinx/Workspace/test/Release/_sds/swstubs/xf_otsuthreshold_accel.cpp:31: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 24; bool _AP_S = true]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1447:5: required from ‘ap_private<_AP_W, _AP_S, true>& ap_private<_AP_W, _AP_S, true>::operator=(const ap_private<_AP_W, _AP_S, true>&) [with int _AP_W = 24; bool _AP_S = true]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1503:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W, _AP_S>::arg1 operator>>(const ap_int_base<_AP_W2, _AP_S2>&, int) [with int _AP_W = 24; bool _AP_S = true; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W, _AP_S>::arg1 = ap_int<24>]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:391:37: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)

                            : (uint64_t)VAL));

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 33; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1485:1: required from ‘ap_private<_AP_W, _AP_S, true>& ap_private<_AP_W, _AP_S, true>::operator=(int) [with int _AP_W = 33; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int.h:301:3: required from ‘ap_uint<_AP_W>::ap_uint(int) [with int _AP_W = 33]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:44:33: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 45; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1486:1: required from ‘ap_private<_AP_W, _AP_S, true>& ap_private<_AP_W, _AP_S, true>::operator=(unsigned int) [with int _AP_W = 45; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int.h:302:3: required from ‘ap_uint<_AP_W>::ap_uint(unsigned int) [with int _AP_W = 45]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:88:25: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::clearUnusedBits() volatile [with int _AP_W = 90; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:4600:5: required from ‘ap_private<_AP_W, _AP_S, false>& ap_private<_AP_W, _AP_S, false>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 180; bool _AP_S1 = false; int _AP_W = 90; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1352:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 45; bool _AP_S = false; int _AP_W2 = 45; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult = ap_uint<90>]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:90:17: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3427:22: warning: enum constant in boolean context [-Wint-in-bool-context] : (excess_bits

                      ? ((pVal[_AP_N - 1]) << (excess_bits)) >> (excess_bits)
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                      : pVal[_AP_N - 1]);

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 25; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1426:5: required from ‘ap_private<_AP_W, _AP_S>& ap_private<_AP_W, _AP_S, true>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 90; bool _AP_S1 = false; int _AP_W = 25; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int.h:209:13: required from ‘ap_uint<_AP_W>::ap_uint(const ap_uint<_AP_W2>&) [with int _AP_W2 = 90; int _AP_W = 25]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:90:17: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)

                            : (uint64_t)VAL));

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::clearUnusedBits() volatile [with int _AP_W = 77; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3279:7: required from ‘ap_private<_AP_W, _AP_S, false>::ap_private(const ap_private<_AP_W, _AP_S, false>&) [with int _AP_W = 77; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_common.h:634:8: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, unsigned int) [with int _AP_W = 45; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult = ap_uint<77>]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:97:18: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3427:22: warning: enum constant in boolean context [-Wint-in-bool-context] : (excess_bits

                      ? ((pVal[_AP_N - 1]) << (excess_bits)) >> (excess_bits)
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                      : pVal[_AP_N - 1]);

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::clearUnusedBits() volatile [with int _AP_W = 65; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3279:7: required from ‘ap_private<_AP_W, _AP_S, false>::ap_private(const ap_private<_AP_W, _AP_S, false>&) [with int _AP_W = 65; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_common.h:634:8: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_ap_slong, false>::plus operator+(ap_ulong, const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W = 49; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_ap_slong, false>::plus = ap_uint<65>; ap_ulong = long long unsigned int]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:118:31: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3427:22: warning: enum constant in boolean context [-Wint-in-bool-context] /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 32; bool _AP_S = true]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1485:1: required from ‘ap_private<_AP_W, _AP_S, true>& ap_private<_AP_W, _AP_S, true>::operator=(int) [with int _AP_W = 32; bool _AP_S = true]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:243:3: required from ‘ap_int_base<_AP_W, _AP_S>::ap_int_base(int) [with int _AP_W = 32; bool _AP_S = true]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1598:1: required from ‘bool operator==(const ap_int_base<_AP_W2, _AP_S2>&, int) [with int _AP_W = 24; bool _AP_S = true]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:595:12: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)

                            : (uint64_t)VAL));

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 1; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1485:1: required from ‘ap_private<_AP_W, _AP_S, true>& ap_private<_AP_W, _AP_S, true>::operator=(int) [with int _AP_W = 1; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:243:3: required from ‘ap_int_base<_AP_W, _AP_S>::ap_int_base(int) [with int _AP_W = 1; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:755:12: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<1, false>::minus ap_int_base<_AP_W, _AP_S>::operator-() const [with int _AP_W = 24; bool _AP_S = true; typename ap_int_base<_AP_W, _AP_S>::RType<1, false>::minus = ap_int<25>]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:613:13: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 25; bool _AP_S = true]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1426:5: required from ‘ap_private<_AP_W, _AP_S>& ap_private<_AP_W, _AP_S, true>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 26; bool _AP_S1 = true; int _AP_W = 25; bool _AP_S = true]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1354:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::minus operator-(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 1; bool _AP_S = false; int _AP_W2 = 24; bool _AP_S2 = true; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::minus = ap_int<25>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:755:37: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<1, false>::minus ap_int_base<_AP_W, _AP_S>::operator-() const [with int _AP_W = 24; bool _AP_S = true; typename ap_int_base<_AP_W, _AP_S>::RType<1, false>::minus = ap_int<25>]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:613:13: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::clearUnusedBits() volatile [with int _AP_W = 180; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3279:7: required from ‘ap_private<_AP_W, _AP_S, false>::ap_private(const ap_private<_AP_W, _AP_S, false>&) [with int _AP_W = 180; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3907:42: required from ‘typename ap_private<_AP_W, _AP_S, false>::RType<_AP_W2, _AP_S2>::mult ap_private<_AP_W, _AP_S, false>::operator(const ap_private<_AP_W1, _AP_S1>&) const [with int _AP_W1 = 90; bool _AP_S1 = false; int _AP_W = 90; bool _AP_S = false; typename ap_private<_AP_W, _AP_S, false>::RType<_AP_W2, _AP_S2>::mult = ap_private<180, false, false>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1352:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult operator(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 45; bool _AP_S = false; int _AP_W2 = 45; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult = ap_uint<90>]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:90:17: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3427:22: warning: enum constant in boolean context [-Wint-in-bool-context] : (excess_bits

                      ? ((pVal[_AP_N - 1]) << (excess_bits)) >> (excess_bits)
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                      : pVal[_AP_N - 1]);
             from /tools/Xilinx/Vivado/2019.1/include/ap_int.h:54,
             from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_types.h:37,
             from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_structs.h:44,
             from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_common.h:34,
             from /tools/Xilinx/Workspace/test/src/xf_otsuthreshold_config.h:40,
             from /tools/Xilinx/Workspace/test/Release/_sds/swstubs/xf_otsuthreshold_accel.cpp:31:

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::cpSext(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 180; bool _AP_S1 = false; int _AP_W = 90; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5334:7: required from ‘void ap_private<_AP_W, _AP_S, false>::cpSextOrTrunc(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 180; bool _AP_S1 = false; int _AP_W = 90; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:4597:7: required from ‘ap_private<_AP_W, _AP_S, false>& ap_private<_AP_W, _AP_S, false>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 180; bool _AP_S1 = false; int _AP_W = 90; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1352:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 45; bool _AP_S = false; int _AP_W2 = 45; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult = ap_uint<90>]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:90:17: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5291:45: warning: enum constant in boolean context [-Wint-in-bool-context] static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5299:43: warning: enum constant in boolean context [-Wint-in-bool-context]
     static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;
                                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 from /tools/Xilinx/Vivado/2019.1/include/ap_int.h:54,
                 from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_types.h:37,
                 from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_structs.h:44,
                 from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_common.h:34,
                 from /tools/Xilinx/Workspace/test/src/xf_otsuthreshold_config.h:40,
                 from /tools/Xilinx/Workspace/test/Release/_sds/swstubs/xf_otsuthreshold_accel.cpp:31:
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 32; bool _AP_S = false]’:
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1486:1:   required from ‘ap_private<_AP_W, _AP_S, true>& ap_private<_AP_W, _AP_S, true>::operator=(unsigned int) [with int _AP_W = 32; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:244:3:   required from ‘ap_int_base<_AP_W, _AP_S>::ap_int_base(unsigned int) [with int _AP_W = 32; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1468:1:   required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, unsigned int) [with int _AP_W = 45; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult = ap_uint<77>]’
/tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:97:18:   required from here
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context]
             : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
               ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                            : (uint64_t)VAL));

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 16; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1484:1: required from ‘ap_private<_AP_W, _AP_S, true>& ap_private<_AP_W, _AP_S, true>::operator=(short unsigned int) [with int _AP_W = 16; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:242:3: required from ‘ap_int_base<_AP_W, _AP_S>::ap_int_base(short unsigned int) [with int _AP_W = 16; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1466:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_short, false>::mult operator(short unsigned int, const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W = 33; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_short, false>::mult = ap_uint<49>]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:104:28: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 49; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1426:5: required from ‘ap_private<_AP_W, _AP_S>& ap_private<_AP_W, _AP_S, true>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 98; bool _AP_S1 = false; int _AP_W = 49; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1352:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult operator(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 16; bool _AP_S = false; int _AP_W2 = 33; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult = ap_uint<49>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1466:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_short, false>::mult operator*(short unsigned int, const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W = 33; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_short, false>::mult = ap_uint<49>]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:104:28: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 50; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1426:5: required from ‘ap_private<_AP_W, _AP_S>& ap_private<_AP_W, _AP_S, true>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 51; bool _AP_S1 = false; int _AP_W = 50; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1353:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus operator+(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 32; bool _AP_S = false; int _AP_W2 = 49; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus = ap_uint<50>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1468:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::plus operator+(unsigned int, const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W = 49; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::plus = ap_uint<50>]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:104:28: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 34; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1426:5: required from ‘ap_private<_AP_W, _AP_S>& ap_private<_AP_W, _AP_S, true>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 35; bool _AP_S1 = false; int _AP_W = 34; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1353:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus operator+(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 32; bool _AP_S = false; int _AP_W2 = 33; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus = ap_uint<34>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1468:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::plus operator+(unsigned int, const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W = 33; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::plus = ap_uint<34>]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:112:24: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 33; bool _AP_S = true]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1426:5: required from ‘ap_private<_AP_W, _AP_S>& ap_private<_AP_W, _AP_S, true>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 34; bool _AP_S1 = true; int _AP_W = 33; bool _AP_S = true]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1354:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::minus operator-(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 25; bool _AP_S = false; int _AP_W2 = 32; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::minus = ap_int<33>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1468:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::minus operator-(const ap_int_base<_AP_W2, _AP_S2>&, unsigned int) [with int _AP_W = 25; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::minus = ap_int<33>]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:117:17: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::clearUnusedBits() volatile [with int _AP_W = 66; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3889:5: required from ‘typename ap_private<_AP_W, _AP_S, false>::RType<_AP_W2, _AP_S2>::plus ap_private<_AP_W, _AP_S, false>::operator+(const ap_private<_AP_W1, _AP_S1>&) const [with int _AP_W1 = 65; bool _AP_S1 = false; int _AP_W = 65; bool _AP_S = false; typename ap_private<_AP_W, _AP_S, false>::RType<_AP_W2, _AP_S2>::plus = ap_private<66, false, false>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1353:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus operator+(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 64; bool _AP_S = false; int _AP_W2 = 49; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus = ap_uint<65>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1472:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_ap_slong, false>::plus operator+(ap_ulong, const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W = 49; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_ap_slong, false>::plus = ap_uint<65>; ap_ulong = long long unsigned int]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:118:31: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3427:22: warning: enum constant in boolean context [-Wint-in-bool-context] : (excess_bits

                      ? ((pVal[_AP_N - 1]) << (excess_bits)) >> (excess_bits)
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                      : pVal[_AP_N - 1]);

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 26; bool _AP_S = true]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1651:3: required from ‘ap_private<_AP_W, _AP_S, true>::ap_private(ap_slong) [with int _AP_W = 26; bool _AP_S = true; ap_slong = long long int]’ /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2082:46: required from ‘typename ap_private<_AP_W, _AP_S, true>::RType<_AP_W2, _AP_S2>::minus ap_private<_AP_W, _AP_S, true>::operator-(const ap_private<_AP_W1, _AP_S1>&) const [with int _AP_W1 = 25; bool _AP_S1 = true; int _AP_W = 25; bool _AP_S = true; typename ap_private<_AP_W, _AP_S, true>::RType<_AP_W2, _AP_S2>::minus = ap_private<26, true, true>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1354:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::minus operator-(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 1; bool _AP_S = false; int _AP_W2 = 24; bool _AP_S2 = true; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::minus = ap_int<25>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:755:37: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<1, false>::minus ap_int_base<_AP_W, _AP_S>::operator-() const [with int _AP_W = 24; bool _AP_S = true; typename ap_int_base<_AP_W, _AP_S>::RType<1, false>::minus = ap_int<25>]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:613:13: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)

                            : (uint64_t)VAL));
             from /tools/Xilinx/Vivado/2019.1/include/ap_int.h:54,
             from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_types.h:37,
             from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_structs.h:44,
             from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_common.h:34,
             from /tools/Xilinx/Workspace/test/src/xf_otsuthreshold_config.h:40,
             from /tools/Xilinx/Workspace/test/Release/_sds/swstubs/xf_otsuthreshold_accel.cpp:31:

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::cpSext(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 45; bool _AP_S1 = false; int _AP_W = 90; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5334:7: required from ‘void ap_private<_AP_W, _AP_S, false>::cpSextOrTrunc(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 45; bool _AP_S1 = false; int _AP_W = 90; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:4597:7: required from ‘ap_private<_AP_W, _AP_S, false>& ap_private<_AP_W, _AP_S, false>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 45; bool _AP_S1 = false; int _AP_W = 90; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:215:13: required from ‘ap_int_base<_AP_W, _AP_S>::ap_int_base(const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W2 = 45; bool _AP_S2 = false; int _AP_W = 90; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1352:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 45; bool _AP_S = false; int _AP_W2 = 45; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult = ap_uint<90>]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:90:17: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5291:45: warning: enum constant in boolean context [-Wint-in-bool-context] static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5299:43: warning: enum constant in boolean context [-Wint-in-bool-context]
     static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;
                                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 from /tools/Xilinx/Vivado/2019.1/include/ap_int.h:54,
                 from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_types.h:37,
                 from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_structs.h:44,
                 from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_common.h:34,
                 from /tools/Xilinx/Workspace/test/src/xf_otsuthreshold_config.h:40,
                 from /tools/Xilinx/Workspace/test/Release/_sds/swstubs/xf_otsuthreshold_accel.cpp:31:
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::clearUnusedBits() volatile [with int _AP_W = 154; bool _AP_S = false]’:
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3279:7:   required from ‘ap_private<_AP_W, _AP_S, false>::ap_private(const ap_private<_AP_W, _AP_S, false>&) [with int _AP_W = 154; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3907:42:   required from ‘typename ap_private<_AP_W, _AP_S, false>::RType<_AP_W2, _AP_S2>::mult ap_private<_AP_W, _AP_S, false>::operator*(const ap_private<_AP_W1, _AP_S1>&) const [with int _AP_W1 = 77; bool _AP_S1 = false; int _AP_W = 77; bool _AP_S = false; typename ap_private<_AP_W, _AP_S, false>::RType<_AP_W2, _AP_S2>::mult = ap_private<154, false, false>]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1352:1:   required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 45; bool _AP_S = false; int _AP_W2 = 32; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult = ap_uint<77>]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1468:1:   required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, unsigned int) [with int _AP_W = 45; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult = ap_uint<77>]’
/tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:97:18:   required from here
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3427:22: warning: enum constant in boolean context [-Wint-in-bool-context]
               : (excess_bits
                  ? ((pVal[_AP_N - 1]) << (excess_bits)) >> (excess_bits)
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  : pVal[_AP_N - 1]);
                  ~~~~~~~~~~~~~~~~~~
             from /tools/Xilinx/Vivado/2019.1/include/ap_int.h:54,
             from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_types.h:37,
             from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_structs.h:44,
             from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_common.h:34,
             from /tools/Xilinx/Workspace/test/src/xf_otsuthreshold_config.h:40,
             from /tools/Xilinx/Workspace/test/Release/_sds/swstubs/xf_otsuthreshold_accel.cpp:31:

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::cpSext(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 154; bool _AP_S1 = false; int _AP_W = 77; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5334:7: required from ‘void ap_private<_AP_W, _AP_S, false>::cpSextOrTrunc(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 154; bool _AP_S1 = false; int _AP_W = 77; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:4597:7: required from ‘ap_private<_AP_W, _AP_S, false>& ap_private<_AP_W, _AP_S, false>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 154; bool _AP_S1 = false; int _AP_W = 77; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1352:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult operator(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 45; bool _AP_S = false; int _AP_W2 = 32; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult = ap_uint<77>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1468:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult operator(const ap_int_base<_AP_W2, _AP_S2>&, unsigned int) [with int _AP_W = 45; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult = ap_uint<77>]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:97:18: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5291:45: warning: enum constant in boolean context [-Wint-in-bool-context] static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5299:43: warning: enum constant in boolean context [-Wint-in-bool-context]
     static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;
                                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 from /tools/Xilinx/Vivado/2019.1/include/ap_int.h:54,
                 from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_types.h:37,
                 from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_structs.h:44,
                 from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_common.h:34,
                 from /tools/Xilinx/Workspace/test/src/xf_otsuthreshold_config.h:40,
                 from /tools/Xilinx/Workspace/test/Release/_sds/swstubs/xf_otsuthreshold_accel.cpp:31:
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::clearUnusedBits() volatile [with int _AP_W = 98; bool _AP_S = false]’:
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3374:3:   required from ‘ap_private<_AP_W, _AP_S, false>::ap_private(ap_ulong, bool) [with int _AP_W = 98; bool _AP_S = false; ap_ulong = long long unsigned int]’
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2005:44:   required from ‘typename ap_private<_AP_W, _AP_S, true>::RType<_AP_W2, _AP_S2>::mult ap_private<_AP_W, _AP_S, true>::operator*(const ap_private<_AP_W1, _AP_S1>&) const [with int _AP_W1 = 49; bool _AP_S1 = false; int _AP_W = 49; bool _AP_S = false; typename ap_private<_AP_W, _AP_S, true>::RType<_AP_W2, _AP_S2>::mult = ap_private<98, false, false>]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1352:1:   required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 16; bool _AP_S = false; int _AP_W2 = 33; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult = ap_uint<49>]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1466:1:   required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_short, false>::mult operator*(short unsigned int, const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W = 33; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_short, false>::mult = ap_uint<49>]’
/tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:104:28:   required from here
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3427:22: warning: enum constant in boolean context [-Wint-in-bool-context]
               : (excess_bits
                  ? ((pVal[_AP_N - 1]) << (excess_bits)) >> (excess_bits)
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  : pVal[_AP_N - 1]);
                  ~~~~~~~~~~~~~~~~~~

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 51; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1652:3: required from ‘ap_private<_AP_W, _AP_S, true>::ap_private(ap_ulong) [with int _AP_W = 51; bool _AP_S = false; ap_ulong = long long unsigned int]’ /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2069:46: required from ‘typename ap_private<_AP_W, _AP_S, true>::RType<_AP_W2, _AP_S2>::plus ap_private<_AP_W, _AP_S, true>::operator+(const ap_private<_AP_W1, _AP_S1>&) const [with int _AP_W1 = 50; bool _AP_S1 = false; int _AP_W = 50; bool _AP_S = false; typename ap_private<_AP_W, _AP_S, true>::RType<_AP_W2, _AP_S2>::plus = ap_private<51, false, true>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1353:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus operator+(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 32; bool _AP_S = false; int _AP_W2 = 49; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus = ap_uint<50>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1468:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::plus operator+(unsigned int, const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W = 49; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::plus = ap_uint<50>]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:104:28: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)

                            : (uint64_t)VAL));

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 35; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1652:3: required from ‘ap_private<_AP_W, _AP_S, true>::ap_private(ap_ulong) [with int _AP_W = 35; bool _AP_S = false; ap_ulong = long long unsigned int]’ /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2069:46: required from ‘typename ap_private<_AP_W, _AP_S, true>::RType<_AP_W2, _AP_S2>::plus ap_private<_AP_W, _AP_S, true>::operator+(const ap_private<_AP_W1, _AP_S1>&) const [with int _AP_W1 = 34; bool _AP_S1 = false; int _AP_W = 34; bool _AP_S = false; typename ap_private<_AP_W, _AP_S, true>::RType<_AP_W2, _AP_S2>::plus = ap_private<35, false, true>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1353:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus operator+(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 32; bool _AP_S = false; int _AP_W2 = 33; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus = ap_uint<34>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1468:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::plus operator+(unsigned int, const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W = 33; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::plus = ap_uint<34>]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:112:24: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 34; bool _AP_S = true]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1651:3: required from ‘ap_private<_AP_W, _AP_S, true>::ap_private(ap_slong) [with int _AP_W = 34; bool _AP_S = true; ap_slong = long long int]’ /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2082:46: required from ‘typename ap_private<_AP_W, _AP_S, true>::RType<_AP_W2, _AP_S2>::minus ap_private<_AP_W, _AP_S, true>::operator-(const ap_private<_AP_W1, _AP_S1>&) const [with int _AP_W1 = 33; bool _AP_S1 = true; int _AP_W = 33; bool _AP_S = true; typename ap_private<_AP_W, _AP_S, true>::RType<_AP_W2, _AP_S2>::minus = ap_private<34, true, true>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1354:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::minus operator-(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 25; bool _AP_S = false; int _AP_W2 = 32; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::minus = ap_int<33>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1468:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::minus operator-(const ap_int_base<_AP_W2, _AP_S2>&, unsigned int) [with int _AP_W = 25; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::minus = ap_int<33>]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:117:17: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] from /tools/Xilinx/Vivado/2019.1/include/ap_int.h:54, from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_types.h:37, from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_structs.h:44, from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_common.h:34, from /tools/Xilinx/Workspace/test/src/xf_otsuthreshold_config.h:40, from /tools/Xilinx/Workspace/test/Release/_sds/swstubs/xf_otsuthreshold_accel.cpp:31: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::cpSext(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 66; bool _AP_S1 = false; int _AP_W = 65; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5334:7: required from ‘void ap_private<_AP_W, _AP_S, false>::cpSextOrTrunc(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 66; bool _AP_S1 = false; int _AP_W = 65; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:4597:7: required from ‘ap_private<_AP_W, _AP_S, false>& ap_private<_AP_W, _AP_S, false>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 66; bool _AP_S1 = false; int _AP_W = 65; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1353:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus operator+(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 64; bool _AP_S = false; int _AP_W2 = 49; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus = ap_uint<65>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1472:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_ap_slong, false>::plus operator+(ap_ulong, const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W = 49; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_ap_slong, false>::plus = ap_uint<65>; ap_ulong = long long unsigned int]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:118:31: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5291:45: warning: enum constant in boolean context [-Wint-in-bool-context] static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5299:43: warning: enum constant in boolean context [-Wint-in-bool-context]
     static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;
                                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 from /tools/Xilinx/Vivado/2019.1/include/ap_int.h:54,
                 from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_types.h:37,
                 from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_structs.h:44,
                 from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_common.h:34,
                 from /tools/Xilinx/Workspace/test/src/xf_otsuthreshold_config.h:40,
                 from /tools/Xilinx/Workspace/test/Release/_sds/swstubs/xf_otsuthreshold_accel.cpp:31:
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 24; bool _AP_S = false]’:
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1447:5:   required from ‘ap_private<_AP_W, _AP_S, true>& ap_private<_AP_W, _AP_S, true>::operator=(const ap_private<_AP_W, _AP_S, true>&) [with int _AP_W = 24; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1466:11:   required from ‘ap_private<_AP_W, _AP_S, true>& ap_private<_AP_W, _AP_S, true>::operator=(const _private_range_ref<_AP_W2, _AP_S2>&) [with int _AP_W2 = 24; bool _AP_S2 = true; int _AP_W = 24; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_ref.h:647:11:   required from ‘ap_int_base<_AP_W2, false> ap_range_ref<_AP_W, _AP_S>::get() const [with int _AP_W = 24; bool _AP_S = true]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:364:27:   required from ‘ap_int_base<_AP_W, _AP_S>::ap_int_base(const ap_range_ref<_AP_W2, _AP_S2>&) [with int _AP_W2 = 24; bool _AP_S2 = true; int _AP_W = 24; bool _AP_S = true]’
/tools/Xilinx/Vivado/2019.1/include/ap_int.h:96:68:   required from ‘ap_int<_AP_W>::ap_int(const ap_range_ref<_AP_W2, _AP_S2>&) [with int _AP_W2 = 24; bool _AP_S2 = true; int _AP_W = 24]’
/tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:378:56:   required from here
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context]
             : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
               ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                            : (uint64_t)VAL));
             from /tools/Xilinx/Vivado/2019.1/include/ap_int.h:54,
             from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_types.h:37,
             from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_structs.h:44,
             from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_common.h:34,
             from /tools/Xilinx/Workspace/test/src/xf_otsuthreshold_config.h:40,
             from /tools/Xilinx/Workspace/test/Release/_sds/swstubs/xf_otsuthreshold_accel.cpp:31:

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::cpSext(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 90; bool _AP_S1 = false; int _AP_W = 180; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5334:7: required from ‘void ap_private<_AP_W, _AP_S, false>::cpSextOrTrunc(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 90; bool _AP_S1 = false; int _AP_W = 180; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:4597:7: required from ‘ap_private<_AP_W, _AP_S, false>& ap_private<_AP_W, _AP_S, false>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 90; bool _AP_S1 = false; int _AP_W = 180; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3286:5: required from ‘ap_private<_AP_W, _AP_S, false>::ap_private(const ap_private<_AP_W1, _AP_S1, false>&) [with int _AP_W1 = 90; bool _AP_S1 = false; int _AP_W = 180; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3907:42: required from ‘typename ap_private<_AP_W, _AP_S, false>::RType<_AP_W2, _AP_S2>::mult ap_private<_AP_W, _AP_S, false>::operator(const ap_private<_AP_W1, _AP_S1>&) const [with int _AP_W1 = 90; bool _AP_S1 = false; int _AP_W = 90; bool _AP_S = false; typename ap_private<_AP_W, _AP_S, false>::RType<_AP_W2, _AP_S2>::mult = ap_private<180, false, false>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1352:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult operator(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 45; bool _AP_S = false; int _AP_W2 = 45; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult = ap_uint<90>]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:90:17: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5291:45: warning: enum constant in boolean context [-Wint-in-bool-context] static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5299:43: warning: enum constant in boolean context [-Wint-in-bool-context]
     static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;
                                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::cpSext(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 45; bool _AP_S1 = false; int _AP_W = 77; bool _AP_S = false]’:
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5334:7:   required from ‘void ap_private<_AP_W, _AP_S, false>::cpSextOrTrunc(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 45; bool _AP_S1 = false; int _AP_W = 77; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:4597:7:   required from ‘ap_private<_AP_W, _AP_S, false>& ap_private<_AP_W, _AP_S, false>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 45; bool _AP_S1 = false; int _AP_W = 77; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:215:13:   required from ‘ap_int_base<_AP_W, _AP_S>::ap_int_base(const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W2 = 45; bool _AP_S2 = false; int _AP_W = 77; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1352:1:   required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 45; bool _AP_S = false; int _AP_W2 = 32; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult = ap_uint<77>]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1468:1:   required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, unsigned int) [with int _AP_W = 45; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult = ap_uint<77>]’
/tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:97:18:   required from here
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5291:45: warning: enum constant in boolean context [-Wint-in-bool-context]
       static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;
                                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5299:43: warning: enum constant in boolean context [-Wint-in-bool-context]
     static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;
                                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::cpSext(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 32; bool _AP_S1 = false; int _AP_W = 77; bool _AP_S = false]’:
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5334:7:   required from ‘void ap_private<_AP_W, _AP_S, false>::cpSextOrTrunc(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 32; bool _AP_S1 = false; int _AP_W = 77; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:4597:7:   required from ‘ap_private<_AP_W, _AP_S, false>& ap_private<_AP_W, _AP_S, false>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 32; bool _AP_S1 = false; int _AP_W = 77; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:215:13:   required from ‘ap_int_base<_AP_W, _AP_S>::ap_int_base(const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W2 = 32; bool _AP_S2 = false; int _AP_W = 77; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1352:1:   required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 45; bool _AP_S = false; int _AP_W2 = 32; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult = ap_uint<77>]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1468:1:   required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, unsigned int) [with int _AP_W = 45; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult = ap_uint<77>]’
/tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:97:18:   required from here
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5291:45: warning: enum constant in boolean context [-Wint-in-bool-context]
       static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;
                                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5299:43: warning: enum constant in boolean context [-Wint-in-bool-context]
     static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;
                                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::cpSext(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 49; bool _AP_S1 = false; int _AP_W = 65; bool _AP_S = false]’:
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5334:7:   required from ‘void ap_private<_AP_W, _AP_S, false>::cpSextOrTrunc(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 49; bool _AP_S1 = false; int _AP_W = 65; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:4597:7:   required from ‘ap_private<_AP_W, _AP_S, false>& ap_private<_AP_W, _AP_S, false>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 49; bool _AP_S1 = false; int _AP_W = 65; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:215:13:   required from ‘ap_int_base<_AP_W, _AP_S>::ap_int_base(const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W2 = 49; bool _AP_S2 = false; int _AP_W = 65; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1353:1:   required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus operator+(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 64; bool _AP_S = false; int _AP_W2 = 49; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus = ap_uint<65>]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1472:1:   required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_ap_slong, false>::plus operator+(ap_ulong, const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W = 49; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_ap_slong, false>::plus = ap_uint<65>; ap_ulong = long long unsigned int]’
/tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:118:31:   required from here
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5291:45: warning: enum constant in boolean context [-Wint-in-bool-context]
       static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;
                                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5299:43: warning: enum constant in boolean context [-Wint-in-bool-context]
     static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;
                                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::cpSext(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 77; bool _AP_S1 = false; int _AP_W = 154; bool _AP_S = false]’:
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5334:7:   required from ‘void ap_private<_AP_W, _AP_S, false>::cpSextOrTrunc(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 77; bool _AP_S1 = false; int _AP_W = 154; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:4597:7:   required from ‘ap_private<_AP_W, _AP_S, false>& ap_private<_AP_W, _AP_S, false>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 77; bool _AP_S1 = false; int _AP_W = 154; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3286:5:   required from ‘ap_private<_AP_W, _AP_S, false>::ap_private(const ap_private<_AP_W1, _AP_S1, false>&) [with int _AP_W1 = 77; bool _AP_S1 = false; int _AP_W = 154; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3907:42:   required from ‘typename ap_private<_AP_W, _AP_S, false>::RType<_AP_W2, _AP_S2>::mult ap_private<_AP_W, _AP_S, false>::operator*(const ap_private<_AP_W1, _AP_S1>&) const [with int _AP_W1 = 77; bool _AP_S1 = false; int _AP_W = 77; bool _AP_S = false; typename ap_private<_AP_W, _AP_S, false>::RType<_AP_W2, _AP_S2>::mult = ap_private<154, false, false>]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1352:1:   required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 45; bool _AP_S = false; int _AP_W2 = 32; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult = ap_uint<77>]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1468:1:   required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, unsigned int) [with int _AP_W = 45; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult = ap_uint<77>]’
/tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:97:18:   required from here
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5291:45: warning: enum constant in boolean context [-Wint-in-bool-context]
       static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;
                                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5299:43: warning: enum constant in boolean context [-Wint-in-bool-context]
     static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;
                                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 from /tools/Xilinx/Workspace/test/Release/_sds/swstubs/xf_otsuthreshold_accel.cpp:31:
/tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp: At global scope:
/tools/Xilinx/SDx/2019.1/xfopencv/include/imgproc/xf_otsuthreshold.hpp:40:13: warning: ‘void xf::xfOtsuKernel(uint32_t (*)[256], uint16_t, uint16_t, uint8_t&)’ defined but not used [-Wunused-function]
 static void xfOtsuKernel(uint32_t _hist[0][256], uint16_t _height, uint16_t _width, uint8_t &thresh)
             ^~~~~~~~~~~~
                 from /tools/Xilinx/Workspace/test/src/xf_otsuthreshold_config.h:42,
                 from /tools/Xilinx/Workspace/test/Release/_sds/swstubs/xf_otsuthreshold_accel.cpp:31:
/tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:679:12: warning: ‘int xf::Sqrt(unsigned int)’ defined but not used [-Wunused-function]
 static int Sqrt(unsigned int D)
            ^~~~
/tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:590:14: warning: ‘short int xf::Atan2LookupFP24(ap_int24_t, ap_int24_t, int, int, int, int)’ defined but not used [-Wunused-function]
 static short Atan2LookupFP24(ap_int24_t xs,ap_int24_t ys,int M1,int N1,int M2, int N2)
              ^~~~~~~~~~~~~~~
/tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:515:14: warning: ‘short int xf::Atan2LUT8(short int, short int, int, int, int, int)’ defined but not used [-Wunused-function]
 static short Atan2LUT8(short xs,short ys,int M1,int N1,int M2, int N2)
              ^~~~~~~~~
/tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:442:14: warning: ‘short int xf::Atan2LookupFP(short int, short int, int, int, int, int)’ defined but not used [-Wunused-function]
 static short Atan2LookupFP(short xs,short ys,int M1,int N1,int M2, int N2)
              ^~~~~~~~~~~~~
/tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:118:21: warning: ‘unsigned int xf::Inverse32(short unsigned int, int, char*)’ defined but not used [-Wunused-function]
 static unsigned int Inverse32(unsigned short x, int M, char *N)
                     ^~~~~~~~~
                 from /tools/Xilinx/Workspace/test/src/xf_otsuthreshold_config.h:42,
                 from /tools/Xilinx/Workspace/test/Release/_sds/swstubs/xf_otsuthreshold_accel.cpp:31:
/tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:69:23: warning: ‘xf::cos_fix_lut’ defined but not used [-Wunused-variable]
 static unsigned short cos_fix_lut[1572] = {32768,32767,32767,32767,32767,32767,32767,32767,32766,32766,32766,32766,32765,32765,32764,32764,32763,32763,32762,32762,32761,32760,32760,32759,32758,32757,32756,32756,32755,32754,32753,32752,32751,32750,32749,32747,32746,32745,32744,32743,32741,32740,32739,32737,32736,32734,32733,32731,32730,32728,32727,32725,32723,32721,32720,32718,32716,32714,32712,32710,32709,32707,32705,32702,32700,32698,32696,32694,32692,32690,32687,32685,32683,32680,32678,32675,32673,32670,32668,32665,32663,32660,32657,32655,32652,32649,32646,32644,32641,32638,32635,32632,32629,32626,32623,32620,32617,32613,32610,32607,32604,32601,32597,32594,32590,32587,32584,32580,32577,32573,32569,32566,32562,32559,32555,32551,32547,32543,32540,32536,32532,32528,32524,32520,32516,32512,32508,32504,32499,32495,32491,32487,32482,32478,32474,32469,32465,32460,32456,32451,32447,32442,32438,32433,32428,32424,32419,32414,32409,32404,32400,32395,32390,32385,32380,32375,32370,32364,32359,32354,32349,32344,32338,32333,32328,32322,32317,32312,32306,32301,32295,32290,32284,32278,32273,32267,32261,32256,32250,32244,32238,32232,32226,32220,32214,32208,32202,32196,32190,32184,32178,32172,32165,32159,32153,32146,32140,32134,32127,32121,32114,32108,32101,32095,32088,32081,32075,32068,32061,32054,32048,32041,32034,32027,32020,32013,32006,31999,31992,31985,31978,31971,31963,31956,31949,31942,31934,31927,31919,31912,31905,31897,31890,31882,31874,31867,31859,31852,31844,31836,31828,31820,31813,31805,31797,31789,31781,31773,31765,31757,31749,31741,31733,31724,31716,31708,31700,31691,31683,31675,31666,31658,31649,31641,31632,31624,31615,31606,31598,31589,31580,31572,31563,31554,31545,31536,31527,31518,31509,31500,31491,31482,31473,31464,31455,31446,31436,31427,31418,31409,31399,31390,31380,31371,31362,31352,31342,31333,31323,31314,31304,31294,31285,31275,31265,31255,31245,31235,31226,31216,31206,31196,31186,31175,31165,31155,31145,31135,31125,31114,31104,31094,31083,31073,31063,31052,31042,31031,31021,31010,30999,30989,30978,30967,30957,30946,30935,30924,30913,30903,30892,30881,30870,30859,30848,30837,30826,30814,30803,30792,30781,30770,30758,30747,30736,30724,30713,30701,30690,30679,30667,30655,30644,30632,30621,30609,30597,30585,30574,30562,30550,30538,30526,30514,30502,30490,30478,30466,30454,30442,30430,30418,30406,30393,30381,30369,30357,30344,30332,30319,30307,30294,30282,30269,30257,30244,30232,30219,30206,30194,30181,30168,30155,30142,30130,30117,30104,30091,30078,30065,30052,30039,30026,30012,29999,29986,29973,29960,29946,29933,29920,29906,29893,29879,29866,29852,29839,29825,29812,29798,29785,29771,29757,29743,29730,29716,29702,29688,29674,29660,29646,29632,29618,29604,29590,29576,29562,29548,29534,29520,29505,29491,29477,29462,29448,29434,29419,29405,29390,29376,29361,29347,29332,29318,29303,29288,29274,29259,29244,29229,29214,29200,29185,29170,29155,29140,29125,29110,29095,29080,29065,29049,29034,29019,29004,28989,28973,28958,28943,28927,28912,28896,28881,28865,28850,28834,28819,28803,28788,28772,28756,28740,28725,28709,28693,28677,28661,28646,28630,28614,28598,28582,28566,28550,28533,28517,28501,28485,28469,28453,28436,28420,28404,28387,28371,28354,28338,28322,28305,28289,28272,28255,28239,28222,28206,28189,28172,28155,28139,28122,28105,28088,28071,28054,28037,28020,28003,27986,27969,27952,27935,27918,27901,27884,27866,27849,27832,27815,27797,27780,27762,27745,27728,27710,27693,27675,27657,27640,27622,27605,27587,27569,27552,27534,27516,27498,27480,27463,27445,27427,27409,27391,27373,27355,27337,27319,27301,27282,27264,27246,27228,27210,27191,27173,27155,27136,27118,27100,27081,27063,27044,27026,27007,26989,26970,26951,26933,26914,26895,26877,26858,26839,26820,26801,26783,26764,26745,26726,26707,26688,26669,26650,26631,26612,26592,26573,26554,26535,26516,26496,26477,26458,26438,26419,26400,26380,26361,26341,26322,26302,26283,26263,26243,26224,26204,26184,26165,26145,26125,26105,26086,26066,26046,26026,26006,25986,25966,25946,25926,25906,25886,25866,25846,25826,25805,25785,25765,25745,25725,25704,25684,25664,25643,25623,25602,25582,25561,25541,25520,25500,25479,25458,25438,25417,25396,25376,25355,25334,25313,25293,25272,25251,25230,25209,25188,25167,25146,25125,25104,25083,25062,25041,25020,24999,24977,24956,24935,24914,24892,24871,24850,24828,24807,24785,24764,24743,24721,24700,24678,24656,24635,24613,24592,24570,24548,24526,24505,24483,24461,24439,24418,24396,24374,24352,24330,24308,24286,24264,24242,24220,24198,24176,24154,24131,24109,24087,24065,24043,24020,23998,23976,23953,23931,23909,23886,23864,23841,23819,23796,23774,23751,23728,23706,23683,23661,23638,23615,23592,23570,23547,23524,23501,23478,23456,23433,23410,23387,23364,23341,23318,23295,23272,23249,23226,23203,23179,23156,23133,23110,23087,23063,23040,23017,22993,22970,22947,22923,22900,22876,22853,22829,22806,22782,22759,22735,22712,22688,22664,22641,22617,22593,22569,22546,22522,22498,22474,22450,22426,22403,22379,22355,22331,22307,22283,22259,22235,22211,22186,22162,22138,22114,22090,22066,22041,22017,21993,21969,21944,21920,21895,21871,21847,21822,21798,21773,21749,21724,21700,21675,21651,21626,21601,21577,21552,21527,21503,21478,21453,21428,21404,21379,21354,21329,21304,21279,21254,21229,21204,21179,21154,21129,21104,21079,21054,21029,21004,20979,20954,20928,20903,20878,20853,20827,20802,20777,20751,20726,20701,20675,20650,20624,20599,20573,20548,20522,20497,20471,20446,20420,20394,20369,20343,20317,20292,20266,20240,20214,20188,20163,20137,20111,20085,20059,20033,20007,19981,19955,19929,19903,19877,19851,19825,19799,19773,19747,19721,19694,19668,19642,19616,19590,19563,19537,19511,19484,19458,19432,19405,19379,19352,19326,19299,19273,19246,19220,19193,19167,19140,19114,19087,19060,19034,19007,18980,18954,18927,18900,18873,18846,18820,18793,18766,18739,18712,18685,18658,18631,18604,18577,18550,18523,18496,18469,18442,18415,18388,18361,18334,18307,18279,18252,18225,18198,18171,18143,18116,18089,18061,18034,18007,17979,17952,17924,17897,17870,17842,17815,17787,17759,17732,17704,17677,17649,17622,17594,17566,17539,17511,17483,17455,17428,17400,17372,17344,17317,17289,17261,17233,17205,17177,17149,17121,17094,17066,17038,17010,16982,16954,16925,16897,16869,16841,16813,16785,16757,16729,16700,16672,16644,16616,16588,16559,16531,16503,16474,16446,16418,16389,16361,16333,16304,16276,16247,16219,16190,16162,16133,16105,16076,16048,16019,15990,15962,15933,15905,15876,15847,15819,15790,15761,15732,15704,15675,15646,15617,15588,15560,15531,15502,15473,15444,15415,15386,15357,15328,15299,15270,15241,15212,15183,15154,15125,15096,15067,15038,15009,14980,14951,14921,14892,14863,14834,14805,14775,14746,14717,14688,14658,14629,14600,14570,14541,14512,14482,14453,14423,14394,14364,14335,14306,14276,14247,14217,14188,14158,14128,14099,14069,14040,14010,13980,13951,13921,13891,13862,13832,13802,13773,13743,13713,13683,13654,13624,13594,13564,13534,13504,13475,13445,13415,13385,13355,13325,13295,13265,13235,13205,13175,13145,13115,13085,13055,13025,12995,12965,12935,12905,12874,12844,12814,12784,12754,12724,12693,12663,12633,12603,12573,12542,12512,12482,12451,12421,12391,12360,12330,12300,12269,12239,12208,12178,12148,12117,12087,12056,12026,11995,11965,11934,11904,11873,11843,11812,11782,11751,11720,11690,11659,11629,11598,11567,11537,11506,11475,11444,11414,11383,11352,11322,11291,11260,11229,11198,11168,11137,11106,11075,11044,11014,10983,10952,10921,10890,10859,10828,10797,10766,10735,10704,10673,10642,10611,10580,10549,10518,10487,10456,10425,10394,10363,10332,10301,10270,10239,10207,10176,10145,10114,10083,10052,10020,9989,9958,9927,9896,9864,9833,9802,9771,9739,9708,9677,9645,9614,9583,9551,9520,9489,9457,9426,9394,9363,9332,9300,9269,9237,9206,9174,9143,9112,9080,9049,9017,8986,8954,8923,8891,8859,8828,8796,8765,8733,8702,8670,8638,8607,8575,8544,8512,8480,8449,8417,8385,8354,8322,8290,8258,8227,8195,8163,8132,8100,8068,8036,8004,7973,7941,7909,7877,7846,7814,7782,7750,7718,7686,7654,7623,7591,7559,7527,7495,7463,7431,7399,7367,7335,7304,7272,7240,7208,7176,7144,7112,7080,7048,7016,6984,6952,6920,6888,6856,6824,6791,6759,6727,6695,6663,6631,6599,6567,6535,6503,6471,6438,6406,6374,6342,6310,6278,6246,6213,6181,6149,6117,6085,6052,6020,5988,5956,5924,5891,5859,5827,5795,5762,5730,5698,5666,5633,5601,5569,5536,5504,5472,5439,5407,5375,5342,5310,5278,5245,5213,5181,5148,5116,5084,5051,5019,4987,4954,4922,4889,4857,4825,4792,4760,4727,4695,4662,4630,4598,4565,4533,4500,4468,4435,4403,4370,4338,4305,4273,4240,4208,4175,4143,4110,4078,4045,4013,3980,3948,3915,3883,3850,3818,3785,3752,3720,3687,3655,3622,3590,3557,3525,3492,3459,3427,3394,3362,3329,3296,3264,3231,3199,3166,3133,3101,3068,3035,3003,2970,2938,2905,2872,2840,2807,2774,2742,2709,2676,2644,2611,2578,2546,2513,2480,2448,2415,2382,2350,2317,2284,2252,2219,2186,2153,2121,2088,2055,2023,1990,1957,1925,1892,1859,1826,1794,1761,1728,1696,1663,1630,1597,1565,1532,1499,1466,1434,1401,1368,1335,1303,1270,1237,1204,1172,1139,1106,1073,1041,1008,975,942,910,877,844,811,779,746,713,680,648,615,582,549,517,484,451,418,385,353,320,287,254,222,189,156,123,91,58,25};
                       ^~~~~~~~~~~
                 from /tools/Xilinx/Workspace/test/src/xf_otsuthreshold_config.h:42,
                 from /tools/Xilinx/Workspace/test/Release/_sds/swstubs/xf_otsuthreshold_accel.cpp:31:
/tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:67:23: warning: ‘xf::sin_fix_lut’ defined but not used [-Wunused-variable]
 static unsigned short sin_fix_lut[1572]={0,32,65,98,131,163,196,229,262,294,327,360,393,425,458,491,524,557,589,622,655,688,720,753,786,819,851,884,917,950,982,1015,1048,1081,1113,1146,1179,1212,1244,1277,1310,1343,1375,1408,1441,1474,1506,1539,1572,1604,1637,1670,1703,1735,1768,1801,1834,1866,1899,1932,1964,1997,2030,2063,2095,2128,2161,2193,2226,2259,2291,2324,2357,2389,2422,2455,2487,2520,2553,2585,2618,2651,2683,2716,2749,2781,2814,2847,2879,2912,2945,2977,3010,3043,3075,3108,3140,3173,3206,3238,3271,3303,3336,3369,3401,3434,3466,3499,3532,3564,3597,3629,3662,3694,3727,3760,3792,3825,3857,3890,3922,3955,3987,4020,4052,4085,4117,4150,4182,4215,4247,4280,4312,4345,4377,4410,4442,4475,4507,4540,4572,4604,4637,4669,4702,4734,4767,4799,4831,4864,4896,4929,4961,4993,5026,5058,5091,5123,5155,5188,5220,5252,5285,5317,5349,5382,5414,5446,5479,5511,5543,5576,5608,5640,5672,5705,5737,5769,5801,5834,5866,5898,5930,5963,5995,6027,6059,6091,6124,6156,6188,6220,6252,6285,6317,6349,6381,6413,6445,6477,6510,6542,6574,6606,6638,6670,6702,6734,6766,6798,6830,6862,6894,6926,6958,6990,7022,7054,7086,7118,7150,7182,7214,7246,7278,7310,7342,7374,7406,7438,7470,7502,7534,7566,7597,7629,7661,7693,7725,7757,7789,7820,7852,7884,7916,7948,7979,8011,8043,8075,8106,8138,8170,8202,8233,8265,8297,8328,8360,8392,8424,8455,8487,8518,8550,8582,8613,8645,8677,8708,8740,8771,8803,8834,8866,8898,8929,8961,8992,9024,9055,9087,9118,9150,9181,9212,9244,9275,9307,9338,9370,9401,9432,9464,9495,9526,9558,9589,9620,9652,9683,9714,9746,9777,9808,9839,9871,9902,9933,9964,9996,10027,10058,10089,10120,10152,10183,10214,10245,10276,10307,10338,10369,10400,10432,10463,10494,10525,10556,10587,10618,10649,10680,10711,10742,10773,10804,10834,10865,10896,10927,10958,10989,11020,11051,11082,11112,11143,11174,11205,11236,11266,11297,11328,11359,11389,11420,11451,11481,11512,11543,11573,11604,11635,11665,11696,11727,11757,11788,11818,11849,11879,11910,11940,11971,12001,12032,12062,12093,12123,12154,12184,12215,12245,12275,12306,12336,12366,12397,12427,12457,12488,12518,12548,12579,12609,12639,12669,12700,12730,12760,12790,12820,12850,12881,12911,12941,12971,13001,13031,13061,13091,13121,13151,13181,13211,13241,13271,13301,13331,13361,13391,13421,13451,13481,13510,13540,13570,13600,13630,13659,13689,13719,13749,13778,13808,13838,13868,13897,13927,13957,13986,14016,14045,14075,14105,14134,14164,14193,14223,14252,14282,14311,14341,14370,14400,14429,14459,14488,14517,14547,14576,14605,14635,14664,14693,14723,14752,14781,14810,14840,14869,14898,14927,14956,14985,15015,15044,15073,15102,15131,15160,15189,15218,15247,15276,15305,15334,15363,15392,15421,15450,15479,15508,15536,15565,15594,15623,15652,15680,15709,15738,15767,15795,15824,15853,15881,15910,15939,15967,15996,16025,16053,16082,16110,16139,16167,16196,16224,16253,16281,16310,16338,16366,16395,16423,16452,16480,16508,16536,16565,16593,16621,16649,16678,16706,16734,16762,16790,16819,16847,16875,16903,16931,16959,16987,17015,17043,17071,17099,17127,17155,17183,17211,17238,17266,17294,17322,17350,17378,17405,17433,17461,17489,17516,17544,17572,17599,17627,17654,17682,17710,17737,17765,17792,17820,17847,17875,17902,17930,17957,17984,18012,18039,18067,18094,18121,18148,18176,18203,18230,18257,18285,18312,18339,18366,18393,18420,18447,18475,18502,18529,18556,18583,18610,18637,18664,18690,18717,18744,18771,18798,18825,18852,18878,18905,18932,18959,18985,19012,19039,19065,19092,19119,19145,19172,19198,19225,19251,19278,19304,19331,19357,19384,19410,19437,19463,19489,19516,19542,19568,19595,19621,19647,19673,19699,19726,19752,19778,19804,19830,19856,19882,19908,19934,19960,19986,20012,20038,20064,20090,20116,20142,20168,20193,20219,20245,20271,20296,20322,20348,20374,20399,20425,20450,20476,20502,20527,20553,20578,20604,20629,20655,20680,20705,20731,20756,20782,20807,20832,20857,20883,20908,20933,20958,20984,21009,21034,21059,21084,21109,21134,21159,21184,21209,21234,21259,21284,21309,21334,21359,21383,21408,21433,21458,21483,21507,21532,21557,21581,21606,21631,21655,21680,21704,21729,21753,21778,21802,21827,21851,21876,21900,21924,21949,21973,21997,22022,22046,22070,22094,22119,22143,22167,22191,22215,22239,22263,22287,22311,22335,22359,22383,22407,22431,22455,22479,22503,22526,22550,22574,22598,22621,22645,22669,22692,22716,22740,22763,22787,22810,22834,22857,22881,22904,22928,22951,22974,22998,23021,23044,23068,23091,23114,23137,23161,23184,23207,23230,23253,23276,23299,23322,23345,23368,23391,23414,23437,23460,23483,23506,23528,23551,23574,23597,23620,23642,23665,23688,23710,23733,23755,23778,23800,23823,23845,23868,23890,23913,23935,23958,23980,24002,24024,24047,24069,24091,24113,24136,24158,24180,24202,24224,24246,24268,24290,24312,24334,24356,24378,24400,24422,24444,24465,24487,24509,24531,24552,24574,24596,24617,24639,24661,24682,24704,24725,24747,24768,24790,24811,24832,24854,24875,24896,24918,24939,24960,24981,25003,25024,25045,25066,25087,25108,25129,25150,25171,25192,25213,25234,25255,25276,25297,25317,25338,25359,25380,25400,25421,25442,25462,25483,25504,25524,25545,25565,25586,25606,25627,25647,25667,25688,25708,25728,25749,25769,25789,25809,25830,25850,25870,25890,25910,25930,25950,25970,25990,26010,26030,26050,26070,26089,26109,26129,26149,26169,26188,26208,26228,26247,26267,26286,26306,26325,26345,26364,26384,26403,26423,26442,26461,26481,26500,26519,26538,26558,26577,26596,26615,26634,26653,26672,26691,26710,26729,26748,26767,26786,26805,26824,26843,26861,26880,26899,26918,26936,26955,26973,26992,27011,27029,27048,27066,27085,27103,27121,27140,27158,27177,27195,27213,27231,27250,27268,27286,27304,27322,27340,27358,27376,27394,27412,27430,27448,27466,27484,27502,27519,27537,27555,27573,27590,27608,27626,27643,27661,27678,27696,27713,27731,27748,27766,27783,27800,27818,27835,27852,27870,27887,27904,27921,27938,27955,27973,27990,28007,28024,28041,28058,28074,28091,28108,28125,28142,28159,28175,28192,28209,28225,28242,28259,28275,28292,28308,28325,28341,28358,28374,28390,28407,28423,28439,28456,28472,28488,28504,28520,28537,28553,28569,28585,28601,28617,28633,28649,28664,28680,28696,28712,28728,28744,28759,28775,28791,28806,28822,28837,28853,28868,28884,28899,28915,28930,28946,28961,28976,28992,29007,29022,29037,29052,29068,29083,29098,29113,29128,29143,29158,29173,29188,29203,29217,29232,29247,29262,29276,29291,29306,29320,29335,29350,29364,29379,29393,29408,29422,29437,29451,29465,29480,29494,29508,29522,29537,29551,29565,29579,29593,29607,29621,29635,29649,29663,29677,29691,29705,29719,29732,29746,29760,29774,29787,29801,29814,29828,29842,29855,29869,29882,29896,29909,29922,29936,29949,29962,29975,29989,30002,30015,30028,30041,30054,30067,30080,30093,30106,30119,30132,30145,30158,30171,30183,30196,30209,30222,30234,30247,30259,30272,30284,30297,30309,30322,30334,30347,30359,30371,30384,30396,30408,30420,30432,30445,30457,30469,30481,30493,30505,30517,30529,30541,30552,30564,30576,30588,30600,30611,30623,30635,30646,30658,30669,30681,30692,30704,30715,30727,30738,30749,30761,30772,30783,30794,30806,30817,30828,30839,30850,30861,30872,30883,30894,30905,30916,30927,30937,30948,30959,30970,30980,30991,31002,31012,31023,31033,31044,31054,31065,31075,31086,31096,31106,31116,31127,31137,31147,31157,31167,31178,31188,31198,31208,31218,31228,31237,31247,31257,31267,31277,31287,31296,31306,31316,31325,31335,31344,31354,31363,31373,31382,31392,31401,31411,31420,31429,31438,31448,31457,31466,31475,31484,31493,31502,31511,31520,31529,31538,31547,31556,31565,31573,31582,31591,31600,31608,31617,31625,31634,31643,31651,31659,31668,31676,31685,31693,31701,31710,31718,31726,31734,31742,31751,31759,31767,31775,31783,31791,31799,31806,31814,31822,31830,31838,31845,31853,31861,31868,31876,31884,31891,31899,31906,31914,31921,31928,31936,31943,31950,31958,31965,31972,31979,31986,31993,32001,32008,32015,32022,32028,32035,32042,32049,32056,32063,32069,32076,32083,32089,32096,32103,32109,32116,32122,32129,32135,32141,32148,32154,32160,32167,32173,32179,32185,32191,32198,32204,32210,32216,32222,32228,32233,32239,32245,32251,32257,32263,32268,32274,32280,32285,32291,32296,32302,32307,32313,32318,32324,32329,32334,32340,32345,32350,32355,32360,32366,32371,32376,32381,32386,32391,32396,32401,32405,32410,32415,32420,32425,32429,32434,32439,32443,32448,32452,32457,32461,32466,32470,32475,32479,32483,32488,32492,32496,32500,32504,32509,32513,32517,32521,32525,32529,32533,32537,32540,32544,32548,32552,32556,32559,32563,32567,32570,32574,32577,32581,32584,32588,32591,32595,32598,32601,32605,32608,32611,32614,32617,32620,32624,32627,32630,32633,32636,32638,32641,32644,32647,32650,32653,32655,32658,32661,32663,32666,32668,32671,32673,32676,32678,32681,32683,32685,32688,32690,32692,32694,32697,32699,32701,32703,32705,32707,32709,32711,32713,32715,32717,32718,32720,32722,32724,32725,32727,32729,32730,32732,32733,32735,32736,32738,32739,32740,32742,32743,32744,32745,32747,32748,32749,32750,32751,32752,32753,32754,32755,32756,32757,32757,32758,32759,32760,32760,32761,32762,32762,32763,32763,32764,32764,32765,32765,32766,32766,32766,32767,32767,32767,32767,32767,32767,32767,32767,32768};
                       ^~~~~~~~~~~
Prepare hardware access API functions
Create accelerator stub functions
Compile hardware access API functions
Compile accelerator stub functions
                 from /tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:35,
                 from xf_otsuthreshold_hpp.cpp:35:
/tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h: In function ‘char xf::IdentifySignBits(ap_int<24>)’:
/tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:319:5: warning: label ‘signBitsLoop’ defined but not used [-Wunused-label]
     signBitsLoop:
     ^~~~~~~~~~~~
/tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h: In function ‘short unsigned int xf::Inverse8(unsigned char, int, char*)’:
/tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:340:15: warning: unused variable ‘index’ [-Wunused-variable]
  unsigned int index;
               ^~~~~
/tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h: In function ‘void xf::findInverse24(ap_int<24>&, int&, int&, unsigned int&, int*, int*)’:
/tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:380:12: warning: unused variable ‘N1’ [-Wunused-variable]
     int M1,N1,leftover_bits=0;
            ^~
/tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h: In function ‘long unsigned int xf::DivideYByX24(ap_int24_t, ap_int24_t, int, int, int*, int*)’:
/tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:426:11: warning: unused variable ‘N2’ [-Wunused-variable]
  int N1=0,N2=0;
           ^~
xf_otsuthreshold_hpp.cpp: In function ‘void xf::xfOtsuKernel(uint32_t (*)[256], uint16_t, uint16_t, uint8_t&)’:
xf_otsuthreshold_hpp.cpp:95:2: warning: label ‘HISTOGRAM_NORM_LOOP’ defined but not used [-Wunused-label]
  HISTOGRAM_NORM_LOOP:
  ^~~~~~~~~~~~~~~~~~~
xf_otsuthreshold_hpp.cpp:103:2: warning: label ‘SUM_LOOP’ defined but not used [-Wunused-label]
  SUM_LOOP:
  ^~~~~~~~
xf_otsuthreshold_hpp.cpp:110:2: warning: label ‘THRESHOLD_LOOP’ defined but not used [-Wunused-label]
  THRESHOLD_LOOP:
  ^~~~~~~~~~~~~~
                 from /tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:35,
                 from xf_otsuthreshold_hpp.cpp:35:
/tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_structs.h: In instantiation of ‘struct xf::Mat<0, 2160, 3840, 1>::DATATYPE’:
xf_otsuthreshold_hpp.cpp:203:117:   required from here
/tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_structs.h:397:72: warning: ignoring packed attribute because of unpacked non-POD field ‘DataType<0, 1>::cname xf::Mat<0, 2160, 3840, 1>::DATATYPE::chnl [1][1]’
         XF_CTUNAME(T,NPC) chnl[XF_NPIXPERCYCLE(NPC)][XF_CHANNELS(T,NPC)];
                                                                        ^
                 from /tools/Xilinx/Vivado/2019.1/include/ap_int.h:54,
                 from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_types.h:37,
                 from xf_otsuthreshold_hpp.cpp:34:
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 24; bool _AP_S = true]’:
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1447:5:   required from ‘ap_private<_AP_W, _AP_S, true>& ap_private<_AP_W, _AP_S, true>::operator=(const ap_private<_AP_W, _AP_S, true>&) [with int _AP_W = 24; bool _AP_S = true]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1503:1:   required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W, _AP_S>::arg1 operator>>(const ap_int_base<_AP_W2, _AP_S2>&, int) [with int _AP_W = 24; bool _AP_S = true; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W, _AP_S>::arg1 = ap_int<24>]’
/tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:391:37:   required from here
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context]
             : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
               ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                            : (uint64_t)VAL));

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 33; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1485:1: required from ‘ap_private<_AP_W, _AP_S, true>& ap_private<_AP_W, _AP_S, true>::operator=(int) [with int _AP_W = 33; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int.h:301:3: required from ‘ap_uint<_AP_W>::ap_uint(int) [with int _AP_W = 33]’ xf_otsuthreshold_hpp.cpp:47:33: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 45; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1486:1: required from ‘ap_private<_AP_W, _AP_S, true>& ap_private<_AP_W, _AP_S, true>::operator=(unsigned int) [with int _AP_W = 45; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int.h:302:3: required from ‘ap_uint<_AP_W>::ap_uint(unsigned int) [with int _AP_W = 45]’ xf_otsuthreshold_hpp.cpp:91:25: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::clearUnusedBits() volatile [with int _AP_W = 90; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:4600:5: required from ‘ap_private<_AP_W, _AP_S, false>& ap_private<_AP_W, _AP_S, false>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 180; bool _AP_S1 = false; int _AP_W = 90; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1352:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 45; bool _AP_S = false; int _AP_W2 = 45; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult = ap_uint<90>]’ xf_otsuthreshold_hpp.cpp:93:17: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3427:22: warning: enum constant in boolean context [-Wint-in-bool-context] : (excess_bits

                      ? ((pVal[_AP_N - 1]) << (excess_bits)) >> (excess_bits)
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                      : pVal[_AP_N - 1]);

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 25; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1426:5: required from ‘ap_private<_AP_W, _AP_S>& ap_private<_AP_W, _AP_S, true>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 90; bool _AP_S1 = false; int _AP_W = 25; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int.h:209:13: required from ‘ap_uint<_AP_W>::ap_uint(const ap_uint<_AP_W2>&) [with int _AP_W2 = 90; int _AP_W = 25]’ xf_otsuthreshold_hpp.cpp:93:17: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)

                            : (uint64_t)VAL));

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::clearUnusedBits() volatile [with int _AP_W = 77; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3279:7: required from ‘ap_private<_AP_W, _AP_S, false>::ap_private(const ap_private<_AP_W, _AP_S, false>&) [with int _AP_W = 77; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_common.h:634:8: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, unsigned int) [with int _AP_W = 45; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult = ap_uint<77>]’ xf_otsuthreshold_hpp.cpp:100:18: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3427:22: warning: enum constant in boolean context [-Wint-in-bool-context] : (excess_bits

                      ? ((pVal[_AP_N - 1]) << (excess_bits)) >> (excess_bits)
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                      : pVal[_AP_N - 1]);

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::clearUnusedBits() volatile [with int _AP_W = 65; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3279:7: required from ‘ap_private<_AP_W, _AP_S, false>::ap_private(const ap_private<_AP_W, _AP_S, false>&) [with int _AP_W = 65; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_common.h:634:8: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_ap_slong, false>::plus operator+(ap_ulong, const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W = 49; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_ap_slong, false>::plus = ap_uint<65>; ap_ulong = long long unsigned int]’ xf_otsuthreshold_hpp.cpp:121:31: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3427:22: warning: enum constant in boolean context [-Wint-in-bool-context] /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 32; bool _AP_S = true]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1485:1: required from ‘ap_private<_AP_W, _AP_S, true>& ap_private<_AP_W, _AP_S, true>::operator=(int) [with int _AP_W = 32; bool _AP_S = true]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:243:3: required from ‘ap_int_base<_AP_W, _AP_S>::ap_int_base(int) [with int _AP_W = 32; bool _AP_S = true]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1598:1: required from ‘bool operator==(const ap_int_base<_AP_W2, _AP_S2>&, int) [with int _AP_W = 24; bool _AP_S = true]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:595:12: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)

                            : (uint64_t)VAL));

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 1; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1485:1: required from ‘ap_private<_AP_W, _AP_S, true>& ap_private<_AP_W, _AP_S, true>::operator=(int) [with int _AP_W = 1; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:243:3: required from ‘ap_int_base<_AP_W, _AP_S>::ap_int_base(int) [with int _AP_W = 1; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:755:12: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<1, false>::minus ap_int_base<_AP_W, _AP_S>::operator-() const [with int _AP_W = 24; bool _AP_S = true; typename ap_int_base<_AP_W, _AP_S>::RType<1, false>::minus = ap_int<25>]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:613:13: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 25; bool _AP_S = true]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1426:5: required from ‘ap_private<_AP_W, _AP_S>& ap_private<_AP_W, _AP_S, true>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 26; bool _AP_S1 = true; int _AP_W = 25; bool _AP_S = true]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1354:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::minus operator-(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 1; bool _AP_S = false; int _AP_W2 = 24; bool _AP_S2 = true; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::minus = ap_int<25>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:755:37: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<1, false>::minus ap_int_base<_AP_W, _AP_S>::operator-() const [with int _AP_W = 24; bool _AP_S = true; typename ap_int_base<_AP_W, _AP_S>::RType<1, false>::minus = ap_int<25>]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:613:13: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::clearUnusedBits() volatile [with int _AP_W = 180; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3279:7: required from ‘ap_private<_AP_W, _AP_S, false>::ap_private(const ap_private<_AP_W, _AP_S, false>&) [with int _AP_W = 180; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3907:42: required from ‘typename ap_private<_AP_W, _AP_S, false>::RType<_AP_W2, _AP_S2>::mult ap_private<_AP_W, _AP_S, false>::operator(const ap_private<_AP_W1, _AP_S1>&) const [with int _AP_W1 = 90; bool _AP_S1 = false; int _AP_W = 90; bool _AP_S = false; typename ap_private<_AP_W, _AP_S, false>::RType<_AP_W2, _AP_S2>::mult = ap_private<180, false, false>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1352:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult operator(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 45; bool _AP_S = false; int _AP_W2 = 45; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult = ap_uint<90>]’ xf_otsuthreshold_hpp.cpp:93:17: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3427:22: warning: enum constant in boolean context [-Wint-in-bool-context] : (excess_bits

                      ? ((pVal[_AP_N - 1]) << (excess_bits)) >> (excess_bits)
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                      : pVal[_AP_N - 1]);
             from /tools/Xilinx/Vivado/2019.1/include/ap_int.h:54,
             from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_types.h:37,
             from xf_otsuthreshold_hpp.cpp:34:

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::cpSext(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 180; bool _AP_S1 = false; int _AP_W = 90; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5334:7: required from ‘void ap_private<_AP_W, _AP_S, false>::cpSextOrTrunc(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 180; bool _AP_S1 = false; int _AP_W = 90; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:4597:7: required from ‘ap_private<_AP_W, _AP_S, false>& ap_private<_AP_W, _AP_S, false>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 180; bool _AP_S1 = false; int _AP_W = 90; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1352:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 45; bool _AP_S = false; int _AP_W2 = 45; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult = ap_uint<90>]’ xf_otsuthreshold_hpp.cpp:93:17: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5291:45: warning: enum constant in boolean context [-Wint-in-bool-context] static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5299:43: warning: enum constant in boolean context [-Wint-in-bool-context]
     static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;
                                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 from /tools/Xilinx/Vivado/2019.1/include/ap_int.h:54,
                 from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_types.h:37,
                 from xf_otsuthreshold_hpp.cpp:34:
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 32; bool _AP_S = false]’:
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1486:1:   required from ‘ap_private<_AP_W, _AP_S, true>& ap_private<_AP_W, _AP_S, true>::operator=(unsigned int) [with int _AP_W = 32; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:244:3:   required from ‘ap_int_base<_AP_W, _AP_S>::ap_int_base(unsigned int) [with int _AP_W = 32; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1468:1:   required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, unsigned int) [with int _AP_W = 45; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult = ap_uint<77>]’
xf_otsuthreshold_hpp.cpp:100:18:   required from here
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context]
             : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
               ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                            : (uint64_t)VAL));

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 16; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1484:1: required from ‘ap_private<_AP_W, _AP_S, true>& ap_private<_AP_W, _AP_S, true>::operator=(short unsigned int) [with int _AP_W = 16; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:242:3: required from ‘ap_int_base<_AP_W, _AP_S>::ap_int_base(short unsigned int) [with int _AP_W = 16; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1466:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_short, false>::mult operator(short unsigned int, const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W = 33; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_short, false>::mult = ap_uint<49>]’ xf_otsuthreshold_hpp.cpp:107:28: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 49; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1426:5: required from ‘ap_private<_AP_W, _AP_S>& ap_private<_AP_W, _AP_S, true>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 98; bool _AP_S1 = false; int _AP_W = 49; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1352:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult operator(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 16; bool _AP_S = false; int _AP_W2 = 33; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult = ap_uint<49>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1466:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_short, false>::mult operator*(short unsigned int, const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W = 33; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_short, false>::mult = ap_uint<49>]’ xf_otsuthreshold_hpp.cpp:107:28: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 50; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1426:5: required from ‘ap_private<_AP_W, _AP_S>& ap_private<_AP_W, _AP_S, true>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 51; bool _AP_S1 = false; int _AP_W = 50; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1353:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus operator+(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 32; bool _AP_S = false; int _AP_W2 = 49; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus = ap_uint<50>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1468:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::plus operator+(unsigned int, const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W = 49; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::plus = ap_uint<50>]’ xf_otsuthreshold_hpp.cpp:107:28: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 34; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1426:5: required from ‘ap_private<_AP_W, _AP_S>& ap_private<_AP_W, _AP_S, true>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 35; bool _AP_S1 = false; int _AP_W = 34; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1353:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus operator+(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 32; bool _AP_S = false; int _AP_W2 = 33; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus = ap_uint<34>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1468:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::plus operator+(unsigned int, const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W = 33; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::plus = ap_uint<34>]’ xf_otsuthreshold_hpp.cpp:115:24: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 33; bool _AP_S = true]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1426:5: required from ‘ap_private<_AP_W, _AP_S>& ap_private<_AP_W, _AP_S, true>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 34; bool _AP_S1 = true; int _AP_W = 33; bool _AP_S = true]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1354:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::minus operator-(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 25; bool _AP_S = false; int _AP_W2 = 32; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::minus = ap_int<33>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1468:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::minus operator-(const ap_int_base<_AP_W2, _AP_S2>&, unsigned int) [with int _AP_W = 25; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::minus = ap_int<33>]’ xf_otsuthreshold_hpp.cpp:120:17: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::clearUnusedBits() volatile [with int _AP_W = 66; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3889:5: required from ‘typename ap_private<_AP_W, _AP_S, false>::RType<_AP_W2, _AP_S2>::plus ap_private<_AP_W, _AP_S, false>::operator+(const ap_private<_AP_W1, _AP_S1>&) const [with int _AP_W1 = 65; bool _AP_S1 = false; int _AP_W = 65; bool _AP_S = false; typename ap_private<_AP_W, _AP_S, false>::RType<_AP_W2, _AP_S2>::plus = ap_private<66, false, false>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1353:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus operator+(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 64; bool _AP_S = false; int _AP_W2 = 49; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus = ap_uint<65>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1472:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_ap_slong, false>::plus operator+(ap_ulong, const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W = 49; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_ap_slong, false>::plus = ap_uint<65>; ap_ulong = long long unsigned int]’ xf_otsuthreshold_hpp.cpp:121:31: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3427:22: warning: enum constant in boolean context [-Wint-in-bool-context] : (excess_bits

                      ? ((pVal[_AP_N - 1]) << (excess_bits)) >> (excess_bits)
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                      : pVal[_AP_N - 1]);

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 26; bool _AP_S = true]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1651:3: required from ‘ap_private<_AP_W, _AP_S, true>::ap_private(ap_slong) [with int _AP_W = 26; bool _AP_S = true; ap_slong = long long int]’ /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2082:46: required from ‘typename ap_private<_AP_W, _AP_S, true>::RType<_AP_W2, _AP_S2>::minus ap_private<_AP_W, _AP_S, true>::operator-(const ap_private<_AP_W1, _AP_S1>&) const [with int _AP_W1 = 25; bool _AP_S1 = true; int _AP_W = 25; bool _AP_S = true; typename ap_private<_AP_W, _AP_S, true>::RType<_AP_W2, _AP_S2>::minus = ap_private<26, true, true>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1354:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::minus operator-(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 1; bool _AP_S = false; int _AP_W2 = 24; bool _AP_S2 = true; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::minus = ap_int<25>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:755:37: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<1, false>::minus ap_int_base<_AP_W, _AP_S>::operator-() const [with int _AP_W = 24; bool _AP_S = true; typename ap_int_base<_AP_W, _AP_S>::RType<1, false>::minus = ap_int<25>]’ /tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:613:13: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)

                            : (uint64_t)VAL));
             from /tools/Xilinx/Vivado/2019.1/include/ap_int.h:54,
             from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_types.h:37,
             from xf_otsuthreshold_hpp.cpp:34:

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::cpSext(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 45; bool _AP_S1 = false; int _AP_W = 90; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5334:7: required from ‘void ap_private<_AP_W, _AP_S, false>::cpSextOrTrunc(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 45; bool _AP_S1 = false; int _AP_W = 90; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:4597:7: required from ‘ap_private<_AP_W, _AP_S, false>& ap_private<_AP_W, _AP_S, false>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 45; bool _AP_S1 = false; int _AP_W = 90; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:215:13: required from ‘ap_int_base<_AP_W, _AP_S>::ap_int_base(const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W2 = 45; bool _AP_S2 = false; int _AP_W = 90; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1352:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 45; bool _AP_S = false; int _AP_W2 = 45; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult = ap_uint<90>]’ xf_otsuthreshold_hpp.cpp:93:17: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5291:45: warning: enum constant in boolean context [-Wint-in-bool-context] static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5299:43: warning: enum constant in boolean context [-Wint-in-bool-context]
     static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;
                                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 from /tools/Xilinx/Vivado/2019.1/include/ap_int.h:54,
                 from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_types.h:37,
                 from xf_otsuthreshold_hpp.cpp:34:
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::clearUnusedBits() volatile [with int _AP_W = 154; bool _AP_S = false]’:
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3279:7:   required from ‘ap_private<_AP_W, _AP_S, false>::ap_private(const ap_private<_AP_W, _AP_S, false>&) [with int _AP_W = 154; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3907:42:   required from ‘typename ap_private<_AP_W, _AP_S, false>::RType<_AP_W2, _AP_S2>::mult ap_private<_AP_W, _AP_S, false>::operator*(const ap_private<_AP_W1, _AP_S1>&) const [with int _AP_W1 = 77; bool _AP_S1 = false; int _AP_W = 77; bool _AP_S = false; typename ap_private<_AP_W, _AP_S, false>::RType<_AP_W2, _AP_S2>::mult = ap_private<154, false, false>]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1352:1:   required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 45; bool _AP_S = false; int _AP_W2 = 32; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult = ap_uint<77>]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1468:1:   required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, unsigned int) [with int _AP_W = 45; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult = ap_uint<77>]’
xf_otsuthreshold_hpp.cpp:100:18:   required from here
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3427:22: warning: enum constant in boolean context [-Wint-in-bool-context]
               : (excess_bits
                  ? ((pVal[_AP_N - 1]) << (excess_bits)) >> (excess_bits)
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  : pVal[_AP_N - 1]);
                  ~~~~~~~~~~~~~~~~~~
             from /tools/Xilinx/Vivado/2019.1/include/ap_int.h:54,
             from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_types.h:37,
             from xf_otsuthreshold_hpp.cpp:34:

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::cpSext(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 154; bool _AP_S1 = false; int _AP_W = 77; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5334:7: required from ‘void ap_private<_AP_W, _AP_S, false>::cpSextOrTrunc(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 154; bool _AP_S1 = false; int _AP_W = 77; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:4597:7: required from ‘ap_private<_AP_W, _AP_S, false>& ap_private<_AP_W, _AP_S, false>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 154; bool _AP_S1 = false; int _AP_W = 77; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1352:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult operator(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 45; bool _AP_S = false; int _AP_W2 = 32; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult = ap_uint<77>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1468:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult operator(const ap_int_base<_AP_W2, _AP_S2>&, unsigned int) [with int _AP_W = 45; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult = ap_uint<77>]’ xf_otsuthreshold_hpp.cpp:100:18: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5291:45: warning: enum constant in boolean context [-Wint-in-bool-context] static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5299:43: warning: enum constant in boolean context [-Wint-in-bool-context]
     static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;
                                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 from /tools/Xilinx/Vivado/2019.1/include/ap_int.h:54,
                 from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_types.h:37,
                 from xf_otsuthreshold_hpp.cpp:34:
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::clearUnusedBits() volatile [with int _AP_W = 98; bool _AP_S = false]’:
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3374:3:   required from ‘ap_private<_AP_W, _AP_S, false>::ap_private(ap_ulong, bool) [with int _AP_W = 98; bool _AP_S = false; ap_ulong = long long unsigned int]’
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2005:44:   required from ‘typename ap_private<_AP_W, _AP_S, true>::RType<_AP_W2, _AP_S2>::mult ap_private<_AP_W, _AP_S, true>::operator*(const ap_private<_AP_W1, _AP_S1>&) const [with int _AP_W1 = 49; bool _AP_S1 = false; int _AP_W = 49; bool _AP_S = false; typename ap_private<_AP_W, _AP_S, true>::RType<_AP_W2, _AP_S2>::mult = ap_private<98, false, false>]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1352:1:   required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 16; bool _AP_S = false; int _AP_W2 = 33; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult = ap_uint<49>]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1466:1:   required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_short, false>::mult operator*(short unsigned int, const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W = 33; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_short, false>::mult = ap_uint<49>]’
xf_otsuthreshold_hpp.cpp:107:28:   required from here
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3427:22: warning: enum constant in boolean context [-Wint-in-bool-context]
               : (excess_bits
                  ? ((pVal[_AP_N - 1]) << (excess_bits)) >> (excess_bits)
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  : pVal[_AP_N - 1]);
                  ~~~~~~~~~~~~~~~~~~

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 51; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1652:3: required from ‘ap_private<_AP_W, _AP_S, true>::ap_private(ap_ulong) [with int _AP_W = 51; bool _AP_S = false; ap_ulong = long long unsigned int]’ /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2069:46: required from ‘typename ap_private<_AP_W, _AP_S, true>::RType<_AP_W2, _AP_S2>::plus ap_private<_AP_W, _AP_S, true>::operator+(const ap_private<_AP_W1, _AP_S1>&) const [with int _AP_W1 = 50; bool _AP_S1 = false; int _AP_W = 50; bool _AP_S = false; typename ap_private<_AP_W, _AP_S, true>::RType<_AP_W2, _AP_S2>::plus = ap_private<51, false, true>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1353:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus operator+(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 32; bool _AP_S = false; int _AP_W2 = 49; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus = ap_uint<50>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1468:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::plus operator+(unsigned int, const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W = 49; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::plus = ap_uint<50>]’ xf_otsuthreshold_hpp.cpp:107:28: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)

                            : (uint64_t)VAL));

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 35; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1652:3: required from ‘ap_private<_AP_W, _AP_S, true>::ap_private(ap_ulong) [with int _AP_W = 35; bool _AP_S = false; ap_ulong = long long unsigned int]’ /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2069:46: required from ‘typename ap_private<_AP_W, _AP_S, true>::RType<_AP_W2, _AP_S2>::plus ap_private<_AP_W, _AP_S, true>::operator+(const ap_private<_AP_W1, _AP_S1>&) const [with int _AP_W1 = 34; bool _AP_S1 = false; int _AP_W = 34; bool _AP_S = false; typename ap_private<_AP_W, _AP_S, true>::RType<_AP_W2, _AP_S2>::plus = ap_private<35, false, true>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1353:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus operator+(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 32; bool _AP_S = false; int _AP_W2 = 33; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus = ap_uint<34>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1468:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::plus operator+(unsigned int, const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W = 33; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::plus = ap_uint<34>]’ xf_otsuthreshold_hpp.cpp:115:24: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 34; bool _AP_S = true]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1651:3: required from ‘ap_private<_AP_W, _AP_S, true>::ap_private(ap_slong) [with int _AP_W = 34; bool _AP_S = true; ap_slong = long long int]’ /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2082:46: required from ‘typename ap_private<_AP_W, _AP_S, true>::RType<_AP_W2, _AP_S2>::minus ap_private<_AP_W, _AP_S, true>::operator-(const ap_private<_AP_W1, _AP_S1>&) const [with int _AP_W1 = 33; bool _AP_S1 = true; int _AP_W = 33; bool _AP_S = true; typename ap_private<_AP_W, _AP_S, true>::RType<_AP_W2, _AP_S2>::minus = ap_private<34, true, true>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1354:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::minus operator-(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 25; bool _AP_S = false; int _AP_W2 = 32; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::minus = ap_int<33>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1468:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::minus operator-(const ap_int_base<_AP_W2, _AP_S2>&, unsigned int) [with int _AP_W = 25; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::minus = ap_int<33>]’ xf_otsuthreshold_hpp.cpp:120:17: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context] from /tools/Xilinx/Vivado/2019.1/include/ap_int.h:54, from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_types.h:37, from xf_otsuthreshold_hpp.cpp:34: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::cpSext(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 66; bool _AP_S1 = false; int _AP_W = 65; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5334:7: required from ‘void ap_private<_AP_W, _AP_S, false>::cpSextOrTrunc(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 66; bool _AP_S1 = false; int _AP_W = 65; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:4597:7: required from ‘ap_private<_AP_W, _AP_S, false>& ap_private<_AP_W, _AP_S, false>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 66; bool _AP_S1 = false; int _AP_W = 65; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1353:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus operator+(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 64; bool _AP_S = false; int _AP_W2 = 49; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus = ap_uint<65>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1472:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_ap_slong, false>::plus operator+(ap_ulong, const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W = 49; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_ap_slong, false>::plus = ap_uint<65>; ap_ulong = long long unsigned int]’ xf_otsuthreshold_hpp.cpp:121:31: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5291:45: warning: enum constant in boolean context [-Wint-in-bool-context] static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5299:43: warning: enum constant in boolean context [-Wint-in-bool-context]
     static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;
                                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 from /tools/Xilinx/Vivado/2019.1/include/ap_int.h:54,
                 from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_types.h:37,
                 from xf_otsuthreshold_hpp.cpp:34:
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, true>::clearUnusedBits() volatile [with int _AP_W = 24; bool _AP_S = false]’:
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1447:5:   required from ‘ap_private<_AP_W, _AP_S, true>& ap_private<_AP_W, _AP_S, true>::operator=(const ap_private<_AP_W, _AP_S, true>&) [with int _AP_W = 24; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:1466:11:   required from ‘ap_private<_AP_W, _AP_S, true>& ap_private<_AP_W, _AP_S, true>::operator=(const _private_range_ref<_AP_W2, _AP_S2>&) [with int _AP_W2 = 24; bool _AP_S2 = true; int _AP_W = 24; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_ref.h:647:11:   required from ‘ap_int_base<_AP_W2, false> ap_range_ref<_AP_W, _AP_S>::get() const [with int _AP_W = 24; bool _AP_S = true]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:364:27:   required from ‘ap_int_base<_AP_W, _AP_S>::ap_int_base(const ap_range_ref<_AP_W2, _AP_S2>&) [with int _AP_W2 = 24; bool _AP_S2 = true; int _AP_W = 24; bool _AP_S = true]’
/tools/Xilinx/Vivado/2019.1/include/ap_int.h:96:68:   required from ‘ap_int<_AP_W>::ap_int(const ap_range_ref<_AP_W2, _AP_S2>&) [with int _AP_W2 = 24; bool _AP_S2 = true; int _AP_W = 24]’
/tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:378:56:   required from here
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:2144:28: warning: enum constant in boolean context [-Wint-in-bool-context]
             : (excess_bits ? (((uint64_t)VAL) << (excess_bits)) >> (excess_bits)
               ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                            : (uint64_t)VAL));
             from /tools/Xilinx/Vivado/2019.1/include/ap_int.h:54,
             from /tools/Xilinx/SDx/2019.1/xfopencv/include/common/xf_types.h:37,
             from xf_otsuthreshold_hpp.cpp:34:

/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::cpSext(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 90; bool _AP_S1 = false; int _AP_W = 180; bool _AP_S = false]’: /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5334:7: required from ‘void ap_private<_AP_W, _AP_S, false>::cpSextOrTrunc(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 90; bool _AP_S1 = false; int _AP_W = 180; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:4597:7: required from ‘ap_private<_AP_W, _AP_S, false>& ap_private<_AP_W, _AP_S, false>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 90; bool _AP_S1 = false; int _AP_W = 180; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3286:5: required from ‘ap_private<_AP_W, _AP_S, false>::ap_private(const ap_private<_AP_W1, _AP_S1, false>&) [with int _AP_W1 = 90; bool _AP_S1 = false; int _AP_W = 180; bool _AP_S = false]’ /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3907:42: required from ‘typename ap_private<_AP_W, _AP_S, false>::RType<_AP_W2, _AP_S2>::mult ap_private<_AP_W, _AP_S, false>::operator(const ap_private<_AP_W1, _AP_S1>&) const [with int _AP_W1 = 90; bool _AP_S1 = false; int _AP_W = 90; bool _AP_S = false; typename ap_private<_AP_W, _AP_S, false>::RType<_AP_W2, _AP_S2>::mult = ap_private<180, false, false>]’ /tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1352:1: required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult operator(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 45; bool _AP_S = false; int _AP_W2 = 45; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult = ap_uint<90>]’ xf_otsuthreshold_hpp.cpp:93:17: required from here /tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5291:45: warning: enum constant in boolean context [-Wint-in-bool-context] static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;


/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5299:43: warning: enum constant in boolean context [-Wint-in-bool-context]
     static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;
                                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::cpSext(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 45; bool _AP_S1 = false; int _AP_W = 77; bool _AP_S = false]’:
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5334:7:   required from ‘void ap_private<_AP_W, _AP_S, false>::cpSextOrTrunc(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 45; bool _AP_S1 = false; int _AP_W = 77; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:4597:7:   required from ‘ap_private<_AP_W, _AP_S, false>& ap_private<_AP_W, _AP_S, false>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 45; bool _AP_S1 = false; int _AP_W = 77; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:215:13:   required from ‘ap_int_base<_AP_W, _AP_S>::ap_int_base(const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W2 = 45; bool _AP_S2 = false; int _AP_W = 77; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1352:1:   required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 45; bool _AP_S = false; int _AP_W2 = 32; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult = ap_uint<77>]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1468:1:   required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, unsigned int) [with int _AP_W = 45; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult = ap_uint<77>]’
xf_otsuthreshold_hpp.cpp:100:18:   required from here
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5291:45: warning: enum constant in boolean context [-Wint-in-bool-context]
       static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;
                                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5299:43: warning: enum constant in boolean context [-Wint-in-bool-context]
     static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;
                                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::cpSext(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 32; bool _AP_S1 = false; int _AP_W = 77; bool _AP_S = false]’:
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5334:7:   required from ‘void ap_private<_AP_W, _AP_S, false>::cpSextOrTrunc(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 32; bool _AP_S1 = false; int _AP_W = 77; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:4597:7:   required from ‘ap_private<_AP_W, _AP_S, false>& ap_private<_AP_W, _AP_S, false>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 32; bool _AP_S1 = false; int _AP_W = 77; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:215:13:   required from ‘ap_int_base<_AP_W, _AP_S>::ap_int_base(const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W2 = 32; bool _AP_S2 = false; int _AP_W = 77; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1352:1:   required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 45; bool _AP_S = false; int _AP_W2 = 32; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult = ap_uint<77>]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1468:1:   required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, unsigned int) [with int _AP_W = 45; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult = ap_uint<77>]’
xf_otsuthreshold_hpp.cpp:100:18:   required from here
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5291:45: warning: enum constant in boolean context [-Wint-in-bool-context]
       static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;
                                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5299:43: warning: enum constant in boolean context [-Wint-in-bool-context]
     static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;
                                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::cpSext(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 49; bool _AP_S1 = false; int _AP_W = 65; bool _AP_S = false]’:
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5334:7:   required from ‘void ap_private<_AP_W, _AP_S, false>::cpSextOrTrunc(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 49; bool _AP_S1 = false; int _AP_W = 65; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:4597:7:   required from ‘ap_private<_AP_W, _AP_S, false>& ap_private<_AP_W, _AP_S, false>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 49; bool _AP_S1 = false; int _AP_W = 65; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:215:13:   required from ‘ap_int_base<_AP_W, _AP_S>::ap_int_base(const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W2 = 49; bool _AP_S2 = false; int _AP_W = 65; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1353:1:   required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus operator+(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 64; bool _AP_S = false; int _AP_W2 = 49; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::plus = ap_uint<65>]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1472:1:   required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_ap_slong, false>::plus operator+(ap_ulong, const ap_int_base<_AP_W2, _AP_S2>&) [with int _AP_W = 49; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_ap_slong, false>::plus = ap_uint<65>; ap_ulong = long long unsigned int]’
xf_otsuthreshold_hpp.cpp:121:31:   required from here
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5291:45: warning: enum constant in boolean context [-Wint-in-bool-context]
       static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;
                                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5299:43: warning: enum constant in boolean context [-Wint-in-bool-context]
     static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;
                                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h: In instantiation of ‘void ap_private<_AP_W, _AP_S, false>::cpSext(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 77; bool _AP_S1 = false; int _AP_W = 154; bool _AP_S = false]’:
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5334:7:   required from ‘void ap_private<_AP_W, _AP_S, false>::cpSextOrTrunc(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 77; bool _AP_S1 = false; int _AP_W = 154; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:4597:7:   required from ‘ap_private<_AP_W, _AP_S, false>& ap_private<_AP_W, _AP_S, false>::operator=(const ap_private<_AP_W1, _AP_S1>&) [with int _AP_W1 = 77; bool _AP_S1 = false; int _AP_W = 154; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3286:5:   required from ‘ap_private<_AP_W, _AP_S, false>::ap_private(const ap_private<_AP_W1, _AP_S1, false>&) [with int _AP_W1 = 77; bool _AP_S1 = false; int _AP_W = 154; bool _AP_S = false]’
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:3907:42:   required from ‘typename ap_private<_AP_W, _AP_S, false>::RType<_AP_W2, _AP_S2>::mult ap_private<_AP_W, _AP_S, false>::operator*(const ap_private<_AP_W1, _AP_S1>&) const [with int _AP_W1 = 77; bool _AP_S1 = false; int _AP_W = 77; bool _AP_S = false; typename ap_private<_AP_W, _AP_S, false>::RType<_AP_W2, _AP_S2>::mult = ap_private<154, false, false>]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1352:1:   required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, const ap_int_base<_AP_W3, _AP_S3>&) [with int _AP_W = 45; bool _AP_S = false; int _AP_W2 = 32; bool _AP_S2 = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_W2, _AP_S2>::mult = ap_uint<77>]’
/tools/Xilinx/Vivado/2019.1/include/ap_int_base.h:1468:1:   required from ‘typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult operator*(const ap_int_base<_AP_W2, _AP_S2>&, unsigned int) [with int _AP_W = 45; bool _AP_S = false; typename ap_int_base<_AP_W, _AP_S>::RType<_AP_SIZE_int, false>::mult = ap_uint<77>]’
xf_otsuthreshold_hpp.cpp:100:18:   required from here
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5291:45: warning: enum constant in boolean context [-Wint-in-bool-context]
       static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;
                                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tools/Xilinx/Vivado/2019.1/include/etc/ap_private.h:5299:43: warning: enum constant in boolean context [-Wint-in-bool-context]
     static const uint64_t mask = wordBits ? (~0ULL << (wordBits)) : 0ULL;
                                  ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xf_otsuthreshold_hpp.cpp: At global scope:
xf_otsuthreshold_hpp.cpp:43:13: warning: ‘void xf::xfOtsuKernel(uint32_t (*)[256], uint16_t, uint16_t, uint8_t&)’ defined but not used [-Wunused-function]
 static void xfOtsuKernel(uint32_t _hist[0][256], uint16_t _height, uint16_t _width, uint8_t &thresh)
             ^~~~~~~~~~~~
/tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:679:12: warning: ‘int xf::Sqrt(unsigned int)’ defined but not used [-Wunused-function]
 static int Sqrt(unsigned int D)
            ^~~~
/tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:590:14: warning: ‘short int xf::Atan2LookupFP24(ap_int24_t, ap_int24_t, int, int, int, int)’ defined but not used [-Wunused-function]
 static short Atan2LookupFP24(ap_int24_t xs,ap_int24_t ys,int M1,int N1,int M2, int N2)
              ^~~~~~~~~~~~~~~
/tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:515:14: warning: ‘short int xf::Atan2LUT8(short int, short int, int, int, int, int)’ defined but not used [-Wunused-function]
 static short Atan2LUT8(short xs,short ys,int M1,int N1,int M2, int N2)
              ^~~~~~~~~
/tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:442:14: warning: ‘short int xf::Atan2LookupFP(short int, short int, int, int, int, int)’ defined but not used [-Wunused-function]
 static short Atan2LookupFP(short xs,short ys,int M1,int N1,int M2, int N2)
              ^~~~~~~~~~~~~
/tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:118:21: warning: ‘unsigned int xf::Inverse32(short unsigned int, int, char*)’ defined but not used [-Wunused-function]
 static unsigned int Inverse32(unsigned short x, int M, char *N)
                     ^~~~~~~~~
/tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:69:23: warning: ‘xf::cos_fix_lut’ defined but not used [-Wunused-variable]
 static unsigned short cos_fix_lut[1572] = {32768,32767,32767,32767,32767,32767,32767,32767,32766,32766,32766,32766,32765,32765,32764,32764,32763,32763,32762,32762,32761,32760,32760,32759,32758,32757,32756,32756,32755,32754,32753,32752,32751,32750,32749,32747,32746,32745,32744,32743,32741,32740,32739,32737,32736,32734,32733,32731,32730,32728,32727,32725,32723,32721,32720,32718,32716,32714,32712,32710,32709,32707,32705,32702,32700,32698,32696,32694,32692,32690,32687,32685,32683,32680,32678,32675,32673,32670,32668,32665,32663,32660,32657,32655,32652,32649,32646,32644,32641,32638,32635,32632,32629,32626,32623,32620,32617,32613,32610,32607,32604,32601,32597,32594,32590,32587,32584,32580,32577,32573,32569,32566,32562,32559,32555,32551,32547,32543,32540,32536,32532,32528,32524,32520,32516,32512,32508,32504,32499,32495,32491,32487,32482,32478,32474,32469,32465,32460,32456,32451,32447,32442,32438,32433,32428,32424,32419,32414,32409,32404,32400,32395,32390,32385,32380,32375,32370,32364,32359,32354,32349,32344,32338,32333,32328,32322,32317,32312,32306,32301,32295,32290,32284,32278,32273,32267,32261,32256,32250,32244,32238,32232,32226,32220,32214,32208,32202,32196,32190,32184,32178,32172,32165,32159,32153,32146,32140,32134,32127,32121,32114,32108,32101,32095,32088,32081,32075,32068,32061,32054,32048,32041,32034,32027,32020,32013,32006,31999,31992,31985,31978,31971,31963,31956,31949,31942,31934,31927,31919,31912,31905,31897,31890,31882,31874,31867,31859,31852,31844,31836,31828,31820,31813,31805,31797,31789,31781,31773,31765,31757,31749,31741,31733,31724,31716,31708,31700,31691,31683,31675,31666,31658,31649,31641,31632,31624,31615,31606,31598,31589,31580,31572,31563,31554,31545,31536,31527,31518,31509,31500,31491,31482,31473,31464,31455,31446,31436,31427,31418,31409,31399,31390,31380,31371,31362,31352,31342,31333,31323,31314,31304,31294,31285,31275,31265,31255,31245,31235,31226,31216,31206,31196,31186,31175,31165,31155,31145,31135,31125,31114,31104,31094,31083,31073,31063,31052,31042,31031,31021,31010,30999,30989,30978,30967,30957,30946,30935,30924,30913,30903,30892,30881,30870,30859,30848,30837,30826,30814,30803,30792,30781,30770,30758,30747,30736,30724,30713,30701,30690,30679,30667,30655,30644,30632,30621,30609,30597,30585,30574,30562,30550,30538,30526,30514,30502,30490,30478,30466,30454,30442,30430,30418,30406,30393,30381,30369,30357,30344,30332,30319,30307,30294,30282,30269,30257,30244,30232,30219,30206,30194,30181,30168,30155,30142,30130,30117,30104,30091,30078,30065,30052,30039,30026,30012,29999,29986,29973,29960,29946,29933,29920,29906,29893,29879,29866,29852,29839,29825,29812,29798,29785,29771,29757,29743,29730,29716,29702,29688,29674,29660,29646,29632,29618,29604,29590,29576,29562,29548,29534,29520,29505,29491,29477,29462,29448,29434,29419,29405,29390,29376,29361,29347,29332,29318,29303,29288,29274,29259,29244,29229,29214,29200,29185,29170,29155,29140,29125,29110,29095,29080,29065,29049,29034,29019,29004,28989,28973,28958,28943,28927,28912,28896,28881,28865,28850,28834,28819,28803,28788,28772,28756,28740,28725,28709,28693,28677,28661,28646,28630,28614,28598,28582,28566,28550,28533,28517,28501,28485,28469,28453,28436,28420,28404,28387,28371,28354,28338,28322,28305,28289,28272,28255,28239,28222,28206,28189,28172,28155,28139,28122,28105,28088,28071,28054,28037,28020,28003,27986,27969,27952,27935,27918,27901,27884,27866,27849,27832,27815,27797,27780,27762,27745,27728,27710,27693,27675,27657,27640,27622,27605,27587,27569,27552,27534,27516,27498,27480,27463,27445,27427,27409,27391,27373,27355,27337,27319,27301,27282,27264,27246,27228,27210,27191,27173,27155,27136,27118,27100,27081,27063,27044,27026,27007,26989,26970,26951,26933,26914,26895,26877,26858,26839,26820,26801,26783,26764,26745,26726,26707,26688,26669,26650,26631,26612,26592,26573,26554,26535,26516,26496,26477,26458,26438,26419,26400,26380,26361,26341,26322,26302,26283,26263,26243,26224,26204,26184,26165,26145,26125,26105,26086,26066,26046,26026,26006,25986,25966,25946,25926,25906,25886,25866,25846,25826,25805,25785,25765,25745,25725,25704,25684,25664,25643,25623,25602,25582,25561,25541,25520,25500,25479,25458,25438,25417,25396,25376,25355,25334,25313,25293,25272,25251,25230,25209,25188,25167,25146,25125,25104,25083,25062,25041,25020,24999,24977,24956,24935,24914,24892,24871,24850,24828,24807,24785,24764,24743,24721,24700,24678,24656,24635,24613,24592,24570,24548,24526,24505,24483,24461,24439,24418,24396,24374,24352,24330,24308,24286,24264,24242,24220,24198,24176,24154,24131,24109,24087,24065,24043,24020,23998,23976,23953,23931,23909,23886,23864,23841,23819,23796,23774,23751,23728,23706,23683,23661,23638,23615,23592,23570,23547,23524,23501,23478,23456,23433,23410,23387,23364,23341,23318,23295,23272,23249,23226,23203,23179,23156,23133,23110,23087,23063,23040,23017,22993,22970,22947,22923,22900,22876,22853,22829,22806,22782,22759,22735,22712,22688,22664,22641,22617,22593,22569,22546,22522,22498,22474,22450,22426,22403,22379,22355,22331,22307,22283,22259,22235,22211,22186,22162,22138,22114,22090,22066,22041,22017,21993,21969,21944,21920,21895,21871,21847,21822,21798,21773,21749,21724,21700,21675,21651,21626,21601,21577,21552,21527,21503,21478,21453,21428,21404,21379,21354,21329,21304,21279,21254,21229,21204,21179,21154,21129,21104,21079,21054,21029,21004,20979,20954,20928,20903,20878,20853,20827,20802,20777,20751,20726,20701,20675,20650,20624,20599,20573,20548,20522,20497,20471,20446,20420,20394,20369,20343,20317,20292,20266,20240,20214,20188,20163,20137,20111,20085,20059,20033,20007,19981,19955,19929,19903,19877,19851,19825,19799,19773,19747,19721,19694,19668,19642,19616,19590,19563,19537,19511,19484,19458,19432,19405,19379,19352,19326,19299,19273,19246,19220,19193,19167,19140,19114,19087,19060,19034,19007,18980,18954,18927,18900,18873,18846,18820,18793,18766,18739,18712,18685,18658,18631,18604,18577,18550,18523,18496,18469,18442,18415,18388,18361,18334,18307,18279,18252,18225,18198,18171,18143,18116,18089,18061,18034,18007,17979,17952,17924,17897,17870,17842,17815,17787,17759,17732,17704,17677,17649,17622,17594,17566,17539,17511,17483,17455,17428,17400,17372,17344,17317,17289,17261,17233,17205,17177,17149,17121,17094,17066,17038,17010,16982,16954,16925,16897,16869,16841,16813,16785,16757,16729,16700,16672,16644,16616,16588,16559,16531,16503,16474,16446,16418,16389,16361,16333,16304,16276,16247,16219,16190,16162,16133,16105,16076,16048,16019,15990,15962,15933,15905,15876,15847,15819,15790,15761,15732,15704,15675,15646,15617,15588,15560,15531,15502,15473,15444,15415,15386,15357,15328,15299,15270,15241,15212,15183,15154,15125,15096,15067,15038,15009,14980,14951,14921,14892,14863,14834,14805,14775,14746,14717,14688,14658,14629,14600,14570,14541,14512,14482,14453,14423,14394,14364,14335,14306,14276,14247,14217,14188,14158,14128,14099,14069,14040,14010,13980,13951,13921,13891,13862,13832,13802,13773,13743,13713,13683,13654,13624,13594,13564,13534,13504,13475,13445,13415,13385,13355,13325,13295,13265,13235,13205,13175,13145,13115,13085,13055,13025,12995,12965,12935,12905,12874,12844,12814,12784,12754,12724,12693,12663,12633,12603,12573,12542,12512,12482,12451,12421,12391,12360,12330,12300,12269,12239,12208,12178,12148,12117,12087,12056,12026,11995,11965,11934,11904,11873,11843,11812,11782,11751,11720,11690,11659,11629,11598,11567,11537,11506,11475,11444,11414,11383,11352,11322,11291,11260,11229,11198,11168,11137,11106,11075,11044,11014,10983,10952,10921,10890,10859,10828,10797,10766,10735,10704,10673,10642,10611,10580,10549,10518,10487,10456,10425,10394,10363,10332,10301,10270,10239,10207,10176,10145,10114,10083,10052,10020,9989,9958,9927,9896,9864,9833,9802,9771,9739,9708,9677,9645,9614,9583,9551,9520,9489,9457,9426,9394,9363,9332,9300,9269,9237,9206,9174,9143,9112,9080,9049,9017,8986,8954,8923,8891,8859,8828,8796,8765,8733,8702,8670,8638,8607,8575,8544,8512,8480,8449,8417,8385,8354,8322,8290,8258,8227,8195,8163,8132,8100,8068,8036,8004,7973,7941,7909,7877,7846,7814,7782,7750,7718,7686,7654,7623,7591,7559,7527,7495,7463,7431,7399,7367,7335,7304,7272,7240,7208,7176,7144,7112,7080,7048,7016,6984,6952,6920,6888,6856,6824,6791,6759,6727,6695,6663,6631,6599,6567,6535,6503,6471,6438,6406,6374,6342,6310,6278,6246,6213,6181,6149,6117,6085,6052,6020,5988,5956,5924,5891,5859,5827,5795,5762,5730,5698,5666,5633,5601,5569,5536,5504,5472,5439,5407,5375,5342,5310,5278,5245,5213,5181,5148,5116,5084,5051,5019,4987,4954,4922,4889,4857,4825,4792,4760,4727,4695,4662,4630,4598,4565,4533,4500,4468,4435,4403,4370,4338,4305,4273,4240,4208,4175,4143,4110,4078,4045,4013,3980,3948,3915,3883,3850,3818,3785,3752,3720,3687,3655,3622,3590,3557,3525,3492,3459,3427,3394,3362,3329,3296,3264,3231,3199,3166,3133,3101,3068,3035,3003,2970,2938,2905,2872,2840,2807,2774,2742,2709,2676,2644,2611,2578,2546,2513,2480,2448,2415,2382,2350,2317,2284,2252,2219,2186,2153,2121,2088,2055,2023,1990,1957,1925,1892,1859,1826,1794,1761,1728,1696,1663,1630,1597,1565,1532,1499,1466,1434,1401,1368,1335,1303,1270,1237,1204,1172,1139,1106,1073,1041,1008,975,942,910,877,844,811,779,746,713,680,648,615,582,549,517,484,451,418,385,353,320,287,254,222,189,156,123,91,58,25};
                       ^~~~~~~~~~~
/tools/Xilinx/SDx/2019.1/xfopencv/include/core/xf_math.h:67:23: warning: ‘xf::sin_fix_lut’ defined but not used [-Wunused-variable]
 static unsigned short sin_fix_lut[1572]={0,32,65,98,131,163,196,229,262,294,327,360,393,425,458,491,524,557,589,622,655,688,720,753,786,819,851,884,917,950,982,1015,1048,1081,1113,1146,1179,1212,1244,1277,1310,1343,1375,1408,1441,1474,1506,1539,1572,1604,1637,1670,1703,1735,1768,1801,1834,1866,1899,1932,1964,1997,2030,2063,2095,2128,2161,2193,2226,2259,2291,2324,2357,2389,2422,2455,2487,2520,2553,2585,2618,2651,2683,2716,2749,2781,2814,2847,2879,2912,2945,2977,3010,3043,3075,3108,3140,3173,3206,3238,3271,3303,3336,3369,3401,3434,3466,3499,3532,3564,3597,3629,3662,3694,3727,3760,3792,3825,3857,3890,3922,3955,3987,4020,4052,4085,4117,4150,4182,4215,4247,4280,4312,4345,4377,4410,4442,4475,4507,4540,4572,4604,4637,4669,4702,4734,4767,4799,4831,4864,4896,4929,4961,4993,5026,5058,5091,5123,5155,5188,5220,5252,5285,5317,5349,5382,5414,5446,5479,5511,5543,5576,5608,5640,5672,5705,5737,5769,5801,5834,5866,5898,5930,5963,5995,6027,6059,6091,6124,6156,6188,6220,6252,6285,6317,6349,6381,6413,6445,6477,6510,6542,6574,6606,6638,6670,6702,6734,6766,6798,6830,6862,6894,6926,6958,6990,7022,7054,7086,7118,7150,7182,7214,7246,7278,7310,7342,7374,7406,7438,7470,7502,7534,7566,7597,7629,7661,7693,7725,7757,7789,7820,7852,7884,7916,7948,7979,8011,8043,8075,8106,8138,8170,8202,8233,8265,8297,8328,8360,8392,8424,8455,8487,8518,8550,8582,8613,8645,8677,8708,8740,8771,8803,8834,8866,8898,8929,8961,8992,9024,9055,9087,9118,9150,9181,9212,9244,9275,9307,9338,9370,9401,9432,9464,9495,9526,9558,9589,9620,9652,9683,9714,9746,9777,9808,9839,9871,9902,9933,9964,9996,10027,10058,10089,10120,10152,10183,10214,10245,10276,10307,10338,10369,10400,10432,10463,10494,10525,10556,10587,10618,10649,10680,10711,10742,10773,10804,10834,10865,10896,10927,10958,10989,11020,11051,11082,11112,11143,11174,11205,11236,11266,11297,11328,11359,11389,11420,11451,11481,11512,11543,11573,11604,11635,11665,11696,11727,11757,11788,11818,11849,11879,11910,11940,11971,12001,12032,12062,12093,12123,12154,12184,12215,12245,12275,12306,12336,12366,12397,12427,12457,12488,12518,12548,12579,12609,12639,12669,12700,12730,12760,12790,12820,12850,12881,12911,12941,12971,13001,13031,13061,13091,13121,13151,13181,13211,13241,13271,13301,13331,13361,13391,13421,13451,13481,13510,13540,13570,13600,13630,13659,13689,13719,13749,13778,13808,13838,13868,13897,13927,13957,13986,14016,14045,14075,14105,14134,14164,14193,14223,14252,14282,14311,14341,14370,14400,14429,14459,14488,14517,14547,14576,14605,14635,14664,14693,14723,14752,14781,14810,14840,14869,14898,14927,14956,14985,15015,15044,15073,15102,15131,15160,15189,15218,15247,15276,15305,15334,15363,15392,15421,15450,15479,15508,15536,15565,15594,15623,15652,15680,15709,15738,15767,15795,15824,15853,15881,15910,15939,15967,15996,16025,16053,16082,16110,16139,16167,16196,16224,16253,16281,16310,16338,16366,16395,16423,16452,16480,16508,16536,16565,16593,16621,16649,16678,16706,16734,16762,16790,16819,16847,16875,16903,16931,16959,16987,17015,17043,17071,17099,17127,17155,17183,17211,17238,17266,17294,17322,17350,17378,17405,17433,17461,17489,17516,17544,17572,17599,17627,17654,17682,17710,17737,17765,17792,17820,17847,17875,17902,17930,17957,17984,18012,18039,18067,18094,18121,18148,18176,18203,18230,18257,18285,18312,18339,18366,18393,18420,18447,18475,18502,18529,18556,18583,18610,18637,18664,18690,18717,18744,18771,18798,18825,18852,18878,18905,18932,18959,18985,19012,19039,19065,19092,19119,19145,19172,19198,19225,19251,19278,19304,19331,19357,19384,19410,19437,19463,19489,19516,19542,19568,19595,19621,19647,19673,19699,19726,19752,19778,19804,19830,19856,19882,19908,19934,19960,19986,20012,20038,20064,20090,20116,20142,20168,20193,20219,20245,20271,20296,20322,20348,20374,20399,20425,20450,20476,20502,20527,20553,20578,20604,20629,20655,20680,20705,20731,20756,20782,20807,20832,20857,20883,20908,20933,20958,20984,21009,21034,21059,21084,21109,21134,21159,21184,21209,21234,21259,21284,21309,21334,21359,21383,21408,21433,21458,21483,21507,21532,21557,21581,21606,21631,21655,21680,21704,21729,21753,21778,21802,21827,21851,21876,21900,21924,21949,21973,21997,22022,22046,22070,22094,22119,22143,22167,22191,22215,22239,22263,22287,22311,22335,22359,22383,22407,22431,22455,22479,22503,22526,22550,22574,22598,22621,22645,22669,22692,22716,22740,22763,22787,22810,22834,22857,22881,22904,22928,22951,22974,22998,23021,23044,23068,23091,23114,23137,23161,23184,23207,23230,23253,23276,23299,23322,23345,23368,23391,23414,23437,23460,23483,23506,23528,23551,23574,23597,23620,23642,23665,23688,23710,23733,23755,23778,23800,23823,23845,23868,23890,23913,23935,23958,23980,24002,24024,24047,24069,24091,24113,24136,24158,24180,24202,24224,24246,24268,24290,24312,24334,24356,24378,24400,24422,24444,24465,24487,24509,24531,24552,24574,24596,24617,24639,24661,24682,24704,24725,24747,24768,24790,24811,24832,24854,24875,24896,24918,24939,24960,24981,25003,25024,25045,25066,25087,25108,25129,25150,25171,25192,25213,25234,25255,25276,25297,25317,25338,25359,25380,25400,25421,25442,25462,25483,25504,25524,25545,25565,25586,25606,25627,25647,25667,25688,25708,25728,25749,25769,25789,25809,25830,25850,25870,25890,25910,25930,25950,25970,25990,26010,26030,26050,26070,26089,26109,26129,26149,26169,26188,26208,26228,26247,26267,26286,26306,26325,26345,26364,26384,26403,26423,26442,26461,26481,26500,26519,26538,26558,26577,26596,26615,26634,26653,26672,26691,26710,26729,26748,26767,26786,26805,26824,26843,26861,26880,26899,26918,26936,26955,26973,26992,27011,27029,27048,27066,27085,27103,27121,27140,27158,27177,27195,27213,27231,27250,27268,27286,27304,27322,27340,27358,27376,27394,27412,27430,27448,27466,27484,27502,27519,27537,27555,27573,27590,27608,27626,27643,27661,27678,27696,27713,27731,27748,27766,27783,27800,27818,27835,27852,27870,27887,27904,27921,27938,27955,27973,27990,28007,28024,28041,28058,28074,28091,28108,28125,28142,28159,28175,28192,28209,28225,28242,28259,28275,28292,28308,28325,28341,28358,28374,28390,28407,28423,28439,28456,28472,28488,28504,28520,28537,28553,28569,28585,28601,28617,28633,28649,28664,28680,28696,28712,28728,28744,28759,28775,28791,28806,28822,28837,28853,28868,28884,28899,28915,28930,28946,28961,28976,28992,29007,29022,29037,29052,29068,29083,29098,29113,29128,29143,29158,29173,29188,29203,29217,29232,29247,29262,29276,29291,29306,29320,29335,29350,29364,29379,29393,29408,29422,29437,29451,29465,29480,29494,29508,29522,29537,29551,29565,29579,29593,29607,29621,29635,29649,29663,29677,29691,29705,29719,29732,29746,29760,29774,29787,29801,29814,29828,29842,29855,29869,29882,29896,29909,29922,29936,29949,29962,29975,29989,30002,30015,30028,30041,30054,30067,30080,30093,30106,30119,30132,30145,30158,30171,30183,30196,30209,30222,30234,30247,30259,30272,30284,30297,30309,30322,30334,30347,30359,30371,30384,30396,30408,30420,30432,30445,30457,30469,30481,30493,30505,30517,30529,30541,30552,30564,30576,30588,30600,30611,30623,30635,30646,30658,30669,30681,30692,30704,30715,30727,30738,30749,30761,30772,30783,30794,30806,30817,30828,30839,30850,30861,30872,30883,30894,30905,30916,30927,30937,30948,30959,30970,30980,30991,31002,31012,31023,31033,31044,31054,31065,31075,31086,31096,31106,31116,31127,31137,31147,31157,31167,31178,31188,31198,31208,31218,31228,31237,31247,31257,31267,31277,31287,31296,31306,31316,31325,31335,31344,31354,31363,31373,31382,31392,31401,31411,31420,31429,31438,31448,31457,31466,31475,31484,31493,31502,31511,31520,31529,31538,31547,31556,31565,31573,31582,31591,31600,31608,31617,31625,31634,31643,31651,31659,31668,31676,31685,31693,31701,31710,31718,31726,31734,31742,31751,31759,31767,31775,31783,31791,31799,31806,31814,31822,31830,31838,31845,31853,31861,31868,31876,31884,31891,31899,31906,31914,31921,31928,31936,31943,31950,31958,31965,31972,31979,31986,31993,32001,32008,32015,32022,32028,32035,32042,32049,32056,32063,32069,32076,32083,32089,32096,32103,32109,32116,32122,32129,32135,32141,32148,32154,32160,32167,32173,32179,32185,32191,32198,32204,32210,32216,32222,32228,32233,32239,32245,32251,32257,32263,32268,32274,32280,32285,32291,32296,32302,32307,32313,32318,32324,32329,32334,32340,32345,32350,32355,32360,32366,32371,32376,32381,32386,32391,32396,32401,32405,32410,32415,32420,32425,32429,32434,32439,32443,32448,32452,32457,32461,32466,32470,32475,32479,32483,32488,32492,32496,32500,32504,32509,32513,32517,32521,32525,32529,32533,32537,32540,32544,32548,32552,32556,32559,32563,32567,32570,32574,32577,32581,32584,32588,32591,32595,32598,32601,32605,32608,32611,32614,32617,32620,32624,32627,32630,32633,32636,32638,32641,32644,32647,32650,32653,32655,32658,32661,32663,32666,32668,32671,32673,32676,32678,32681,32683,32685,32688,32690,32692,32694,32697,32699,32701,32703,32705,32707,32709,32711,32713,32715,32717,32718,32720,32722,32724,32725,32727,32729,32730,32732,32733,32735,32736,32738,32739,32740,32742,32743,32744,32745,32747,32748,32749,32750,32751,32752,32753,32754,32755,32756,32757,32757,32758,32759,32760,32760,32761,32762,32762,32763,32763,32764,32764,32765,32765,32766,32766,32766,32767,32767,32767,32767,32767,32767,32767,32767,32768};
                       ^~~~~~~~~~~
Not creating bitstream due to the -mno-bitstream switch
Software tracing enabled
Creating emulation files
Compile hardware access API functions
Link application ELF file
arm-linux-gnueabihf-g++: error: /tools/Xilinx/Workspace/test/Release/tools/Xilinx/SDK/2019.1/gnu/aarch32/lin/gcc-arm-linux-gnueabi: No such file or directory
ERROR: [SdsCompiler 83-5019] Exiting sds++ : Error when calling 'arm-linux-gnueabihf-g++    /tools/Xilinx/Workspace/test/Release/_sds/swstubs/xf_otsuthreshold_hpp.o /tools/Xilinx/Workspace/test/Release/tools/Xilinx/SDK/2019.1/gnu/aarch32/lin/gcc-arm-linux-gnueabi /tools/Xilinx/Workspace/test/Release/src/xf_otsuthreshold_tb.o /tools/Xilinx/Workspace/test/Release/_sds/swstubs/xf_otsuthreshold_accel.o  -L/usr/local/include/opencv4/opencv2 -L/tools/Xilinx/Vivado/2019.1/lnx64/tools/systemc/lib -L/tools/Xilinx/Vivado/2019.1/lnx64/tools/opencv/opencv_gcc -L/tools/Xilinx/SDx/2019.1/platforms/zed/sw/linux/boot -L/tools/Xilinx/SDK/2019.1/gnu/aarch32/lin/gcc-arm-linux-gnueabi -L/tools/Xilinx/SDK/2019.1/gnu/aarch32/lin/gcc-arm-linux-gnueabi/arm-linux-gnueabihf/lib/opencv_build -L/tools/Xilinx/SDx/2019.1/xfopencv/include -Xlinker -lopencv_core -lopencv_imgproc -lopencv_calib3d -lopencv_videoio    -L/tools/Xilinx/Workspace/test/Release/_sds/swstubs -Wl,--start-group  -Wl,--end-group -Wl,--start-group    -lpthread -L/tools/Xilinx/SDx/2019.1/target/aarch32-linux/lib -lsds_lib -lxlnk_stub  -Wl,--end-group -o /tools/Xilinx/Workspace/test/Release/_sds/swstubs/test.elf '
sds++ log file saved as /tools/Xilinx/Workspace/test/Release/_sds/reports/sds.log
ERROR: [SdsCompiler 83-5004] Build failed

makefile:47: recipe for target 'test.elf' failed
make[1]: *** [test.elf] Error 1
makefile:39: recipe for target 'all' failed
make: *** [all] Error 2

Please help me to get through this error