aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTom de Vries <tom@codesourcery.com>2017-08-03 11:18:09 +0000
committerTom de Vries <vries@gcc.gnu.org>2017-08-03 11:18:09 +0000
commitcad136a40be14f1a286bbdfa8008909d262c551c (patch)
tree7eb9743be4bde657a3f7f9e64a988b89c9196231 /gcc
parent2392baa59e266a320c55d9a2245d70fd97a43075 (diff)
downloadgcc-cad136a40be14f1a286bbdfa8008909d262c551c.zip
gcc-cad136a40be14f1a286bbdfa8008909d262c551c.tar.gz
gcc-cad136a40be14f1a286bbdfa8008909d262c551c.tar.bz2
Error out on nvptx for fpatchable-function-entry
2017-08-03 Tom de Vries <tom@codesourcery.com> PR target/81662 * config/nvptx/nvptx.c (nvptx_option_override): Emit sorry if function_entry_patch_area_size > 0. * gcc.target/nvptx/patchable_function_entry-default.c: New test. From-SVN: r250851
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/nvptx/nvptx.c4
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/nvptx/patchable_function_entry-default.c15
4 files changed, 30 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f7b620c..0449bfc 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2017-08-03 Tom de Vries <tom@codesourcery.com>
+
+ PR target/81662
+ * config/nvptx/nvptx.c (nvptx_option_override): Emit sorry if
+ function_entry_patch_area_size > 0.
+
2017-08-03 Jakub Jelinek <jakub@redhat.com>
PR driver/81650
diff --git a/gcc/config/nvptx/nvptx.c b/gcc/config/nvptx/nvptx.c
index 0d21eb1..dddb952 100644
--- a/gcc/config/nvptx/nvptx.c
+++ b/gcc/config/nvptx/nvptx.c
@@ -180,6 +180,10 @@ nvptx_option_override (void)
if (!global_options_set.x_flag_no_common)
flag_no_common = 1;
+ /* The patch area requires nops, which we don't have. */
+ if (function_entry_patch_area_size > 0)
+ sorry ("not generating patch area, nops not supported");
+
/* Assumes that it will see only hard registers. */
flag_var_tracking = 0;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 53829f7..760a454 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2017-08-03 Tom de Vries <tom@codesourcery.com>
+
+ PR target/81662
+ * gcc.target/nvptx/patchable_function_entry-default.c: New test.
+
2017-08-03 Jakub Jelinek <jakub@redhat.com>
PR driver/81650
diff --git a/gcc/testsuite/gcc.target/nvptx/patchable_function_entry-default.c b/gcc/testsuite/gcc.target/nvptx/patchable_function_entry-default.c
new file mode 100644
index 0000000..4254456
--- /dev/null
+++ b/gcc/testsuite/gcc.target/nvptx/patchable_function_entry-default.c
@@ -0,0 +1,15 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -fpatchable-function-entry=3,1" } */
+
+extern int a;
+
+int f3 (void);
+
+int
+__attribute__((noinline))
+f3 (void)
+{
+ return 5*a;
+}
+
+/* { dg-excess-errors "sorry, unimplemented: not generating patch area, nops not supported" } */