1. Fix a bug when parsing empty typedef name.
authorhche10x <hche10x@7335b38e-4728-0410-8992-fb3ffe349368>
Fri, 20 Jun 2008 02:27:46 +0000 (02:27 +0000)
committerhche10x <hche10x@7335b38e-4728-0410-8992-fb3ffe349368>
Fri, 20 Jun 2008 02:27:46 +0000 (02:27 +0000)
2. Modify config.ini to support two new checkpoints.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1267 7335b38e-4728-0410-8992-fb3ffe349368

Source/Python/Ecc/Check.py
Source/Python/Ecc/config.ini

index f0b9d2a..52f2900 100644 (file)
@@ -751,14 +751,15 @@ class Check(object):
                 RecordSet = EccGlobalData.gDb.TblFile.Exec(SqlCommand)\r
                 for Record in RecordSet:\r
                     Name = Record[1].strip()\r
-                    if Name[0] == '(':\r
-                        Name = Name[1:Name.find(')')]\r
-                    if Name.find('(') > -1:\r
-                        Name = Name[Name.find('(') + 1 : Name.find(')')]\r
-                    Name = Name.replace('WINAPI', '')\r
-                    Name = Name.replace('*', '').strip()\r
-                    if Name.upper() != Name:\r
-                        EccGlobalData.gDb.TblReport.Insert(ERROR_NAMING_CONVENTION_CHECK_TYPEDEF_STATEMENT, OtherMsg = "The #typedef name '%s' does not follow the rules" % (Name), BelongsToTable = IdentifierTable, BelongsToItem = Record[0])\r
+                    if Name != '' and Name != None:\r
+                        if Name[0] == '(':\r
+                            Name = Name[1:Name.find(')')]\r
+                        if Name.find('(') > -1:\r
+                            Name = Name[Name.find('(') + 1 : Name.find(')')]\r
+                        Name = Name.replace('WINAPI', '')\r
+                        Name = Name.replace('*', '').strip()\r
+                        if Name.upper() != Name:\r
+                            EccGlobalData.gDb.TblReport.Insert(ERROR_NAMING_CONVENTION_CHECK_TYPEDEF_STATEMENT, OtherMsg = "The #typedef name '%s' does not follow the rules" % (Name), BelongsToTable = IdentifierTable, BelongsToItem = Record[0])\r
     \r
     #\r
     # Check whether the #ifndef at the start of an include file uses both prefix and postfix underscore characters, '_'.\r
index 5ae9236..adfaefe 100644 (file)
@@ -41,7 +41,7 @@ AutoCorrect = 1
 #\r
 # List customized Modifer here, split with ','\r
 #\r
-ModifierList = IN, OUT, OPTIONAL, UNALIGNED, EFI_RUNTIMESERVICE, EFI_BOOTSERVICE, EFIAPI, TPMINTERNALAPI\r
+ModifierList = IN, OUT, OPTIONAL, UNALIGNED, EFI_RUNTIMESERVICE, EFI_BOOTSERVICE, EFIAPI\r
 \r
 #\r
 # General Checking\r
@@ -80,11 +80,11 @@ SpaceCheckAll = 1
 PredicateExpressionCheckAll = 0\r
 \r
 # Check whether Boolean values, variable type BOOLEAN not use explicit comparisons to TRUE or FALSE\r
-PredicateExpressionCheckBooleanValue = 1\r
+PredicateExpressionCheckBooleanValue = -1\r
 # Check whether Non-Boolean comparisons use a compare operator (==, !=, >, < >=, <=). \r
-PredicateExpressionCheckNonBooleanOperator = 1\r
+PredicateExpressionCheckNonBooleanOperator = -1\r
 # Check whether a comparison of any pointer to zero must be done via the NULL type\r
-PredicateExpressionCheckComparisonNullType = 1\r
+PredicateExpressionCheckComparisonNullType = -1\r
 \r
 #\r
 # Headers Checking\r
@@ -102,35 +102,37 @@ HeaderCheckFunction = 1
 CFunctionLayoutCheckAll = 0\r
 \r
 # Check whether return type exists and in the first line\r
-CFunctionLayoutCheckReturnType = 1\r
+CFunctionLayoutCheckReturnType = -1\r
 # Check whether any optional functional modifiers exist and next to the return type\r
-CFunctionLayoutCheckOptionalFunctionalModifier = 1\r
+CFunctionLayoutCheckOptionalFunctionalModifier = -1\r
 # Check whether the next line contains the function name, left justified, followed by the beginning of the parameter list\r
 # Check whether the closing parenthesis is on its own line and also indented two spaces\r
-CFunctionLayoutCheckFunctionName = 1\r
+CFunctionLayoutCheckFunctionName = -1\r
 # Check whether the function prototypes in include files have the same form as function definitions\r
