summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2009-04-07 19:37:57 +0000
committerEli Friedman <eli.friedman@gmail.com>2009-04-07 19:37:57 +0000
commit574c7453702717b4ee2ecbae05786df72af2a09a (patch)
tree70c1074be1f5ca8ab9c0c0904afcca81180d0673 /clang/test
parent513d500fda012d6fdec63bf9d8cad245640dafe4 (diff)
downloadbcm5719-llvm-574c7453702717b4ee2ecbae05786df72af2a09a.tar.gz
bcm5719-llvm-574c7453702717b4ee2ecbae05786df72af2a09a.zip
Diagnose uses of function specifiers on declarations which don't declare
functions. Fixes PR3941. llvm-svn: 68541
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/CodeGen/alias.c2
-rw-r--r--clang/test/Sema/inline.c6
-rw-r--r--clang/test/SemaCXX/inline.cpp5
3 files changed, 12 insertions, 1 deletions
diff --git a/clang/test/CodeGen/alias.c b/clang/test/CodeGen/alias.c
index c1a3baa9293..b0c71fbdfca 100644
--- a/clang/test/CodeGen/alias.c
+++ b/clang/test/CodeGen/alias.c
@@ -20,7 +20,7 @@ int foo() __attribute__((alias("foo1")));
// RUN: grep '@bar1 = internal global i32 42' %t
-static inline int bar1 = 42;
+static int bar1 = 42;
int bar() __attribute__((alias("bar1")));
diff --git a/clang/test/Sema/inline.c b/clang/test/Sema/inline.c
new file mode 100644
index 00000000000..adcde51363e
--- /dev/null
+++ b/clang/test/Sema/inline.c
@@ -0,0 +1,6 @@
+// RUN: clang-cc -fsyntax-only -verify %s
+
+// Check that we don't allow illegal uses of inline
+inline int a; // expected-error{{'inline' can only appear on functions}}
+typedef inline int b; // expected-error{{'inline' can only appear on functions}}
+int d(inline int a); // expected-error{{'inline' can only appear on functions}}
diff --git a/clang/test/SemaCXX/inline.cpp b/clang/test/SemaCXX/inline.cpp
new file mode 100644
index 00000000000..7d0505a435e
--- /dev/null
+++ b/clang/test/SemaCXX/inline.cpp
@@ -0,0 +1,5 @@
+// RUN: clang-cc -fsyntax-only -verify %s
+
+// Check that we don't allow illegal uses of inline
+// (checking C++-only constructs here)
+struct c {inline int a;}; // expected-error{{'inline' can only appear on functions}}
OpenPOWER on IntegriCloud