diff -up a/lib/Frontend/InitPreprocessor.cpp b/lib/Frontend/InitPreprocessor.cpp --- a/lib/Frontend/InitPreprocessor.cpp 2021-02-06 05:47:20.000000000 +0100 +++ b/lib/Frontend/InitPreprocessor.cpp 2021-02-08 19:16:07.894088125 +0100 @@ -626,7 +626,10 @@ static void InitializePredefinedMacros(c Builder.defineMacro("__GNUC__", Twine(GNUCMajor)); Builder.defineMacro("__GNUC_MINOR__", Twine(GNUCMinor)); Builder.defineMacro("__GNUC_PATCHLEVEL__", Twine(GNUCPatch)); - Builder.defineMacro("__GXX_ABI_VERSION", "1002"); + if (GNUCMajor < 6) + Builder.defineMacro("__GXX_ABI_VERSION", "1002"); + else + Builder.defineMacro("__GXX_ABI_VERSION", "1016"); if (LangOpts.CPlusPlus) { Builder.defineMacro("__GNUG__", Twine(GNUCMajor));