-CFunctionLayoutCheckFunctionPrototype = 1\r
+CFunctionLayoutCheckFunctionPrototype = -1\r
 # Check whether the body of a function is contained by open and close braces that must be in the first column\r
-CFunctionLayoutCheckFunctionBody = 1\r
+CFunctionLayoutCheckFunctionBody = -1\r
 # Check whether the data declarations is the first code in a module.\r
-CFunctionLayoutCheckDataDeclaration = 1\r
+CFunctionLayoutCheckDataDeclaration = -1\r
 # Check whether no initialization of a variable as part of its declaration\r
-CFunctionLayoutCheckNoInitOfVariable = 1\r
+CFunctionLayoutCheckNoInitOfVariable = -1\r
 # Check whether no use of STATIC for functions\r
-CFunctionLayoutCheckNoStatic = 1\r
+CFunctionLayoutCheckNoStatic = -1\r
 \r
 #\r
 # Include Files Checking\r
 #\r
 IncludeFileCheckAll = 0\r
 \r
+#Check whether having include files with same name\r
+IncludeFileCheckSameName = 1\r
 # Check whether all include file contents is guarded by a #ifndef statement.\r
 # the #ifndef must be the first line of code following the file header comment\r
 # the #endif must appear on the last line in the file\r
-IncludeFileCheckIfndefStatement = 1\r
+IncludeFileCheckIfndefStatement = -1\r
 # Check whether include files contain only public or only private data\r
 # Check whether include files NOT contain code or define data variables\r
-IncludeFileCheckData = 1\r
+IncludeFileCheckData = -1\r
 \r
 #\r
 # Declarations and Data Types Checking\r
@@ -138,17 +140,19 @@ IncludeFileCheckData = 1
 DeclarationDataTypeCheckAll = 0\r
 \r
 # Check whether no use of int, unsigned, char, void, static, long in any .c, .h or .asl files.\r
-DeclarationDataTypeCheckNoUseCType = 1\r
+DeclarationDataTypeCheckNoUseCType = -1\r
 # Check whether the modifiers IN, OUT, OPTIONAL, and UNALIGNED are used only to qualify arguments to a function and should not appear in a data type declaration\r
-DeclarationDataTypeCheckInOutModifier = 1\r
+DeclarationDataTypeCheckInOutModifier = -1\r
 # Check whether the EFIAPI modifier should be used at the entry of drivers, events, and member functions of protocols\r
-DeclarationDataTypeCheckEFIAPIModifier = 1\r
+DeclarationDataTypeCheckEFIAPIModifier = -1\r
 # Check whether Enumerated Type has a 'typedef' and the name is capital\r
-DeclarationDataTypeCheckEnumeratedType = 1\r
+DeclarationDataTypeCheckEnumeratedType = -1\r
 # Check whether Structure Type has a 'typedef' and the name is capital\r
-DeclarationDataTypeCheckStructureDeclaration = 1\r
+DeclarationDataTypeCheckStructureDeclaration = -1\r
+# Check whether having same Structure\r
+DeclarationDataTypeCheckSameStructure = 1\r
 # Check whether Union Type has a 'typedef' and the name is capital\r
-DeclarationDataTypeCheckUnionType = 1\r
+DeclarationDataTypeCheckUnionType = -1\r
 \r
 \r
 #\r
@@ -166,6 +170,7 @@ NamingConventionCheckIfndefStatement = 1
 # 1. First character should be upper case\r
 # 2. Existing lower case in a word\r
 # 3. No space existence\r
+# 4. Global variable name must start by a 'g'\r
 # Check whether the path name followed the rule\r
 NamingConventionCheckPathName = 1\r
 # Check whether the variable name followed the rule\r
@@ -181,16 +186,16 @@ NamingConventionCheckSingleCharacterVariable = 1
 DoxygenCheckAll = 0\r
 \r
 # Check whether the file headers are followed Doxygen special documentation blocks in section 2.3.5\r
-DoxygenCheckFileHeader = 1\r
+DoxygenCheckFileHeader = -1\r
 # Check whether the function headers are followed Doxygen special documentation blocks in section 2.3.5\r
-DoxygenCheckFunctionHeader = 1\r
+DoxygenCheckFunctionHeader = -1\r
 # Check whether the first line of text in a comment block is a brief description of the element being documented. \r
 # The brief description must end with a period.\r
-DoxygenCheckCommentDescription = 1\r
+DoxygenCheckCommentDescription = -1\r
 # Check whether comment lines with '///< ... text ...' format, if it is used, it should be after the code section.\r
-DoxygenCheckCommentFormat = 1\r
+DoxygenCheckCommentFormat = -1\r
 # Check whether only Doxygen commands allowed to mark the code are @bug and @todo.\r
-DoxygenCheckCommand = 1\r
+DoxygenCheckCommand = -1\r
 \r
 #\r
 # Meta-Data File Processing Checking\r