summaryrefslogtreecommitdiffstats
path: root/base/third_party
diff options
context:
space:
mode:
authormark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-15 21:08:21 +0000
committermark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-15 21:08:21 +0000
commit40c2a7869363f42ab82b48bd5d4cb1a776cd2809 (patch)
treee216b2fd8ebbf3424deda4941f59043b24e2337b /base/third_party
parent638ccc53847f9e75f13554951142218a4ff2bcca (diff)
downloadchromium_src-40c2a7869363f42ab82b48bd5d4cb1a776cd2809.zip
chromium_src-40c2a7869363f42ab82b48bd5d4cb1a776cd2809.tar.gz
chromium_src-40c2a7869363f42ab82b48bd5d4cb1a776cd2809.tar.bz2
Make all NSPR symbols "private extern".
BUG=24911 TEST=mac$ nm C.app/Contents/Versions/*/C F.framework/C F | grep " [A-TV-Z] " should not show any NSPR symbols. The following NSPR symbols were formerly exported: __Z14PR_ImplodeTimePK14PRExplodedTime __Z16PR_GMTParametersPK14PRExplodedTime __Z16PR_NormalizeTimeP14PRExplodedTimePF16PRTimeParametersPKS_E __Z18PR_ParseTimeStringPKciPx These symbols should no longer be exported on any platform. Review URL: http://codereview.chromium.org/274068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29182 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/third_party')
-rw-r--r--base/third_party/nspr/prtypes.h26
1 files changed, 25 insertions, 1 deletions
diff --git a/base/third_party/nspr/prtypes.h b/base/third_party/nspr/prtypes.h
index d77a2a4..d65e16a 100644
--- a/base/third_party/nspr/prtypes.h
+++ b/base/third_party/nspr/prtypes.h
@@ -88,7 +88,31 @@
**
**
***********************************************************************/
-#if defined(WIN32)
+#if 1
+
+/*
+** Chrome-local change: the portions of NSPR used for Chrome are
+** implementation details of Chrome's base module. NSPR symbols do not need
+** to be exported beyond the module in which they are used. For all
+** platforms, avoid decorating functions with specific visibility and access
+** keywords.
+*/
+
+#define PR_EXPORT(__type) extern __type
+#define PR_EXPORT_DATA(__type) extern __type
+#define PR_IMPORT(__type) extern __type
+#define PR_IMPORT_DATA(__type) extern __type
+
+#define PR_EXTERN(__type) extern __type
+#define PR_IMPLEMENT(__type) __type
+#define PR_EXTERN_DATA(__type) extern __type
+#define PR_IMPLEMENT_DATA(__type) __type
+
+#define PR_CALLBACK
+#define PR_CALLBACK_DECL
+#define PR_STATIC_CALLBACK(__x) static __x
+
+#elif defined(WIN32)
#define PR_EXPORT(__type) extern __declspec(dllexport) __type
#define PR_EXPORT_DATA(__type) extern __declspec(dllexport) __type