When building stage1 with older host compilers, I noticed:
gcc/tree.h:2561:63: warning: narrowing conversion of '(unsigned
int)tree_class_check(type, tcc_type, ((const char*)"gcc/tree.h"), 7532, ((const
char*)(& __FUNCTION__)))->tree_node::base.tree_base::u.tree_base::<unnamed
union>::bits.tree_base::<unnamed union>::<unnamed struct>::address_space' from
'unsigned int' to 'addr_space_t' {aka 'unsigned char'} [-Wnarrowing]
Adding the following hunks to the patch fixes that, and should be
harmless.
1: 3d266b5af449 ! 1: d0bd242aacbe gcc: stop using 'int' to represent sets of
qualifiers
@@ Commit message
use new qualifier_set APIs.
* omp-offload.cc (oacc_rewrite_var_decl): Update to use new
qualifier_set APIs.
- * tree-core.h (enum cv_qualifier): Set underlying type to
+ * tree-core.h (tree_base): Use addr_space_t for
'address_space',
+ to prevent Wnarrowing.
+ (enum cv_qualifier): Set underlying type to
'unsigned char'.
(TYPE_QUAL_ALL): New. Mask of all elements of cv_qualifier.
(operator|): New. Returns union of two CV-qualifier sets.
@@ gcc/tree-core.h
Copyright (C) 1989-2026 Free Software Foundation, Inc.
This file is part of GCC.
+@@ gcc/tree-core.h: along with GCC; see the file COPYING3. If not see
+ #ifndef GCC_TREE_CORE_H
+ #define GCC_TREE_CORE_H
+
++#include "coretypes.h"
+ #include "symtab.h"
+
+ /* This file contains all the data structures that define the 'tree' type.
@@ gcc/tree-core.h: enum omp_memory_order {
};
#define OMP_FAIL_MEMORY_ORDER_SHIFT 3
@@ gcc/tree-core.h: enum omp_memory_order {
/* Standard named or nameless data types of the C compiler. */
enum tree_index : unsigned {
TI_ERROR_MARK,
+@@ gcc/tree-core.h: struct GTY(()) tree_base {
+ For CONSTRUCTOR nodes this holds the clobber_kind enum.
+ The C++ front-end uses this in IDENTIFIER_NODE, REFLECT_EXPR, and
+ NAMESPACE_DECL. */
+- unsigned address_space : 8;
++ addr_space_t address_space : 8;
+ } bits;
+
+ /* The following fields are present in tree_base to save space. The
## gcc/tree-dump.cc ##
@@ gcc/tree-dump.cc: dequeue_and_dump (dump_info_p di)
--
Arsen Arsenović
signature.asc
Description: PGP signature
