diff options
author | Richard Biener <rguenther@suse.de> | 2023-06-09 09:31:14 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2023-06-28 08:15:48 +0200 |
commit | fe48f2651334bc4d96b6df6b2bb6b29fcb732a83 (patch) | |
tree | 17b6a99417de436399e7e6d326c51185e45d14fb /gcc/fortran | |
parent | abdf0b6cdff5783b97f35ad61ae31433f0569dfd (diff) | |
download | gcc-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')
0 files changed, 0 insertions, 0 deletions