This revision was automatically updated to reflect the committed changes. Closed by commit rL333283: [Sema] Add tests for weak functions (authored by Hahnfeld, committed by ). Herald added a subscriber: llvm-commits.
Changed prior to commit: https://reviews.llvm.org/D47200?vs=148021&id=148616#toc Repository: rL LLVM https://reviews.llvm.org/D47200 Files: cfe/trunk/test/Sema/attr-weak.c Index: cfe/trunk/test/Sema/attr-weak.c =================================================================== --- cfe/trunk/test/Sema/attr-weak.c +++ cfe/trunk/test/Sema/attr-weak.c @@ -1,7 +1,9 @@ // RUN: %clang_cc1 -verify -fsyntax-only %s +extern int f0() __attribute__((weak)); extern int g0 __attribute__((weak)); extern int g1 __attribute__((weak_import)); +int f2() __attribute__((weak)); int g2 __attribute__((weak)); int g3 __attribute__((weak_import)); // expected-warning {{'weak_import' attribute cannot be specified on a definition}} int __attribute__((weak_import)) g4(void); @@ -11,6 +13,7 @@ struct __attribute__((weak)) s0 {}; // expected-warning {{'weak' attribute only applies to variables, functions, and classes}} struct __attribute__((weak_import)) s1 {}; // expected-warning {{'weak_import' attribute only applies to variables and functions}} +static int f() __attribute__((weak)); // expected-error {{weak declaration cannot have internal linkage}} static int x __attribute__((weak)); // expected-error {{weak declaration cannot have internal linkage}} // rdar://9538608
Index: cfe/trunk/test/Sema/attr-weak.c =================================================================== --- cfe/trunk/test/Sema/attr-weak.c +++ cfe/trunk/test/Sema/attr-weak.c @@ -1,7 +1,9 @@ // RUN: %clang_cc1 -verify -fsyntax-only %s +extern int f0() __attribute__((weak)); extern int g0 __attribute__((weak)); extern int g1 __attribute__((weak_import)); +int f2() __attribute__((weak)); int g2 __attribute__((weak)); int g3 __attribute__((weak_import)); // expected-warning {{'weak_import' attribute cannot be specified on a definition}} int __attribute__((weak_import)) g4(void); @@ -11,6 +13,7 @@ struct __attribute__((weak)) s0 {}; // expected-warning {{'weak' attribute only applies to variables, functions, and classes}} struct __attribute__((weak_import)) s1 {}; // expected-warning {{'weak_import' attribute only applies to variables and functions}} +static int f() __attribute__((weak)); // expected-error {{weak declaration cannot have internal linkage}} static int x __attribute__((weak)); // expected-error {{weak declaration cannot have internal linkage}} // rdar://9538608
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits