Commit 3077ee89 authored by sigbjornf's avatar sigbjornf Committed by Commit bot

Recognize GC_PLUGIN_IGNORE() on 'operator new' declarations.

For the select few times an overriding "operator new" is needed for a
GC class, provide the GC_PLUGIN_IGNORE() escape hatch for these. The
responsibility that the "new"'s allocation will be on the Oilpan heap,
rests with the implementor of the class.

R=haraken
BUG=443854

Review URL: https://codereview.chromium.org/975393002

Cr-Commit-Position: refs/heads/master@{#319141}
parent 2cd4e23b
......@@ -1131,7 +1131,8 @@ class BlinkGCPluginConsumer : public ASTConsumer {
CheckLeftMostDerived(info);
CheckDispatch(info);
if (CXXMethodDecl* newop = info->DeclaresNewOperator())
ReportClassOverridesNew(info, newop);
if (!Config::IsIgnoreAnnotated(newop))
ReportClassOverridesNew(info, newop);
if (info->IsGCMixinInstance()) {
// Require that declared GCMixin implementations
// also provide a trace() override.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment