summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2010-04-27 21:07:06 +0000
committerEli Friedman <eli.friedman@gmail.com>2010-04-27 21:07:06 +0000
commit7955e52f5cc737c67770dd34b0b01e0db46a6bd0 (patch)
tree556ceb52a33b4e260c82ff4ceb3047936e0db5a2 /clang/test
parent1a0bbe25e32ef03119c743eb1da50d280640041f (diff)
downloadbcm5719-llvm-7955e52f5cc737c67770dd34b0b01e0db46a6bd0.tar.gz
bcm5719-llvm-7955e52f5cc737c67770dd34b0b01e0db46a6bd0.zip
Fix for PR6953: per gcc, regparm and noreturn affect the compatibility of
function types. This could potentially have unexpected side-effects, so look here if there are new regressions. llvm-svn: 102464
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/Sema/attr-regparm.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/clang/test/Sema/attr-regparm.c b/clang/test/Sema/attr-regparm.c
index 045a41396e3..57640978757 100644
--- a/clang/test/Sema/attr-regparm.c
+++ b/clang/test/Sema/attr-regparm.c
@@ -1,7 +1,11 @@
// RUN: %clang_cc1 -triple i386-apple-darwin9 -fsyntax-only -verify %s
-__attribute((regparm(2))) int x(void);
-__attribute((regparm(1.0))) int x(void); // expected-error{{'regparm' attribute requires integer constant}}
-__attribute((regparm(-1))) int x(void); // expected-error{{'regparm' parameter must be between 0 and 3 inclusive}}
-__attribute((regparm(5))) int x(void); // expected-error{{'regparm' parameter must be between 0 and 3 inclusive}}
-__attribute((regparm(5,3))) int x(void); // expected-error{{attribute requires 1 argument(s)}}
+__attribute((regparm(2))) int a(void);
+__attribute((regparm(1.0))) int b(void); // expected-error{{'regparm' attribute requires integer constant}}
+__attribute((regparm(-1))) int c(void); // expected-error{{'regparm' parameter must be between 0 and 3 inclusive}}
+__attribute((regparm(5))) int d(void); // expected-error{{'regparm' parameter must be between 0 and 3 inclusive}}
+__attribute((regparm(5,3))) int e(void); // expected-error{{attribute requires 1 argument(s)}}
+int f(void);
+__attribute((regparm(0))) int f(void);
+__attribute((regparm(1))) int g(void); // expected-note{{previous declaration is here}}
+__attribute((regparm(2))) int g(void); // expected-error{{conflicting types for 'g'}}
OpenPOWER on IntegriCloud