r226626 - Sema: err_after_alias is unreachable, remove it
David Majnemer
david.majnemer at gmail.com
Tue Jan 20 17:32:12 PST 2015
Good catch! Fixed in r226633.
On Tue, Jan 20, 2015 at 5:24 PM, Richard Smith <richard at metafoo.co.uk>
wrote:
> On Tue, Jan 20, 2015 at 4:52 PM, David Majnemer
> <david.majnemer at gmail.com> wrote:
> > Author: majnemer
> > Date: Tue Jan 20 18:52:17 2015
> > New Revision: 226626
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=226626&view=rev
> > Log:
> > Sema: err_after_alias is unreachable, remove it
> >
> > Examples this would have catched are now handled by the attribute
> > verification code.
> >
> > Modified:
> > cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
> > cfe/trunk/lib/Sema/SemaDecl.cpp
> > cfe/trunk/test/Sema/alias-redefinition.c
> >
> > Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
> > URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=226626&r1=226625&r2=226626&view=diff
> >
> ==============================================================================
> > --- cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (original)
> > +++ cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td Tue Jan 20
> 18:52:17 2015
> > @@ -3902,8 +3902,6 @@ def warn_missing_variable_declarations :
> > def err_static_data_member_reinitialization :
> > Error<"static data member %0 already has an initializer">;
> > def err_redefinition : Error<"redefinition of %0">;
> > -def err_alias_after_tentative :
> > - Error<"alias definition of %0 after tentative definition">;
> > def err_alias_is_definition :
> > Error<"definition %0 cannot also be an alias">;
> > def err_definition_of_implicitly_declared_member : Error<
> >
> > Modified: cfe/trunk/lib/Sema/SemaDecl.cpp
> > URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDecl.cpp?rev=226626&r1=226625&r2=226626&view=diff
> >
> ==============================================================================
> > --- cfe/trunk/lib/Sema/SemaDecl.cpp (original)
> > +++ cfe/trunk/lib/Sema/SemaDecl.cpp Tue Jan 20 18:52:17 2015
> > @@ -2223,11 +2223,7 @@ static void checkNewAttributesAfterDef(S
> > S.CheckForFunctionRedefinition(FD, cast<FunctionDecl>(Def));
> > else {
> > VarDecl *VD = cast<VarDecl>(New);
> > - unsigned Diag =
> cast<VarDecl>(Def)->isThisDeclarationADefinition() ==
> > - VarDecl::TentativeDefinition
> > - ? diag::err_alias_after_tentative
> > - : diag::err_redefinition;
> > - S.Diag(VD->getLocation(), Diag) << VD->getDeclName();
> > + S.Diag(VD->getLocation(), diag::err_redefinition) <<
> VD->getDeclName();
> > S.Diag(Def->getLocation(), diag::note_previous_definition);
> > VD->setInvalidDecl();
> > }
> >
> > Modified: cfe/trunk/test/Sema/alias-redefinition.c
> > URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/alias-redefinition.c?rev=226626&r1=226625&r2=226626&view=diff
> >
> ==============================================================================
> > --- cfe/trunk/test/Sema/alias-redefinition.c (original)
> > +++ cfe/trunk/test/Sema/alias-redefinition.c Tue Jan 20 18:52:17 2015
> > @@ -28,3 +28,7 @@ static int var2 __attribute((alias("v2")
> >
> > extern int var3 __attribute__((alias("C"))); // expected-note{{previous
> definition is here}}
> > int var3 = 3; // expected-error{{redefinition of 'var3'}}
> > +
> > +int v4;
> > +int var4;
> > +int var4 __attribute((alias("v4"))); // expected-error {{definition
> 'var4' cannot also be an alias}}
>
> What about:
>
> int var4;
> extern int var4 __attribute__((alias("v4")));
>
> ?
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150120/a59557a7/attachment.html>
More information about the cfe-commits
mailing list