On Apr 25, 2007, at 7:28 AM, Anton Korobeynikov wrote: > +void GlobalAlias::setAliasee(const GlobalValue *GV) > +{ > + // FIXME: Some checks? > + Aliasee = GV; > +} > +
This should assert that GV type matches the alias type. > @@ -277,7 +282,9 @@ > Assert1(!GV.isDeclaration() || > GV.hasExternalLinkage() || > GV.hasDLLImportLinkage() || > - GV.hasExternalWeakLinkage(), > + GV.hasExternalWeakLinkage() || > + (isa<GlobalAlias>(GV) && > + (GV.hasInternalLinkage() || GV.hasWeakLinkage())), > "Global is external, but doesn't have external or dllimport or > weak linkage!", > &GV); Hopefully we can eliminate internal aliases... > > @@ -303,6 +310,16 @@ > visitGlobalValue(GV); > } > > +void Verifier::visitGlobalAlias(GlobalAlias &GA) { > + Assert1(!GA.getName().empty(), > + "Alias name cannot be empty!", &GA); > + Assert1(GA.hasExternalLinkage() || GA.hasInternalLinkage() || > + GA.hasWeakLinkage(), > + "Alias should have external or external weak linkage!", > &GA); This should check that the alias and aliasee have the same type. -Chris _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits