diff options
author | Richard Guenther <rguenther@suse.de> | 2011-05-23 14:36:28 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2011-05-23 14:36:28 +0000 |
commit | e6d944b22615da54b20b4f53a9dad5cad4e0eeb4 (patch) | |
tree | 928a2b3cb3a77c3a0bf725eea08379eb6d5d328c | |
parent | dde0506718248469bac2d469f9fd34fd0ef6d2d7 (diff) | |
download | gcc-e6d944b22615da54b20b4f53a9dad5cad4e0eeb4.zip gcc-e6d944b22615da54b20b4f53a9dad5cad4e0eeb4.tar.gz gcc-e6d944b22615da54b20b4f53a9dad5cad4e0eeb4.tar.bz2 |
re PR tree-optimization/40874 (Function object abstraction penalty with inline functions.)
2011-05-23 Richard Guenther <rguenther@suse.de>
PR tree-optimization/40874
* g++.dg/tree-ssa/pr40874.C: New testcase.
From-SVN: r174068
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/tree-ssa/pr40874.C | 25 |
2 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index e647cb5..0fd397c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2011-05-23 Richard Guenther <rguenther@suse.de> + PR tree-optimization/40874 + * g++.dg/tree-ssa/pr40874.C: New testcase. + +2011-05-23 Richard Guenther <rguenther@suse.de> + PR tree-optimization/49115 * g++.dg/torture/pr49115.C: New testcase. diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr40874.C b/gcc/testsuite/g++.dg/tree-ssa/pr40874.C new file mode 100644 index 0000000..d227ff9 --- /dev/null +++ b/gcc/testsuite/g++.dg/tree-ssa/pr40874.C @@ -0,0 +1,25 @@ +// { dg-do compile } +// { dg-options "-O -fdump-tree-optimized" } + +struct pf +{ + inline pf(int(*x)(int)) : x(x) {} + + inline int operator()(int a) const + { + return x(a); + } + + int (*x)(int); +}; + +inline int g(int x) { return x/x - 1; } + +int main(int argc, char* argv[]) +{ + pf f(g); + return f(3); +} + +// { dg-final { scan-tree-dump "return 0" "optimized" } } +// { dg-final { cleanup-tree-dump "optimized" } } |