On Tue, Mar 3, 2015 at 1:30 PM, Dan Albert <[email protected]> wrote: > That's a good question. You'd have to ask someone from Apple :) > > Those test cases were just copied from attr-availability-macosx.c. I figured > it was better to leave them in case they were testing something generic > rather than some specific Apple related bug.
I would pull them as they don't appear to be testing anything that isn't already covered elsewhere. ~Aaron > > On Thu, Feb 26, 2015 at 8:05 PM, Aaron Ballman <[email protected]> > wrote: >> >> On Thu, Feb 26, 2015 at 9:41 PM, Dan Albert <[email protected]> wrote: >> > Hi srhines, >> > >> > REPOSITORY >> > rL LLVM >> > >> > http://reviews.llvm.org/D7929 >> > >> > Files: >> > include/clang/Basic/Attr.td >> > lib/Basic/Targets.cpp >> > test/Sema/attr-availability-android.c >> > >> > Index: include/clang/Basic/Attr.td >> > =================================================================== >> > --- include/clang/Basic/Attr.td >> > +++ include/clang/Basic/Attr.td >> > @@ -440,6 +440,7 @@ >> > let AdditionalMembers = >> > [{static llvm::StringRef getPrettyPlatformName(llvm::StringRef >> > Platform) { >> > return llvm::StringSwitch<llvm::StringRef>(Platform) >> > + .Case("android", "Android") >> > .Case("ios", "iOS") >> > .Case("macosx", "OS X") >> > .Default(llvm::StringRef()); >> > Index: lib/Basic/Targets.cpp >> > =================================================================== >> > --- lib/Basic/Targets.cpp >> > +++ lib/Basic/Targets.cpp >> > @@ -364,8 +364,13 @@ >> > DefineStd(Builder, "linux", Opts); >> > Builder.defineMacro("__gnu_linux__"); >> > Builder.defineMacro("__ELF__"); >> > - if (Triple.getEnvironment() == llvm::Triple::Android) >> > + if (Triple.getEnvironment() == llvm::Triple::Android) { >> > Builder.defineMacro("__ANDROID__", "1"); >> > + unsigned Maj, Min, Rev; >> > + Triple.getOSVersion(Maj, Min, Rev); >> > + this->PlatformName = "android"; >> > + this->PlatformMinVersion = VersionTuple(Maj, Min, Rev); >> > + } >> > if (Opts.POSIXThreads) >> > Builder.defineMacro("_REENTRANT"); >> > if (Opts.CPlusPlus) >> > Index: test/Sema/attr-availability-android.c >> > =================================================================== >> > --- /dev/null >> > +++ test/Sema/attr-availability-android.c >> > @@ -0,0 +1,31 @@ >> > +// RUN: %clang_cc1 "-triple" "arm-linux-androideabi16" -fsyntax-only >> > -verify %s >> > + >> > +void f0(int) >> > __attribute__((availability(android,introduced=14,deprecated=19))); >> > +void f1(int) __attribute__((availability(android,introduced=16))); >> > +void f2(int) >> > __attribute__((availability(android,introduced=14,deprecated=16))); // >> > expected-note {{'f2' has been explicitly marked deprecated here}} >> > +void f3(int) __attribute__((availability(android,introduced=19))); >> > +void f4(int) >> > __attribute__((availability(android,introduced=9,deprecated=11,obsoleted=16), >> > availability(ios,introduced=2.0,deprecated=3.0))); // >> > expected-note{{explicitly marked unavailable}} >> > +void f5(int) __attribute__((availability(ios,introduced=3.2), >> > availability(android,unavailable))); // expected-note{{'f5' has been >> > explicitly marked unavailable here}} >> > + >> > +void test() { >> > + f0(0); >> > + f1(0); >> > + f2(0); // expected-warning{{'f2' is deprecated: first deprecated in >> > Android 16}} >> > + f3(0); >> > + f4(0); // expected-error{{f4' is unavailable: obsoleted in Android >> > 16}} >> > + f5(0); // expected-error{{'f5' is unavailable: not available on >> > Android}} >> > +} >> > + >> > +// rdar://10535640 >> > + >> > +enum { >> > + foo >> > __attribute__((availability(android,introduced=8.0,deprecated=9.0))) >> > +}; >> > + >> > +enum { >> > + bar >> > __attribute__((availability(android,introduced=8.0,deprecated=9.0))) = foo >> > +}; >> > + >> > +enum >> > __attribute__((availability(android,introduced=8.0,deprecated=9.0))) { >> > + bar1 = foo >> > +}; >> >> What are the enum tests supposed to be testing? The rdar link isn't >> helpful for most folks. >> >> Otherwise, LGTM. Thanks! >> >> ~Aaron >> >> > >> > 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 > > _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
