aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-decl.cc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2023-06-09 09:31:14 +0200
committerRichard Biener <rguenther@suse.de>2023-06-28 08:15:48 +0200
commitfe48f2651334bc4d96b6df6b2bb6b29fcb732a83 (patch)
tree17b6a99417de436399e7e6d326c51185e45d14fb /gcc/fortran/trans-decl.cc
parentabdf0b6cdff5783b97f35ad61ae31433f0569dfd (diff)
downloadgcc-fe48f2651334bc4d96b6df6b2bb6b29fcb732a83.zip
gcc-fe48f2651334bc4d96b6df6b2bb6b29fcb732a83.tar.gz
gcc-fe48f2651334bc4d96b6df6b2bb6b29fcb732a83.tar.bz2
Prevent TYPE_PRECISION on VECTOR_TYPEs
The following makes sure that using TYPE_PRECISION on VECTOR_TYPE ICEs when tree checking is enabled. This should avoid wrong-code in cases like PR110182 and instead ICE. It also introduces a TYPE_PRECISION_RAW accessor and adjusts places I found that are eligible to use that. * tree.h (TYPE_PRECISION): Check for non-VECTOR_TYPE. (TYPE_PRECISION_RAW): Provide raw access to the precision field. * tree.cc (verify_type_variant): Compare TYPE_PRECISION_RAW. (gimple_canonical_types_compatible_p): Likewise. * tree-streamer-out.cc (pack_ts_type_common_value_fields): Stream TYPE_PRECISION_RAW. * tree-streamer-in.cc (unpack_ts_type_common_value_fields): Likewise. * lto-streamer-out.cc (hash_tree): Hash TYPE_PRECISION_RAW. gcc/lto/ * lto-common.cc (compare_tree_sccs_1): Use TYPE_PRECISION_RAW.
Diffstat (limited to 'gcc/fortran/trans-decl.cc')
0 files changed, 0 insertions, 0 deletions