# HG changeset patch # User Klaus Ethgen # Date 1460640344 -3600 # Node ID a987ea1ea4f8591ec925f6f61b8c5efe356decbc # Parent 38f6ecad0b5318c4d0cf0aeafe097ff8217e8d34 Work around GCC6 This problem is really annoying. Left shifting a value does not require it to be positive in C. However, some specifications define that as undefined behaviour. Nevertheless, as used in this case it is perfectly fine and widely used construct. Closes #230, #378 diff -r 38f6ecad0b53 -r a987ea1ea4f8 src/typedefs.h --- a/src/typedefs.h Wed Apr 13 18:53:12 2016 +0100 +++ b/src/typedefs.h Thu Apr 14 14:25:44 2016 +0100 @@ -161,7 +161,7 @@ CHANGE_WARN_CHANGED_EXT = 1 << 3, CHANGE_WARN_UNSAVED_META = 1 << 4, CHANGE_WARN_NO_WRITE_PERM_DEST_DIR = 1 << 5, - CHANGE_ERROR_MASK = (~0) << 8, /* the values below are fatal errors */ + CHANGE_ERROR_MASK = (~0U) << 8, /* the values below are fatal errors */ CHANGE_NO_READ_PERM = 1 << 8, CHANGE_NO_WRITE_PERM_DIR = 1 << 9, CHANGE_NO_DEST_DIR = 1 << 10,