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

151 lines
3.7 KiB
C

//+-------------------------------------------------------------------------
// Microsoft OLE
// Copyright (C) Microsoft Corporation, 1994 - 1995.
//
// File: diswarn.h
//
// Contents: Pragma's to disable specific warnings at W4
// This file is included through the use of the
// COMPILER_WARNING macro in build make files.
// EG see the comtools\comday.mk file.
//
// History: 02-Aug-95 DaveY Taken from CTOLEUI's killwarn.hxx
//
//
//--------------------------------------------------------------------------
#ifndef __DISWARN_H__
#define __DISWARN_H__
//
// NT groups overall disable warning in sdk\inc\warning.h
//
#ifndef _MAC
#include <warning.h>
#endif
//
// Removal of these warnings is temporary. The reason for being here
// is that build removes these warnings from build.wrn.
// BUGBUG These are here for now, until they can be investigated more.
//
#pragma warning(disable: 4001)
#pragma warning(disable: 4010)
#pragma warning(disable: 4056)
#pragma warning(disable: 4061)
#pragma warning(disable: 4100)
#pragma warning(disable: 4101)
#pragma warning(disable: 4102)
#pragma warning(disable: 4127)
#pragma warning(disable: 4135)
#pragma warning(disable: 4201)
#pragma warning(disable: 4204)
#pragma warning(disable: 4208)
#pragma warning(disable: 4509)
#pragma warning(disable: 4047)
#pragma warning(disable: 4022)
#pragma warning(disable: 4053)
// these mainly come from midl files
#pragma warning(disable: 4211)
#pragma warning(disable: 4152)
//
// Turn off: access-declarations are deprecated; member using-declarations
// provide a better alternative
//
#pragma warning(disable: 4516)
// Turn off: non standard extension used: bit field types other than int
//
#pragma warning(disable: 4214)
// 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)
// Turn off: Macro not expanded
//
#pragma warning(disable: 4710)
// 'class' : copy constructor 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 copy operator for the
// base class that is not accessible by the derived class.
//
// This warning can be avoided by specifying a copy constructor for the class.
#pragma warning(disable: 4511)
// '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)
#ifdef PPC
// Turn off for PPC only since PPC compiler doesn't get it right
// local variable may be used without having been initialized.
//
#pragma warning(disable: 4701)
#endif
#ifdef _MAC
// Turn off for _MAC only because it doesn't handle trigraphs in comments
// correctly
#pragma warning(disable: 4110)
// The Mac OS headers generate this
#pragma warning (disable: 4121)
#endif // _MAC
#endif // __DISWARN_H__