[CodeGen] Fix a crash that occurs when a non-trivial C struct with a
authorAkira Hatanaka <ahatanaka@apple.com>
Mon, 16 Apr 2018 20:23:52 +0000 (20:23 +0000)
committerAkira Hatanaka <ahatanaka@apple.com>
Mon, 16 Apr 2018 20:23:52 +0000 (20:23 +0000)
commit7c55265c2dfad74f91530f86a61357e22a472dfa
tree0aefb9183e16a324ed3cc7fa3f6ad2003e9f123b
parent9ff8083d98af733e4d98efb78d1d9f0684fe0a87
[CodeGen] Fix a crash that occurs when a non-trivial C struct with a
volatile array field is copied.

The crash occurs because method 'visitArray' passes a null FieldDecl to
method 'visit' and some of the methods called downstream expect a
non-null FieldDecl to be passed.

This reapplies r330151 with a fix to the test case.

rdar://problem/33599681

llvm-svn: 330155
clang/lib/CodeGen/CGNonTrivialStruct.cpp
clang/test/CodeGenObjC/strong-in-c-struct.m