mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 02:10:11 +01:00
ralloc: Remove the rzalloc-based new/delete operator definition macro.
Using it encourages the (IMHO worrying) practice of leaving member variables uninitialized in constructor definitions. This macro shouldn't be necessary anymore after the last patch series fixing all its users to initialize all member variables from the class constructor. Remove it. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
fcbbecb9bc
commit
ef8cc3e51f
1 changed files with 12 additions and 14 deletions
|
|
@ -404,10 +404,20 @@ bool ralloc_vasprintf_append(char **str, const char *fmt, va_list args);
|
|||
} /* end of extern "C" */
|
||||
#endif
|
||||
|
||||
#define _RALLOC_OPS(ALLOC, TYPE) \
|
||||
/**
|
||||
* Declare C++ new and delete operators which use ralloc.
|
||||
*
|
||||
* Placing this macro in the body of a class makes it possible to do:
|
||||
*
|
||||
* TYPE *var = new(mem_ctx) TYPE(...);
|
||||
* delete var;
|
||||
*
|
||||
* which is more idiomatic in C++ than calling ralloc.
|
||||
*/
|
||||
#define DECLARE_RALLOC_CXX_OPERATORS(TYPE) \
|
||||
static void* operator new(size_t size, void *mem_ctx) \
|
||||
{ \
|
||||
void *p = ALLOC(mem_ctx, size); \
|
||||
void *p = ralloc_size(mem_ctx, size); \
|
||||
assert(p != NULL); \
|
||||
return p; \
|
||||
} \
|
||||
|
|
@ -417,17 +427,5 @@ bool ralloc_vasprintf_append(char **str, const char *fmt, va_list args);
|
|||
ralloc_free(p); \
|
||||
}
|
||||
|
||||
/**
|
||||
* Declare C++ new and delete operators which use ralloc.
|
||||
*
|
||||
* Placing one of these macros in the body of a class makes it possible to do:
|
||||
*
|
||||
* TYPE *var = new(mem_ctx) TYPE(...);
|
||||
* delete var;
|
||||
*
|
||||
* which is more idiomatic in C++ than calling ralloc or rzalloc.
|
||||
*/
|
||||
#define DECLARE_RALLOC_CXX_OPERATORS(TYPE) _RALLOC_OPS(ralloc_size, TYPE)
|
||||
#define DECLARE_RZALLOC_CXX_OPERATORS(TYPE) _RALLOC_OPS(rzalloc_size, TYPE)
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue