From 8def6e83038b43b798a935edab9d77476ec47372 Mon Sep 17 00:00:00 2001 From: Jonas Hahnfeld Date: Fri, 25 May 2018 15:56:12 +0000 Subject: [PATCH] [Sema] Add tests for weak functions I found these checks to be missing, just add some simple cases. Differential Revision: https://reviews.llvm.org/D47200 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@333283 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Sema/attr-weak.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/Sema/attr-weak.c b/test/Sema/attr-weak.c index e3610caba5..6f0c3d5523 100644 --- a/test/Sema/attr-weak.c +++ b/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 @@ void __attribute__((weak_import)) g5(void) { 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 -- 2.50.1