aboutsummaryrefslogtreecommitdiff
path: root/gcc/lto
diff options
context:
space:
mode:
authorTobias Burnus <tobias@codesourcery.com>2020-03-23 08:31:23 +0100
committerTobias Burnus <tobias@codesourcery.com>2020-03-23 08:31:23 +0100
commitb809f0b6580969c4f047f4dae072c090718efd76 (patch)
tree5c222c892f11192e3cffdb8388b7b0de7668610c /gcc/lto
parent6e00d8dcf32ace6588a1a4843dfcc0e8b9f9d00f (diff)
downloadgcc-b809f0b6580969c4f047f4dae072c090718efd76.zip
gcc-b809f0b6580969c4f047f4dae072c090718efd76.tar.gz
gcc-b809f0b6580969c4f047f4dae072c090718efd76.tar.bz2
Set proper DECL_ALIGN in offload_handle_link_vars (PR94233)
gcc/lto/ PR middle-end/94233 * lto.c (offload_handle_link_vars): Cleanup; call build_decl to ensure alignment is set.
Diffstat (limited to 'gcc/lto')
-rw-r--r--gcc/lto/ChangeLog6
-rw-r--r--gcc/lto/lto.c14
2 files changed, 11 insertions, 9 deletions
diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog
index 1e5bab6..333f2a3 100644
--- a/gcc/lto/ChangeLog
+++ b/gcc/lto/ChangeLog
@@ -1,3 +1,9 @@
+2020-01-29 Tobias Burnus <tobias@codesourcery.com>
+
+ PR middle-end/94233
+ * lto.c (offload_handle_link_vars): Cleanup; call
+ build_decl to ensure alignment is set.
+
2020-02-05 Martin Liska <mliska@suse.cz>
PR lto/93489
diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c
index 39bb5f4..467b922 100644
--- a/gcc/lto/lto.c
+++ b/gcc/lto/lto.c
@@ -561,18 +561,14 @@ offload_handle_link_vars (void)
DECL_ATTRIBUTES (var->decl)))
{
tree type = build_pointer_type (TREE_TYPE (var->decl));
- tree link_ptr_var = make_node (VAR_DECL);
- TREE_TYPE (link_ptr_var) = type;
- TREE_USED (link_ptr_var) = 1;
- TREE_STATIC (link_ptr_var) = 1;
- SET_DECL_MODE (link_ptr_var, TYPE_MODE (type));
- DECL_SIZE (link_ptr_var) = TYPE_SIZE (type);
- DECL_SIZE_UNIT (link_ptr_var) = TYPE_SIZE_UNIT (type);
- DECL_ARTIFICIAL (link_ptr_var) = 1;
tree var_name = DECL_ASSEMBLER_NAME (var->decl);
char *new_name
= ACONCAT ((IDENTIFIER_POINTER (var_name), "_linkptr", NULL));
- DECL_NAME (link_ptr_var) = get_identifier (new_name);
+ tree link_ptr_var = build_decl (UNKNOWN_LOCATION, VAR_DECL,
+ get_identifier (new_name), type);
+ TREE_USED (link_ptr_var) = 1;
+ TREE_STATIC (link_ptr_var) = 1;
+ DECL_ARTIFICIAL (link_ptr_var) = 1;
SET_DECL_ASSEMBLER_NAME (link_ptr_var, DECL_NAME (link_ptr_var));
SET_DECL_VALUE_EXPR (var->decl, build_simple_mem_ref (link_ptr_var));
DECL_HAS_VALUE_EXPR_P (var->decl) = 1;