aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/tree.cc
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2025-09-02 15:58:26 -0700
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2025-09-02 15:58:26 -0700
commit071b4126c613881f4cb25b4e5c39032964827f88 (patch)
tree7ed805786566918630d1d617b1ed8f7310f5fd8e /gcc/cp/tree.cc
parent845d23f3ea08ba873197c275a8857eee7edad996 (diff)
parentcaa1c2f42691d68af4d894a5c3e700ecd2dba080 (diff)
downloadgcc-devel/gfortran-test.zip
gcc-devel/gfortran-test.tar.gz
gcc-devel/gfortran-test.tar.bz2
Merge branch 'master' into gfortran-testdevel/gfortran-test
Diffstat (limited to 'gcc/cp/tree.cc')
-rw-r--r--gcc/cp/tree.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/gcc/cp/tree.cc b/gcc/cp/tree.cc
index d56d73f..e354da0 100644
--- a/gcc/cp/tree.cc
+++ b/gcc/cp/tree.cc
@@ -1186,7 +1186,12 @@ build_cplus_array_type (tree elt_type, tree index_type, int dependent)
for (t = m; t; t = TYPE_NEXT_VARIANT (t))
if (TREE_TYPE (t) == elt_type
&& TYPE_NAME (t) == NULL_TREE
- && TYPE_ATTRIBUTES (t) == NULL_TREE)
+ && TYPE_ATTRIBUTES (t) == NULL_TREE
+ && (!TYPE_USER_ALIGN (t)
+ || (TYPE_USER_ALIGN (elt_type)
+ && TYPE_ALIGN (t) == TYPE_ALIGN (elt_type)))
+ && !TREE_DEPRECATED (t)
+ && !TREE_UNAVAILABLE (t))
break;
if (!t)
{
@@ -6394,8 +6399,8 @@ decl_linkage (tree decl)
if (NAMESPACE_SCOPE_P (decl)
&& (!DECL_NAME (decl) || IDENTIFIER_ANON_P (DECL_NAME (decl))))
{
- if (TREE_CODE (decl) == TYPE_DECL && !TYPE_ANON_P (TREE_TYPE (decl)))
- /* This entity has a typedef name for linkage purposes. */;
+ if (TREE_CODE (decl) == TYPE_DECL && !TYPE_UNNAMED_P (TREE_TYPE (decl)))
+ /* This entity has a name for linkage purposes. */;
else if (DECL_DECOMPOSITION_P (decl) && DECL_DECOMP_IS_BASE (decl))
/* Namespace-scope structured bindings can have linkage. */;
else if (TREE_CODE (decl) == NAMESPACE_DECL && cxx_dialect >= cxx11)