Changes between Version 21 and Version 22 of Guidelines/MaintenanceGuidelines


Ignore:
Timestamp:
Nov 9, 2009, 3:59:32 PM (13 years ago)
Author:
Hartmut Kaiser
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Guidelines/MaintenanceGuidelines

    v21 v22  
    689689||C4100|| unreferenced formal parameter||Either surround the parameter with C comments, for example: int */ my_variable */)or just delete if the variable name is uninformative. If in other's module(s), or you are too busy/idle, at least suppress warning.||#  pragma warning(disable: 4100) // 'name' : unreferenced formal parameter||
    690690
    691 ||C4127|| conditional expression is constant||Very common and many believe unhelpful, but a few find it informative, so do not suppress globally.  Even while(true) can trigger this!  Suppress.|| #  pragma warning(disable: 4127) // conditional expression is constant.||
     691||C4127|| conditional expression is constant||Very common and many believe unhelpful, but a few find it informative, so do not suppress globally.  Even while(true) can trigger this!  Suppress. while(true) can be rewritten as for(;;) eliminating the warning. || #  pragma warning(disable: 4127) // conditional expression is constant.||
    692692
    693693||C4180||  qualifier applied to function type has no meaning; ignored||This can always be suppressed - but check that you didn't mean to put the const somewhere else.||#  pragma warning(disable: 4180) // qualifier applied to function type has no meaning; ignored||
     
    695695||C4506|| no definition for inline function||If you cannot fix, suppress||#  pragma warning(disable: 4506) // no definition for inline function||
    696696
    697 ||C4512|| assignment operator could not be generated||Suppress using push'n'pop for the module(s) causing the warning.||//#  pragma warning(disable: 4512) // assignment operator could not be generated.||
     697||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.||
    698698
    699699||c4511||  copy constructor could not be generated||This can almost certainly be suppressed.|| #  pragma warning(disable: 4511) // copy constructor could not be generated||
     
    713713||C4510||  default constructor could not be generated||Suppress.||#  pragma warning(disable: 4510) // default constructor could not be generated||
    714714
    715 ||C4800|| int' : forcing value to bool 'true' or 'false'||Suppress.||#  pragma warning(disable: 4800) // int' : forcing value to bool 'true' or 'false'
     715||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'
    716716
    717717||C4996||'putenv': The POSIX name for this item is deprecated.||Many other messages about using secure versions.Unless you believe that the 'secure' versions are useful, suppress.||#  pragma warning(disable: 4996) // '' was declared deprecated.||