Closed Bug 792379 Opened 7 years ago Closed 7 years ago

Don't include prtypes.h in base/basictypes.h

Categories

(Core :: IPC, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla18

People

(Reporter: Ms2ger, Assigned: Ms2ger)

References

(Blocks 2 open bugs)

Details

Attachments

(1 file)

Attached patch Patch v1Splinter Review
We've been trying to avoid including prtypes.h; to my surprise, it didn't actually take much to remove the include from base/basictypes.h. Passes try.
Attachment #662508 - Flags: review?(jones.chris.g)
Comment on attachment 662508 [details] [diff] [review]
Patch v1

>diff --git a/xpcom/glue/nsTraceRefcnt.h b/xpcom/glue/nsTraceRefcnt.h
>--- a/xpcom/glue/nsTraceRefcnt.h
>+++ b/xpcom/glue/nsTraceRefcnt.h
>@@ -11,34 +11,34 @@
> 
> #define NS_LOG_ADDREF(_p, _rc, _type, _size) \
>   NS_LogAddRef((_p), (_rc), (_type), (uint32_t) (_size))
> 
> #define NS_LOG_RELEASE(_p, _rc, _type) \
>   NS_LogRelease((_p), (_rc), (_type))
> 
> #define MOZ_COUNT_CTOR(_type)                                 \
>-PR_BEGIN_MACRO                                                \
>+do {                                                          \
>   NS_LogCtor((void*)this, #_type, sizeof(*this));             \
>-PR_END_MACRO
>+} while (0);

This changes semantics; PR_END_MACRO is

#define PR_END_MACRO    } while (0)

This is important to preserve, so that the macro expansion follows the
same rules as any other C++ statement.

r=me with that and all the ones below fixed.
Attachment #662508 - Flags: review?(jones.chris.g) → review+
Woops, that should teach me to actually take a closer look at the macro I'm replacing!
https://hg.mozilla.org/mozilla-central/rev/50fde7a256f1
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Flags: in-testsuite-
Resolution: --- → FIXED
Target Milestone: --- → mozilla18
Blocks: includehell
You need to log in before you can comment on or make changes to this bug.