summaryrefslogtreecommitdiffstats
path: root/unix/tclUnixPort.h
diff options
context:
space:
mode:
authordas <das>2008-03-11 22:26:27 (GMT)
committerdas <das>2008-03-11 22:26:27 (GMT)
commitc3cb8a61ef9f7d4705827c9db2f781a2df0e3bb8 (patch)
tree54ddd36ec5fa441f458c22412c47cd8c8fe81950 /unix/tclUnixPort.h
parent0e512ef79291d7d330694670a5bf967343f0e1a7 (diff)
downloadtcl-c3cb8a61ef9f7d4705827c9db2f781a2df0e3bb8.zip
tcl-c3cb8a61ef9f7d4705827c9db2f781a2df0e3bb8.tar.gz
tcl-c3cb8a61ef9f7d4705827c9db2f781a2df0e3bb8.tar.bz2
* macosx/Tcl.xcodeproj/project.pbxproj: add support for Xcode 3.1 and
* macosx/Tcl.xcodeproj/default.pbxuser: targets for building with * macosx/Tcl-Common.xcconfig: gcc-4.2 and llvm-gcc-4.2. * unix/tclUnixPort.h: workaround vfork() problems in llvm-gcc-4.2.1 -O4 build. * unix/tclUnixPort.h: move MODULE_SCOPE compat define to top [Bug 1911102].
Diffstat (limited to 'unix/tclUnixPort.h')
-rw-r--r--unix/tclUnixPort.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/unix/tclUnixPort.h b/unix/tclUnixPort.h
index ed75135..2da95b5 100644
--- a/unix/tclUnixPort.h
+++ b/unix/tclUnixPort.h
@@ -19,12 +19,16 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclUnixPort.h,v 1.64 2008/02/28 20:14:12 jenglish Exp $
+ * RCS: @(#) $Id: tclUnixPort.h,v 1.65 2008/03/11 22:26:27 das Exp $
*/
#ifndef _TCLUNIXPORT
#define _TCLUNIXPORT
+#ifndef MODULE_SCOPE
+#define MODULE_SCOPE extern
+#endif
+
/*
*---------------------------------------------------------------------------
* The following sets of #includes and #ifdefs are required to get Tcl to
@@ -540,6 +544,12 @@ extern char **environ;
# if defined(__x86_64__) && !defined(FIXED_RDAR_4685553)
# undef USE_VFORK
# endif /* __x86_64__ */
+/* Workaround problems with vfork() when building with llvm-gcc-4.2 */
+# if defined (__llvm__) && \
+ (__GNUC__ > 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ > 2 || \
+ (__GNUC_MINOR__ == 2 && __GNUC_PATCHLEVEL__ > 0))))
+# undef USE_VFORK
+# endif /* __llvm__ */
#endif /* __APPLE__ */
/*
@@ -623,10 +633,6 @@ EXTERN int pthread_getattr_np _ANSI_ARGS_((pthread_t, pthread_attr_t *));
#include <pwd.h>
#include <grp.h>
-#ifndef MODULE_SCOPE
-#define MODULE_SCOPE extern
-#endif
-
MODULE_SCOPE struct passwd* TclpGetPwNam(const char *name);
MODULE_SCOPE struct group* TclpGetGrNam(const char *name);
MODULE_SCOPE struct passwd* TclpGetPwUid(uid_t uid);