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