haowei created this revision. haowei added reviewers: phosek, leonardchan, gulfem. Herald added a subscriber: abrachet. haowei requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits.
This change adds additional unit tests for availability attribute support for Fuchsia platform. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D112271 Files: clang/test/Sema/attr-availability-fuchsia.c Index: clang/test/Sema/attr-availability-fuchsia.c =================================================================== --- clang/test/Sema/attr-availability-fuchsia.c +++ clang/test/Sema/attr-availability-fuchsia.c @@ -11,17 +11,19 @@ void f0(int) __attribute__((availability(fuchsia, introduced = 14, deprecated = 19))); void f1(int) __attribute__((availability(fuchsia, introduced = 16))); void f2(int) __attribute__((availability(fuchsia, introduced = 14, deprecated = 16))); // expected-note {{'f2' has been explicitly marked deprecated here}} -void f3(int) __attribute__((availability(fuchsia, introduced = 19))); +void f3(int) __attribute__((availability(fuchsia, introduced = 19, strict))); // expected-note {{'f3' has been explicitly marked unavailable here}} void f4(int) __attribute__((availability(fuchsia, 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(fuchsia, unavailable))); // expected-note{{'f5' has been explicitly marked unavailable here}} void f6(int) __attribute__((availability(fuchsia, introduced = 16.0))); // expected-warning {{Fuchsia API Level prohibits specifying a minor or sub-minor version}} void f7(int) __attribute__((availability(fuchsia, introduced = 16.1))); // expected-warning {{Fuchsia API Level prohibits specifying a minor or sub-minor version}} +void f8(int) __attribute__((availability(fuchsia, introduced = 19))); // nothing will happen as 'strict' is not specified. void test() { f0(0); f1(0); f2(0); // expected-warning{{'f2' is deprecated: first deprecated in Fuchsia 16}} - f3(0); + f3(0); // expected-error{{'f3' is unavailable: introduced in Fuchsia 19}} f4(0); // expected-error{{f4' is unavailable: obsoleted in Fuchsia 16}} f5(0); // expected-error{{'f5' is unavailable: not available on Fuchsia}} + f8(0); }
Index: clang/test/Sema/attr-availability-fuchsia.c =================================================================== --- clang/test/Sema/attr-availability-fuchsia.c +++ clang/test/Sema/attr-availability-fuchsia.c @@ -11,17 +11,19 @@ void f0(int) __attribute__((availability(fuchsia, introduced = 14, deprecated = 19))); void f1(int) __attribute__((availability(fuchsia, introduced = 16))); void f2(int) __attribute__((availability(fuchsia, introduced = 14, deprecated = 16))); // expected-note {{'f2' has been explicitly marked deprecated here}} -void f3(int) __attribute__((availability(fuchsia, introduced = 19))); +void f3(int) __attribute__((availability(fuchsia, introduced = 19, strict))); // expected-note {{'f3' has been explicitly marked unavailable here}} void f4(int) __attribute__((availability(fuchsia, 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(fuchsia, unavailable))); // expected-note{{'f5' has been explicitly marked unavailable here}} void f6(int) __attribute__((availability(fuchsia, introduced = 16.0))); // expected-warning {{Fuchsia API Level prohibits specifying a minor or sub-minor version}} void f7(int) __attribute__((availability(fuchsia, introduced = 16.1))); // expected-warning {{Fuchsia API Level prohibits specifying a minor or sub-minor version}} +void f8(int) __attribute__((availability(fuchsia, introduced = 19))); // nothing will happen as 'strict' is not specified. void test() { f0(0); f1(0); f2(0); // expected-warning{{'f2' is deprecated: first deprecated in Fuchsia 16}} - f3(0); + f3(0); // expected-error{{'f3' is unavailable: introduced in Fuchsia 19}} f4(0); // expected-error{{f4' is unavailable: obsoleted in Fuchsia 16}} f5(0); // expected-error{{'f5' is unavailable: not available on Fuchsia}} + f8(0); }
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits