au-sm.lnt
上传用户:filter2008
上传日期:2010-03-12
资源大小:2959k
文件大小:7k
源码类别:

编辑器/阅读器

开发平台:

C/C++

  1. // au-sm.lnt -- Author options - Scott Meyers
  2. /*
  3.     This options file can be used to explicitly activate those
  4.     checks advocated in the publications:
  5.     [12] Meyers, Scott, Effective C++, Addison-Wesley, Reading Mass., 1992
  6.     [23] Meyers, Scott, More Effective C++, Addison-Wesley, 1996
  7.     You can use this file directly when linting your programs as in:
  8.     lin  au-sm  files
  9.     Most of the Scott Myers checks are on by default.  The
  10.     Elective Notes (19??), however, are not and so this file
  11.     is necessary to get the full impact of the Scott Myers
  12.     two-volume set of recommendations.
  13.     Also, this file explicitly activates those Warnings and
  14.     Informationals advocated by Scott Myers just in case they were
  15.     suppressed previously.  For example,
  16.     lin -w2 au-sm  files
  17.     has the effect of removing all Informational messages
  18.     other than those reactivated in this file.
  19.     If you do not want code to adhere to all of the Scott Myers'
  20.     checks we recommend that, rather than editing this file, you
  21.     include it within a file of your own.  For example: let
  22.     my-sm.lnt contain
  23. au-sm.lnt
  24. -e1932   // allow concrete base classes
  25.     In this way you inherit the checks specified in this file
  26.     except for the ones that you wish to specifically exclude.
  27.     Then you can use my-sm.lnt in place of au-sm.lnt
  28.     You might consider placing this file (au-sm.lnt) or your own
  29.     derivation of it (as shown above) in your global options
  30.     file.
  31.  */
  32. +e424   // Inappropriate deallocation -- [12, Item 5]
  33. -append(424, -- Effective C++ #5 )
  34. +e605   // Increase in pointer capability -- [12, Item 29]
  35. -append(605, -- Effective C++ #29 )
  36. +e794   // Conceivable use of null pointer -- [12, Item 7]
  37. -append(794, -- Effective C++ #7 )
  38. +e802   // Conceivably passing a null pointer to function -- [12, Item 7]
  39. -append(802, -- Effective C++ #7 )
  40. +e1509  // base class destructor for class is not virtual -- [12, Item 14]
  41. -append(1509, -- Effective C++ #14 )
  42. +e1510  // base class has no destructor -- [12, Item 14]
  43. -append(1510, -- Effective C++ #14 )
  44. +e1511  // Member hides non-virtual member -- [12, Item 37]
  45. -append(1511, -- Effective C++ #37 )
  46. +e1529  // not first checking for assignment to this -- [12, Item 17]
  47. -append(1529, -- Effective C++ #17 )
  48. +e1534  // static variable found within inline function -- [23, Item 26]
  49. -append(1534, -- More Effective C++ #26 )
  50. +e1536  // Exposing low access member -- [12, Item 30]
  51. -append(1536, -- Effective C++ #30 )
  52. +e1537  // const function returns pointer data member -- [12, Item 29 ]
  53. -append(1537, -- Effective C++ #29 )
  54. +e1539  // member not assigned by assignment operator -- [12, Item 16]
  55. -append(1539, -- Effective C++ #16 )
  56. +e1540  // pointer member freed nor zero'ed by destructor -- [12, Item 6]
  57. -append(1540, -- Effective C++ #6 )
  58. +e1544  // value indeterminate (order of initialization) -- [12, Item 47]
  59. -append(1544, -- Effective C++ #47 )
  60. +e1546  // throw() called within destuctor -- [23, Item 11]
  61. -append(1546, -- Effective C++ #11 )
  62. +e1547  // Assignment of array to pointer to base -- [23, Item 3]
  63. -append(1547, -- More Effective C++ #3 )
  64. +e1549  // Exception thrown for function not declared to throw -- [23, Item 11]
  65. -append(1549, -- More Effective C++ #11 )
  66. +e1551  // function may throw an exception in destructor -- [23, Item 11]
  67. -append(1551, -- More Effective C++ #11 )
  68. +e1722  // assignment operator does not return a reference -- [12, Item 15]
  69. -append(1722, -- Effective C++ #15 )
  70. +e1729  // Initializer inversion detected for member -- [12, Item 13]
  71. -append(1729, -- Effective C++ #13 )
  72. +e1732  // new in constructor for class which has no assignment operator -- [12, Item 11]
  73. -append(1732, -- Effective C++ #11 )
  74. +e1733  // new in constructor for class which has no copy constructor -- [12, Item 11]
  75. -append(1733, -- Effective C++ #11 )
  76. +e1735  // Virtual function has default parameter -- [12, Item 38]
  77. -append(1735, -- Effective C++ #38 )
  78. +e1737  // 'Symbol' hides global operator new -- [12, Item 9]
  79. -append(1737, -- Effective C++ #9 )
  80. +e1739  // Binary operator should be non-member function -- [12, Item 19]
  81. -append(1739, -- Effective C++ #19 )
  82. +e1740  // pointer member not directly freed or zero'ed by destructor -- [12, Item 6]
  83. -append(1740, -- Effective C++ #6 )
  84. +e1745  // member not assigned by private assignment operator -- [12, Item 16]
  85. -append(1745, -- Effective C++ #16 )
  86. +e1746  // parameter of function could be made const ref -- [12, Item 22]
  87. -append(1746, -- Effective C++ #22 )
  88. +e1747  // binary operator returning a reference -- [12, Item 23]
  89. -append(1747, -- Effective C++ #23 )
  90. +e1749  // base class of class need not be virtual -- [23, Item 24]
  91. -append(1749, -- More Effective C++ #24 )
  92. +e1752  // catch parameter Integer is not a reference -- [23, Item 13]
  93. -append(1752, -- More Effective C++ #13 )
  94. +e1753  // Overloading special operator -- [23, Item 7]
  95. -append(1753, -- More Effective C++ #7 )
  96. +e1754  // Expected 'Symbol' to be declared for class 'Symbol' -- [23, Item 22]
  97. -append(1754, -- More Effective C++ #22 )
  98. +e1757  // Discarded instance of post decrement/increment -- [23, Item 6]
  99. -append(1757, -- More Effective C++ #6 )
  100. +e1758  // Prefix increment/decrement operator returns a non-reference. -- [23, Item 6]
  101. -append(1758, -- More Effective C++ #6 )
  102. +e1759  // Postfix increment/decrement operator returns a reference. -- [23, Item 6]
  103. -append(1759, -- More Effective C++ #6 )
  104. +e1904  // Old-style C comment -- [12, Item 4]
  105. -append(1904, -- Effective C++ #4 )
  106. +e1923  // macro could become const variable -- [12, Item 1]
  107. -append(1923, -- Effective C++ #1 )
  108. +e1924  // C-style cast -- [23, Item 2]
  109. -append(1924, -- More Effective C++ #2 )
  110. +e1925  // public data member -- [12, Item 20]
  111. -append(1925, -- Effective C++ #20 )
  112. +e1926  // 'Symbol's default constructor implicitly called -- [12, Item 12]
  113. -append(1926, -- Effective C++ #12 )
  114. +e1927  // 'Symbol' was not initialized in the constructor init list -- [12, Item 12]
  115. -append(1927, -- Effective C++ #12 )
  116. +e1928  // 'Symbol' did not appear in the ctor initializer list -- [12, Item 12]
  117. -append(1928, -- Effective C++ #12 )
  118. +e1929  // function returning a reference -- [12, Item 23]
  119. -append(1929, -- Effective C++ #23 )
  120. -esym( 1929, operator<<, operator>> )  // but these op's are OK
  121. +e1930  // Conversion operator found -- [23, Item 5]
  122. -append(1930, -- More Effective C++ #5 )
  123. +e1931  // Constructor can be used for implicit conversions -- [23, Item 5]
  124. -append(1931, -- More Effective C++ #5 )
  125. +e1932  // Base class is not abstract. -- [23, Item 33]
  126. -append(1932, -- More Effective C++ #33 )
  127. +e1934  // flags member functions operator<< and operator>>
  128. -append(1934, -- Effective C++ #19 )