Changes between Version 24 and Version 25 of Guidelines/MaintenanceGuidelines


Ignore:
Timestamp:
Nov 10, 2009, 5:29:58 PM (13 years ago)
Author:
Paul A. Bristow
Comment:

added C4535 info and suggestion

Legend:

Unmodified
Added
Removed
Modified
  • Guidelines/MaintenanceGuidelines

    v24 v25  
    697697||C4506|| no definition for inline function||If you cannot fix, suppress||#  pragma warning(disable: 4506) // no definition for inline function||
    698698
    699 ||C4512|| assignment operator could not be generated||Suppress using push'n'pop for the module(s) causing the warning. Adding the declaration (not the definition) of the appropriate operator=() as a private member does the trick as well.||//#  pragma warning(disable: 4512) // assignment operator could not be generated.||
     699||C4512|| assignment operator could not be generated||Suppress using push'n'pop for the module(s) causing the warning. Adding the declaration (not the definition) of the appropriate operator=() as a private member does the trick as well.||#  pragma warning(disable: 4512) // assignment operator could not be generated.||
    700700
    701701||c4511||  copy constructor could not be generated||This can almost certainly be suppressed.|| #  pragma warning(disable: 4511) // copy constructor could not be generated||
    702702
    703 ||C4701|| local variable may be used without having been initialized||Best is to recode to avoid the message, but if you are '''very''' sure the message is misleading, suppress.|| #  pragma warning(disable: 4701) // local variable may be used without having been initialized||
    704 
    705 ||C4702||  unreachable code||Be very cautious about suppressing this, but use of macros may make this troublesome, so suppress with care, and always locally.|| #pragma warning(disable: 4702) // unreachable code||
     703||C4701|| local variable may be used without having been initialized||Best is to recode to avoid the message, but if you are '''very''' sure the message is misleading, suppress.||#  pragma warning(disable: 4701) // local variable may be used without having been initialized||
     704
     705||C4702||  unreachable code||Be very cautious about suppressing this, but use of macros may make this troublesome, so suppress with care, and always locally.||#pragma warning(disable: 4702) // unreachable code||
    706706
    707707||C4189|| local variable is initialized but not referenced||This probably indicates a redundant variable and assignment, so probably remove it. If you are sure it is required (or has negligible cost for some documentation benefit), suppress.||||
    708708
    709 ||C4224|| nonstandard extension used : formal parameter 'arg' was previously defined as a type.||This will bite users who try to compile with Microsoft extensions disabled. So is most undesirable, but may be a major nuisance to change the names in code.However fixing is the Right Thing, but meanwhile suppressing may be helpful.|| #  pragma warning(disable: 4224) // formal parameter 'arg' was previously defined as a type.||
    710 
    711 ||C4244 ||  // Conversion: possible loss of data.||Fix, for example changing type or using static_cast is best, suppress with much caution.||  # pragma warning(disable:4244)    // Conversion: possible loss of data.||
     709||C4224|| nonstandard extension used : formal parameter 'arg' was previously defined as a type.||This will bite users who try to compile with Microsoft extensions disabled. So is most undesirable, but may be a major nuisance to change the names in code.However fixing is the Right Thing, but meanwhile suppressing may be helpful.||#  pragma warning(disable: 4224) // formal parameter 'arg' was previously defined as a type.||
     710
     711||C4244 ||  // Conversion: possible loss of data.||Fix, for example changing type or using static_cast is best, suppress with much caution.||# pragma warning(disable:4244) // Conversion: possible loss of data.||
    712712
    713713||C4324||  structure was padded due to __declspec(align())||Suppress||#pragma warning(disable:4324) // structure was padded due to __declspec(align())||
     
    715715||C4510||  default constructor could not be generated||Suppress.||#  pragma warning(disable: 4510) // default constructor could not be generated||
    716716
     717||C4535|| calling _set_se_translator() requires /EHa || Common from Boost.Test. Suppress warning in jamfile, add to project : requirements ||  <toolset>msvc:<asynch-exceptions>on # calling _set_se_translator() requires /EHa||
     718
    717719||C4800|| int' : forcing value to bool 'true' or 'false'||Suppress. writing (intexpr ? true : false) helps as well||#  pragma warning(disable: 4800) // int' : forcing value to bool 'true' or 'false'
    718720