Different -Wall semantics in Clang and GCC


I have discovered that -Wall option behaves differently in Clang and GCC. In Clang, it reenables warnings that were explicitly disabled in earlier options, but in GCC it does not. Is this difference intentional? I'm asking since it breaks Clang builds of projects that rely on GCC semantics (in particular, those that use patterns like -Werror <disable-some-warnings> -Wall <disable-more-warnings>).