]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/blob
78202f0f84e60d489c86488aaf6556196fab6381
[thirdparty/openembedded/openembedded-core-contrib.git] /
1 From 2e8f32d39576b002280e29079ad6cfc55c852276 Mon Sep 17 00:00:00 2001
2 From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
3 Date: Tue, 26 Apr 2011 12:59:22 +0000
4 Subject: [PATCH 181/200] 2011-04-26 Richard Guenther <rguenther@suse.de>
5
6 PR tree-optimization/48731
7 * ipa-inline.c (cgraph_flatten): Test if function is inlinable.
8
9 * gcc.dg/torture/pr48731.c: New testcase.
10
11
12 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172963 138bc75d-0d04-0410-961f-82ee72b054a4
13
14 index b3c9215..cbda4be 100644
15 --- a/gcc/ipa-inline.c
16 +++ b/gcc/ipa-inline.c
17 @@ -1337,6 +1337,9 @@ cgraph_flatten (struct cgraph_node *node)
18 continue;
19 }
20
21 + if (!e->callee->local.inlinable)
22 + continue;
23 +
24 /* We've hit cycle? It is time to give up. */
25 if (e->callee->aux)
26 {
27 new file mode 100644
28 index 0000000..74b77f6
29 --- /dev/null
30 +++ b/gcc/testsuite/gcc.dg/torture/pr48731.c
31 @@ -0,0 +1,24 @@
32 +/* { dg-do compile } */
33 +
34 +#include <stdarg.h>
35 +
36 +int blah(int a, ...)
37 +{
38 + va_list va;
39 + va_start(va,a);
40 + if (a == 0)
41 + return -1;
42 + else
43 + {
44 + int i;
45 + for (i = 0; i < a; i++)
46 + va_arg(va,int);
47 + return va_arg(va,int);
48 + }
49 +}
50 +
51 +__attribute((flatten))
52 +int blah2(int b, int c)
53 +{
54 + return blah(2, b, c);
55 +}
56 --
57 1.7.0.4
58