summaryrefslogtreecommitdiffstats
path: root/base/port.h
diff options
context:
space:
mode:
authordeanm@chromium.org <deanm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-27 21:12:05 +0000
committerdeanm@chromium.org <deanm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-27 21:12:05 +0000
commit16e97f777a9429b2a0fde3a7982ff393b41e72ee (patch)
tree4ceab0956d92c7ead6f3211dac8a24e8f9d65505 /base/port.h
parent3dd7a7a7806269c92861cbeb073dac8291d80e35 (diff)
downloadchromium_src-16e97f777a9429b2a0fde3a7982ff393b41e72ee.zip
chromium_src-16e97f777a9429b2a0fde3a7982ff393b41e72ee.tar.gz
chromium_src-16e97f777a9429b2a0fde3a7982ff393b41e72ee.tar.bz2
Move base::va_copy from a function to a macro.
va_copy is a builtin, you can't just pass it references like we did previously. Review URL: http://codereview.chromium.org/160191 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21706 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/port.h')
-rw-r--r--base/port.h10
1 files changed, 2 insertions, 8 deletions
diff --git a/base/port.h b/base/port.h
index d077705..18a9361 100644
--- a/base/port.h
+++ b/base/port.h
@@ -32,23 +32,17 @@
#define GG_UINT32_C(x) (x ## U)
#define GG_UINT64_C(x) GG_ULONGLONG(x)
-namespace base {
-
// It's possible for functions that use a va_list, such as StringPrintf, to
// invalidate the data in it upon use. The fix is to make a copy of the
// structure before using it and use that copy instead. va_copy is provided
// for this purpose. MSVC does not provide va_copy, so define an
// implementation here. It is not guaranteed that assignment is a copy, so the
// StringUtil.VariableArgsFunc unit test tests this capability.
-inline void va_copy(va_list& a, va_list& b) {
#if defined(COMPILER_GCC)
- ::va_copy(a, b);
+#define GG_VA_COPY(a, b) (va_copy(a, b))
#elif defined(COMPILER_MSVC)
- a = b;
+#define GG_VA_COPY(a, b) (a = b)
#endif
-}
-
-} // namespace base
// Define an OS-neutral wrapper for shared library entry points
#if defined(OS_WIN)