pboettch / json-schema-validator

JSON schema validator for JSON for Modern C++
Other
463 stars 133 forks source link

Compilation issue: narrowing #304

Closed ycnakajsph closed 5 months ago

ycnakajsph commented 5 months ago

Hi there,

I'm trying to build this library using Yocto (a tool to build distributions and packages for embedded Linux). I'm having some not so strict compilation flags however I'm having some problems with narrowing, I've been able to bypass that error using -Wno-narrowing but the issue still exists.

| /data/projects/dip-cpu-yocto-test/build/tmp/work/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi/nlohmann-json-validator/2.2.0-r0/recipe-sysroot-native/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++ -I/data/projects/dip-cpu-yocto-test/build/tmp/work/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi/nlohmann-json-validator/2.2.0-r0/git/src -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a5 -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/data/projects/dip-cpu-yocto-test/build/tmp/work/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi/nlohmann-json-validator/2.2.0-r0/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/data/projects/dip-cpu-yocto-test/build/tmp/work/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi/nlohmann-json-validator/2.2.0-r0=/usr/src/debug/nlohmann-json-validator/2.2.0-r0 -fdebug-prefix-map=/data/projects/dip-cpu-yocto-test/build/tmp/work/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi/nlohmann-json-validator/2.2.0-r0=/usr/src/debug/nlohmann-json-validator/2.2.0-r0 -fdebug-prefix-map=/data/projects/dip-cpu-yocto-test/build/tmp/work/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi/nlohmann-json-validator/2.2.0-r0/recipe-sysroot= -fdebug-prefix-map=/data/projects/dip-cpu-yocto-test/build/tmp/work/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi/nlohmann-json-validator/2.2.0-r0/recipe-sysroot-native= -fvisibility-inlines-hidden -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a5 -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/data/projects/dip-cpu-yocto-test/build/tmp/work/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi/nlohmann-json-validator/2.2.0-r0/recipe-sysroot -Wall -Wextra -Wshadow -MD -MT CMakeFiles/nlohmann_json_schema_validator.dir/src/smtp-address-validator.cpp.o -MF CMakeFiles/nlohmann_json_schema_validator.dir/src/smtp-address-validator.cpp.o.d -o CMakeFiles/nlohmann_json_schema_validator.dir/src/smtp-address-validator.cpp.o -c /data/projects/dip-cpu-yocto-test/build/tmp/work/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi/nlohmann-json-validator/2.2.0-r0/git/src/smtp-address-validator.cpp | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-32' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-19' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-16' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-12' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-62' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-33' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-31' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-17' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-15' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-13' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-128' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-65' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-32' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-19' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-16' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-12' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-62' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-33' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-31' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-17' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-15' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-13' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-96' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-65' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-128' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-65' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-128' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-97' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-112' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-65' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-128' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-65' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-128' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-113' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-32' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-19' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-16' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-12' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-62' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-33' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-31' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-17' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-15' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-13' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-32' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-19' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-16' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-12' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-62' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-33' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-31' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-17' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-15' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-13' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-128' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-65' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-96' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-65' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-128' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-65' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-128' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-97' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-112' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-65' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-128' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-65' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-128' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-113' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-32' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-19' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-16' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-12' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-62' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-33' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-31' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-17' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-15' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-13' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-32' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-19' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-16' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-12' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-62' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-33' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-31' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-17' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-15' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-13' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-32' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-19' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-16' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-12' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-62' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-33' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-31' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-17' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-15' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-13' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-128' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-65' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-96' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-65' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-128' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-65' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-128' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-97' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-112' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-65' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-128' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-65' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-128' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-113' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-32' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-19' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-16' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-12' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-62' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-33' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-31' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-17' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-15' from 'int' to 'char' [-Wnarrowing] | smtp-address-validator.cpp:213:1: error: narrowing conversion of '-13' from 'int' to 'char' [-Wnarrowing]

Best regards,

Yann

pboettch commented 5 months ago

This was fix after the 2.2.0 release.

It's time to do a new release....