From 574c7453702717b4ee2ecbae05786df72af2a09a Mon Sep 17 00:00:00 2001 From: Eli Friedman Date: Tue, 7 Apr 2009 19:37:57 +0000 Subject: Diagnose uses of function specifiers on declarations which don't declare functions. Fixes PR3941. llvm-svn: 68541 --- clang/test/CodeGen/alias.c | 2 +- clang/test/Sema/inline.c | 6 ++++++ clang/test/SemaCXX/inline.cpp | 5 +++++ 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 clang/test/Sema/inline.c create mode 100644 clang/test/SemaCXX/inline.cpp (limited to 'clang/test') 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}} -- cgit v1.2.3