This is annoying and makes it hard to see other issues. It seems the most common problems are related to reserved macro identifiers and using old style casts. Having a quick look, casting is a fairly trivial warning to fix, by replacing all instances of pointer casting with static_cast(data). Also, general macro naming conventions for C++ dictate that there should not be any double underscores in the name, nor should the name begin or end with an underscore as these are reserved identifiers for compilers.
This is annoying and makes it hard to see other issues. It seems the most common problems are related to reserved macro identifiers and using old style casts. Having a quick look, casting is a fairly trivial warning to fix, by replacing all instances of pointer casting with static_cast(data). Also, general macro naming conventions for C++ dictate that there should not be any double underscores in the name, nor should the name begin or end with an underscore as these are reserved identifiers for compilers.