On Mon, Apr 6, 2015 at 7:30 PM, Richard Smith <[email protected]> wrote:
> ================
> Comment at: lib/Sema/SemaDeclAttr.cpp:2866
> @@ -2865,1 +2865,3 @@
>
> +  if (E->isTypeDependent() || E->isValueDependent()) {
> +    if (const auto *TND = dyn_cast<TypedefNameDecl>(D)) {
> ----------------
> The 'type dependent' check here is redundant.
>
> ================
> Comment at: lib/Sema/SemaDeclAttr.cpp:2869
> @@ +2868,3 @@
> +      QualType T = TND->getUnderlyingType();
> +      if (!T->isDependentType() && !T->isInstantiationDependentType()) {
> +        S.Diag(Attr.getLoc(), diag::err_alignment_dependent_typedef_name)
> ----------------
> I don't think you should check instantiation-dependence here. I think you 
> should reject this, for instance:
>
>   template<int N> struct X {
>     typedef __attribute__((aligned(N))) int X[sizeof(N)];
>   };
>

Out of curiosity, why do you think that should be rejected?

~Aaron

> http://reviews.llvm.org/D8693
>
> EMAIL PREFERENCES
>   http://reviews.llvm.org/settings/panel/emailpreferences/
>
>
>
> _______________________________________________
> cfe-commits mailing list
> [email protected]
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to