aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation
diff options
authorAl Viro <viro@zeniv.linux.org.uk>2006-09-30 13:46:53 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2006-09-30 16:27:02 -0400
commit3425388b0c9f3ec4807bc4f6a61d5083a99fa506 (patch)
tree081fd621c40902a109dc6c136b5938c35a8a7536 /validation
parent02a7055f72840f05dbf7530b2c82af46306ec0c2 (diff)
downloadsparse-dev-3425388b0c9f3ec4807bc4f6a61d5083a99fa506.tar.gz
[PATCH] add support for __builtin_choose_expr()
that bugger is weird; _no_ type modifications are done to arguments (no promotions, no degeration, void accepted, etc.). Implemented, testcase added. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'validation')
-rw-r--r--validation/choose_expr.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/validation/choose_expr.c b/validation/choose_expr.c
new file mode 100644
index 00000000..9a06cc43
--- /dev/null
+++ b/validation/choose_expr.c
@@ -0,0 +1,4 @@
+int x = __builtin_choose_expr(0,(char *)0,(void)0);
+int y = __builtin_choose_expr(1,(char *)0,(void)0);
+char s[42];
+int z = 1/(sizeof(__builtin_choose_expr(1,s,0)) - 42);