summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2015-12-30 15:52:59 +0000
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2015-12-30 15:52:59 +0000
commit037c2abcbae6ab58a3d79d4096e623be16bbf1db (patch)
tree5bff308369ce63da9e2441a56623654277638aaf /gcc
parent95290afa89be06c45028f22b650c671cf3dc07a1 (diff)
downloadgcc-037c2abcbae6ab58a3d79d4096e623be16bbf1db.tar.gz
* config/nvptx/nvptx.c (nvptx_assemble_undefined_decl): Check
it's not a constant pool object. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232003 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/nvptx/nvptx.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1643888b2c8..332523c6242 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2015-12-30 Nathan Sidwell <nathan@acm.org>
+
+ * config/nvptx/nvptx.c (nvptx_assemble_undefined_decl): Check
+ it's not a constant pool object.
+
2015-12-29 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (init_float128_ieee): Remove IEEE 128-bit
diff --git a/gcc/config/nvptx/nvptx.c b/gcc/config/nvptx/nvptx.c
index 0f232a3641e..5f953a13a1f 100644
--- a/gcc/config/nvptx/nvptx.c
+++ b/gcc/config/nvptx/nvptx.c
@@ -1718,6 +1718,11 @@ nvptx_globalize_label (FILE *, const char *)
static void
nvptx_assemble_undefined_decl (FILE *file, const char *name, const_tree decl)
{
+ /* The middle end can place constant pool decls into the varpool as
+ undefined. Until that is fixed, catch the problem here. */
+ if (DECL_IN_CONSTANT_POOL (decl))
+ return;
+
write_var_marker (file, false, TREE_PUBLIC (decl), name);
fprintf (file, "\t.extern ");