• Lukasz Anforowicz's avatar
    Improve "global-destructor" filtering rule: multiple fields, arrays, ... · 7d4dc99e
    Lukasz Anforowicz authored
    This CL improves the "global-destructor" filtering rule, that excludes
    from the CheckedPtr rewrite fields that would have resulted in running
    a custom destructor for a global-scoped variable.  Before this CL,
    this rule would incorrectly handle the following scenarios:
    *) Only the first matched field in a struct would be filtered
       (subsequent fields would not be covered)
    *) Nesting the affected struct in an array would hide the struct from
       the rule
    *) Nesting an affected field in a template would hide the field from
       the rule.
    
    After this CL, the scenarios listed above should work correctly.  The
    CL adds extra test cases to cover these scenarios.
    
    Bug: 1069567
    Change-Id: I1a14e44f49023335554c1c46f10739b4c210538c
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2492464Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
    Reviewed-by: default avatarBartek Nowierski <bartekn@chromium.org>
    Commit-Queue: Daniel Cheng <dcheng@chromium.org>
    Auto-Submit: Łukasz Anforowicz <lukasza@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#820873}
    7d4dc99e
RewriteRawPtrFields.cpp 45.8 KB