Good catch! Fixed in r226633. On Tue, Jan 20, 2015 at 5:24 PM, Richard Smith <[email protected]> wrote:
> On Tue, Jan 20, 2015 at 4:52 PM, David Majnemer > <[email protected]> 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"))); > > ? >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
