rjmccall added inline comments. ================ Comment at: lib/Sema/SemaType.cpp:1569 @@ +1568,3 @@ + // Mark them as invalid. + attr.setInvalid(); + } ---------------- It's not generally a good idea to set things as invalid if you're just emitting a warning. It might be different for parsed AttributeList objects, but... I'm not sure about that.
================ Comment at: lib/Sema/SemaType.cpp:1609 @@ +1608,3 @@ + // Warn if we see type qualifiers for omitted return type on a block literal. + if (TypeQuals && isOmittedBlockReturnType(declarator)) { + diagnoseAndRemoveTypeQualifiers(S, DS, TypeQuals, Result, ---------------- Checking TypeQuals again here is redundant. ================ Comment at: lib/Sema/SemaType.cpp:1611 @@ +1610,3 @@ + diagnoseAndRemoveTypeQualifiers(S, DS, TypeQuals, Result, + DeclSpec::TQ_const | DeclSpec::TQ_volatile | DeclSpec::TQ_atomic, + diag::warn_block_literal_qualifiers_on_omitted_return_type); ---------------- You're missing at least TQ_restrict. But why make this an enumerated list at all? http://reviews.llvm.org/D18567 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits