[all-commits] [llvm/llvm-project] 113b0d: PR46255: Fix field diagnostics for C records with ...

Erich Keane via All-commits all-commits at lists.llvm.org
Tue Jun 9 12:28:09 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 113b0d7d0bd637743efb050ad619dd0c6d306e96
      https://github.com/llvm/llvm-project/commit/113b0d7d0bd637743efb050ad619dd0c6d306e96
  Author: Erich Keane <erich.keane at intel.com>
  Date:   2020-06-09 (Tue, 09 Jun 2020)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/test/Sema/struct-decl.c

  Log Message:
  -----------
  PR46255: Fix field diagnostics for C records with anonymous members.

The ParseStructUnionBody function was separately keeping track of the
field decls for historical reasons, however the "ActOn" functions add
the field to the RecordDecl anyway.

The "ParseStructDeclaration" function, which handles parsing fields
didn't have a way of handling what happens on an anonymous field, and
changing it would alter a large amount of objc code, so I chose instead
to implement this by just filling the FieldDecls vector with the actual
FieldDecls that were successfully added to the recorddecl .




More information about the All-commits mailing list