| Index: base/macros.h
|
| diff --git a/base/macros.h b/base/macros.h
|
| index 554ea439ed4a59de2efcac9b962bdbb3a7caed2b..0a0b3148639b67607588175d3c8adb2e51a75fe2 100644
|
| --- a/base/macros.h
|
| +++ b/base/macros.h
|
| @@ -12,6 +12,8 @@
|
|
|
| #include <stddef.h> // For size_t.
|
|
|
| +#include "build/build_config.h" // For OS_XXX. TODO(pkasting): Remove.
|
| +
|
| // Put this in the declarations for a class to be uncopyable.
|
| #define DISALLOW_COPY(TypeName) \
|
| TypeName(const TypeName&) = delete
|
| @@ -20,11 +22,20 @@
|
| #define DISALLOW_ASSIGN(TypeName) \
|
| void operator=(const TypeName&) = delete
|
|
|
| -// A macro to disallow the copy constructor and operator= functions
|
| -// This should be used in the private: declarations for a class
|
| +// A macro to disallow the copy constructor and operator= functions.
|
| +// This should be used in the private: declarations for a class.
|
| +// TODO(pkasting): Using "= delete" is Linux-specific initially to prevent
|
| +// cross-platform code from regressing while other platforms are fixed. Remove
|
| +// the ifdefs here and use "= delete" on all platforms.
|
| +#if defined(CHROMIUM_BUILD) && defined(OS_LINUX) && !defined(OS_CHROMEOS)
|
| +#define DISALLOW_COPY_AND_ASSIGN(TypeName) \
|
| + TypeName(const TypeName&) = delete; \
|
| + void operator=(const TypeName&) = delete
|
| +#else
|
| #define DISALLOW_COPY_AND_ASSIGN(TypeName) \
|
| TypeName(const TypeName&); \
|
| void operator=(const TypeName&)
|
| +#endif
|
|
|
| // A macro to disallow all the implicit constructors, namely the
|
| // default constructor, copy constructor and operator= functions.
|
|
|