Back to index

lightning-sunbird  0.9+nobinonly
watcomfx.h
Go to the documentation of this file.
00001 /* ***** BEGIN LICENSE BLOCK *****
00002  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
00003  *
00004  * The contents of this file are subject to the Mozilla Public License Version
00005  * 1.1 (the "License"); you may not use this file except in compliance with
00006  * the License. You may obtain a copy of the License at
00007  * http://www.mozilla.org/MPL/
00008  *
00009  * Software distributed under the License is distributed on an "AS IS" basis,
00010  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
00011  * for the specific language governing rights and limitations under the
00012  * License.
00013  *
00014  * The Original Code is the Netscape security libraries.
00015  *
00016  * The Initial Developer of the Original Code is
00017  * Netscape Communications Corporation.
00018  * Portions created by the Initial Developer are Copyright (C) 1994-2000
00019  * the Initial Developer. All Rights Reserved.
00020  *
00021  * Contributor(s):
00022  *
00023  * Alternatively, the contents of this file may be used under the terms of
00024  * either the GNU General Public License Version 2 or later (the "GPL"), or
00025  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
00026  * in which case the provisions of the GPL or the LGPL are applicable instead
00027  * of those above. If you wish to allow use of your version of this file only
00028  * under the terms of either the GPL or the LGPL, and not to allow others to
00029  * use your version of this file under the terms of the MPL, indicate your
00030  * decision by deleting the provisions above and replace them with the notice
00031  * and other provisions required by the GPL or the LGPL. If you do not delete
00032  * the provisions above, a recipient may use your version of this file under
00033  * the terms of any one of the MPL, the GPL or the LGPL.
00034  *
00035  * ***** END LICENSE BLOCK ***** */
00036 
00037 #if defined(__WATCOMC__) || defined(__WATCOM_CPLUSPLUS__)
00038 #ifndef __WATCOM_FIX_H__
00039 #define __WATCOM_FIX_H__ 1
00040 /*
00041  * WATCOM's C compiler doesn't default to "__cdecl" conventions for external
00042  * symbols and functions.  Rather than adding an explicit __cdecl modifier to 
00043  * every external symbol and function declaration and definition, we use the 
00044  * following pragma to (attempt to) change WATCOM c's default to __cdecl.
00045  * These pragmas were taken from pages 180-181, 266 & 269 of the 
00046  * Watcom C/C++ version 11 User's Guide, 3rd edition.
00047  */
00048 #if defined(XP_WIN16) || defined(WIN16) 
00049 #pragma aux default "_*" \
00050        parm caller [] \
00051        value struct float struct routine [ax] \
00052        modify [ax bx cx dx es]
00053 #else
00054 #pragma aux default "_*" \
00055        parm caller [] \
00056        value struct float struct routine [eax] \
00057        modify [eax ecx edx]
00058 #endif
00059 #pragma aux default far
00060 
00061 #endif /* once */
00062 #endif /* WATCOM compiler */