// time.h functions -- none defined in tchar.h
#define wxAsctime asctime
#define wxCtime ctime
-#elif defined(__MWERKS__)
+#elif defined(__MWERKS__) || defined(__VISAGECPP__)
// for wcslen
#if wxUSE_WCHAR_T
#include <wchar.h>
// VS: wxWindows used to define wxChar as __WCHAR_TYPE__ here. However, this doesn't
// work with new GCC 3.x compilers because wchar_t is C++'s builtin type in the new
-// standard. OTOH, old compilers (GCC 2.x) won't accept new definition
+// standard. OTOH, old compilers (GCC 2.x) won't accept new definition
// of wx{S,U}Char, therefore we have to define wxChar conditionally depending on
// detected compiler & compiler version.
// The most complicated case is the infamous so-called "gcc-2.96" which does not
// We need conversion from %s to %ls in Unicode mode under Unix
#ifdef wxNEED_PRINTF_CONVERSION
+
+#include <stdio.h> // need FILE
+
int wxScanf( const wxChar *format, ... ) ATTRIBUTE_PRINTF_2;
int wxSscanf( const wxChar *str, const wxChar *format, ... ) ATTRIBUTE_PRINTF_3;
int wxFscanf( FILE *stream, const wxChar *format, ... ) ATTRIBUTE_PRINTF_3;
int wxVprintf( const wxChar *format, va_list ap );
int wxVsnprintf( wxChar *str, size_t size, const wxChar *format, va_list ap );
int wxVsprintf( wxChar *str, const wxChar *format, va_list ap );
-#endif
+
+#endif // wxNEED_PRINTF_CONVERSION
#if !defined(wxSnprintf) && !defined(wxHAS_SNPRINTF)
// wxSnprintf() is like snprintf() if it's available and sprintf() (always