Fixed compiler flags to be as strict as possible while supporting both GCC and Clang