aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/interface.c
diff options
context:
space:
mode:
authorBogdan Harjoc <harjoc@gmail.com>2018-08-03 15:25:35 +0000
committerJoseph Myers <jsm28@gcc.gnu.org>2018-08-03 16:25:35 +0100
commite5e7e50d4f75749e3ad3af44d364ccfcb81ced9e (patch)
tree976a94aedd0a8d55a01a8027541c47a938e0e252 /gcc/fortran/interface.c
parentd198fc5a69964c1d1cf55dd30d1696e531dc12d9 (diff)
downloadgcc-e5e7e50d4f75749e3ad3af44d364ccfcb81ced9e.zip
gcc-e5e7e50d4f75749e3ad3af44d364ccfcb81ced9e.tar.gz
gcc-e5e7e50d4f75749e3ad3af44d364ccfcb81ced9e.tar.bz2
Avoid infinite loop with duplicate anonymous union fields (PR c/86690).
If a struct contains an anonymous union and both have a field with the same name, detect_field_duplicates_hash() will replace one of them with NULL. If compilation doesn't stop immediately, it may later call lookup_field() on the union, which falsely assumes the union's LANG_SPECIFIC array is sorted, and may loop indefinitely because of this. 2018-08-03 Bogdan Harjoc <harjoc@gmail.com> PR c/86690 gcc/c: * c-typeck.c (lookup_field): Do not use TYPE_LANG_SPECIFIC after errors. gcc/testsuite: * gcc.dg/union-duplicate-field.c: New test. From-SVN: r263294
Diffstat (limited to 'gcc/fortran/interface.c')
0 files changed, 0 insertions, 0 deletions