Posted to tcl by aku at Wed Jun 09 20:18:25 GMT 2010view pretty

--- generic/tclVar.c	31 May 2010 08:54:14 -0000	1.199
+++ generic/tclVar.c	9 Jun 2010 20:00:25 -0000
@@ -66,10 +66,19 @@
 
 #define VarHashFindVar(tablePtr, key) \
     VarHashCreateVar((tablePtr), (key), NULL)
-
+#ifdef _AIX
+/* Work around AIX cc problem causing crash in TclDeleteVars. Possible
+ * optimizer bug. Do _NOT_ inline this function, this re-activates the
+ * problem.
+ */
+static void
+VarHashInvalidateEntry(Var* varPtr) {
+    varPtr->flags |= VAR_DEAD_HASH;
+}
+#else
 #define VarHashInvalidateEntry(varPtr) \
     ((varPtr)->flags |= VAR_DEAD_HASH)
-
+#endif
 #define VarHashDeleteEntry(varPtr) \
     Tcl_DeleteHashEntry(&(((VarInHash *) varPtr)->entry))