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
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| ChangeLog | Loading commit data... | |
| Make-lang.in | Loading commit data... | |
| c-aux-info.c | Loading commit data... | |
| c-convert.c | Loading commit data... | |
| c-decl.c | Loading commit data... | |
| c-errors.c | Loading commit data... | |
| c-fold.c | Loading commit data... | |
| c-lang.c | Loading commit data... | |
| c-lang.h | Loading commit data... | |
| c-objc-common.c | Loading commit data... | |
| c-objc-common.h | Loading commit data... | |
| c-parser.c | Loading commit data... | |
| c-parser.h | Loading commit data... | |
| c-tree.h | Loading commit data... | |
| c-typeck.c | Loading commit data... | |
| config-lang.in | Loading commit data... | |
| gccspec.c | Loading commit data... | |
| gimple-parser.c | Loading commit data... | |
| gimple-parser.h | Loading commit data... |