aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation
diff options
authorAl Viro <viro@zeniv.linux.org.uk>2005-11-21 22:06:43 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2005-11-22 08:43:02 -0800
commitea92e467f57dc19726c7f63d22932e2e961bac50 (patch)
treeccc2e9ba91eee7b45f65ff0b1c55bddf2b19c32f /validation
parenta046c1b92025c46a84a89c2d40ba2da3be12893c (diff)
downloadsparse-dev-ea92e467f57dc19726c7f63d22932e2e961bac50.tar.gz
[PATCH] fix of compound literals on inlining
We need to create a copy of cast_type when we are copying a combination of EXPR_CAST and EXPR_INITIALIZER (i.e. a compound literal). Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'validation')
-rw-r--r--validation/inline_compound_literals.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/validation/inline_compound_literals.c b/validation/inline_compound_literals.c
new file mode 100644
index 00000000..649d42ab
--- /dev/null
+++ b/validation/inline_compound_literals.c
@@ -0,0 +1,18 @@
+struct foo {
+ int x;
+};
+
+static inline void baz(void)
+{
+ (struct foo) { .x = 0 };
+}
+
+static void barf(void)
+{
+ baz();
+}
+
+static void foo(void)
+{
+ baz();
+}