[cfe-commits] r140931 - in /cfe/trunk: include/clang/Basic/DiagnosticSemaKinds.td include/clang/Sema/AttributeList.h include/clang/Sema/Sema.h lib/Sema/SemaDeclAttr.cpp lib/Sema/SemaExpr.cpp lib/Sema/SemaType.cpp test/Parser/MicrosoftExtensions.c

Nico Weber thakis at chromium.org
Fri Oct 7 09:12:09 PDT 2011

> It's definitely a natural qualifier — lvalue-to-rvalue drops it, T* is a
> subtype of T may_alias *, it propagates along member accesses, etc.
> We don't always follow GCC's lead on canonical typing;  notably,
> noreturn and calling conventions are part of a canonical function
> type in Clang, although unfortunately we don't mangle them right
> now.  I'm okay with that applying here, too, although I do think we
> should mangle it.

Wait, wouldn't mangling this mean that client programs built with
clang can't link against a libglib.so built by gcc?

>  Mostly, I think it's going to be pretty uncommon
> to see this sort of thing in C++, so technically breaking interoperation
> for conceptual purity is not a big deal.
> Anyway, it would also be (temporarily) acceptable to just recognize
> the attribute to suppress this warning.
> John.

More information about the cfe-commits mailing list