lvc / abi-compliance-checker

A tool for checking backward API/ABI compatibility of a C/C++ library
https://lvc.github.io/abi-compliance-checker/
GNU Lesser General Public License v2.1
625 stars 78 forks source link

difference access manner of same enum value be recognized as value changed #60

Closed zhuda closed 7 years ago

zhuda commented 7 years ago

Hi @lvc,

I got following error for a variable in my two builds: image

And here is the difference of this variable's definitions in my two builds: image

You can notice that the difference is just different access manner of the same enum value (with/without type scope). basing on my test and the link these two definitions should be equivalent, do you know why this be treated as a error? The compatibility report for binary & source are both 100%, however the return value of perl script is 1, so I would guess this issue lead failed value (1) be returned.

Thanks, Danny

lvc commented 7 years ago

Hello,

Thank you for the report.

The tool simply checks if the value of a #define macros is the same or not the same (without parsing it deeper).

Please add an option --disable-constants-check to disable report for such changes.

zhuda commented 7 years ago

ok, thanks!

zhuda commented 7 years ago

@lvc btw, --disable-constants-check means don't check constant globally, right?

lvc commented 7 years ago

Option --disable-constants-check disables checks for changes in #defines. Enumeration constants are still checked.