windows-nt/Source/XPSP1/NT/com/oleutest/stgbvt/ctolerpc/include/killwarn.h
2020-09-26 16:20:57 +08:00

80 lines
2.3 KiB
C

//+-------------------------------------------------------------------------
// Microsoft OLE
// Copyright (C) Microsoft Corporation, 1994 - 1995.
//
// File: killwarn.hxx
//
// Contents: Pragma's to kill specific warnings at W4
//
// History: 28-Nov-94 DeanE Created
//--------------------------------------------------------------------------
#ifndef __KILLWARN_HXX__
#define __KILLWARN_HXX__
//
// Quotes taken from vc user's manual
//
// Turn off: unreferenced inline function has been removed
#pragma warning(disable: 4514)
// nonstandard extension used : nameless struct/union
//
// Microsoft C/C++ allows structure declarations to be specified without a
// declarator when they are members of another structure or union.
// The following is an example of this error:
//
// struct S
// {
// float y;
// struct
// {
// int a, b, c; // warning
// };
// } *p_s;
//
//
// This extension can prevent your code from being portable to other
// compilers and will generate an error under the /Za command-line option.
#pragma warning(disable: 4201)
// 'identifier' : inconsistent DLL linkage. dllexport assumed
//
// The specified member function was declared in a class with dllexport
// linkage, and then was imported. This warning can also be caused by
// declaring a member function in a class with dllimport linkage as neither
// imported nor static nor inline.
//
// The function was compiled as dllexport.
#pragma warning(disable: 4273)
// 'class' : assignment operator could not be generated
//
// The compiler was unable to generate a default constructor for the given
// class. No constructor was created.
//
// This warning can be caused by having an assignment operator for the
// base class that is not accessible by the derived class.
//
// This warning can be avoided by specifying a user-defined assignment
// operator for the class.
#pragma warning(disable: 4512)
// 'function': function not expanded
//
// The given function was selected for inline expansion but the compiler did
// not perform the inlining.
#pragma warning(disable:4710)
// trigraph not being substituted
#pragma warning (disable: 4110)
#ifdef _MAC
// alignment of a memeber was sensitive to packing
#pragma warning (disable: 4121)
#endif // _MAC
#endif // __KILLWARN_HXX__