Stuart Hastings | ba31be0 | 2009-03-10 00:17:39 +0000 | [diff] [blame] | 1 | // RUN: $llvmgcc $test -c -o /dev/null |& \ |
| 2 | // RUN: egrep {(14|15|22): warning:} | \ |
| 3 | // RUN: wc -l | grep --quiet 3 |
Stuart Hastings | f50f8c0 | 2009-03-10 16:44:45 +0000 | [diff] [blame^] | 4 | // XTARGET: darwin |
| 5 | // XFAIL: * |
Stuart Hastings | ba31be0 | 2009-03-10 00:17:39 +0000 | [diff] [blame] | 6 | // END. |
| 7 | // Insist upon warnings for inappropriate weak attributes. |
| 8 | // Note the line numbers (14|15|22) embedded in the check. |
| 9 | |
| 10 | // O.K. |
| 11 | extern int ext_weak_import __attribute__ ((__weak_import__)); |
| 12 | |
| 13 | // These are inappropriate, and should generate warnings: |
| 14 | int decl_weak_import __attribute__ ((__weak_import__)); |
| 15 | int decl_initialized_weak_import __attribute__ ((__weak_import__)) = 13; |
| 16 | |
| 17 | // O.K. |
| 18 | extern int ext_f(void) __attribute__ ((__weak_import__)); |
| 19 | |
| 20 | // These are inappropriate, and should generate warnings: |
| 21 | int def_f(void) __attribute__ ((__weak_import__)); |
| 22 | int __attribute__ ((__weak_import__)) decl_f(void) {return 0;}; |