I've updated it with some information about MOZ_RAII.

On Mon, Sep 14, 2015 at 3:02 PM, Aaron Klotz <akl...@mozilla.com> wrote:

> Can you please update
> https://developer.mozilla.org/en-US/docs/Using_RAII_classes_in_Mozilla
> with this information?
>
> Thanks,
>
> Aaron
>
>
> On 9/12/2015 3:06 PM, Michael Layzell wrote:
>
>> Hey everyone,
>>
>> Bug 1201190 (https://bugzilla.mozilla.org/show_bug.cgi?id=1201190) just
>> landed on inbound, which means that we now have access to the new
>> annotation MOZ_RAII. This is a static-analysis annotation, intended to be
>> placed on RAII guards. It will cause the static analysis to cause
>> compilation to fail if the class is allocated anywhere other than in an
>> automatic variable - this includes temporaries, unlike MOZ_STACK_CLASS,
>> which also allows allocating the type in a temporary.
>>
>> This new analysis fills the role of the much more verbose MOZ_GUARD_OBJECT
>> annotations, which perform runtime analysis to prevent temporary
>> allocations. Unfortunately, as we currently only run static analysis on
>> Linux and Mac OS X, you should still use MOZ_GUARD_OBJECT (In addition to
>> MOZ_RAII - which is more likely to catch errors, as it checks at build
>> time
>> and is more thorough) if the class might be used from windows-specific
>> code.
>>
>> To mark a class as MOZ_RAII, simply `#include "mfbt/Attributes.h"`, and
>> then change the class declaration to `class MOZ_RAII FooGuard`.
>>
>> If you're adding any new RAII guards, please use MOZ_RAII! Thanks :D
>> _______________________________________________
>> dev-platform mailing list
>> dev-platform@lists.mozilla.org
>> https://lists.mozilla.org/listinfo/dev-platform
>>
>
>
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to