Ahh, I see, the actual fix is not the variable, but the wrong order of operands in the assembly, I missed that.
But the additional prototypes are still pointless ;-) Btw, I'm all for enabling extra warnings, but the following ones seem not very useful or will probably create a lot of noise: |-Wunused-but-set-variable (we have this in many places) |||-Wmaybe-uninitialized (gives too many warnings, since initializing something by passing it to a function cases this warning) ||||-Wmissing-prototypes (in the kernel no functions are declared static (wrong IMO, but that's how it is), which will lead to many warnings) ||||-Wmissing-declarations (see above) ||||-Wcast-align (explicitly casting to a higher alignment can be useful and there is no other way to avoid this warning) ||||-Wwrite-strings (I fear that we don't always use the const modifier properly to allow this) || -Wuninitialized is already implicitly defined by -Wall The following additional warnings seem to be reasonable by a quick glance: |-Wframe-larger-than=|len / |-Wstack-usage=|len (at least for kernel mode code)|| |-Wbad-function-cast| |-Wsign-compare (enabled on MSVC by default) | |-Wsign-conversion||| |-Wlogical-op| |-Waggregate-return| |-Winvalid-pch| || ||Timo Am 11.08.2013 13:26, schrieb Amine Khaldi: > The signed/unsigned mismatch (regardless of whether it makes a > difference or not) is what led to inspecting __ll_rshift() which, in > turn, resulted in finding a far more serious issue (incorrect > implementation) corrected in both __ll_rshift() and __ull_rshift(). > This is a result of a series of warnings suggested by Aleksandar > Andrejevic. -Werror -Wall -Wextra -Wshadow -Wpointer-arith > -Wcast-align -Wwrite-strings -Wmissing-prototypes > -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline > -Wno-long-long -Wuninitialized -Wconversion -Wstrict-prototypes
_______________________________________________ Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev