Final patch is attached. It modifies only stack.hh. I think problem is
only with SunStudio now. I close it into ifdef. The path undefine _T
macro at the beginning and define it back at the end.

Please, write some comments which explain it. 

        Zdenek

 

Dave Page píše v st 09. 09. 2009 v 09:13 +0100:
> Hi
> 
> On Tue, Sep 8, 2009 at 10:47 PM, Zdenek Kotala<[email protected]> wrote:
> > As was discussed on different thread new version of Sun Studio C++
> > compiler contains _T (probably template) which clashes with _T macro in
> > wxWidgets. It will be fixed in wxWidgets 3.0.
> 
> I assume you're relying on having a build of wxWidgets from the older 
> compiler?
> 
> > I attached concept of fix which solve this problem now. This is first
> > workable solution, but I'm not yet happy with them. I guest that with
> > some pgScript include refactoring we can eliminate problem much closer.
> 
> Yeah, I hope so, as most of the files your patch touched are generated by 
> bison.
> 
> > does exist something like doxygen.pgadmin.org?
> 
> No, I'm afraid not. Would be happy to see it though, if anyone wants
> to work on it.
> 
*** pgadmin/include/pgscript/stack.hh.orig	2009-03-12 11:49:00.000000000 +0100
--- pgadmin/include/pgscript/stack.hh	2009-09-09 16:59:36.293620606 +0200
***************
*** 35,40 ****
--- 35,47 ----
  #ifndef BISON_STACK_HH
  # define BISON_STACK_HH
  
+ #if defined(__SUNPRO_CC)
+ #ifdef _T
+ #undef _T
+ #define _T_is_defined
+ #endif
+ #endif /*__SUNPRO_CC */
+ 
  #include <deque>
  
  namespace pgscript
***************
*** 126,129 ****
--- 133,149 ----
    };
  }
  
+ #if defined(__SUNPRO_CC)
+ #ifdef _T_is_defined
+ #undef _T_is_defined
+ /* we need to define it back only if _T already was defined. */
+ #if !wxUSE_UNICODE
+ #define _T(x) x
+ #else /* Unicode */
+ /* use wxCONCAT_HELPER so that x could be expanded if it's a macro */
+ #define _T(x) wxCONCAT_HELPER(L, x)
+ #endif /* ASCII/Unicode */
+ #endif /* T_is_defined */
+ #endif /*__SUNPRO_CC */
+ 
  #endif // not BISON_STACK_HH
-- 
Sent via pgadmin-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers

Reply via email to