Re: MOZ_RAII has landed on inbound

2015-09-15 Thread Michael Layzell
I've updated it with some information about MOZ_RAII.

On Mon, Sep 14, 2015 at 3:02 PM, Aaron Klotz  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


Re: MOZ_RAII has landed on inbound

2015-09-14 Thread Bobby Holley
This is totally awesome - thank you mystor!

On Sat, Sep 12, 2015 at 2: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


Re: MOZ_RAII has landed on inbound

2015-09-14 Thread Aaron Klotz
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