summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/torture/pr53321.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.dg/torture/pr53321.C')
-rw-r--r--gcc/testsuite/g++.dg/torture/pr53321.C36
1 files changed, 36 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/torture/pr53321.C b/gcc/testsuite/g++.dg/torture/pr53321.C
new file mode 100644
index 0000000000..40a2de731d
--- /dev/null
+++ b/gcc/testsuite/g++.dg/torture/pr53321.C
@@ -0,0 +1,36 @@
+// { dg-do compile }
+// { dg-require-profiling "-fprofile-generate" }
+// { dg-options "-fprofile-generate" }
+
+typedef long unsigned int size_t;
+
+extern "C"
+{
+ extern void *memcpy (void *__dest, __const void *__src, size_t __n);
+}
+
+extern char *src, *sources;
+extern int n_sources;
+
+static void
+find_source (const char *file_name)
+{
+ memcpy (src, sources, n_sources * sizeof (*sources));
+}
+
+extern const char *gcov_read_string (void);
+
+static void read_graph_file (void)
+{
+ find_source (gcov_read_string ());
+}
+
+static void process_file (void)
+{
+ read_graph_file ();
+}
+
+int main ()
+{
+ process_file ();
+}