OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-dev/] [fsf-gcc-snapshot-1-mar-12/] [or1k-gcc/] [gcc/] [ada/] [mingw32.h] - Diff between revs 706 and 783

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 706 Rev 783
/****************************************************************************
/****************************************************************************
 *                                                                          *
 *                                                                          *
 *                         GNAT COMPILER COMPONENTS                         *
 *                         GNAT COMPILER COMPONENTS                         *
 *                                                                          *
 *                                                                          *
 *                               M I N G W 3 2                              *
 *                               M I N G W 3 2                              *
 *                                                                          *
 *                                                                          *
 *                              C Header File                               *
 *                              C Header File                               *
 *                                                                          *
 *                                                                          *
 *          Copyright (C) 2002-2011, Free Software Foundation, Inc.         *
 *          Copyright (C) 2002-2011, Free Software Foundation, Inc.         *
 *                                                                          *
 *                                                                          *
 * GNAT is free software;  you can  redistribute it  and/or modify it under *
 * GNAT is free software;  you can  redistribute it  and/or modify it under *
 * terms of the  GNU General Public License as published  by the Free Soft- *
 * terms of the  GNU General Public License as published  by the Free Soft- *
 * ware  Foundation;  either version 3,  or (at your option) any later ver- *
 * ware  Foundation;  either version 3,  or (at your option) any later ver- *
 * sion.  GNAT is distributed in the hope that it will be useful, but WITH- *
 * sion.  GNAT is distributed in the hope that it will be useful, but WITH- *
 * OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY *
 * OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY *
 * or FITNESS FOR A PARTICULAR PURPOSE.                                     *
 * or FITNESS FOR A PARTICULAR PURPOSE.                                     *
 *                                                                          *
 *                                                                          *
 * As a special exception under Section 7 of GPL version 3, you are granted *
 * As a special exception under Section 7 of GPL version 3, you are granted *
 * additional permissions described in the GCC Runtime Library Exception,   *
 * additional permissions described in the GCC Runtime Library Exception,   *
 * version 3.1, as published by the Free Software Foundation.               *
 * version 3.1, as published by the Free Software Foundation.               *
 *                                                                          *
 *                                                                          *
 * You should have received a copy of the GNU General Public License and    *
 * You should have received a copy of the GNU General Public License and    *
 * a copy of the GCC Runtime Library Exception along with this program;     *
 * a copy of the GCC Runtime Library Exception along with this program;     *
 * see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    *
 * see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    *
 * <http://www.gnu.org/licenses/>.                                          *
 * <http://www.gnu.org/licenses/>.                                          *
 *                                                                          *
 *                                                                          *
 * GNAT was originally developed  by the GNAT team at  New York University. *
 * GNAT was originally developed  by the GNAT team at  New York University. *
 * Extensive contributions were provided by Ada Core Technologies Inc.      *
 * Extensive contributions were provided by Ada Core Technologies Inc.      *
 *                                                                          *
 *                                                                          *
 ****************************************************************************/
 ****************************************************************************/
 
 
/*  This file provides some macros used for the MINGW32 platform. The main
/*  This file provides some macros used for the MINGW32 platform. The main
    goal is to be able to build GNAT with a standard MINGW32 C header
    goal is to be able to build GNAT with a standard MINGW32 C header
    set. This files contains also the circuitry for the unicode support.   */
    set. This files contains also the circuitry for the unicode support.   */
 
 
#ifndef _MINGW32_H
#ifndef _MINGW32_H
#define _MINGW32_H
#define _MINGW32_H
 
 
#include <_mingw.h>
#include <_mingw.h>
 
 
#ifndef RTX
#ifndef RTX
#define GNAT_UNICODE_SUPPORT
#define GNAT_UNICODE_SUPPORT
#define _UNICODE /* For C runtime */
#define _UNICODE /* For C runtime */
#define UNICODE  /* For Win32 API */
#define UNICODE  /* For Win32 API */
#endif
#endif
 
 
/* We need functionality available only starting with Windows XP */
/* We need functionality available only starting with Windows XP */
#ifndef _WIN32_WINNT
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0501
#define _WIN32_WINNT 0x0501
#endif
#endif
 
 
#include <tchar.h>
#include <tchar.h>
#include <windows.h>
#include <windows.h>
 
 
/* After including this file it is possible to use the character t as prefix
/* After including this file it is possible to use the character t as prefix
   to routines. If GNAT_UNICODE_SUPPORT is defined then the unicode enabled
   to routines. If GNAT_UNICODE_SUPPORT is defined then the unicode enabled
   versions will be used.  */
   versions will be used.  */
 
 
/* Copy to/from wide-string, if GNAT_UNICODE_SUPPORT activated this will do
/* Copy to/from wide-string, if GNAT_UNICODE_SUPPORT activated this will do
   the proper translations using the UTF-8 encoding.  */
   the proper translations using the UTF-8 encoding.  */
 
 
