aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2013-09-01 13:59:27 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2013-09-01 11:59:27 +0000
commit63bf9a906c4c8fa5952fd494e8b7d45753b887bb (patch)
treef5f01e673b1da6ea30dda2913878744df6918adb /gcc
parentf5c7238f2ea0804ae11af08140695fca34ec3004 (diff)
downloadgcc-63bf9a906c4c8fa5952fd494e8b7d45753b887bb.zip
gcc-63bf9a906c4c8fa5952fd494e8b7d45753b887bb.tar.gz
gcc-63bf9a906c4c8fa5952fd494e8b7d45753b887bb.tar.bz2
fork-instrumentation.c: New testcase.
* gcc.dg/fork-instrumentation.c: New testcase. * builtins.c (expand_builtin): Do not exit early for gcov instrumented functions. From-SVN: r202142
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/builtins.c7
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.dg/fork-instrumentation.c8
4 files changed, 24 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7d0a381..b141e61 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2013-08-31 Jan Hubicka <jh@suse.cz>
+
+ * bulitins.c (expand_builtin): Do not early exit for gcov
+ instrumented functions.
+
2013-08-31 Marek Polacek <polacek@redhat.com>
* ubsan.c: Include tm_p.h.
diff --git a/gcc/builtins.c b/gcc/builtins.c
index 92aec31..581a050 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -5851,6 +5851,13 @@ expand_builtin (tree exp, rtx target, rtx subtarget, enum machine_mode mode,
set of builtins. */
if (!optimize
&& !called_as_built_in (fndecl)
+ && fcode != BUILT_IN_FORK
+ && fcode != BUILT_IN_EXECL
+ && fcode != BUILT_IN_EXECV
+ && fcode != BUILT_IN_EXECLP
+ && fcode != BUILT_IN_EXECLE
+ && fcode != BUILT_IN_EXECVP
+ && fcode != BUILT_IN_EXECVE
&& fcode != BUILT_IN_ALLOCA
&& fcode != BUILT_IN_ALLOCA_WITH_ALIGN
&& fcode != BUILT_IN_FREE)
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 315a2df..9cbc427 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2013-08-31 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/fork-instrumentation.c: New testcase.
+
2013-08-30 Uros Bizjak <ubizjak@gmail.com>
* g++.dg/abi/mangle33.C (dg-final): Use match count in scan RE.
diff --git a/gcc/testsuite/gcc.dg/fork-instrumentation.c b/gcc/testsuite/gcc.dg/fork-instrumentation.c
new file mode 100644
index 0000000..bd9bf41
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/fork-instrumentation.c
@@ -0,0 +1,8 @@
+/* { dg-do compile } */
+/* { dg-options "-O0 -fprofile-generate" } */
+int fork(void);
+t()
+{
+ fork ();
+}
+/* { dg-final { scan-assembler "gcov_fork" } } */