diff options
author | Tobias Burnus <tobias@codesourcery.com> | 2020-03-23 08:31:23 +0100 |
---|---|---|
committer | Tobias Burnus <tobias@codesourcery.com> | 2020-03-23 08:31:23 +0100 |
commit | b809f0b6580969c4f047f4dae072c090718efd76 (patch) | |
tree | 5c222c892f11192e3cffdb8388b7b0de7668610c /gcc/lto | |
parent | 6e00d8dcf32ace6588a1a4843dfcc0e8b9f9d00f (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/lto/lto.c | 14 |
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; |