aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/parse.c
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2019-03-13 05:12:05 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2019-03-13 05:12:05 +0000
commit599b9f723e42b0efdf580c45bc03e12dec377edd (patch)
tree5d93e81f1fa20d234f29478a57f4d05cdd341756 /gcc/fortran/parse.c
parentf4390da0c537d637e6aa582f68c65bac13396196 (diff)
downloadgcc-599b9f723e42b0efdf580c45bc03e12dec377edd.zip
gcc-599b9f723e42b0efdf580c45bc03e12dec377edd.tar.gz
gcc-599b9f723e42b0efdf580c45bc03e12dec377edd.tar.bz2
compiler: compare parse methods when indexing interface types for export
This change fixes a bug in which two interface types were being incorrectly commoned (considered identical) in the initial stages of writing out types to export data. The indexer does a walk to collect candidates for export, inserting types into a table to eliminate duplicates; as part of this process a local interface type T1 was being commoned with a different interface type T2. This caused a cycle in the exported type graph due to the way embedded interfaces are handled. The fix was to add a new flag to the Type::is_identical utility routine to request that interface type comparison be done by examining the original parse methods, as opposed to the expanded method set, then use the new flag when creating the hash map for the exporter. Fixes golang/go#30659. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/166638 From-SVN: r269634
Diffstat (limited to 'gcc/fortran/parse.c')
0 files changed, 0 insertions, 0 deletions