#ifdef GNAT_UNICODE_SUPPORT
#ifdef GNAT_UNICODE_SUPPORT
 
 
extern UINT CurrentCodePage;
extern UINT CurrentCodePage;
 
 
/*  Macros to convert to/from the code page specified in CurrentCodePage.  */
/*  Macros to convert to/from the code page specified in CurrentCodePage.  */
#define S2WSC(wstr,str,len) \
#define S2WSC(wstr,str,len) \
   MultiByteToWideChar (CurrentCodePage,0,str,-1,wstr,len)
   MultiByteToWideChar (CurrentCodePage,0,str,-1,wstr,len)
#define WS2SC(str,wstr,len) \
#define WS2SC(str,wstr,len) \
   WideCharToMultiByte (CurrentCodePage,0,wstr,-1,str,len,NULL,NULL)
   WideCharToMultiByte (CurrentCodePage,0,wstr,-1,str,len,NULL,NULL)
 
 
/*  Macros to convert to/from UTF-8 code page.  */
/*  Macros to convert to/from UTF-8 code page.  */
#define S2WSU(wstr,str,len) \
#define S2WSU(wstr,str,len) \
   MultiByteToWideChar (CP_UTF8,0,str,-1,wstr,len)
   MultiByteToWideChar (CP_UTF8,0,str,-1,wstr,len)
#define WS2SU(str,wstr,len) \
#define WS2SU(str,wstr,len) \
   WideCharToMultiByte (CP_UTF8,0,wstr,-1,str,len,NULL,NULL)
   WideCharToMultiByte (CP_UTF8,0,wstr,-1,str,len,NULL,NULL)
 
 
/*  Macros to convert to/from Windows default code page.  */
/*  Macros to convert to/from Windows default code page.  */
#define S2WS(wstr,str,len) \
#define S2WS(wstr,str,len) \
   MultiByteToWideChar (CP_ACP,0,str,-1,wstr,len)
   MultiByteToWideChar (CP_ACP,0,str,-1,wstr,len)
#define WS2S(str,wstr,len) \
#define WS2S(str,wstr,len) \
   WideCharToMultiByte (CP_ACP,0,wstr,-1,str,len,NULL,NULL)
   WideCharToMultiByte (CP_ACP,0,wstr,-1,str,len,NULL,NULL)
#else
#else
#define S2WSC(wstr,str,len) strncpy(wstr,str,len)
#define S2WSC(wstr,str,len) strncpy(wstr,str,len)
#define WS2SC(str,wstr,len) strncpy(str,wstr,len)
#define WS2SC(str,wstr,len) strncpy(str,wstr,len)
#define S2WSU(wstr,str,len) strncpy(wstr,str,len)
#define S2WSU(wstr,str,len) strncpy(wstr,str,len)
#define WS2SU(str,wstr,len) strncpy(str,wstr,len)
#define WS2SU(str,wstr,len) strncpy(str,wstr,len)
#define S2WS(wstr,str,len) strncpy(wstr,str,len)
#define S2WS(wstr,str,len) strncpy(wstr,str,len)
#define WS2S(str,wstr,len) strncpy(str,wstr,len)
#define WS2S(str,wstr,len) strncpy(str,wstr,len)
#endif
#endif
 
 
#include <stdlib.h>
#include <stdlib.h>
 
 
/* STD_MINGW: standard if MINGW32 version > 1.3, we have switched to this
/* STD_MINGW: standard if MINGW32 version > 1.3, we have switched to this
   version instead of the previous enhanced version to ease building GNAT on
   version instead of the previous enhanced version to ease building GNAT on
   Windows platforms. By using STD_MINGW or OLD_MINGW it is possible to build
   Windows platforms. By using STD_MINGW or OLD_MINGW it is possible to build
   GNAT using both MingW include files (Old MingW + ACT changes and standard
   GNAT using both MingW include files (Old MingW + ACT changes and standard
   MingW starting with version 1.3.
   MingW starting with version 1.3.
   For w64 Mingw the define STD_MINGW is always set to value 1, because
   For w64 Mingw the define STD_MINGW is always set to value 1, because
   there is no old header set present.  */
   there is no old header set present.  */
#ifdef _WIN64
#ifdef _WIN64
#define STD_MINGW 1
#define STD_MINGW 1
#else
#else
#define STD_MINGW ((__MINGW32_MAJOR_VERSION == 1 \
#define STD_MINGW ((__MINGW32_MAJOR_VERSION == 1 \
                   && __MINGW32_MINOR_VERSION >= 3) \
                   && __MINGW32_MINOR_VERSION >= 3) \
     || (__MINGW32_MAJOR_VERSION >= 2))
     || (__MINGW32_MAJOR_VERSION >= 2))
#endif
#endif
 
 
#define OLD_MINGW (!(STD_MINGW))
#define OLD_MINGW (!(STD_MINGW))
 
 
#ifndef MAXPATHLEN
#ifndef MAXPATHLEN
#define MAXPATHLEN MAX_PATH
#define MAXPATHLEN MAX_PATH
#endif
#endif
 
 
#endif /* _MINGW32_H */
#endif /* _MINGW32_H */
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.