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

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