Dependency Graph

Online documentation:

Dependency Matrix

Online documentation:

Visualizing Code Metrics through Treemaping

With the Online documentation, understand how Treemaping can help you see patterns in your code base, that would be hard to spot with other ways.

Abstractness versus Instability Diagram

The Abstractness versus Instability Diagram helps to detect which Projects are potentially painful to maintain (i.e concrete and stable) and which Projects are potentially useless (i.e abstract and instable).

Online documentation:

For beginners: Where to start

Code queries and rules results are truncated to list a maximum of 100 code elements in this report

Does this report gets too large?

The list contains only code elements refactored or added since the baseline for comparison.

The setting Recent Violations Only is enabled

Why should I enable the setting Recent Violations Only ?

Quick Tips

Main
Main \ Rules
Main \ Rules \ Project Rules
Main \ Rules \ Project Rules \ Code Quality
Main \ Rules \ Project Rules \ Object Oriented Design
Main \ Rules \ Project Rules \ Design
Main \ Rules \ Project Rules \ Architecture and Layering
Main \ Rules \ Project Rules \ CppCheck Queries
Main \ Rules \ Project Rules \ Diagnostics Queries
Main \ Rules \ Project Rules \ Dead Code
Main \ Rules \ Project Rules \ Visibility
Main \ Rules \ Project Rules \ Purity - Immutability - Constness
Main \ Rules \ Project Rules \ Naming Conventions
Main \ Rules \ Project Rules \ Source Files Organization
Main \ Group of Queries \ Object Oriented Design
Main \ Group of Queries \ API Breaking Changes
Main \ Group of Queries \ Code Diff Summary
Main \ Group of Queries \ Test and Code Coverage
Main \ Group of Queries \ Dead Code
Main \ Metrics \ Application Statistics
Main \ Metrics \ Projects Metrics
Main \ Metrics \ Namespaces Metrics
Main \ Metrics \ Types Metrics
Main \ Projects Dependencies
Main \ Namespaces Dependencies
Main \ Types Dependencies
Main \ Build Order
Main \ Analysis Log
Main \ Trend Charts
cppdepend report summary application nameNew ProjectLLVM (v1.0.0.0)report build date07/04/2015 18:34:46analysis duration49:00cppdepend version 6.0.0.8890baseline for comparison Not Defined. To define a Baseline for Comparison, please read this online documentation.
Get started.Quick tips.Back to CppDepend. The present HTML report is a summary of data gathered by the analysis.
It is recommended to use the CppDepend interactive UI capabilities
to make the most of CppDepend by mastering all aspects of your code.

Diagrams

C/C++ Projects Dependency Graph
Dependency Graph
View as ?fullscaled
C/C++ Projects Dependency Matrix
Dependency Matrix
View as ?fullscaled
Treemap View
Treemap Metric View
View as ?fullscaled
Abstractness versus Instability
Abstractness vs. Instability
View as ?fullscaled

Application Metrics

Note: Further Application Statistics are available.
# Lines of Code
811 862      
0 (NotMyCode)
# Types
11 742      
307   Projects      
1 661   Namespaces      
89 266   Methods      
26 817   Fields      
3 078   Source Files      
Comment
26.63%      
294 720   Lines of Comment      
Method Complexity
12 448   Max      
3.04   Average      
Code Coverage by TestsN/A because no coverage data specified
Third-Party Usage
2   Projects used      
66   Namespaces used      
1 315   Types used      
3 598   Methods used      
12 989   Fields used      

Rules summary

31530This section lists all Rules violated, and Rules or Queries with Error
  • Number of Rules or Queries with Error (syntax error, exception thrown, time-out): 0
  • Number of Rules violated: 56

Summary of Rules violated

graphHelp Rules can be checked live at
development-time, from within Visual
Studio. Online documentation.
graphHelp CppDepend rules report too many flaws
on existing code base? Use the option
Recent Violations Only!
warningCritical Some Critical Rules are violated. Critical Rules
can be used to break the build process if
violated. Online documentation.
Name # Matches Elements Group
warningCritical   Types too big - critical
209 typesCode Quality
warningCritical   Methods too complex - critical
478 methodsCode Quality
warningCritical   Methods with too many parameters - critical
423 methodsCode Quality
warning   Quick summary of methods to refactor
10182 methodsCode Quality
warning   Methods too big
5763 methodsCode Quality
warning   Methods too complex
2466 methodsCode Quality
warning   Methods potentially poorly commented
4386 methodsCode Quality
warning   Methods with too many parameters
2271 methodsCode Quality
warning   Methods with too many local variables
2341 methodsCode Quality
warning   Methods with too many overloads
763 methodsCode Quality
warning   Types with too many methods
718 typesCode Quality
warning   Types with too many fields
97 typesCode Quality
warning   Types with poor cohesion
210 typesCode Quality
warning   Base class should not use derivatives
90 typesObject Oriented Design
warning   Class shouldn't be too deep in inheritance tree
171 typesObject Oriented Design
warning   Constructor should not call a virtual methods
77 methodsObject Oriented Design
warning   Don't assign static fields from instance methods
87 fieldsObject Oriented Design
warning   Avoid Abstract Classes with too many methods
101 typesObject Oriented Design
warning   Type should not have too many responsibilities
300 typesDesign
warning   Nested types should not be visible
1300 typesDesign
warning   Avoid namespaces mutually dependent
228 namespacesArchitecture and Layering
warning   Avoid namespaces dependency cycles
85 namespacesArchitecture and Layering
warning   Projects with poor cohesion (RelationalCohesion)
26 projectsArchitecture and Layering
warning   All CppCheck Violations
1594 fieldsCppCheck Queries
warning   All diagnostics
53372 fieldsDiagnostics Queries
warning   Preprocessor issues
19 fieldsDiagnostics Queries
warning   Cast issues
14400 fieldsDiagnostics Queries
warning   Conversion Issues
2 fieldsDiagnostics Queries
warning   Deprecated Usage
11 fieldsDiagnostics Queries
warning   Unused Symbols
3772 fieldsDiagnostics Queries
warning   Switch Issues
1599 fieldsDiagnostics Queries
warning   Delete Issues
40 fieldsDiagnostics Queries
warning   Struct Issues
1 fieldsDiagnostics Queries
warning   Enum Issues
1129 fieldsDiagnostics Queries
warning   Template Issues
156 fieldsDiagnostics Queries
warning   Comparison Issues
4 fieldsDiagnostics Queries
warning   Potentially dead Types
2778 typesDead Code
warning   Potentially dead Methods
7229 methodsDead Code
warning   Potentially dead Fields
2052 fieldsDead Code
warning   Fields should be declared as private
12776 fieldsVisibility
warning   Constructors of abstract classes should be declared as protected or private
213 typesVisibility
warning   Structures should be immutable
1828 typesPurity - Immutability - Constness
warning   Avoid static fields with a mutable field type
1834 fieldsPurity - Immutability - Constness
warning   Use const_cast carrefully
10 methodsPurity - Immutability - Constness
warning   Instance fields should be prefixed with a 'm_'
10 fieldsNaming Conventions
warning   Static fields should be prefixed with a 's_'
10 fieldsNaming Conventions
warning   Types name should begin with an Upper character
10 typesNaming Conventions
warning   Avoid types with name too long
1143 typesNaming Conventions
warning   Avoid methods with name too long
3042 methodsNaming Conventions
warning   Avoid fields with name too long
197 fieldsNaming Conventions
warning   Avoid naming types and namespaces with the same identifier
5 typesNaming Conventions
warning   Namespace name should correspond to file location
6701 typesNaming Conventions
warning   Avoid defining multiple types in a source file
1104 typesSource Files Organization
warning   Namespace name should correspond to file location
6282 typesSource Files Organization
warning   Types with source files stored in the same directory, should be declared in the same namespace
156 namespacesSource Files Organization
warning   Types declared in the same namespace, should have their source files stored in the same directory
149 namespacesSource Files Organization

Application Statistics

Stat # Occurences Avg StdDev Max
Public properties on classes 7,804 Classes 0.156.77505 public properties on __Globals
Public methods on classes 7,804 classes 10.4629.841310 public methods on clang.Sema
Arguments on public methods on classes 81,666 methods 1.231.4718 arguments on __Globals.InsertLDR_STR(llvm::MachineBasicBlock&,MachineBasicBlock::iterator&,int,bool,llvm::DebugLoc,unsignedint,unsignedint,bool,bool,unsignedint,bool,bool,bool,bool,ARMCC::CondCodes,unsignedint,constllvm::TargetInstrInfo*,bool)
Cyclomatic complexity on non abstract Methods 113,040 Methods 1.669.16 CC = 1199 for clang.AttributeList.getAttributeSpellingListIndex()

Projects Metrics

If you wish to define thresholds on Projects' Code Metrics, consider writing some Rules.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.
Projects # lines of code # Types # Abstract Types # lines of comment% CommentAfferent CouplingEfferent CouplingRelational CohesionInstabilityAbstractnessDistance
ALL_BUILD v1.0.0.000000000000
AArch64CommonTableGen v1.0.0.000000000000
ADTTests v1.0.0.0800934709691001570.62100
AMDGPUCommonTableGen v1.0.0.000000000000
ARMCommonTableGen v1.0.0.000000000000
ASTMatchersTests v1.0.0.019633460195901071.1100
ASTTests v1.0.0.0284433503751101441.34100
AnalysisTests v1.0.0.065632097120810.88100
BasicTests v1.0.0.01387580165100910.87100
BitcodeTests v1.0.0.060407100320.67100
BrainF v1.0.0.02444087260620.83100
BugpointPasses v1.0.0.000000000000
ClangARMNeon v1.0.0.000000000000
ClangAttrClasses v1.0.0.000000000000
ClangAttrDump v1.0.0.000000000000
ClangAttrHasAttributeImpl v1.0.0.000000000000
ClangAttrImpl v1.0.0.000000000000
ClangAttrList v1.0.0.000000000000
ClangAttrPCHRead v1.0.0.000000000000
ClangAttrPCHWrite v1.0.0.000000000000
ClangAttrParsedAttrImpl v1.0.0.000000000000
ClangAttrParsedAttrKinds v1.0.0.000000000000
ClangAttrParsedAttrList v1.0.0.000000000000
ClangAttrParserStringSwitches v1.0.0.000000000000
ClangAttrSpellingListIndex v1.0.0.000000000000
ClangAttrTemplateInstantiate v1.0.0.000000000000
ClangAttrVisitor v1.0.0.000000000000
ClangCodeGenTests v1.0.0.01520000230.5100
ClangCommentCommandInfo v1.0.0.000000000000
ClangCommentCommandList v1.0.0.000000000000
ClangCommentHTMLNamedCharacterReferences v1.0.0.000000000000
ClangCommentHTMLTags v1.0.0.000000000000
ClangCommentHTMLTagsProperties v1.0.0.000000000000
ClangCommentNodes v1.0.0.000000000000
ClangDeclNodes v1.0.0.000000000000
ClangDiagnosticAST v1.0.0.000000000000
ClangDiagnosticAnalysis v1.0.0.000000000000
ClangDiagnosticComment v1.0.0.000000000000
ClangDiagnosticCommon v1.0.0.000000000000
ClangDiagnosticDriver v1.0.0.000000000000
ClangDiagnosticFrontend v1.0.0.000000000000
ClangDiagnosticGroups v1.0.0.000000000000
ClangDiagnosticIndexName v1.0.0.000000000000
ClangDiagnosticLex v1.0.0.000000000000
ClangDiagnosticParse v1.0.0.000000000000
ClangDiagnosticSema v1.0.0.000000000000
ClangDiagnosticSerialization v1.0.0.000000000000
ClangDriverOptions v1.0.0.000000000000
ClangDriverTests v1.0.0.0171250310240.07100
ClangSACheckers v1.0.0.000000000000
ClangStmtNodes v1.0.0.000000000000
ClangUnitTests v1.0.0.000000000000
CodeGenTests v1.0.0.0395190237370220.05100
DebugIRTests v1.0.0.0356055610371.12100
DebugInfoTests v1.0.0.02830390120.4100
DynamicASTMatchersTests v1.0.0.05953101210620.73100
ExecutionEngineTests v1.0.0.058507100250.71100
Fibonacci v1.0.0.0431020310360.33100
FileCheck v1.0.0.051640211290611.33100
FormatTests v1.0.0.029982790345100431.07100
FrontendTests v1.0.0.06670340380.78100
HexagonCommonTableGen v1.0.0.000000000000
HowToUseJIT v1.0.0.0301026460280.33100
INSTALL v1.0.0.000000000000
IRTests v1.0.0.036411710362901980.79100
Kaleidoscope-Ch2 v1.0.0.01709078310121.36100
Kaleidoscope-Ch3 v1.0.0.02579096270341.8210.090.06
Kaleidoscope-Ch4 v1.0.0.027790106270441.8210.090.06
Kaleidoscope-Ch5 v1.0.0.041011016428046210.080.05
Kaleidoscope-Ch6 v1.0.0.0480120178270482.0710.070.05
Kaleidoscope-Ch7 v1.0.0.0557130222280512.210.070.05
KillTheDoctor v1.0.0.023010041150560.83100
LLVMAArch64AsmParser v1.0.0.02229200347132821.550.9800.02
LLVMAArch64AsmPrinter v1.0.0.07364047624210.9500.03
LLVMAArch64CodeGen v1.0.0.01525256045722313822.45100
LLVMAArch64Desc v1.0.0.01472230715321211111.920.480.040.34
LLVMAArch64Disassembler v1.0.0.0923307771380.80.9700.02
LLVMAArch64Info v1.0.0.0420342540.50.4400.39
LLVMAArch64Utils v1.0.0.0453330551017180.770.5100.34
LLVMARMAsmParser v1.0.0.061923301409181991.60.9900.01
LLVMARMAsmPrinter v1.0.0.0879209792320.50.9400.04
LLVMARMCodeGen v1.0.0.021360830614922133723.470.970.010.02
LLVMARMDesc v1.0.0.02867520108527441451.520.770.020.15
LLVMARMDisassembler v1.0.0.0328540254712710.9600.03
LLVMARMInfo v1.0.0.042000530.50.3800.44
LLVMAnalysis v1.0.0.021584310712719377463443.970.320.030.47
LLVMAsmParser v1.0.0.0416513085917131561.270.9200.05
LLVMAsmPrinter v1.0.0.05726723294433493033.360.860.050.06
LLVMBitReader v1.0.0.0298818065017211791.350.8900.07
LLVMBitWriter v1.0.0.01836100451191315310.9200.06
LLVMCodeGen v1.0.0.0345834671619379354414745.740.520.040.32
LLVMCore v1.0.0.04824450016121402016901745.410.090.030.62
LLVMCppBackendCodeGen v1.0.0.0174050965112710.9900.01
LLVMCppBackendInfo v1.0.0.0220250220.50.500.35
LLVMDebugInfo v1.0.0.020815735492011782.190.880.070.04
LLVMExecutionEngine v1.0.0.0107020255434641091.450.630.140.17
LLVMHello v1.0.0.000000000000
LLVMHexagonAsmPrinter v1.0.0.0671011142140.330.8800.09
LLVMHexagonCodeGen v1.0.0.0567546021882722552.880.9900.01
LLVMHexagonDesc v1.0.0.01049063376260.360.8100.13
LLVMHexagonInfo v1.0.0.012000330.50.500.35
LLVMIRReader v1.0.0.0422022349240.750.7300.19
LLVMInstCombine v1.0.0.011836180505629101941.650.9500.03
LLVMInstrumentation v1.0.0.0389444010112092492.220.970.020.01
LLVMInterpreter v1.0.0.01595702421301151100
LLVMLTO v1.0.0.0579401862421180.670.9800.01
LLVMLineEditor v1.0.0.0639135357201.360.740.180.05
LLVMLinker v1.0.0.079680341297901.10.9300.05
LLVMMC v1.0.0.08122152143133274891954.770.290.10.44
LLVMMCDisassembler v1.0.0.043631053254139501.760.260.030.5
LLVMMCJIT v1.0.0.06531504814213791.120.860.060.06
LLVMMCParser v1.0.0.04141274108520261072.690.80.170.02
LLVMMSP430AsmPrinter v1.0.0.050109152100.330.8300.12
LLVMMSP430CodeGen v1.0.0.015232204082121431.670.9900.01
LLVMMSP430Desc v1.0.0.025206191140.50.9300.05
LLVMMSP430Info v1.0.0.012000330.50.500.35
LLVMMipsAsmParser v1.0.0.01755140408181621.440.9800.01
LLVMMipsAsmPrinter v1.0.0.0269502065180.710.7800.15
LLVMMipsCodeGen v1.0.0.0903478430752522912.590.990.060.04
LLVMMipsDesc v1.0.0.014682603331815911.570.860.040.07
LLVMMipsDisassembler v1.0.0.043140113201201.330.9500.03
LLVMMipsInfo v1.0.0.042000530.50.3800.44
LLVMNVPTXAsmPrinter v1.0.0.0201101252200.330.9100.06
LLVMNVPTXCodeGen v1.0.0.0107234701173922921.880.9900
LLVMNVPTXDesc v1.0.0.045209161210.750.9500.03
LLVMNVPTXInfo v1.0.0.022000330.50.500.35
LLVMObjCARCOpts v1.0.0.022281908372751273.050.9600.03
LLVMObject v1.0.0.05486156263310582061.950.780.020.14
LLVMOption v1.0.0.06721402983080452.810.360.060.41
LLVMPowerPCAsmParser v1.0.0.01025100116101561.330.9800.01
LLVMPowerPCAsmPrinter v1.0.0.0234202182260.50.9300.05
LLVMPowerPCCodeGen v1.0.0.01130440039082513383.55100
LLVMPowerPCDesc v1.0.0.011041902021512821.520.870.050.06
LLVMPowerPCDisassembler v1.0.0.0682012151140.50.9300.05
LLVMPowerPCInfo v1.0.0.032000530.50.3800.44
LLVMProfileData v1.0.0.0110554035124277720.740.020.17
LLVMR600AsmPrinter v1.0.0.028910722120.330.8600.1
LLVMR600CodeGen v1.0.0.01068974018981533063.120.990.010
LLVMR600Desc v1.0.0.023114040141500.940.9800.01
LLVMR600Info v1.0.0.0120150330.50.500.35
LLVMRuntimeDyld v1.0.0.020863327072531052.110.970.090.04
LLVMScalarOpts v1.0.0.0160031300834034173542.380.9500.03
LLVMSelectionDAG v1.0.0.031623154212091271043275.420.760.020.16
LLVMSparcAsmParser v1.0.0.04441104891481.460.9800.01
LLVMSparcAsmPrinter v1.0.0.011410863150.330.8300.12
LLVMSparcCodeGen v1.0.0.028992006351721662.50.9900.01
LLVMSparcDesc v1.0.0.06021306497621.80.90.070.02
LLVMSparcDisassembler v1.0.0.01572020111120.750.9200.05
LLVMSparcInfo v1.0.0.022000530.50.3800.44
LLVMSupport v1.0.0.01921650316104473552871472.860.030.030.66
LLVMSystemZAsmParser v1.0.0.032312074181421.430.9800.02
LLVMSystemZAsmPrinter v1.0.0.06610792110.330.8500.11
LLVMSystemZCodeGen v1.0.0.0416542013352411752.390.9900
LLVMSystemZDesc v1.0.0.02028081289511.40.8500.11
LLVMSystemZDisassembler v1.0.0.09920761120.50.9200.05
LLVMSystemZInfo v1.0.0.012000530.50.3800.44
LLVMTableGen v1.0.0.0373970611152295657.310.410.10.35
LLVMTarget v1.0.0.0823181475363621541.350.30.10.43
LLVMTransformUtils v1.0.0.0911610055207361042682.460.720.060.16
LLVMVectorize v1.0.0.0604440021772632022.360.9900.01
LLVMX86AsmParser v1.0.0.02136220514191821.880.990.040.02
LLVMX86AsmPrinter v1.0.0.010563011493280.60.900.07
LLVMX86CodeGen v1.0.0.02495457077002323862.810.9900
LLVMX86Desc v1.0.0.0246936072622181231.660.8700.09
LLVMX86Disassembler v1.0.0.01328280507275271.570.8400.11
LLVMX86Info v1.0.0.022000530.50.3800.44
LLVMX86Utils v1.0.0.0135206030380.50.7300.19
LLVMXCoreAsmPrinter v1.0.0.03120132160.50.8900.08
LLVMXCoreCodeGen v1.0.0.021762205542012112.29100
LLVMXCoreDesc v1.0.0.050409152250.670.930.170.07
LLVMXCoreDisassembler v1.0.0.0377201431150.750.9400.04
LLVMXCoreInfo v1.0.0.012000430.50.4300.4
LLVMipa v1.0.0.0131226083238191572.390.890.040.05
LLVMipo v1.0.0.0576042025623082472.680.970.020.01
LTO v1.0.0.09050210703220.290.8800.08
LTO_exports v1.0.0.000000000000
LexTests v1.0.0.03403203280620.94100
LineEditorTests v1.0.0.04040000220.67100
LinkerTests v1.0.0.0703011130420.6100
MCJITTests v1.0.0.0771430651450872.84100
MCTests v1.0.0.025406190200.5100
MSP430CommonTableGen v1.0.0.000000000000
MipsCommonTableGen v1.0.0.000000000000
ModuleMaker v1.0.0.0131015530170.33100
NVPTXCommonTableGen v1.0.0.000000000000
OptionTests v1.0.0.01271201070341.07100
OptsTestTableGen v1.0.0.000000000000
PACKAGE v1.0.0.000000000000
PowerPCCommonTableGen v1.0.0.000000000000
SemaTests v1.0.0.01239078380511.27100
SparcCommonTableGen v1.0.0.000000000000
SupportTests v1.0.0.08243398016011601740.83100
SystemZCommonTableGen v1.0.0.000000000000
ToolingTests v1.0.0.0116717702771901311.49100
UnitTests v1.0.0.000000000000
UtilsTests v1.0.0.046723070130800.48100
X86CommonTableGen v1.0.0.000000000000
XCoreCommonTableGen v1.0.0.000000000000
ZERO_CHECK v1.0.0.000000000000
arcmt-test v1.0.0.01602022120680.75100
bugpoint v1.0.0.019403018373001432.8110.060.04
c-arcmt-test v1.0.0.055201015050.5100
c-index-test v1.0.0.026149014550691100
check v1.0.0.000000000000
check-all v1.0.0.000000000000
check-clang v1.0.0.000000000000
check-clang-tools v1.0.0.000000000000
check-llvm v1.0.0.000000000000
clang v1.0.0.043940163270971100
clang-apply-replacements v1.0.0.0822054390660.5100
clang-check v1.0.0.0457020300461.11100
clang-format v1.0.0.012520640600.75100
clang-headers v1.0.0.000000000000
clang-modernize v1.0.0.0128448015365401991.44100
clang-query v1.0.0.02610000280.33100
clang-rename v1.0.0.0910847050.33100
clang-tblgen v1.0.0.03580370716160942.1510.030.02
clang-test v1.0.0.000000000000
clang-tidy v1.0.0.01142014100570.75100
clangARCMigrate v1.0.0.038657904571042902.540.990.010
clangAST v1.0.0.06109911268212092518133567.670.160.010.59
clangASTMatchers v1.0.0.091819866510875421933.680.260.040.5
clangAnalysis v1.0.0.01022827842989221593113.780.660.020.23
clangApplyReplacements v1.0.0.0932098512480.50.9600.03
clangBasic v1.0.0.0101733161138372714371423.040.090.040.62
clangCodeGen v1.0.0.0367993378145482828094.2610.030.02
clangDriver v1.0.0.084231174241822351075.540.750.040.14
clangDynamicASTMatchers v1.0.0.0137955338922291733.090.860.070.05
clangEdit v1.0.0.010921001159101061.830.910.080
clangFormat v1.0.0.0444974212072187983.320.530.040.3
clangFrontend v1.0.0.0839314443218271143702.240.760.030.14
clangFrontendTool v1.0.0.01322026161730.50.9900.01
clangIndex v1.0.0.011841101631231541.230.9800.01
clangLex v1.0.0.01026312966247372131572.990.420.050.37
clangParse v1.0.0.01442883087763762571.650.9800.02
clangQuery v1.0.0.09720025201191.590.9500.04
clangRename v1.0.0.0497055521140.330.9300.05
clangRewrite v1.0.0.010272306763923622.320.7300.19
clangRewriteFrontend v1.0.0.0801528121042042451.370.980.070.04
clangSema v1.0.0.081350509735635306010463.150.950.020.03
clangSerialization v1.0.0.0187141330365316289832.390.9700.02
clangStaticAnalyzerCheckers v1.0.0.09518224030412424220.98100
clangStaticAnalyzerCore v1.0.0.013496319214958261403525.280.720.070.15
clangStaticAnalyzerFrontend v1.0.0.038012015028312010.980.070.03
clangTooling v1.0.0.0706355622461201311.730.520.160.22
count v1.0.0.0241000010.33100
diagtool v1.0.0.02431701970472.2110.050.04
gtest v1.0.0.01992180001160901.40.0700.66
gtest_main v1.0.0.01310318360.330.6700.24
intrinsics_gen v1.0.0.000000000000
libclang v1.0.0.088601760348328105313.190.980.010.01
llc v1.0.0.01701032150610.33100
lli v1.0.0.0540100238300950.92100
lli-child-target v1.0.0.01443079350130.8100
llvm-PerfectShuffle v1.0.0.02171305921082.2100
llvm-ar v1.0.0.05034063110620.83100
llvm-as v1.0.0.041107140360.33100
llvm-bcanalyzer v1.0.0.0517403360620.67100
llvm-c-test v1.0.0.02741051090.33100
llvm-config v1.0.0.01651059260270.33100
llvm-cov v1.0.0.09433401601401002.17100
llvm-diff v1.0.0.0564141104150681.8810.120.09
llvm-dis v1.0.0.0903011100450.6100
llvm-dwarfdump v1.0.0.023104140300.33100
llvm-extract v1.0.0.01111019140490.33100
llvm-link v1.0.0.047106110340.33100
llvm-lto v1.0.0.07920670390.25100
llvm-mc v1.0.0.03765043100680.86100
llvm-mcmarkup v1.0.0.0944034260391100
llvm-nm v1.0.0.0764505560960.86100
llvm-objdump v1.0.0.0231570202801641.11100
llvm-profdata v1.0.0.010110210410.33100
llvm-readobj v1.0.0.02372280140501492.7310.030.02
llvm-rtdyld v1.0.0.02123066230780.6100
llvm-size v1.0.0.04413056110640.6100
llvm-stress v1.0.0.039715072150822.3510.060.04
llvm-symbolizer v1.0.0.0303603390671.38100
llvm-tblgen v1.0.0.014409173148252501473.9510.010.01
llvm-vtabledump v1.0.0.01086014110580.88100
macho-dump v1.0.0.0222102490550.33100
modernizeCore v1.0.0.048620139945251011.450.80.090.08
modularize v1.0.0.0389210296430531.5710.040.03
module-map-checker v1.0.0.04070153790280.78100
not v1.0.0.02210415080.33100
obj2yaml v1.0.0.0303701750800.89100
opt v1.0.0.05901901451901421.05100
pp-trace v1.0.0.0547076580310.67100
remove-cstr-calls v1.0.0.0242026520150.5100
tool-template v1.0.0.0520758030.5100
verify-uselistorder v1.0.0.02403048160700.8100
yaml-bench v1.0.0.011220100410.5100
yaml2obj v1.0.0.04098050100830.8100
CMakePredefinedTargets v1.0.0.000000000000
Clang executables v1.0.0.000000000000
Clang extra tools' tests v1.0.0.000000000000
Clang libraries v1.0.0.000000000000
Clang tablegenning v1.0.0.000000000000
Clang tests v1.0.0.000000000000
Examples v1.0.0.000000000000
Extra Tools Unit Tests v1.0.0.000000000000
Libraries v1.0.0.000000000000
Loadable modules v1.0.0.000000000000
Misc v1.0.0.000000000000
Tablegenning v1.0.0.000000000000
Tests v1.0.0.000000000000
Tools v1.0.0.000000000000
Utils v1.0.0.000000000000

Types Metrics : Code Quality

For a particular Code Metric defined for types, values in red represent the 15% highest values.
If you wish to define thresholds on types' Code Metrics, consider writing some Rule.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.
If the code base analyzed has too many types, CppDepend doesn't list Types Metrics to avoid a too big report. The section Types Metrics can be activated by unchecking the option:
CppDepend Project Properties > Report > Avoid too big report for large code base > Hide section Types Metrics if...
It is recommended to use the CppDepend interactive UI capabilities to browse large applications.

Types Metrics : Code Members and Inheritance

Type Name # Instance Methods Nb Static Methods # Fields# Children ClassesDepth Of Inheritance Tree Type Namespace

Types Metrics : Lack Of Cohesion Of Methods and Association Between Classes

Namespaces Metrics

If you wish to define thresholds on namespaces' Code Metrics, consider writing some Rules.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.
If the code base analyzed has too many namespaces, CppDepend doesn't list Namespaces Metrics to avoid a too big report. The section Namespaces Metrics can be activated by unchecking the option:
CppDepend Project Properties > Report > Avoid too big report for large code base > Hide section Namespaces Metrics if...
It is recommended to use the CppDepend interactive UI capabilities to browse large applications.

158550
Project Rules  

  • 158 validated Rule(s)
  • 55 Rule(s) violated
  • 0 Rules or Queries with Error (syntax error, exception thrown, time-out)

3100
Code Quality  

warningCritical    Critical Rule warning: Types too big - critical
• Rule Description:

This rule matches types with more than 500 lines of code.

Types where NbLinesOfCode > 500 are extremely complex to develop and maintain. See the definition of the NbLinesOfCode metric here http://www.cppdepend.com/Metrics.aspx#NbLinesOfCode

Maybe you are facing the God Class phenomenon: A God Class is a class that controls way too many other classes in the system and has grown beyond all logic to become The Class That Does Everything.


• How to Fix Violations:

Types with many lines of code should be split in a group of smaller types.

To refactor a God Class you'll need patience, and you might even need to recreate everything from scratch. Here are a few advices:

• Think before pulling out methods: on what data does this method operate? What responsibility does it have?

• Try to maintain the interface of the god class at first and delegate calls to the new extracted classes. In the end the god class should be a pure facade without own logic. Then you can keep it for convenience or throw it away and start to use the new classes only.

• Unit Tests can help: write tests for each method before extracting it to ensure you don't break functionality.

209 types matched

types# lines of code (LOC)# Methods# FieldsFull Name
ConditionalExpansionInstance041Modularize.ConditionalExpansionInstance
Sema37 9071 368120clang.Sema
Function27 4401024llvm.Function
Parser13 18144772clang.Parser
CodeGenFunction11 99248667clang.CodeGen.CodeGenFunction
InstCombiner8 86714610llvm.InstCombiner
ASTReader6 401218121clang.ASTReader
X86TargetLowering5 7611386llvm.X86TargetLowering
DAGTypeLegalizer5 28637912llvm.DAGTypeLegalizer
DAGCombiner5 01614411anonymous_namespace{dagcombiner.cpp}.DAGCombiner
NVPTXDAGToDAGISel4 417372anonymous_namespace{nvptxiseldagtodag.h}.NVPTXDAGToDAGISel
ASTWriter4 15413876clang.ASTWriter
ASTContext4 087358175clang.ASTContext
PPCTargetLowering3 976991llvm.PPCTargetLowering
ARMTargetLowering3 8891194llvm.ARMTargetLowering
ARMAsmParser3 8301018anonymous_namespace{armasmparser.cpp}.ARMAsmParser
RewriteModernObjC3 66714476anonymous_namespace{rewritemodernobjc.cpp}.RewriteModernObjC
AArch64TargetLowering3 1081132llvm.AArch64TargetLowering
LLParser3 10112617llvm.LLParser
ScalarEvolution3 05512320llvm.ScalarEvolution
SelectionDAG3 04224523llvm.SelectionDAG
SelectionDAGBuilder2 84512624llvm.SelectionDAGBuilder
Preprocessor2 797218122clang.Preprocessor
ASTDumper2 64313710anonymous_namespace{astdumper.cpp}.ASTDumper
RewriteObjC2 53511966anonymous_namespace{rewriteobjc.cpp}.RewriteObjC
AsmParser2 35912428anonymous_namespace{asmparser.cpp}.AsmParser
NVPTXTargetLowering2 348402llvm.NVPTXTargetLowering
RecursiveASTVisitor<Derived>2 3381860clang.RecursiveASTVisitor<Derived>
SelectionDAGLegalize2 312405anonymous_namespace{legalizedag.cpp}.SelectionDAGLegalize
AArch64FastISel2 271792anonymous_namespace{aarch64fastisel.cpp}.AArch64FastISel
ExprEngine2 27011614clang.ento.ExprEngine
CodeGenModule2 25119273clang.CodeGen.CodeGenModule
X86InstrInfo2 171628llvm.X86InstrInfo
BitcodeReader2 0894630llvm.BitcodeReader
ARMBaseInstrInfo1 994803llvm.ARMBaseInstrInfo
CXXNameMangler1 9631057anonymous_namespace{itaniummangle.cpp}.CXXNameMangler
X86FastISel1 950473anonymous_namespace{x86fastisel.cpp}.X86FastISel
TreeTransform<Derived>1 9372162clang.TreeTransform<Derived>
ARMDAGToDAGISel1 850741anonymous_namespace{armiseldagtodag.cpp}.ARMDAGToDAGISel
DependenceAnalysis1 794568llvm.DependenceAnalysis
Lexer1 7248016clang.Lexer
ASTDeclReader1 68211611clang.ASTDeclReader
CppWriter1 6774512anonymous_namespace{cppbackend.cpp}.CppWriter
ARMFastISel1 662648anonymous_namespace{armfastisel.cpp}.ARMFastISel
MipsTargetLowering1 648782llvm.MipsTargetLowering
APFloat1 62512512llvm.APFloat
ASTNodeImporter1 623991clang.ASTNodeImporter
TargetLowering1 579640llvm.TargetLowering
CGDebugInfo1 57510333clang.CodeGen.CGDebugInfo
Clang1 570271clang.driver.tools.Clang
CFGBuilder1 5549520anonymous_namespace{cfg.cpp}.CFGBuilder
ScalarExprEmitter1 5381444anonymous_namespace{cgexprscalar.cpp}.ScalarExprEmitter
ARMOperand1 5273025anonymous_namespace{armasmparser.cpp}.ARMOperand
Expr1 515921clang.Expr
TGParser1 505537llvm.TGParser
SystemZTargetLowering1 501631llvm.SystemZTargetLowering
MipsAsmParser1 4981094anonymous_namespace{mipsasmparser.cpp}.MipsAsmParser
AArch64DAGToDAGISel1 483543anonymous_namespace{aarch64iseldagtodag.cpp}.AArch64DAGToDAGISel
APInt1 4792181llvm.APInt
LSRInstance1 4585917anonymous_namespace{loopstrengthreduce.cpp}.LSRInstance
ScaledNumberHelpersTest_matchScales_Test1 44851anonymous_namespace{scalednumbertest.cpp} .ScaledNumberHelpersTest_matchScales_Test
AArch64AsmParser1 378484anonymous_namespace{aarch64asmparser.cpp}.AArch64AsmParser
BBVectorize1 374437anonymous_namespace{bbvectorize.cpp}.BBVectorize
AArch64InstrInfo1 318462llvm.AArch64InstrInfo
SparcTargetLowering1 308411llvm.SparcTargetLowering
SelectionDAGISel1 2774213llvm.SelectionDAGISel
StmtPrinter1 2591704anonymous_namespace{stmtprinter.cpp}.StmtPrinter
Type1 2331580clang.Type
NVPTXAsmPrinter1 2205913llvm.NVPTXAsmPrinter
MipsSETargetLowering1 215360llvm.MipsSETargetLowering
FastISel1 1787817llvm.FastISel
X86DAGToDAGISel1 178372anonymous_namespace{x86iseldagtodag.cpp}.X86DAGToDAGISel
AMDGPUTargetLowering1 157651llvm.AMDGPUTargetLowering
AttributeList1 1567118clang.AttributeList
Verifier1 153776anonymous_namespace{verifier.cpp}.Verifier
DwarfDebug1 15010467llvm.DwarfDebug
MicrosoftCXXNameMangler1 142777anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler
PPCFastISel1 125465anonymous_namespace{ppcfastisel.cpp}.PPCFastISel
X86AsmParser1 124505anonymous_namespace{x86asmparser.cpp}.X86AsmParser
XMLDumper1 11913422XMLDumper
Interpreter1 097755llvm.Interpreter
R600TargetLowering1 095301llvm.R600TargetLowering
InitializationSequence1 092486clang.InitializationSequence
ASTStmtWriter1 0751644clang.ASTStmtWriter
MemorySanitizerVisitor1 06512215anonymous_namespace{memorysanitizer.cpp}.MemorySanitizerVisitor
PPCDAGToDAGISel1 059314anonymous_namespace{ppciseldagtodag.cpp}.PPCDAGToDAGISel
Decl1 05713717clang.Decl
SourceManager1 04913233clang.SourceManager
BoUpSLP1 0422719anonymous_namespace{slpvectorizer.cpp}.BoUpSLP
SITargetLowering1 039460llvm.SITargetLowering
FunctionAttrs1 034203anonymous_namespace{functionattrs.cpp}.FunctionAttrs
Stmt1 026421clang.Stmt
ASTStmtReader1 0021767clang.ASTStmtReader
Driver1 0004534clang.driver.Driver
SIInstrInfo998631llvm.SIInstrInfo
AsmPrinter9828520llvm.AsmPrinter
CursorVisitor97010717clang.cxcursor.CursorVisitor
MicrosoftCXXABI967949anonymous_namespace{microsoftcxxabi.cpp}.MicrosoftCXXABI
CGObjCGNU9566755anonymous_namespace{cgobjcgnu.cpp}.CGObjCGNU
TypePrinter942993anonymous_namespace{typeprinter.cpp}.TypePrinter

Statistics

Stat   # lines of code (LOC)   # Methods   # Fields
Sum:350 72017 7873 118
Average:20 551 76085.1114.92
Minimum:50340
Maximum:01 368175
Standard deviation:296 377 376113.5923.28
Variance:012 901542.03
warningCritical    Critical Rule warning: Methods too complex - critical
• Rule Description:

This rule matches methods where CyclomaticComplexity > 30 or ILCyclomaticComplexity > 60 or ILNestingDepth > 6. Such method is typically hard to understand and maintain.

Maybe you are facing the God Method phenomenon. A "God Method" is a method that does way too many processes in the system and has grown beyond all logic to become The Method That Does Everything. When need for new processes increases suddenly some programmers realize: why should I create a new method for each processe if I can only add an if.

See the definition of the CyclomaticComplexity metric here: http://www.cppdepend.com/Metrics.aspx#CC

See the definition of the NestingDepth metric here http://www.cppdepend.com/Metrics.aspx#NestingDepth


• How to Fix Violations:

A large and complex method should be split in smaller methods, or even one or several classes can be created for that.

During this process it is important to question the scope of each variable local to the method. This can be an indication if such local variable will become an instance field of the newly created class(es).

Large switch…case structures might be refactored through the help of a set of types that implement a common interface, the interface polymorphism playing the role of the switch cases tests.

Unit Tests can help: write tests for each method before extracting it to ensure you don't break functionality.

478 methods matched

methodsCyclomatic Complexity (CC)NestingDepthFull Name
lookupIntrinsicID()12 44813llvm.Function.lookupIntrinsicID()
dumpAttr(constclang::Attr*)4076anonymous_namespace{astdumper.cpp}.ASTDumper.dumpAttr (constclang::Attr*)
Select(llvm::SDNode*)4046anonymous_namespace{aarch64iseldagtodag.cpp}.AArch64DAGToDAGISel .Select(llvm::SDNode*)
ConstructJob(clang::driver::Compilation& ,constclang::driver::JobAction&,constclang::driver::InputInfo& ,constInputInfoList&,constllvm::opt::ArgList&,constchar*)3897clang.driver.tools.Clang.ConstructJob(clang::driver::Compilation& ,constclang::driver::JobAction&,constclang::driver::InputInfo& ,constInputInfoList&,constllvm::opt::ArgList&,constchar*)
lookupName(constchar*,unsignedint)3356llvm.AMDGPUIntrinsicInfo.lookupName(constchar*,unsignedint)
dataTraverseNode(clang::Stmt*,bool&)2967clang.RecursiveASTVisitor<Derived>.dataTraverseNode(clang::Stmt*,bool& )
SimplifyICmpInst(unsignedint,llvm::Value*,llvm::Value*,const (anonymousnamespace)::Query&,unsignedint)2748__Globals.SimplifyICmpInst(unsignedint,llvm::Value*,llvm::Value*,const (anonymousnamespace)::Query&,unsignedint)
ExpandMI(llvm::MachineBasicBlock&,MachineBasicBlock::iterator)2506anonymous_namespace{armexpandpseudoinsts.cpp}.ARMExpandPseudo.ExpandMI (llvm::MachineBasicBlock&,MachineBasicBlock::iterator)
visitICmpInst(llvm::ICmpInst&)2417llvm.InstCombiner.visitICmpInst(llvm::ICmpInst&)
SelectLDGLDU(llvm::SDNode*)2406anonymous_namespace{nvptxiseldagtodag.h}.NVPTXDAGToDAGISel .SelectLDGLDU(llvm::SDNode*)
CheckICE(constclang::Expr*,constclang::ASTContext&)2398__Globals.CheckICE(constclang::Expr*,constclang::ASTContext&)
LexTokenInternal(clang::Token&,bool)2316clang.Lexer.LexTokenInternal(clang::Token&,bool)
SelectCodeCommon(llvm::SDNode*,constunsignedchar*,unsignedint)2238llvm.SelectionDAGISel.SelectCodeCommon(llvm::SDNode* ,constunsignedchar*,unsignedint)
visitCallInst(llvm::CallInst&)21410llvm.InstCombiner.visitCallInst(llvm::CallInst&)
ParseFunctionBody(llvm::Function*)2038llvm.BitcodeReader.ParseFunctionBody(llvm::Function*)
ParseDeclarationSpecifiers(clang::DeclSpec& ,constclang::Parser::ParsedTemplateInfo&,clang::AccessSpecifier ,clang::Parser::DeclSpecContext,clang::Parser::LateParsedAttrList*)2007clang.Parser.ParseDeclarationSpecifiers(clang::DeclSpec& ,constclang::Parser::ParsedTemplateInfo&,clang::AccessSpecifier ,clang::Parser::DeclSpecContext,clang::Parser::LateParsedAttrList*)
SimplifySetCC(llvm::EVT,llvm::SDValue,llvm::SDValue,ISD::CondCode,bool ,llvm::TargetLowering::DAGCombinerInfo&,llvm::SDLoc)1987llvm.TargetLowering.SimplifySetCC(llvm::EVT,llvm::SDValue ,llvm::SDValue,ISD::CondCode,bool ,llvm::TargetLowering::DAGCombinerInfo&,llvm::SDLoc)
ExpandNode(llvm::SDNode*)1957anonymous_namespace{legalizedag.cpp}.SelectionDAGLegalize.ExpandNode (llvm::SDNode*)
visitIntrinsicCall(constllvm::CallInst&,unsignedint)1919llvm.SelectionDAGBuilder.visitIntrinsicCall(constllvm::CallInst& ,unsignedint)
Select(llvm::SDNode*)17212anonymous_namespace{x86iseldagtodag.cpp}.X86DAGToDAGISel.Select (llvm::SDNode*)
Visit(constclang::Stmt*,clang::ento::ExplodedNode* ,clang::ento::ExplodedNodeSet&)1716clang.ento.ExprEngine.Visit(constclang::Stmt* ,clang::ento::ExplodedNode*,clang::ento::ExplodedNodeSet&)
GetFullTypeForDeclarator((anonymousnamespace)::TypeProcessingState& ,clang::QualType,clang::TypeSourceInfo*)1649__Globals.GetFullTypeForDeclarator((anonymousnamespace )::TypeProcessingState&,clang::QualType,clang::TypeSourceInfo*)
visitICmpInstWithInstAndIntCst(llvm::ICmpInst&,llvm::Instruction* ,llvm::ConstantInt*)1648llvm.InstCombiner.visitICmpInstWithInstAndIntCst(llvm::ICmpInst& ,llvm::Instruction*,llvm::ConstantInt*)
printInstruction(constllvm::Instruction*,conststd::string&)1646anonymous_namespace{cppbackend.cpp}.CppWriter.printInstruction (constllvm::Instruction*,conststd::string&)
EmitARMBuiltinExpr(unsignedint,constclang::CallExpr*)1636clang.CodeGen.CodeGenFunction.EmitARMBuiltinExpr(unsignedint ,constclang::CallExpr*)
Select(llvm::SDNode*)1607anonymous_namespace{armiseldagtodag.cpp}.ARMDAGToDAGISel.Select (llvm::SDNode*)
TraverseStmt(clang::Stmt*)1536clang.RecursiveASTVisitor<Derived>.TraverseStmt(clang::Stmt*)
Perform(clang::Sema&,constclang::InitializedEntity& ,constclang::InitializationKind&,MultiExprArg,clang::QualType*)1517clang.InitializationSequence.Perform(clang::Sema& ,constclang::InitializedEntity&,constclang::InitializationKind& ,MultiExprArg,clang::QualType*)
ReadASTBlock(ModuleFile&,unsignedint)1446clang.ASTReader.ReadASTBlock(ModuleFile&,unsignedint)
Select(llvm::SDNode*)1436anonymous_namespace{ppciseldagtodag.cpp}.PPCDAGToDAGISel.Select (llvm::SDNode*)
getNode(unsignedint,llvm::SDLoc,llvm::EVT,llvm::SDValue,llvm::SDValue ,bool,bool,bool)1396llvm.SelectionDAG.getNode(unsignedint,llvm::SDLoc,llvm::EVT ,llvm::SDValue,llvm::SDValue,bool,bool,bool)
ActOnTag(clang::Scope*,unsignedint,clang::Sema::TagUseKind ,clang::SourceLocation,clang::CXXScopeSpec&,clang::IdentifierInfo* ,clang::SourceLocation,clang::AttributeList*,clang::AccessSpecifier ,clang::SourceLocation,MultiTemplateParamsArg,bool&,bool& ,clang::SourceLocation,bool,TypeResult,bool)1308clang.Sema.ActOnTag(clang::Scope*,unsignedint,clang::Sema::TagUseKind ,clang::SourceLocation,clang::CXXScopeSpec&,clang::IdentifierInfo* ,clang::SourceLocation,clang::AttributeList*,clang::AccessSpecifier ,clang::SourceLocation,MultiTemplateParamsArg,bool&,bool& ,clang::SourceLocation,bool,TypeResult,bool)
getConstantValue(constllvm::Constant*)1307llvm.ExecutionEngine.getConstantValue(constllvm::Constant*)
ActOnFunctionDeclarator(clang::Scope*,clang::Declarator& ,clang::DeclContext*,clang::TypeSourceInfo*,clang::LookupResult& ,MultiTemplateParamsArg,bool&)12910clang.Sema.ActOnFunctionDeclarator(clang::Scope*,clang::Declarator& ,clang::DeclContext*,clang::TypeSourceInfo*,clang::LookupResult& ,MultiTemplateParamsArg,bool&)
DeduceTemplateArgumentsByTypeMatch(clang::Sema& ,clang::TemplateParameterList*,clang::QualType,clang::QualType ,clang::sema::TemplateDeductionInfo&,SmallVectorImpl <clang::DeducedTemplateArgument>&,unsignedint,bool,SmallVectorImpl <RefParamPartialOrderingComparison>*)1259__Globals.DeduceTemplateArgumentsByTypeMatch(clang::Sema& ,clang::TemplateParameterList*,clang::QualType,clang::QualType ,clang::sema::TemplateDeductionInfo&,SmallVectorImpl <clang::DeducedTemplateArgument>&,unsignedint,bool,SmallVectorImpl <RefParamPartialOrderingComparison>*)
ConstantFoldBinaryInstruction(unsignedint,llvm::Constant* ,llvm::Constant*)1246llvm.__Globals.ConstantFoldBinaryInstruction(unsignedint ,llvm::Constant*,llvm::Constant*)
SimplifyDemandedUseBits(llvm::Value*,llvm::APInt,llvm::APInt& ,llvm::APInt&,unsignedint,llvm::Instruction*)1238llvm.InstCombiner.SimplifyDemandedUseBits(llvm::Value*,llvm::APInt ,llvm::APInt&,llvm::APInt&,unsignedint,llvm::Instruction*)
SimplifyDemandedBits(llvm::SDValue,constllvm::APInt&,llvm::APInt& ,llvm::APInt&,llvm::TargetLowering::TargetLoweringOpt&,unsignedint)1208llvm.TargetLowering.SimplifyDemandedBits(llvm::SDValue ,constllvm::APInt&,llvm::APInt&,llvm::APInt& ,llvm::TargetLowering::TargetLoweringOpt&,unsignedint)
computeKnownBits(llvm::Value*,llvm::APInt&,llvm::APInt& ,constllvm::DataLayout*,unsignedint,const(anonymousnamespace)::Query&)1188__Globals.computeKnownBits(llvm::Value*,llvm::APInt&,llvm::APInt& ,constllvm::DataLayout*,unsignedint,const(anonymousnamespace)::Query&)
emitInstructionSpecifier()1176llvm.X86Disassembler.RecognizableInstr.emitInstructionSpecifier()
ParseConstants()1167llvm.BitcodeReader.ParseConstants()
PerformSELECTCombine(llvm::SDNode*,llvm::SelectionDAG& ,TargetLowering::DAGCombinerInfo&,constllvm::X86Subtarget*)1146__Globals.PerformSELECTCombine(llvm::SDNode*,llvm::SelectionDAG& ,TargetLowering::DAGCombinerInfo&,constllvm::X86Subtarget*)
isCXXDeclarationSpecifier(clang::Parser::TPResult,bool*)1117clang.Parser.isCXXDeclarationSpecifier(clang::Parser::TPResult,bool*)
BuildInstanceMessage(clang::Expr*,clang::QualType ,clang::SourceLocation,clang::Selector,clang::ObjCMethodDecl* ,clang::SourceLocation,ArrayRef<clang::SourceLocation> ,clang::SourceLocation,MultiExprArg,bool)1109clang.Sema.BuildInstanceMessage(clang::Expr*,clang::QualType ,clang::SourceLocation,clang::Selector,clang::ObjCMethodDecl* ,clang::SourceLocation,ArrayRef<clang::SourceLocation> ,clang::SourceLocation,MultiExprArg,bool)
ConstantFoldScalarCall(llvm::StringRef,unsignedint,llvm::Type* ,ArrayRef<llvm::Constant*>,constllvm::TargetLibraryInfo*)1097__Globals.ConstantFoldScalarCall(llvm::StringRef,unsignedint ,llvm::Type*,ArrayRef<llvm::Constant*>,constllvm::TargetLibraryInfo*)
PeepholeCROps()1096anonymous_namespace{ppciseldagtodag.cpp}.PPCDAGToDAGISel.PeepholeCROps ()
buildTree_rec(ArrayRef<llvm::Value*>,unsignedint)1057anonymous_namespace{slpvectorizer.cpp}.BoUpSLP.buildTree_rec(ArrayRef <llvm::Value*>,unsignedint)
ActOnVariableDeclarator(clang::Scope*,clang::Declarator& ,clang::DeclContext*,clang::TypeSourceInfo*,clang::LookupResult& ,MultiTemplateParamsArg,bool&)1027clang.Sema.ActOnVariableDeclarator(clang::Scope*,clang::Declarator& ,clang::DeclContext*,clang::TypeSourceInfo*,clang::LookupResult& ,MultiTemplateParamsArg,bool&)
MatchAndEmitInstruction(llvm::SMLoc,unsignedint&,OperandVector& ,llvm::MCStreamer&,uint64_t&,bool)10012anonymous_namespace{aarch64asmparser.cpp}.AArch64AsmParser .MatchAndEmitInstruction(llvm::SMLoc,unsignedint&,OperandVector& ,llvm::MCStreamer&,uint64_t&,bool)
ConvertDeclSpecToType((anonymousnamespace)::TypeProcessingState&)977__Globals.ConvertDeclSpecToType((anonymousnamespace )::TypeProcessingState&)
SimplifyDemandedVectorElts(llvm::Value*,llvm::APInt,llvm::APInt& ,unsignedint)947llvm.InstCombiner.SimplifyDemandedVectorElts(llvm::Value*,llvm::APInt ,llvm::APInt&,unsignedint)
ActOnFields(clang::Scope*,clang::SourceLocation,clang::Decl*,ArrayRef <clang::Decl*>,clang::SourceLocation,clang::SourceLocation ,clang::AttributeList*)908clang.Sema.ActOnFields(clang::Scope*,clang::SourceLocation ,clang::Decl*,ArrayRef<clang::Decl*>,clang::SourceLocation ,clang::SourceLocation,clang::AttributeList*)
ParseOperation(llvm::Record*,llvm::RecTy*)887llvm.TGParser.ParseOperation(llvm::Record*,llvm::RecTy*)
isUnusedResultAWarning(constclang::Expr*&,clang::SourceLocation& ,clang::SourceRange&,clang::SourceRange&,clang::ASTContext&)886clang.Expr.isUnusedResultAWarning(constclang::Expr*& ,clang::SourceLocation&,clang::SourceRange&,clang::SourceRange& ,clang::ASTContext&)
readPrefixes(structInternalInstruction*)879__Globals.readPrefixes(structInternalInstruction*)
ResolvedUndefsIn(llvm::Function&)876anonymous_namespace{sccp.cpp}.SCCPSolver.ResolvedUndefsIn (llvm::Function&)
EmitMatcher(constllvm::Matcher*,unsignedint,unsignedint ,llvm::formatted_raw_ostream&)876anonymous_namespace{dagiselmatcheremitter.cpp}.MatcherTableEmitter .EmitMatcher(constllvm::Matcher*,unsignedint,unsignedint ,llvm::formatted_raw_ostream&)
addedMember(clang::Decl*)8610clang.CXXRecordDecl.addedMember(clang::Decl*)
mightUseCTR(constllvm::Triple&,llvm::BasicBlock*)866anonymous_namespace{ppcctrloops.cpp}.PPCCTRLoops.mightUseCTR (constllvm::Triple&,llvm::BasicBlock*)
PerformDAGCombine(llvm::SDNode*,llvm::TargetLowering::DAGCombinerInfo& )858llvm.PPCTargetLowering.PerformDAGCombine(llvm::SDNode* ,llvm::TargetLowering::DAGCombinerInfo&)
optimizeCompareInstr(llvm::MachineInstr*,unsignedint,unsignedint,int ,int,constllvm::MachineRegisterInfo*)857llvm.ARMBaseInstrInfo.optimizeCompareInstr(llvm::MachineInstr* ,unsignedint,unsignedint,int,int,constllvm::MachineRegisterInfo*)
getObjCEncodingForTypeImpl(clang::QualType,std::string&,bool,bool ,constclang::FieldDecl*,bool,bool,bool,bool,bool,bool,clang::QualType* )857clang.ASTContext.getObjCEncodingForTypeImpl(clang::QualType ,std::string&,bool,bool,constclang::FieldDecl*,bool,bool,bool,bool ,bool,bool,clang::QualType*)
VisitCallExpr(constclang::CallExpr*)856anonymous_namespace{exprconstant.cpp}.IntExprEvaluator.VisitCallExpr (constclang::CallExpr*)
getNode(unsignedint,llvm::SDLoc,llvm::EVT,llvm::SDValue)826llvm.SelectionDAG.getNode(unsignedint,llvm::SDLoc,llvm::EVT ,llvm::SDValue)
vectorizeTree((anonymousnamespace)::BoUpSLP::TreeEntry*)826anonymous_namespace{slpvectorizer.cpp}.BoUpSLP.vectorizeTree( (anonymousnamespace)::BoUpSLP::TreeEntry*)
ActOnPropertyImplDecl(clang::Scope*,clang::SourceLocation ,clang::SourceLocation,bool,clang::IdentifierInfo* ,clang::IdentifierInfo*,clang::SourceLocation)818clang.Sema.ActOnPropertyImplDecl(clang::Scope*,clang::SourceLocation ,clang::SourceLocation,bool,clang::IdentifierInfo* ,clang::IdentifierInfo*,clang::SourceLocation)
visitGetElementPtrInst(llvm::GetElementPtrInst&)817llvm.InstCombiner.visitGetElementPtrInst(llvm::GetElementPtrInst&)
LegalizeOp(llvm::SDNode*)816anonymous_namespace{legalizedag.cpp}.SelectionDAGLegalize.LegalizeOp (llvm::SDNode*)
BuildDeclarationNameExpr(constclang::CXXScopeSpec& ,constclang::DeclarationNameInfo&,clang::NamedDecl*,clang::NamedDecl* ,constclang::TemplateArgumentListInfo*)816clang.Sema.BuildDeclarationNameExpr(constclang::CXXScopeSpec& ,constclang::DeclarationNameInfo&,clang::NamedDecl*,clang::NamedDecl* ,constclang::TemplateArgumentListInfo*)
getReplacementInput(llvm::LLVMContext&,llvm::Instruction* ,llvm::Instruction*,unsignedint,bool)807anonymous_namespace{bbvectorize.cpp}.BBVectorize.getReplacementInput (llvm::LLVMContext&,llvm::Instruction*,llvm::Instruction*,unsignedint ,bool)
visitAnd(llvm::BinaryOperator&)806llvm.InstCombiner.visitAnd(llvm::BinaryOperator&)
PrintFileSectionSizes(llvm::StringRef)7911__Globals.PrintFileSectionSizes(llvm::StringRef)
PerformImplicitConversion(clang::Expr*,clang::QualType ,constclang::StandardConversionSequence&,clang::Sema::AssignmentAction ,clang::Sema::CheckedConversionKind)798clang.Sema.PerformImplicitConversion(clang::Expr*,clang::QualType ,constclang::StandardConversionSequence&,clang::Sema::AssignmentAction ,clang::Sema::CheckedConversionKind)
evalBinOpNN(ProgramStateRef,BinaryOperator::Opcode,clang::ento::NonLoc ,clang::ento::NonLoc,clang::QualType)798anonymous_namespace{simplesvalbuilder.cpp}.SimpleSValBuilder .evalBinOpNN(ProgramStateRef,BinaryOperator::Opcode ,clang::ento::NonLoc,clang::ento::NonLoc,clang::QualType)
RunVisitorWorkList(VisitorWorkList&)797clang.cxcursor.CursorVisitor.RunVisitorWorkList(VisitorWorkList&)
visitXor(llvm::BinaryOperator&)796llvm.InstCombiner.visitXor(llvm::BinaryOperator&)
GetInstructionClass(constllvm::Value*)796llvm.objcarc.__Globals.GetInstructionClass(constllvm::Value*)
ParseSimpleValue(llvm::Record*,llvm::RecTy* ,llvm::TGParser::IDParseMode)776llvm.TGParser.ParseSimpleValue(llvm::Record*,llvm::RecTy* ,llvm::TGParser::IDParseMode)
findBestDAGFor(DenseMap<llvm::Value*,std::vector<Value*>>&,DenseSet <ValuePair>&,DenseMap<ValuePair,int>&,std::vector<Value*>&,DenseSet <ValuePair>&,DenseMap<VPPair,unsignedint>&,DenseMap<ValuePair ,std::vector<ValuePair>>&,DenseMap<ValuePair,std::vector<ValuePair>>& ,DenseSet<ValuePair>&,DenseMap<ValuePair,std::vector<ValuePair>>& ,DenseSet<VPPair>&,DenseMap<llvm::Value*,llvm::Value*>&,DenseSet <ValuePair>&,size_t&,int&,llvm::Value*,std::vector<Value*>&,bool)768anonymous_namespace{bbvectorize.cpp}.BBVectorize.findBestDAGFor (DenseMap<llvm::Value*,std::vector<Value*>>&,DenseSet<ValuePair>& ,DenseMap<ValuePair,int>&,std::vector<Value*>&,DenseSet<ValuePair>& ,DenseMap<VPPair,unsignedint>&,DenseMap<ValuePair,std::vector <ValuePair>>&,DenseMap<ValuePair,std::vector<ValuePair>>&,DenseSet <ValuePair>&,DenseMap<ValuePair,std::vector<ValuePair>>&,DenseSet <VPPair>&,DenseMap<llvm::Value*,llvm::Value*>&,DenseSet<ValuePair>& ,size_t&,int&,llvm::Value*,std::vector<Value*>&,bool)
computeKnownBits(llvm::SDValue,llvm::APInt&,llvm::APInt&,unsignedint)767llvm.SelectionDAG.computeKnownBits(llvm::SDValue,llvm::APInt& ,llvm::APInt&,unsignedint)
GetDeclSpecTypeForDeclarator((anonymousnamespace )::TypeProcessingState&,clang::TypeSourceInfo*&)766__Globals.GetDeclSpecTypeForDeclarator((anonymousnamespace )::TypeProcessingState&,clang::TypeSourceInfo*&)
getAddExpr(SmallVectorImpl<constllvm::SCEV*>&,SCEV::NoWrapFlags)757llvm.ScalarEvolution.getAddExpr(SmallVectorImpl<constllvm::SCEV*>& ,SCEV::NoWrapFlags)
ActOnFinishSwitchStmt(clang::SourceLocation,clang::Stmt*,clang::Stmt*)757clang.Sema.ActOnFinishSwitchStmt(clang::SourceLocation,clang::Stmt* ,clang::Stmt*)
evaluateICmpRelation(llvm::Constant*,llvm::Constant*,bool)748__Globals.evaluateICmpRelation(llvm::Constant*,llvm::Constant*,bool)
VisitCast(constclang::CastExpr*,constclang::Expr* ,clang::ento::ExplodedNode*,clang::ento::ExplodedNodeSet&)746clang.ento.ExprEngine.VisitCast(constclang::CastExpr* ,constclang::Expr*,clang::ento::ExplodedNode* ,clang::ento::ExplodedNodeSet&)
LowerCall(llvm::TargetLowering::CallLoweringInfo&,SmallVectorImpl <llvm::SDValue>&)718llvm.NVPTXTargetLowering.LowerCall (llvm::TargetLowering::CallLoweringInfo&,SmallVectorImpl<llvm::SDValue >&)
LexToken()716llvm.TGLexer.LexToken()
buildSchedGraph(llvm::AliasAnalysis*,llvm::RegPressureTracker* ,llvm::PressureDiffs*)707llvm.ScheduleDAGInstrs.buildSchedGraph(llvm::AliasAnalysis* ,llvm::RegPressureTracker*,llvm::PressureDiffs*)
UnrollLoop(llvm::Loop*,unsignedint,unsignedint,bool,unsignedint ,llvm::LoopInfo*,llvm::Pass*,llvm::LPPassManager* ,llvm::AssumptionTracker*)707llvm.__Globals.UnrollLoop(llvm::Loop*,unsignedint,unsignedint,bool ,unsignedint,llvm::LoopInfo*,llvm::Pass*,llvm::LPPassManager* ,llvm::AssumptionTracker*)
mangleUnresolvedPrefix(clang::NestedNameSpecifier*,clang::NamedDecl* ,bool)697anonymous_namespace{itaniummangle.cpp}.CXXNameMangler .mangleUnresolvedPrefix(clang::NestedNameSpecifier*,clang::NamedDecl* ,bool)
parseStructuralElement()697clang.format.UnwrappedLineParser.parseStructuralElement()
depends(llvm::Instruction*,llvm::Instruction*,bool)6713llvm.DependenceAnalysis.depends(llvm::Instruction*,llvm::Instruction* ,bool)
tryCaptureVariable(clang::VarDecl*,clang::SourceLocation ,clang::Sema::TryCaptureKind,clang::SourceLocation,bool ,clang::QualType&,clang::QualType&,constunsignedint*const)679clang.Sema.tryCaptureVariable(clang::VarDecl*,clang::SourceLocation ,clang::Sema::TryCaptureKind,clang::SourceLocation,bool ,clang::QualType&,clang::QualType&,constunsignedint*const)
ReadSubmoduleBlock(ModuleFile&,unsignedint)678clang.ASTReader.ReadSubmoduleBlock(ModuleFile&,unsignedint)
visitAND(llvm::SDNode*)677anonymous_namespace{dagcombiner.cpp}.DAGCombiner.visitAND (llvm::SDNode*)
AddInitializerToDecl(clang::Decl*,clang::Expr*,bool,bool)677clang.Sema.AddInitializerToDecl(clang::Decl*,clang::Expr*,bool,bool)
VisitNode(constclang::ento::ExplodedNode* ,constclang::ento::ExplodedNode*,clang::ento::BugReporterContext& ,clang::ento::BugReport&)677clang.ento.FindLastStoreBRVisitor.VisitNode (constclang::ento::ExplodedNode*,constclang::ento::ExplodedNode* ,clang::ento::BugReporterContext&,clang::ento::BugReport&)
visitSelectInst(llvm::SelectInst&)676llvm.InstCombiner.visitSelectInst(llvm::SelectInst&)
LowerOperation(llvm::SDValue,llvm::SelectionDAG&)676llvm.R600TargetLowering.LowerOperation(llvm::SDValue ,llvm::SelectionDAG&)
VisitCastExpr(clang::CastExpr*)676anonymous_namespace{cgexpragg.cpp}.AggExprEmitter.VisitCastExpr (clang::CastExpr*)

Statistics

Stat   Cyclomatic Complexity (CC)   NestingDepth
Sum:38 7103 363
Average:80.987.04
Minimum:216
Maximum:12 44858
Standard deviation:568.612.92
Variance:323 3228.51
warningCritical    Critical Rule warning: Methods with too many parameters - critical
• Rule Description:

This rule matches methods with more than 8 parameters. Such method is painful to call and might degrade performance. See the definition of the NbParameters metric here: http://www.cppdepend.com/Metrics.aspx#NbParameters


• How to Fix Violations:

More properties/fields can be added to the declaring type to handle numerous states. An alternative is to provide a class or a structure dedicated to handle arguments passing.

423 methods matched

methods# ParametersFull Name
getFunction(bool,bool,clang::SourceLocation ,clang::DeclaratorChunk::ParamInfo*,unsignedint,clang::SourceLocation ,clang::SourceLocation,unsignedint,bool,clang::SourceLocation ,clang::SourceLocation,clang::SourceLocation,clang::SourceLocation ,clang::ExceptionSpecificationType,clang::SourceLocation,ParsedType* ,clang::SourceRange*,unsignedint,clang::Expr*,clang::SourceLocation ,clang::SourceLocation,clang::Declarator&,TypeResult)23clang.DeclaratorChunk.getFunction(bool,bool,clang::SourceLocation ,clang::DeclaratorChunk::ParamInfo*,unsignedint,clang::SourceLocation ,clang::SourceLocation,unsignedint,bool,clang::SourceLocation ,clang::SourceLocation,clang::SourceLocation,clang::SourceLocation ,clang::ExceptionSpecificationType,clang::SourceLocation,ParsedType* ,clang::SourceRange*,unsignedint,clang::Expr*,clang::SourceLocation ,clang::SourceLocation,clang::Declarator&,TypeResult)
ASTRecordLayout(constclang::ASTContext&,clang::CharUnits ,clang::CharUnits,clang::CharUnits,bool,bool,clang::CharUnits ,clang::CharUnits,constuint64_t*,unsignedint,clang::CharUnits ,clang::CharUnits,clang::CharUnits,constclang::CXXRecordDecl*,bool ,constclang::CXXRecordDecl*,bool,bool,constBaseOffsetsMapTy& ,constVBaseOffsetsMapTy&)20clang.ASTRecordLayout.ASTRecordLayout(constclang::ASTContext& ,clang::CharUnits,clang::CharUnits,clang::CharUnits,bool,bool ,clang::CharUnits,clang::CharUnits,constuint64_t*,unsignedint ,clang::CharUnits,clang::CharUnits,clang::CharUnits ,constclang::CXXRecordDecl*,bool,constclang::CXXRecordDecl*,bool,bool ,constBaseOffsetsMapTy&,constVBaseOffsetsMapTy&)
InsertLDR_STR(llvm::MachineBasicBlock&,MachineBasicBlock::iterator& ,int,bool,llvm::DebugLoc,unsignedint,unsignedint,bool,bool,unsignedint ,bool,bool,bool,bool,ARMCC::CondCodes,unsignedint ,constllvm::TargetInstrInfo*,bool)18__Globals.InsertLDR_STR(llvm::MachineBasicBlock& ,MachineBasicBlock::iterator&,int,bool,llvm::DebugLoc,unsignedint ,unsignedint,bool,bool,unsignedint,bool,bool,bool,bool ,ARMCC::CondCodes,unsignedint,constllvm::TargetInstrInfo*,bool)
findBestDAGFor(DenseMap<llvm::Value*,std::vector<Value*>>&,DenseSet <ValuePair>&,DenseMap<ValuePair,int>&,std::vector<Value*>&,DenseSet <ValuePair>&,DenseMap<VPPair,unsignedint>&,DenseMap<ValuePair ,std::vector<ValuePair>>&,DenseMap<ValuePair,std::vector<ValuePair>>& ,DenseSet<ValuePair>&,DenseMap<ValuePair,std::vector<ValuePair>>& ,DenseSet<VPPair>&,DenseMap<llvm::Value*,llvm::Value*>&,DenseSet <ValuePair>&,size_t&,int&,llvm::Value*,std::vector<Value*>&,bool)18anonymous_namespace{bbvectorize.cpp}.BBVectorize.findBestDAGFor (DenseMap<llvm::Value*,std::vector<Value*>>&,DenseSet<ValuePair>& ,DenseMap<ValuePair,int>&,std::vector<Value*>&,DenseSet<ValuePair>& ,DenseMap<VPPair,unsignedint>&,DenseMap<ValuePair,std::vector <ValuePair>>&,DenseMap<ValuePair,std::vector<ValuePair>>&,DenseSet <ValuePair>&,DenseMap<ValuePair,std::vector<ValuePair>>&,DenseSet <VPPair>&,DenseMap<llvm::Value*,llvm::Value*>&,DenseSet<ValuePair>& ,size_t&,int&,llvm::Value*,std::vector<Value*>&,bool)
LoadFromCommandLine(constchar**,constchar**,IntrusiveRefCntPtr <clang::DiagnosticsEngine>,llvm::StringRef,bool,bool,ArrayRef <RemappedFile>,bool,bool,clang::TranslationUnitKind,bool,bool,bool ,bool,bool,bool,std::unique_ptr<ASTUnit>*)17clang.ASTUnit.LoadFromCommandLine(constchar**,constchar** ,IntrusiveRefCntPtr<clang::DiagnosticsEngine>,llvm::StringRef,bool ,bool,ArrayRef<RemappedFile>,bool,bool,clang::TranslationUnitKind,bool ,bool,bool,bool,bool,bool,std::unique_ptr<ASTUnit>*)
ActOnTag(clang::Scope*,unsignedint,clang::Sema::TagUseKind ,clang::SourceLocation,clang::CXXScopeSpec&,clang::IdentifierInfo* ,clang::SourceLocation,clang::AttributeList*,clang::AccessSpecifier ,clang::SourceLocation,MultiTemplateParamsArg,bool&,bool& ,clang::SourceLocation,bool,TypeResult,bool)17clang.Sema.ActOnTag(clang::Scope*,unsignedint,clang::Sema::TagUseKind ,clang::SourceLocation,clang::CXXScopeSpec&,clang::IdentifierInfo* ,clang::SourceLocation,clang::AttributeList*,clang::AccessSpecifier ,clang::SourceLocation,MultiTemplateParamsArg,bool&,bool& ,clang::SourceLocation,bool,TypeResult,bool)
PrintSection(constchar*,constchar*,uint64_t,uint64_t,uint32_t,uint32_t ,uint32_t,uint32_t,uint32_t,uint32_t,uint32_t,uint32_t,constchar* ,uint32_t,uint32_t,bool)16__Globals.PrintSection(constchar*,constchar*,uint64_t,uint64_t ,uint32_t,uint32_t,uint32_t,uint32_t,uint32_t,uint32_t,uint32_t ,uint32_t,constchar*,uint32_t,uint32_t,bool)
createMethod(llvm::DIDescriptor,llvm::StringRef,llvm::StringRef ,llvm::DIFile,unsignedint,llvm::DICompositeType,bool,bool,unsignedint ,unsignedint,llvm::DIType,unsignedint,bool,llvm::Function* ,llvm::MDNode*)15llvm.DIBuilder.createMethod(llvm::DIDescriptor,llvm::StringRef ,llvm::StringRef,llvm::DIFile,unsignedint,llvm::DICompositeType,bool ,bool,unsignedint,unsignedint,llvm::DIType,unsignedint,bool ,llvm::Function*,llvm::MDNode*)
getLoad(ISD::MemIndexedMode,ISD::LoadExtType,llvm::EVT,llvm::SDLoc ,llvm::SDValue,llvm::SDValue,llvm::SDValue,llvm::MachinePointerInfo ,llvm::EVT,bool,bool,bool,unsignedint,constllvm::AAMDNodes& ,constllvm::MDNode*)15llvm.SelectionDAG.getLoad(ISD::MemIndexedMode,ISD::LoadExtType ,llvm::EVT,llvm::SDLoc,llvm::SDValue,llvm::SDValue,llvm::SDValue ,llvm::MachinePointerInfo,llvm::EVT,bool,bool,bool,unsignedint ,constllvm::AAMDNodes&,constllvm::MDNode*)
ActOnMethodDeclaration(clang::Scope*,clang::SourceLocation ,clang::SourceLocation,tok::TokenKind,clang::ObjCDeclSpec&,ParsedType ,ArrayRef<clang::SourceLocation>,clang::Selector ,clang::Sema::ObjCArgInfo*,DeclaratorChunk::ParamInfo*,unsignedint ,clang::AttributeList*,tok::ObjCKeywordKind,bool,bool)15clang.Sema.ActOnMethodDeclaration(clang::Scope*,clang::SourceLocation ,clang::SourceLocation,tok::TokenKind,clang::ObjCDeclSpec&,ParsedType ,ArrayRef<clang::SourceLocation>,clang::Selector ,clang::Sema::ObjCArgInfo*,DeclaratorChunk::ParamInfo*,unsignedint ,clang::AttributeList*,tok::ObjCKeywordKind,bool,bool)
MergeOpsUpdate(llvm::MachineBasicBlock&,MemOpQueue&,unsignedint ,unsignedint,unsignedint,int,unsignedint,bool,int,ARMCC::CondCodes ,unsignedint,unsignedint,llvm::DebugLoc,SmallVectorImpl <MachineBasicBlock::iterator>&)14anonymous_namespace{armloadstoreoptimizer.cpp}.ARMLoadStoreOpt .MergeOpsUpdate(llvm::MachineBasicBlock&,MemOpQueue&,unsignedint ,unsignedint,unsignedint,int,unsignedint,bool,int,ARMCC::CondCodes ,unsignedint,unsignedint,llvm::DebugLoc,SmallVectorImpl <MachineBasicBlock::iterator>&)
createFunction(llvm::DIDescriptor,llvm::StringRef,llvm::StringRef ,llvm::DIFile,unsignedint,llvm::DICompositeType,bool,bool,unsignedint ,unsignedint,bool,llvm::Function*,llvm::MDNode*,llvm::MDNode*)14llvm.DIBuilder.createFunction(llvm::DIDescriptor,llvm::StringRef ,llvm::StringRef,llvm::DIFile,unsignedint,llvm::DICompositeType,bool ,bool,unsignedint,unsignedint,bool,llvm::Function*,llvm::MDNode* ,llvm::MDNode*)
createFunction(DIScopeRef,llvm::StringRef,llvm::StringRef,llvm::DIFile ,unsignedint,llvm::DICompositeType,bool,bool,unsignedint,unsignedint ,bool,llvm::Function*,llvm::MDNode*,llvm::MDNode*)14llvm.DIBuilder.createFunction(DIScopeRef,llvm::StringRef ,llvm::StringRef,llvm::DIFile,unsignedint,llvm::DICompositeType,bool ,bool,unsignedint,unsignedint,bool,llvm::Function*,llvm::MDNode* ,llvm::MDNode*)
InitMCRegisterInfo(constllvm::MCRegisterDesc*,unsignedint,unsignedint ,unsignedint,constllvm::MCRegisterClass*,unsignedint,constMCPhysReg(* )[2],unsignedint,constMCPhysReg*,constchar*,constuint16_t*,unsignedint ,constllvm::MCRegisterInfo::SubRegCoveredBits*,constuint16_t*)14llvm.MCRegisterInfo.InitMCRegisterInfo(constllvm::MCRegisterDesc* ,unsignedint,unsignedint,unsignedint,constllvm::MCRegisterClass* ,unsignedint,constMCPhysReg(*)[2],unsignedint,constMCPhysReg* ,constchar*,constuint16_t*,unsignedint ,constllvm::MCRegisterInfo::SubRegCoveredBits*,constuint16_t*)
Create(clang::ASTContext&,clang::SourceLocation,clang::SourceLocation ,clang::Selector,clang::QualType,clang::TypeSourceInfo* ,clang::DeclContext*,bool,bool,bool,bool,bool ,clang::ObjCMethodDecl::ImplementationControl,bool)14clang.ObjCMethodDecl.Create(clang::ASTContext&,clang::SourceLocation ,clang::SourceLocation,clang::Selector,clang::QualType ,clang::TypeSourceInfo*,clang::DeclContext*,bool,bool,bool,bool,bool ,clang::ObjCMethodDecl::ImplementationControl,bool)
CXXNewExpr(constclang::ASTContext&,bool,clang::FunctionDecl* ,clang::FunctionDecl*,bool,ArrayRef<clang::Expr*>,clang::SourceRange ,clang::Expr*,clang::CXXNewExpr::InitializationStyle,clang::Expr* ,clang::QualType,clang::TypeSourceInfo*,clang::SourceRange ,clang::SourceRange)14clang.CXXNewExpr.CXXNewExpr(constclang::ASTContext&,bool ,clang::FunctionDecl*,clang::FunctionDecl*,bool,ArrayRef<clang::Expr*> ,clang::SourceRange,clang::Expr* ,clang::CXXNewExpr::InitializationStyle,clang::Expr*,clang::QualType ,clang::TypeSourceInfo*,clang::SourceRange,clang::SourceRange)
GenerateClassStructure(llvm::Constant*,llvm::Constant*,unsignedint ,constchar*,llvm::Constant*,llvm::Constant*,llvm::Constant* ,llvm::Constant*,llvm::Constant*,llvm::Constant*,llvm::Constant* ,llvm::Constant*,llvm::Constant*,bool)14anonymous_namespace{cgobjcgnu.cpp}.CGObjCGNU.GenerateClassStructure (llvm::Constant*,llvm::Constant*,unsignedint,constchar* ,llvm::Constant*,llvm::Constant*,llvm::Constant*,llvm::Constant* ,llvm::Constant*,llvm::Constant*,llvm::Constant*,llvm::Constant* ,llvm::Constant*,bool)
CodeComplete(llvm::StringRef,unsignedint,unsignedint,ArrayRef <RemappedFile>,bool,bool,bool,clang::CodeCompleteConsumer& ,clang::DiagnosticsEngine&,clang::LangOptions&,clang::SourceManager& ,clang::FileManager&,SmallVectorImpl<clang::StoredDiagnostic>& ,SmallVectorImpl<constllvm::MemoryBuffer*>&)14clang.ASTUnit.CodeComplete(llvm::StringRef,unsignedint,unsignedint ,ArrayRef<RemappedFile>,bool,bool,bool,clang::CodeCompleteConsumer& ,clang::DiagnosticsEngine&,clang::LangOptions&,clang::SourceManager& ,clang::FileManager&,SmallVectorImpl<clang::StoredDiagnostic>& ,SmallVectorImpl<constllvm::MemoryBuffer*>&)
CreatePropertyDecl(clang::Scope*,clang::ObjCContainerDecl* ,clang::SourceLocation,clang::SourceLocation,clang::FieldDeclarator& ,clang::Selector,clang::Selector,constbool,constbool,constunsignedint ,constunsignedint,clang::TypeSourceInfo*,tok::ObjCKeywordKind ,clang::DeclContext*)14clang.Sema.CreatePropertyDecl(clang::Scope*,clang::ObjCContainerDecl* ,clang::SourceLocation,clang::SourceLocation,clang::FieldDeclarator& ,clang::Selector,clang::Selector,constbool,constbool,constunsignedint ,constunsignedint,clang::TypeSourceInfo*,tok::ObjCKeywordKind ,clang::DeclContext*)
CheckClassTemplate(clang::Scope*,unsignedint,clang::Sema::TagUseKind ,clang::SourceLocation,clang::CXXScopeSpec&,clang::IdentifierInfo* ,clang::SourceLocation,clang::AttributeList* ,clang::TemplateParameterList*,clang::AccessSpecifier ,clang::SourceLocation,clang::SourceLocation,unsignedint ,clang::TemplateParameterList**)14clang.Sema.CheckClassTemplate(clang::Scope*,unsignedint ,clang::Sema::TagUseKind,clang::SourceLocation,clang::CXXScopeSpec& ,clang::IdentifierInfo*,clang::SourceLocation,clang::AttributeList* ,clang::TemplateParameterList*,clang::AccessSpecifier ,clang::SourceLocation,clang::SourceLocation,unsignedint ,clang::TemplateParameterList**)
DumpSectionData(constllvm::object::MachOObjectFile&,unsignedint ,llvm::StringRef,llvm::StringRef,uint64_t,uint64_t,uint32_t,uint32_t ,uint32_t,uint32_t,uint32_t,uint32_t,uint32_t,uint64_t)14__Globals.DumpSectionData(constllvm::object::MachOObjectFile& ,unsignedint,llvm::StringRef,llvm::StringRef,uint64_t,uint64_t ,uint32_t,uint32_t,uint32_t,uint32_t,uint32_t,uint32_t,uint32_t ,uint64_t)
createClassType(llvm::DIDescriptor,llvm::StringRef,llvm::DIFile ,unsignedint,uint64_t,uint64_t,uint64_t,unsignedint,llvm::DIType ,DIArray,llvm::DIType,llvm::MDNode*,llvm::StringRef)13llvm.DIBuilder.createClassType(llvm::DIDescriptor,llvm::StringRef ,llvm::DIFile,unsignedint,uint64_t,uint64_t,uint64_t,unsignedint ,llvm::DIType,DIArray,llvm::DIType,llvm::MDNode*,llvm::StringRef)
LLVMDisasmContext(std::string,void*,int,LLVMOpInfoCallback ,LLVMSymbolLookupCallback,constllvm::Target*,constllvm::MCAsmInfo* ,constllvm::MCRegisterInfo*,constllvm::MCSubtargetInfo* ,constllvm::MCInstrInfo*,llvm::MCContext*,constllvm::MCDisassembler* ,llvm::MCInstPrinter*)13llvm.LLVMDisasmContext.LLVMDisasmContext(std::string,void*,int ,LLVMOpInfoCallback,LLVMSymbolLookupCallback,constllvm::Target* ,constllvm::MCAsmInfo*,constllvm::MCRegisterInfo* ,constllvm::MCSubtargetInfo*,constllvm::MCInstrInfo*,llvm::MCContext* ,constllvm::MCDisassembler*,llvm::MCInstPrinter*)
LowerMemOpCallTo(llvm::SelectionDAG&,llvm::MachineFunction& ,llvm::SDValue,llvm::SDValue,llvm::SDValue,int,unsignedint,bool,bool ,bool,SmallVectorImpl<llvm::SDValue>&,SmallVectorImpl< (anonymousnamespace)::TailCallArgumentInfo>&,llvm::SDLoc)13__Globals.LowerMemOpCallTo(llvm::SelectionDAG&,llvm::MachineFunction& ,llvm::SDValue,llvm::SDValue,llvm::SDValue,int,unsignedint,bool,bool ,bool,SmallVectorImpl<llvm::SDValue>&,SmallVectorImpl< (anonymousnamespace)::TailCallArgumentInfo>&,llvm::SDLoc)
FinishCall(CallingConv::ID,llvm::SDLoc,bool,bool,llvm::SelectionDAG& ,SmallVector<std::pair<unsignedint,SDValue>,8>&,llvm::SDValue ,llvm::SDValue,llvm::SDValue&,int,unsignedint,constSmallVectorImpl <ISD::InputArg>&,SmallVectorImpl<llvm::SDValue>&)13llvm.PPCTargetLowering.FinishCall(CallingConv::ID,llvm::SDLoc,bool ,bool,llvm::SelectionDAG&,SmallVector<std::pair<unsignedint,SDValue>,8 >&,llvm::SDValue,llvm::SDValue,llvm::SDValue&,int,unsignedint ,constSmallVectorImpl<ISD::InputArg>&,SmallVectorImpl<llvm::SDValue>&)
getAtomicCmpSwap(unsignedint,llvm::SDLoc,llvm::EVT,llvm::SDVTList ,llvm::SDValue,llvm::SDValue,llvm::SDValue,llvm::SDValue ,llvm::MachinePointerInfo,unsignedint,llvm::AtomicOrdering ,llvm::AtomicOrdering,llvm::SynchronizationScope)13llvm.SelectionDAG.getAtomicCmpSwap(unsignedint,llvm::SDLoc,llvm::EVT ,llvm::SDVTList,llvm::SDValue,llvm::SDValue,llvm::SDValue ,llvm::SDValue,llvm::MachinePointerInfo,unsignedint ,llvm::AtomicOrdering,llvm::AtomicOrdering,llvm::SynchronizationScope)
GCCAsmStmt(constclang::ASTContext&,clang::SourceLocation,bool,bool ,unsignedint,unsignedint,clang::IdentifierInfo** ,clang::StringLiteral**,clang::Expr**,clang::StringLiteral* ,unsignedint,clang::StringLiteral**,clang::SourceLocation)13clang.GCCAsmStmt.GCCAsmStmt(constclang::ASTContext& ,clang::SourceLocation,bool,bool,unsignedint,unsignedint ,clang::IdentifierInfo**,clang::StringLiteral**,clang::Expr** ,clang::StringLiteral*,unsignedint,clang::StringLiteral** ,clang::SourceLocation)
MSAsmStmt(constclang::ASTContext&,clang::SourceLocation ,clang::SourceLocation,bool,bool,ArrayRef<clang::Token>,unsignedint ,unsignedint,ArrayRef<llvm::StringRef>,ArrayRef<clang::Expr*> ,llvm::StringRef,ArrayRef<llvm::StringRef>,clang::SourceLocation)13clang.MSAsmStmt.MSAsmStmt(constclang::ASTContext& ,clang::SourceLocation,clang::SourceLocation,bool,bool,ArrayRef <clang::Token>,unsignedint,unsignedint,ArrayRef<llvm::StringRef> ,ArrayRef<clang::Expr*>,llvm::StringRef,ArrayRef<llvm::StringRef> ,clang::SourceLocation)
ObjCMethodDecl(clang::SourceLocation,clang::SourceLocation ,clang::Selector,clang::QualType,clang::TypeSourceInfo* ,clang::DeclContext*,bool,bool,bool,bool,bool ,clang::ObjCMethodDecl::ImplementationControl,bool)13clang.ObjCMethodDecl.ObjCMethodDecl(clang::SourceLocation ,clang::SourceLocation,clang::Selector,clang::QualType ,clang::TypeSourceInfo*,clang::DeclContext*,bool,bool,bool,bool,bool ,clang::ObjCMethodDecl::ImplementationControl,bool)
CXXConstructExpr(constclang::ASTContext&,clang::Stmt::StmtClass ,clang::QualType,clang::SourceLocation,clang::CXXConstructorDecl*,bool ,ArrayRef<clang::Expr*>,bool,bool,bool,bool ,clang::CXXConstructExpr::ConstructionKind,clang::SourceRange)13clang.CXXConstructExpr.CXXConstructExpr(constclang::ASTContext& ,clang::Stmt::StmtClass,clang::QualType,clang::SourceLocation ,clang::CXXConstructorDecl*,bool,ArrayRef<clang::Expr*>,bool,bool,bool ,bool,clang::CXXConstructExpr::ConstructionKind,clang::SourceRange)
Create(constclang::ASTContext&,clang::CXXRecordDecl* ,clang::SourceRange,clang::LambdaCaptureDefault,clang::SourceLocation ,ArrayRef<Capture>,bool,bool,ArrayRef<clang::Expr*>,ArrayRef <clang::VarDecl*>,ArrayRef<unsignedint>,clang::SourceLocation,bool)13clang.LambdaExpr.Create(constclang::ASTContext&,clang::CXXRecordDecl* ,clang::SourceRange,clang::LambdaCaptureDefault,clang::SourceLocation ,ArrayRef<Capture>,bool,bool,ArrayRef<clang::Expr*>,ArrayRef <clang::VarDecl*>,ArrayRef<unsignedint>,clang::SourceLocation,bool)
ObjCMessageExpr(clang::QualType,clang::ExprValueKind ,clang::SourceLocation,clang::SourceLocation,bool,clang::QualType ,clang::Selector,ArrayRef<clang::SourceLocation> ,clang::SelectorLocationsKind,clang::ObjCMethodDecl*,ArrayRef <clang::Expr*>,clang::SourceLocation,bool)13clang.ObjCMessageExpr.ObjCMessageExpr(clang::QualType ,clang::ExprValueKind,clang::SourceLocation,clang::SourceLocation,bool ,clang::QualType,clang::Selector,ArrayRef<clang::SourceLocation> ,clang::SelectorLocationsKind,clang::ObjCMethodDecl*,ArrayRef <clang::Expr*>,clang::SourceLocation,bool)
Create(constclang::ASTContext&,clang::QualType,clang::ExprValueKind ,clang::SourceLocation,clang::SourceLocation,bool,clang::QualType ,clang::Selector,ArrayRef<clang::SourceLocation> ,clang::ObjCMethodDecl*,ArrayRef<clang::Expr*>,clang::SourceLocation ,bool)13clang.ObjCMessageExpr.Create(constclang::ASTContext&,clang::QualType ,clang::ExprValueKind,clang::SourceLocation,clang::SourceLocation,bool ,clang::QualType,clang::Selector,ArrayRef<clang::SourceLocation> ,clang::ObjCMethodDecl*,ArrayRef<clang::Expr*>,clang::SourceLocation ,bool)
LoadFromCompilerInvocationAction(clang::CompilerInvocation* ,IntrusiveRefCntPtr<clang::DiagnosticsEngine> ,clang::ASTFrontendAction*,clang::ASTUnit*,bool,llvm::StringRef,bool ,bool,bool,bool,bool,bool,std::unique_ptr<ASTUnit>*)13clang.ASTUnit.LoadFromCompilerInvocationAction (clang::CompilerInvocation*,IntrusiveRefCntPtr <clang::DiagnosticsEngine>,clang::ASTFrontendAction*,clang::ASTUnit* ,bool,llvm::StringRef,bool,bool,bool,bool,bool,bool,std::unique_ptr <ASTUnit>*)
BuildMemberExpr(clang::Sema&,clang::ASTContext&,clang::Expr*,bool ,constclang::CXXScopeSpec&,clang::SourceLocation,clang::ValueDecl* ,clang::DeclAccessPair,constclang::DeclarationNameInfo& ,clang::QualType,clang::ExprValueKind,clang::ExprObjectKind ,constclang::TemplateArgumentListInfo*)13__Globals.BuildMemberExpr(clang::Sema&,clang::ASTContext&,clang::Expr* ,bool,constclang::CXXScopeSpec&,clang::SourceLocation ,clang::ValueDecl*,clang::DeclAccessPair ,constclang::DeclarationNameInfo&,clang::QualType,clang::ExprValueKind ,clang::ExprObjectKind,constclang::TemplateArgumentListInfo*)
HandlePropertyInClassExtension(clang::Scope*,clang::SourceLocation ,clang::SourceLocation,clang::FieldDeclarator&,clang::Selector ,clang::Selector,constbool,constbool,constunsignedint,constunsignedint ,bool*,clang::TypeSourceInfo*,tok::ObjCKeywordKind)13clang.Sema.HandlePropertyInClassExtension(clang::Scope* ,clang::SourceLocation,clang::SourceLocation,clang::FieldDeclarator& ,clang::Selector,clang::Selector,constbool,constbool,constunsignedint ,constunsignedint,bool*,clang::TypeSourceInfo*,tok::ObjCKeywordKind)
CheckPrintfHandler(clang::Sema&,constclang::StringLiteral* ,constclang::Expr*,unsignedint,unsignedint,bool,constchar*,bool ,ArrayRef<constclang::Expr*>,unsignedint,bool,Sema::VariadicCallType ,llvm::SmallBitVector&)13anonymous_namespace{semachecking.cpp}.CheckPrintfHandler .CheckPrintfHandler(clang::Sema&,constclang::StringLiteral* ,constclang::Expr*,unsignedint,unsignedint,bool,constchar*,bool ,ArrayRef<constclang::Expr*>,unsignedint,bool,Sema::VariadicCallType ,llvm::SmallBitVector&)
PrintSegmentCommand(uint32_t,uint32_t,llvm::StringRef,uint64_t ,uint64_t,uint64_t,uint64_t,uint32_t,uint32_t,uint32_t,uint32_t ,uint32_t,bool)13__Globals.PrintSegmentCommand(uint32_t,uint32_t,llvm::StringRef ,uint64_t,uint64_t,uint64_t,uint64_t,uint32_t,uint32_t,uint32_t ,uint32_t,uint32_t,bool)
StoreByValRegs(llvm::CCState&,llvm::SelectionDAG&,llvm::SDLoc ,llvm::SDValue&,constllvm::Value*,unsignedint,unsignedint,unsignedint ,unsignedint,bool,unsignedint,unsignedint)12llvm.ARMTargetLowering.StoreByValRegs(llvm::CCState& ,llvm::SelectionDAG&,llvm::SDLoc,llvm::SDValue&,constllvm::Value* ,unsignedint,unsignedint,unsignedint,unsignedint,bool,unsignedint ,unsignedint)
MergeOps(llvm::MachineBasicBlock&,MachineBasicBlock::iterator,int ,unsignedint,bool,int,ARMCC::CondCodes,unsignedint,unsignedint ,llvm::DebugLoc,ArrayRef<std::pair<unsignedint,bool>>,ArrayRef <unsignedint>)12anonymous_namespace{armloadstoreoptimizer.cpp}.ARMLoadStoreOpt .MergeOps(llvm::MachineBasicBlock&,MachineBasicBlock::iterator,int ,unsignedint,bool,int,ARMCC::CondCodes,unsignedint,unsignedint ,llvm::DebugLoc,ArrayRef<std::pair<unsignedint,bool>>,ArrayRef <unsignedint>)
createObjCIVar(llvm::StringRef,llvm::DIFile,unsignedint,uint64_t ,uint64_t,uint64_t,unsignedint,llvm::DIType,llvm::StringRef ,llvm::StringRef,llvm::StringRef,unsignedint)12llvm.DIBuilder.createObjCIVar(llvm::StringRef,llvm::DIFile,unsignedint ,uint64_t,uint64_t,uint64_t,unsignedint,llvm::DIType,llvm::StringRef ,llvm::StringRef,llvm::StringRef,unsignedint)
createStructType(llvm::DIDescriptor,llvm::StringRef,llvm::DIFile ,unsignedint,uint64_t,uint64_t,unsignedint,llvm::DIType,DIArray ,unsignedint,llvm::DIType,llvm::StringRef)12llvm.DIBuilder.createStructType(llvm::DIDescriptor,llvm::StringRef ,llvm::DIFile,unsignedint,uint64_t,uint64_t,unsignedint,llvm::DIType ,DIArray,unsignedint,llvm::DIType,llvm::StringRef)
InitMCSubtargetInfo(llvm::StringRef,llvm::StringRef,llvm::StringRef ,ArrayRef<llvm::SubtargetFeatureKV>,ArrayRef<llvm::SubtargetFeatureKV> ,constllvm::SubtargetInfoKV*,constllvm::MCWriteProcResEntry* ,constllvm::MCWriteLatencyEntry*,constllvm::MCReadAdvanceEntry* ,constllvm::InstrStage*,constunsignedint*,constunsignedint*)12llvm.MCSubtargetInfo.InitMCSubtargetInfo(llvm::StringRef ,llvm::StringRef,llvm::StringRef,ArrayRef<llvm::SubtargetFeatureKV> ,ArrayRef<llvm::SubtargetFeatureKV>,constllvm::SubtargetInfoKV* ,constllvm::MCWriteProcResEntry*,constllvm::MCWriteLatencyEntry* ,constllvm::MCReadAdvanceEntry*,constllvm::InstrStage* ,constunsignedint*,constunsignedint*)
passByValArg(llvm::SDValue,llvm::SDLoc,std::deque<std::pair <unsignedint,SDValue>>&,SmallVectorImpl<llvm::SDValue>&,llvm::SDValue ,llvm::MachineFrameInfo*,llvm::SelectionDAG&,llvm::SDValue ,constllvm::MipsTargetLowering::MipsCC& ,constllvm::MipsTargetLowering::ByValArgInfo&,constISD::ArgFlagsTy& ,bool)12llvm.MipsTargetLowering.passByValArg(llvm::SDValue,llvm::SDLoc ,std::deque<std::pair<unsignedint,SDValue>>&,SmallVectorImpl <llvm::SDValue>&,llvm::SDValue,llvm::MachineFrameInfo* ,llvm::SelectionDAG&,llvm::SDValue ,constllvm::MipsTargetLowering::MipsCC& ,constllvm::MipsTargetLowering::ByValArgInfo&,constISD::ArgFlagsTy& ,bool)
ConnectTDBUTraversals(DenseMap<constllvm::BasicBlock*, (anonymousnamespace)::BBState>&,MapVector<llvm::Value*, (anonymousnamespace)::RRInfo>&,DenseMap<llvm::Value*, (anonymousnamespace)::RRInfo>&,llvm::Module*,SmallVectorImpl <llvm::Instruction*>&,SmallVectorImpl<llvm::Instruction*>& ,SmallVectorImpl<llvm::Instruction*>&,(anonymousnamespace)::RRInfo&, (anonymousnamespace)::RRInfo&,llvm::Value*,bool,bool&)12anonymous_namespace{objcarcopts.cpp}.ObjCARCOpt.ConnectTDBUTraversals (DenseMap<constllvm::BasicBlock*,(anonymousnamespace)::BBState>& ,MapVector<llvm::Value*,(anonymousnamespace)::RRInfo>&,DenseMap <llvm::Value*,(anonymousnamespace)::RRInfo>&,llvm::Module* ,SmallVectorImpl<llvm::Instruction*>&,SmallVectorImpl <llvm::Instruction*>&,SmallVectorImpl<llvm::Instruction*>&, (anonymousnamespace)::RRInfo&,(anonymousnamespace)::RRInfo& ,llvm::Value*,bool,bool&)
LoopPromoter(llvm::Value*,constSmallVectorImpl<llvm::Instruction*>& ,llvm::SSAUpdater&,SmallPtrSetImpl<llvm::Value*>&,SmallVectorImpl <llvm::BasicBlock*>&,SmallVectorImpl<llvm::Instruction*>& ,llvm::PredIteratorCache&,llvm::AliasSetTracker&,llvm::LoopInfo& ,llvm::DebugLoc,int,constllvm::AAMDNodes&)12anonymous_namespace{licm.cpp}.LoopPromoter.LoopPromoter(llvm::Value* ,constSmallVectorImpl<llvm::Instruction*>&,llvm::SSAUpdater& ,SmallPtrSetImpl<llvm::Value*>&,SmallVectorImpl<llvm::BasicBlock*>& ,SmallVectorImpl<llvm::Instruction*>&,llvm::PredIteratorCache& ,llvm::AliasSetTracker&,llvm::LoopInfo&,llvm::DebugLoc,int ,constllvm::AAMDNodes&)
getAtomicCmpSwap(unsignedint,llvm::SDLoc,llvm::EVT,llvm::SDVTList ,llvm::SDValue,llvm::SDValue,llvm::SDValue,llvm::SDValue ,llvm::MachineMemOperand*,llvm::AtomicOrdering,llvm::AtomicOrdering ,llvm::SynchronizationScope)12llvm.SelectionDAG.getAtomicCmpSwap(unsignedint,llvm::SDLoc,llvm::EVT ,llvm::SDVTList,llvm::SDValue,llvm::SDValue,llvm::SDValue ,llvm::SDValue,llvm::MachineMemOperand*,llvm::AtomicOrdering ,llvm::AtomicOrdering,llvm::SynchronizationScope)
getExtLoad(ISD::LoadExtType,llvm::SDLoc,llvm::EVT,llvm::SDValue ,llvm::SDValue,llvm::MachinePointerInfo,llvm::EVT,bool,bool,bool ,unsignedint,constllvm::AAMDNodes&)12llvm.SelectionDAG.getExtLoad(ISD::LoadExtType,llvm::SDLoc,llvm::EVT ,llvm::SDValue,llvm::SDValue,llvm::MachinePointerInfo,llvm::EVT,bool ,bool,bool,unsignedint,constllvm::AAMDNodes&)
AtomicSDNode(unsignedint,unsignedint,llvm::DebugLoc,llvm::SDVTList ,llvm::EVT,llvm::SDValue,llvm::SDValue,llvm::SDValue,llvm::SDValue ,llvm::MachineMemOperand*,llvm::AtomicOrdering ,llvm::SynchronizationScope)12llvm.AtomicSDNode.AtomicSDNode(unsignedint,unsignedint,llvm::DebugLoc ,llvm::SDVTList,llvm::EVT,llvm::SDValue,llvm::SDValue,llvm::SDValue ,llvm::SDValue,llvm::MachineMemOperand*,llvm::AtomicOrdering ,llvm::SynchronizationScope)
AtomicSDNode(unsignedint,unsignedint,llvm::DebugLoc,llvm::SDVTList ,llvm::EVT,constllvm::SDValue*,llvm::SDUse*,unsignedint ,llvm::MachineMemOperand*,llvm::AtomicOrdering,llvm::AtomicOrdering ,llvm::SynchronizationScope)12llvm.AtomicSDNode.AtomicSDNode(unsignedint,unsignedint,llvm::DebugLoc ,llvm::SDVTList,llvm::EVT,constllvm::SDValue*,llvm::SDUse*,unsignedint ,llvm::MachineMemOperand*,llvm::AtomicOrdering,llvm::AtomicOrdering ,llvm::SynchronizationScope)
doConversion(clang::ASTContext*,constclang::VarDecl* ,constclang::VarDecl*,llvm::StringRef,constUsageResult& ,constclang::DeclStmt*,bool,bool,constclang::ForStmt*,bool,bool,bool)12LoopFixer.doConversion(clang::ASTContext*,constclang::VarDecl* ,constclang::VarDecl*,llvm::StringRef,constUsageResult& ,constclang::DeclStmt*,bool,bool,constclang::ForStmt*,bool,bool,bool)
getObjCEncodingForTypeImpl(clang::QualType,std::string&,bool,bool ,constclang::FieldDecl*,bool,bool,bool,bool,bool,bool,clang::QualType* )12clang.ASTContext.getObjCEncodingForTypeImpl(clang::QualType ,std::string&,bool,bool,constclang::FieldDecl*,bool,bool,bool,bool ,bool,bool,clang::QualType*)
Create(constclang::ASTContext&,clang::Expr*,bool ,clang::NestedNameSpecifierLoc,clang::SourceLocation,clang::ValueDecl* ,clang::DeclAccessPair,clang::DeclarationNameInfo ,constclang::TemplateArgumentListInfo*,clang::QualType ,clang::ExprValueKind,clang::ExprObjectKind)12clang.MemberExpr.Create(constclang::ASTContext&,clang::Expr*,bool ,clang::NestedNameSpecifierLoc,clang::SourceLocation,clang::ValueDecl* ,clang::DeclAccessPair,clang::DeclarationNameInfo ,constclang::TemplateArgumentListInfo*,clang::QualType ,clang::ExprValueKind,clang::ExprObjectKind)
Create(constclang::ASTContext&,clang::DeclContext* ,clang::SourceLocation,clang::SourceLocation,unsignedint,unsignedint ,clang::IdentifierInfo*,clang::QualType,clang::TypeSourceInfo* ,constclang::QualType*,unsignedint,clang::TypeSourceInfo**)12clang.NonTypeTemplateParmDecl.Create(constclang::ASTContext& ,clang::DeclContext*,clang::SourceLocation,clang::SourceLocation ,unsignedint,unsignedint,clang::IdentifierInfo*,clang::QualType ,clang::TypeSourceInfo*,constclang::QualType*,unsignedint ,clang::TypeSourceInfo**)
Create(clang::ASTContext&,TagKind,clang::DeclContext* ,clang::SourceLocation,clang::SourceLocation ,clang::TemplateParameterList*,clang::ClassTemplateDecl* ,constclang::TemplateArgument*,unsignedint ,constclang::TemplateArgumentListInfo&,clang::QualType ,clang::ClassTemplatePartialSpecializationDecl*)12clang.ClassTemplatePartialSpecializationDecl.Create(clang::ASTContext& ,TagKind,clang::DeclContext*,clang::SourceLocation ,clang::SourceLocation,clang::TemplateParameterList* ,clang::ClassTemplateDecl*,constclang::TemplateArgument*,unsignedint ,constclang::TemplateArgumentListInfo&,clang::QualType ,clang::ClassTemplatePartialSpecializationDecl*)
VarTemplatePartialSpecializationDecl(clang::ASTContext& ,clang::DeclContext*,clang::SourceLocation,clang::SourceLocation ,clang::TemplateParameterList*,clang::VarTemplateDecl*,clang::QualType ,clang::TypeSourceInfo*,StorageClass,constclang::TemplateArgument* ,unsignedint,constclang::ASTTemplateArgumentListInfo*)12clang.VarTemplatePartialSpecializationDecl .VarTemplatePartialSpecializationDecl(clang::ASTContext& ,clang::DeclContext*,clang::SourceLocation,clang::SourceLocation ,clang::TemplateParameterList*,clang::VarTemplateDecl*,clang::QualType ,clang::TypeSourceInfo*,StorageClass,constclang::TemplateArgument* ,unsignedint,constclang::ASTTemplateArgumentListInfo*)
Create(clang::ASTContext&,clang::DeclContext*,clang::SourceLocation ,clang::SourceLocation,clang::TemplateParameterList* ,clang::VarTemplateDecl*,clang::QualType,clang::TypeSourceInfo* ,StorageClass,constclang::TemplateArgument*,unsignedint ,constclang::TemplateArgumentListInfo&)12clang.VarTemplatePartialSpecializationDecl.Create(clang::ASTContext& ,clang::DeclContext*,clang::SourceLocation,clang::SourceLocation ,clang::TemplateParameterList*,clang::VarTemplateDecl*,clang::QualType ,clang::TypeSourceInfo*,StorageClass,constclang::TemplateArgument* ,unsignedint,constclang::TemplateArgumentListInfo&)
Create(constclang::ASTContext&,clang::QualType,clang::SourceLocation ,clang::CXXConstructorDecl*,bool,ArrayRef<clang::Expr*>,bool,bool,bool ,bool,clang::CXXConstructExpr::ConstructionKind,clang::SourceRange)12clang.CXXConstructExpr.Create(constclang::ASTContext&,clang::QualType ,clang::SourceLocation,clang::CXXConstructorDecl*,bool,ArrayRef <clang::Expr*>,bool,bool,bool,bool ,clang::CXXConstructExpr::ConstructionKind,clang::SourceRange)
LambdaExpr(clang::QualType,clang::SourceRange ,clang::LambdaCaptureDefault,clang::SourceLocation,ArrayRef<Capture> ,bool,bool,ArrayRef<clang::Expr*>,ArrayRef<clang::VarDecl*>,ArrayRef <unsignedint>,clang::SourceLocation,bool)12clang.LambdaExpr.LambdaExpr(clang::QualType,clang::SourceRange ,clang::LambdaCaptureDefault,clang::SourceLocation,ArrayRef<Capture> ,bool,bool,ArrayRef<clang::Expr*>,ArrayRef<clang::VarDecl*>,ArrayRef <unsignedint>,clang::SourceLocation,bool)
UnresolvedMemberExpr(constclang::ASTContext&,bool,clang::Expr* ,clang::QualType,bool,clang::SourceLocation ,clang::NestedNameSpecifierLoc,clang::SourceLocation ,constclang::DeclarationNameInfo& ,constclang::TemplateArgumentListInfo*,clang::UnresolvedSetIterator ,clang::UnresolvedSetIterator)12clang.UnresolvedMemberExpr.UnresolvedMemberExpr (constclang::ASTContext&,bool,clang::Expr*,clang::QualType,bool ,clang::SourceLocation,clang::NestedNameSpecifierLoc ,clang::SourceLocation,constclang::DeclarationNameInfo& ,constclang::TemplateArgumentListInfo*,clang::UnresolvedSetIterator ,clang::UnresolvedSetIterator)
Create(constclang::ASTContext&,bool,clang::Expr*,clang::QualType,bool ,clang::SourceLocation,clang::NestedNameSpecifierLoc ,clang::SourceLocation,constclang::DeclarationNameInfo& ,constclang::TemplateArgumentListInfo*,clang::UnresolvedSetIterator ,clang::UnresolvedSetIterator)12clang.UnresolvedMemberExpr.Create(constclang::ASTContext&,bool ,clang::Expr*,clang::QualType,bool,clang::SourceLocation ,clang::NestedNameSpecifierLoc,clang::SourceLocation ,constclang::DeclarationNameInfo& ,constclang::TemplateArgumentListInfo*,clang::UnresolvedSetIterator ,clang::UnresolvedSetIterator)
isOneOf(tok::TokenKind,tok::TokenKind,tok::TokenKind,tok::TokenKind ,tok::TokenKind,tok::TokenKind,tok::TokenKind,tok::TokenKind ,tok::TokenKind,tok::TokenKind,tok::TokenKind,tok::TokenKind)12clang.format.FormatToken.isOneOf(tok::TokenKind,tok::TokenKind ,tok::TokenKind,tok::TokenKind,tok::TokenKind,tok::TokenKind ,tok::TokenKind,tok::TokenKind,tok::TokenKind,tok::TokenKind ,tok::TokenKind,tok::TokenKind)
BuildNonArrayForRange(clang::Sema&,clang::Scope*,clang::Expr* ,clang::Expr*,clang::QualType,clang::VarDecl*,clang::VarDecl* ,clang::SourceLocation,clang::OverloadCandidateSet*,ExprResult* ,ExprResult*,Sema::BeginEndFunction*)12__Globals.BuildNonArrayForRange(clang::Sema&,clang::Scope* ,clang::Expr*,clang::Expr*,clang::QualType,clang::VarDecl* ,clang::VarDecl*,clang::SourceLocation,clang::OverloadCandidateSet* ,ExprResult*,ExprResult*,Sema::BeginEndFunction*)
FinishOverloadedCallExpr(clang::Sema&,clang::Scope*,clang::Expr* ,clang::UnresolvedLookupExpr*,clang::SourceLocation,MultiExprArg ,clang::SourceLocation,clang::Expr*,clang::OverloadCandidateSet* ,OverloadCandidateSet::iterator*,clang::OverloadingResult,bool)12clang.__Globals.FinishOverloadedCallExpr(clang::Sema&,clang::Scope* ,clang::Expr*,clang::UnresolvedLookupExpr*,clang::SourceLocation ,MultiExprArg,clang::SourceLocation,clang::Expr* ,clang::OverloadCandidateSet*,OverloadCandidateSet::iterator* ,clang::OverloadingResult,bool)
CheckFieldDecl(clang::DeclarationName,clang::QualType ,clang::TypeSourceInfo*,clang::RecordDecl*,clang::SourceLocation,bool ,clang::Expr*,clang::InClassInitStyle,clang::SourceLocation ,clang::AccessSpecifier,clang::NamedDecl*,clang::Declarator*)12clang.Sema.CheckFieldDecl(clang::DeclarationName,clang::QualType ,clang::TypeSourceInfo*,clang::RecordDecl*,clang::SourceLocation,bool ,clang::Expr*,clang::InClassInitStyle,clang::SourceLocation ,clang::AccessSpecifier,clang::NamedDecl*,clang::Declarator*)
BuildCXXNew(clang::SourceRange,bool,clang::SourceLocation,MultiExprArg ,clang::SourceLocation,clang::SourceRange,clang::QualType ,clang::TypeSourceInfo*,clang::Expr*,clang::SourceRange,clang::Expr* ,bool)12clang.Sema.BuildCXXNew(clang::SourceRange,bool,clang::SourceLocation ,MultiExprArg,clang::SourceLocation,clang::SourceRange,clang::QualType ,clang::TypeSourceInfo*,clang::Expr*,clang::SourceRange,clang::Expr* ,bool)
ActOnExplicitInstantiation(clang::Scope*,clang::SourceLocation ,clang::SourceLocation,unsignedint,clang::SourceLocation ,constclang::CXXScopeSpec&,TemplateTy,clang::SourceLocation ,clang::SourceLocation,ASTTemplateArgsPtr,clang::SourceLocation ,clang::AttributeList*)12clang.Sema.ActOnExplicitInstantiation(clang::Scope* ,clang::SourceLocation,clang::SourceLocation,unsignedint ,clang::SourceLocation,constclang::CXXScopeSpec&,TemplateTy ,clang::SourceLocation,clang::SourceLocation,ASTTemplateArgsPtr ,clang::SourceLocation,clang::AttributeList*)
CheckMessageArgumentTypes(clang::QualType,MultiExprArg,clang::Selector ,ArrayRef<clang::SourceLocation>,clang::ObjCMethodDecl*,bool,bool ,clang::SourceLocation,clang::SourceLocation,clang::SourceRange ,clang::QualType&,clang::ExprValueKind&)12clang.Sema.CheckMessageArgumentTypes(clang::QualType,MultiExprArg ,clang::Selector,ArrayRef<clang::SourceLocation> ,clang::ObjCMethodDecl*,bool,bool,clang::SourceLocation ,clang::SourceLocation,clang::SourceRange,clang::QualType& ,clang::ExprValueKind&)
CheckFormatHandler(clang::Sema&,constclang::StringLiteral* ,constclang::Expr*,unsignedint,unsignedint,constchar*,bool,ArrayRef <constclang::Expr*>,unsignedint,bool,Sema::VariadicCallType ,llvm::SmallBitVector&)12anonymous_namespace{semachecking.cpp}.CheckFormatHandler .CheckFormatHandler(clang::Sema&,constclang::StringLiteral* ,constclang::Expr*,unsignedint,unsignedint,constchar*,bool,ArrayRef <constclang::Expr*>,unsignedint,bool,Sema::VariadicCallType ,llvm::SmallBitVector&)
CheckScanfHandler(clang::Sema&,constclang::StringLiteral* ,constclang::Expr*,unsignedint,unsignedint,constchar*,bool,ArrayRef <constclang::Expr*>,unsignedint,bool,Sema::VariadicCallType ,llvm::SmallBitVector&)12anonymous_namespace{semachecking.cpp}.CheckScanfHandler .CheckScanfHandler(clang::Sema&,constclang::StringLiteral* ,constclang::Expr*,unsignedint,unsignedint,constchar*,bool,ArrayRef <constclang::Expr*>,unsignedint,bool,Sema::VariadicCallType ,llvm::SmallBitVector&)
CheckDesignatedInitializer(constclang::InitializedEntity& ,clang::InitListExpr*,clang::DesignatedInitExpr*,unsignedint ,clang::QualType&,RecordDecl::field_iterator*,llvm::APSInt* ,unsignedint&,clang::InitListExpr*,unsignedint&,bool,bool)12anonymous_namespace{semainit.cpp}.InitListChecker .CheckDesignatedInitializer(constclang::InitializedEntity& ,clang::InitListExpr*,clang::DesignatedInitExpr*,unsignedint ,clang::QualType&,RecordDecl::field_iterator*,llvm::APSInt* ,unsignedint&,clang::InitListExpr*,unsignedint&,bool,bool)
clang_indexSourceFile(CXIndexAction,CXClientData,IndexerCallbacks* ,unsignedint,unsignedint,constchar*,constchar*const*,int ,structCXUnsavedFile*,unsignedint,CXTranslationUnit*,unsignedint)12__Globals.clang_indexSourceFile(CXIndexAction,CXClientData ,IndexerCallbacks*,unsignedint,unsignedint,constchar*,constchar*const* ,int,structCXUnsavedFile*,unsignedint,CXTranslationUnit*,unsignedint)
emitRegPlusImmediate(bool,llvm::MachineBasicBlock& ,MachineBasicBlock::iterator&,llvm::DebugLoc ,constllvm::ARMBaseInstrInfo&,unsignedint,unsignedint,int,unsignedint ,ARMCC::CondCodes,unsignedint)11__Globals.emitRegPlusImmediate(bool,llvm::MachineBasicBlock& ,MachineBasicBlock::iterator&,llvm::DebugLoc ,constllvm::ARMBaseInstrInfo&,unsignedint,unsignedint,int,unsignedint ,ARMCC::CondCodes,unsignedint)
EmitTargetCodeForMemcpy(llvm::SelectionDAG&,llvm::SDLoc,llvm::SDValue ,llvm::SDValue,llvm::SDValue,llvm::SDValue,unsignedint,bool,bool ,llvm::MachinePointerInfo,llvm::MachinePointerInfo)11llvm.ARMSelectionDAGInfo.EmitTargetCodeForMemcpy(llvm::SelectionDAG& ,llvm::SDLoc,llvm::SDValue,llvm::SDValue,llvm::SDValue,llvm::SDValue ,unsignedint,bool,bool,llvm::MachinePointerInfo ,llvm::MachinePointerInfo)
CanFormLdStDWord(llvm::MachineInstr*,llvm::MachineInstr* ,llvm::DebugLoc&,unsignedint&,unsignedint&,unsignedint&,unsignedint& ,int&,unsignedint&,ARMCC::CondCodes&,bool&)11anonymous_namespace{armloadstoreoptimizer.cpp}.ARMPreAllocLoadStoreOpt .CanFormLdStDWord(llvm::MachineInstr*,llvm::MachineInstr* ,llvm::DebugLoc&,unsignedint&,unsignedint&,unsignedint&,unsignedint& ,int&,unsignedint&,ARMCC::CondCodes&,bool&)
computeKnownBitsAddSub(bool,llvm::Value*,llvm::Value*,bool ,llvm::APInt&,llvm::APInt&,llvm::APInt&,llvm::APInt& ,constllvm::DataLayout*,unsignedint,const(anonymousnamespace)::Query&)11__Globals.computeKnownBitsAddSub(bool,llvm::Value*,llvm::Value*,bool ,llvm::APInt&,llvm::APInt&,llvm::APInt&,llvm::APInt& ,constllvm::DataLayout*,unsignedint,const(anonymousnamespace)::Query&)
EmitTargetCodeForMemcpy(llvm::SelectionDAG&,llvm::SDLoc,llvm::SDValue ,llvm::SDValue,llvm::SDValue,llvm::SDValue,unsignedint,bool,bool ,llvm::MachinePointerInfo,llvm::MachinePointerInfo)11llvm.HexagonSelectionDAGInfo.EmitTargetCodeForMemcpy (llvm::SelectionDAG&,llvm::SDLoc,llvm::SDValue,llvm::SDValue ,llvm::SDValue,llvm::SDValue,unsignedint,bool,bool ,llvm::MachinePointerInfo,llvm::MachinePointerInfo)
LowerCCCCallTo(llvm::SDValue,llvm::SDValue,CallingConv::ID,bool,bool ,constSmallVectorImpl<ISD::OutputArg>&,constSmallVectorImpl <llvm::SDValue>&,constSmallVectorImpl<ISD::InputArg>&,llvm::SDLoc ,llvm::SelectionDAG&,SmallVectorImpl<llvm::SDValue>&)11llvm.MSP430TargetLowering.LowerCCCCallTo(llvm::SDValue,llvm::SDValue ,CallingConv::ID,bool,bool,constSmallVectorImpl<ISD::OutputArg>& ,constSmallVectorImpl<llvm::SDValue>&,constSmallVectorImpl <ISD::InputArg>&,llvm::SDLoc,llvm::SelectionDAG&,SmallVectorImpl <llvm::SDValue>&)
PrepareTailCall(llvm::SelectionDAG&,llvm::SDValue&,llvm::SDValue& ,llvm::SDLoc,bool,int,unsignedint,llvm::SDValue,llvm::SDValue,bool ,SmallVectorImpl<(anonymousnamespace)::TailCallArgumentInfo>&)11__Globals.PrepareTailCall(llvm::SelectionDAG&,llvm::SDValue& ,llvm::SDValue&,llvm::SDLoc,bool,int,unsignedint,llvm::SDValue ,llvm::SDValue,bool,SmallVectorImpl<(anonymousnamespace )::TailCallArgumentInfo>&)
PrepareCall(llvm::SelectionDAG&,llvm::SDValue&,llvm::SDValue& ,llvm::SDValue&,llvm::SDLoc,int,bool,SmallVectorImpl<std::pair <unsignedint,SDValue>>&,SmallVectorImpl<llvm::SDValue>&,std::vector <EVT>&,constllvm::PPCSubtarget&)11__Globals.PrepareCall(llvm::SelectionDAG&,llvm::SDValue& ,llvm::SDValue&,llvm::SDValue&,llvm::SDLoc,int,bool,SmallVectorImpl <std::pair<unsignedint,SDValue>>&,SmallVectorImpl<llvm::SDValue>& ,std::vector<EVT>&,constllvm::PPCSubtarget&)
LowerCall_Darwin(llvm::SDValue,llvm::SDValue,CallingConv::ID,bool,bool ,constSmallVectorImpl<ISD::OutputArg>&,constSmallVectorImpl <llvm::SDValue>&,constSmallVectorImpl<ISD::InputArg>&,llvm::SDLoc ,llvm::SelectionDAG&,SmallVectorImpl<llvm::SDValue>&)11llvm.PPCTargetLowering.LowerCall_Darwin(llvm::SDValue,llvm::SDValue ,CallingConv::ID,bool,bool,constSmallVectorImpl<ISD::OutputArg>& ,constSmallVectorImpl<llvm::SDValue>&,constSmallVectorImpl <ISD::InputArg>&,llvm::SDLoc,llvm::SelectionDAG&,SmallVectorImpl <llvm::SDValue>&)
LowerCall_64SVR4(llvm::SDValue,llvm::SDValue,CallingConv::ID,bool,bool ,constSmallVectorImpl<ISD::OutputArg>&,constSmallVectorImpl <llvm::SDValue>&,constSmallVectorImpl<ISD::InputArg>&,llvm::SDLoc ,llvm::SelectionDAG&,SmallVectorImpl<llvm::SDValue>&)11llvm.PPCTargetLowering.LowerCall_64SVR4(llvm::SDValue,llvm::SDValue ,CallingConv::ID,bool,bool,constSmallVectorImpl<ISD::OutputArg>& ,constSmallVectorImpl<llvm::SDValue>&,constSmallVectorImpl <ISD::InputArg>&,llvm::SDLoc,llvm::SelectionDAG&,SmallVectorImpl <llvm::SDValue>&)
LowerCall_32SVR4(llvm::SDValue,llvm::SDValue,CallingConv::ID,bool,bool ,constSmallVectorImpl<ISD::OutputArg>&,constSmallVectorImpl <llvm::SDValue>&,constSmallVectorImpl<ISD::InputArg>&,llvm::SDLoc ,llvm::SelectionDAG&,SmallVectorImpl<llvm::SDValue>&)11llvm.PPCTargetLowering.LowerCall_32SVR4(llvm::SDValue,llvm::SDValue ,CallingConv::ID,bool,bool,constSmallVectorImpl<ISD::OutputArg>& ,constSmallVectorImpl<llvm::SDValue>&,constSmallVectorImpl <ISD::InputArg>&,llvm::SDLoc,llvm::SelectionDAG&,SmallVectorImpl <llvm::SDValue>&)
SelectMUBUF(llvm::SDValue,llvm::SDValue&,llvm::SDValue&,llvm::SDValue& ,llvm::SDValue&,llvm::SDValue&,llvm::SDValue&,llvm::SDValue& ,llvm::SDValue&,llvm::SDValue&,llvm::SDValue&)11anonymous_namespace{amdgpuiseldagtodag.cpp}.AMDGPUDAGToDAGISel .SelectMUBUF(llvm::SDValue,llvm::SDValue&,llvm::SDValue& ,llvm::SDValue&,llvm::SDValue&,llvm::SDValue&,llvm::SDValue& ,llvm::SDValue&,llvm::SDValue&,llvm::SDValue&,llvm::SDValue&)
AllocaSliceRewriter(constllvm::DataLayout&,(anonymousnamespace )::AllocaSlices&,(anonymousnamespace)::SROA&,llvm::AllocaInst& ,llvm::AllocaInst&,uint64_t,uint64_t,bool,bool,SmallPtrSetImpl <llvm::PHINode*>&,SmallPtrSetImpl<llvm::SelectInst*>&)11anonymous_namespace{sroa.cpp}.AllocaSliceRewriter.AllocaSliceRewriter (constllvm::DataLayout&,(anonymousnamespace)::AllocaSlices&, (anonymousnamespace)::SROA&,llvm::AllocaInst&,llvm::AllocaInst& ,uint64_t,uint64_t,bool,bool,SmallPtrSetImpl<llvm::PHINode*>& ,SmallPtrSetImpl<llvm::SelectInst*>&)
FindOptimalMemOpLowering(std::vector<EVT>&,unsignedint,uint64_t ,unsignedint,unsignedint,bool,bool,bool,bool,llvm::SelectionDAG& ,constllvm::TargetLowering&)11__Globals.FindOptimalMemOpLowering(std::vector<EVT>&,unsignedint ,uint64_t,unsignedint,unsignedint,bool,bool,bool,bool ,llvm::SelectionDAG&,constllvm::TargetLowering&)
getMemcpyLoadsAndStores(llvm::SelectionDAG&,llvm::SDLoc,llvm::SDValue ,llvm::SDValue,llvm::SDValue,uint64_t,unsignedint,bool,bool ,llvm::MachinePointerInfo,llvm::MachinePointerInfo)11__Globals.getMemcpyLoadsAndStores(llvm::SelectionDAG&,llvm::SDLoc ,llvm::SDValue,llvm::SDValue,llvm::SDValue,uint64_t,unsignedint,bool ,bool,llvm::MachinePointerInfo,llvm::MachinePointerInfo)
getMemmoveLoadsAndStores(llvm::SelectionDAG&,llvm::SDLoc,llvm::SDValue ,llvm::SDValue,llvm::SDValue,uint64_t,unsignedint,bool,bool ,llvm::MachinePointerInfo,llvm::MachinePointerInfo)11__Globals.getMemmoveLoadsAndStores(llvm::SelectionDAG&,llvm::SDLoc ,llvm::SDValue,llvm::SDValue,llvm::SDValue,uint64_t,unsignedint,bool ,bool,llvm::MachinePointerInfo,llvm::MachinePointerInfo)
getMemIntrinsicNode(unsignedint,llvm::SDLoc,llvm::SDVTList,ArrayRef <llvm::SDValue>,llvm::EVT,llvm::MachinePointerInfo,unsignedint,bool ,bool,bool,unsignedint)11llvm.SelectionDAG.getMemIntrinsicNode(unsignedint,llvm::SDLoc ,llvm::SDVTList,ArrayRef<llvm::SDValue>,llvm::EVT ,llvm::MachinePointerInfo,unsignedint,bool,bool,bool,unsignedint)
getLoad(llvm::EVT,llvm::SDLoc,llvm::SDValue,llvm::SDValue ,llvm::MachinePointerInfo,bool,bool,bool,unsignedint ,constllvm::AAMDNodes&,constllvm::MDNode*)11llvm.SelectionDAG.getLoad(llvm::EVT,llvm::SDLoc,llvm::SDValue ,llvm::SDValue,llvm::MachinePointerInfo,bool,bool,bool,unsignedint ,constllvm::AAMDNodes&,constllvm::MDNode*)
AtomicSDNode(unsignedint,unsignedint,llvm::DebugLoc,llvm::SDVTList ,llvm::EVT,llvm::SDValue,llvm::SDValue,llvm::SDValue ,llvm::MachineMemOperand*,llvm::AtomicOrdering ,llvm::SynchronizationScope)11llvm.AtomicSDNode.AtomicSDNode(unsignedint,unsignedint,llvm::DebugLoc ,llvm::SDVTList,llvm::EVT,llvm::SDValue,llvm::SDValue,llvm::SDValue ,llvm::MachineMemOperand*,llvm::AtomicOrdering ,llvm::SynchronizationScope)
EmitTargetCodeForMemcpy(llvm::SelectionDAG&,llvm::SDLoc,llvm::SDValue ,llvm::SDValue,llvm::SDValue,llvm::SDValue,unsignedint,bool,bool ,llvm::MachinePointerInfo,llvm::MachinePointerInfo)11llvm.TargetSelectionDAGInfo.EmitTargetCodeForMemcpy (llvm::SelectionDAG&,llvm::SDLoc,llvm::SDValue,llvm::SDValue ,llvm::SDValue,llvm::SDValue,unsignedint,bool,bool ,llvm::MachinePointerInfo,llvm::MachinePointerInfo)
EmitTargetCodeForMemcpy(llvm::SelectionDAG&,llvm::SDLoc,llvm::SDValue ,llvm::SDValue,llvm::SDValue,llvm::SDValue,unsignedint,bool,bool ,llvm::MachinePointerInfo,llvm::MachinePointerInfo)11llvm.SystemZSelectionDAGInfo.EmitTargetCodeForMemcpy (llvm::SelectionDAG&,llvm::SDLoc,llvm::SDValue,llvm::SDValue ,llvm::SDValue,llvm::SDValue,unsignedint,bool,bool ,llvm::MachinePointerInfo,llvm::MachinePointerInfo)
pruneDAGFor(DenseMap<llvm::Value*,std::vector<Value*>>&,std::vector <Value*>&,DenseMap<ValuePair,std::vector<ValuePair>>&,DenseSet <ValuePair>&,DenseMap<ValuePair,std::vector<ValuePair>>&,DenseSet <VPPair>&,DenseMap<llvm::Value*,llvm::Value*>&,DenseMap<ValuePair ,size_t>&,DenseSet<ValuePair>&,ValuePair,bool)11anonymous_namespace{bbvectorize.cpp}.BBVectorize.pruneDAGFor(DenseMap <llvm::Value*,std::vector<Value*>>&,std::vector<Value*>&,DenseMap <ValuePair,std::vector<ValuePair>>&,DenseSet<ValuePair>&,DenseMap <ValuePair,std::vector<ValuePair>>&,DenseSet<VPPair>&,DenseMap <llvm::Value*,llvm::Value*>&,DenseMap<ValuePair,size_t>&,DenseSet <ValuePair>&,ValuePair,bool)
EmitTargetCodeForMemcpy(llvm::SelectionDAG&,llvm::SDLoc,llvm::SDValue ,llvm::SDValue,llvm::SDValue,llvm::SDValue,unsignedint,bool,bool ,llvm::MachinePointerInfo,llvm::MachinePointerInfo)11llvm.X86SelectionDAGInfo.EmitTargetCodeForMemcpy(llvm::SelectionDAG& ,llvm::SDLoc,llvm::SDValue,llvm::SDValue,llvm::SDValue,llvm::SDValue ,unsignedint,bool,bool,llvm::MachinePointerInfo ,llvm::MachinePointerInfo)
LowerCCCCallTo(llvm::SDValue,llvm::SDValue,CallingConv::ID,bool,bool ,constSmallVectorImpl<ISD::OutputArg>&,constSmallVectorImpl <llvm::SDValue>&,constSmallVectorImpl<ISD::InputArg>&,llvm::SDLoc ,llvm::SelectionDAG&,SmallVectorImpl<llvm::SDValue>&)11llvm.XCoreTargetLowering.LowerCCCCallTo(llvm::SDValue,llvm::SDValue ,CallingConv::ID,bool,bool,constSmallVectorImpl<ISD::OutputArg>& ,constSmallVectorImpl<llvm::SDValue>&,constSmallVectorImpl <ISD::InputArg>&,llvm::SDLoc,llvm::SelectionDAG&,SmallVectorImpl <llvm::SDValue>&)
EmitTargetCodeForMemcpy(llvm::SelectionDAG&,llvm::SDLoc,llvm::SDValue ,llvm::SDValue,llvm::SDValue,llvm::SDValue,unsignedint,bool,bool ,llvm::MachinePointerInfo,llvm::MachinePointerInfo)11llvm.XCoreSelectionDAGInfo.EmitTargetCodeForMemcpy(llvm::SelectionDAG& ,llvm::SDLoc,llvm::SDValue,llvm::SDValue,llvm::SDValue,llvm::SDValue ,unsignedint,bool,bool,llvm::MachinePointerInfo ,llvm::MachinePointerInfo)
Intrinsic(llvm::Record*,llvm::StringRef,llvm::StringRef, (anonymousnamespace)::TypeSpec,(anonymousnamespace)::TypeSpec, (anonymousnamespace)::ClassKind,llvm::ListInit*,(anonymousnamespace )::NeonEmitter&,llvm::StringRef,bool,bool)11anonymous_namespace{neonemitter.cpp}.Intrinsic.Intrinsic(llvm::Record* ,llvm::StringRef,llvm::StringRef,(anonymousnamespace)::TypeSpec, (anonymousnamespace)::TypeSpec,(anonymousnamespace)::ClassKind ,llvm::ListInit*,(anonymousnamespace)::NeonEmitter&,llvm::StringRef ,bool,bool)
ChooseExpr(clang::SourceLocation,clang::Expr*,clang::Expr* ,clang::Expr*,clang::QualType,clang::ExprValueKind ,clang::ExprObjectKind,clang::SourceLocation,bool,bool,bool)11clang.ChooseExpr.ChooseExpr(clang::SourceLocation,clang::Expr* ,clang::Expr*,clang::Expr*,clang::QualType,clang::ExprValueKind ,clang::ExprObjectKind,clang::SourceLocation,bool,bool,bool)
CXXMethodDecl(clang::Decl::Kind,clang::ASTContext& ,clang::CXXRecordDecl*,clang::SourceLocation ,constclang::DeclarationNameInfo&,clang::QualType ,clang::TypeSourceInfo*,StorageClass,bool,bool,clang::SourceLocation)11clang.CXXMethodDecl.CXXMethodDecl(clang::Decl::Kind,clang::ASTContext& ,clang::CXXRecordDecl*,clang::SourceLocation ,constclang::DeclarationNameInfo&,clang::QualType ,clang::TypeSourceInfo*,StorageClass,bool,bool,clang::SourceLocation)

Statistics

Stat   # Parameters
Sum:4 333
Average:10.24
Minimum:9
Maximum:23
Standard deviation:1.75
Variance:3.05
warningCritical    Rule warning: Quick summary of methods to refactor
• Rule Description:

Methods matched by this rule somehow violate one or several basic quality principles, whether it is too large (too many lines of code), too complex (too many if, switch case, loops…) has too many variables, too many parameters or has too many overloads.


• How to Fix Violations:

To refactor such method and increase code quality and maintainability, certainly you'll have to split the method into several smaller methods or even create one or several classes to implement the logic.

During this process it is important to question the scope of each variable local to the method. This can be an indication if such local variable will become an instance field of the newly created class(es).

Large switch…case structures might be refactored through the help of a set of types that implement a common interface, the interface polymorphism playing the role of the switch cases tests.

Unit Tests can help: write tests for each method before extracting it to ensure you don't break functionality.

10,182 methods matched

methods# lines of code (LOC)MaxNestedLoopCyclomatic Complexity (CC)NestingDepth# Parameters# Variables# OverloadsFull Name
TestBody()50011021MapVectorTest_insert_pop_Test.TestBody()
TestBody()4631110121SmallPtrSetTest_GrowthTest_Test.TestBody()
TestBody()5961210111SmallPtrSetTest_CopyAndMoveTest_Test.TestBody()
TestBody()62011031SmallPtrSetTest_SwapTest_Test.TestBody()
TestBody()298011021anonymous_namespace{apfloattest.cpp}.APFloatTest_next_Test.TestBody()
TestBody()330150131anonymous_namespace{apfloattest.cpp}.APFloatTest_Denormal_Test .TestBody()
TestBody()41011001anonymous_namespace{apfloattest.cpp} .APFloatTest_fromZeroDecimalString_Test.TestBody()
TestBody()77011001anonymous_namespace{apfloattest.cpp} .APFloatTest_fromZeroDecimalSingleExponentString_Test.TestBody()
TestBody()91011001anonymous_namespace{apfloattest.cpp} .APFloatTest_fromZeroHexadecimalString_Test.TestBody()
TestBody()57011001anonymous_namespace{apfloattest.cpp} .APFloatTest_fromDecimalString_Test.TestBody()
TestBody()115011001anonymous_namespace{apfloattest.cpp} .APFloatTest_fromHexadecimalString_Test.TestBody()
TestBody()43011021anonymous_namespace{apfloattest.cpp}.APFloatTest_toInteger_Test .TestBody()
TestBody()31011001anonymous_namespace{apfloattest.cpp}.APFloatTest_makeNaN_Test.TestBody ()
TestBody()39011001anonymous_namespace{apfloattest.cpp} .APFloatTest_StringDecimalExponentDeath_Test.TestBody()
TestBody()51011001anonymous_namespace{apfloattest.cpp} .APFloatTest_StringHexadecimalDeath_Test.TestBody()
TestBody()41011001anonymous_namespace{apfloattest.cpp} .APFloatTest_StringHexadecimalSignificandDeath_Test.TestBody()
TestBody()71011001anonymous_namespace{apfloattest.cpp} .APFloatTest_StringHexadecimalExponentDeath_Test.TestBody()
TestBody()52011041anonymous_namespace{apfloattest.cpp}.APFloatTest_roundToIntegral_Test .TestBody()
TestBody()36011021anonymous_namespace{apfloattest.cpp}.APFloatTest_getSmallest_Test .TestBody()
TestBody()36011021anonymous_namespace{apfloattest.cpp} .APFloatTest_getSmallestNormalized_Test.TestBody()
TestBody()13243091anonymous_namespace{apfloattest.cpp}.APFloatTest_getZero_Test.TestBody ()
TestBody()45011041anonymous_namespace{apfloattest.cpp}.APFloatTest_convert_Test.TestBody ()
TestBody()271220231anonymous_namespace{apfloattest.cpp}.APFloatTest_add_Test.TestBody()
TestBody()271220231anonymous_namespace{apfloattest.cpp}.APFloatTest_subtract_Test .TestBody()
TestBody()281220241anonymous_namespace{apfloattest.cpp}.APFloatTest_multiply_Test .TestBody()
TestBody()281220241anonymous_namespace{apfloattest.cpp}.APFloatTest_divide_Test.TestBody( )
TestBody()58011041anonymous_namespace{apinttest.cpp}.APIntTest_i128_PositiveCount_Test .TestBody()
TestBody()1190120111anonymous_namespace{apinttest.cpp}.APIntTest_i1_Test.TestBody()
TestBody()137011001anonymous_namespace{apinttest.cpp}.APIntTest_fromString_Test.TestBody( )
TestBody()31011001anonymous_namespace{apinttest.cpp}.APIntTest_StringBitsNeeded10_Test .TestBody()
TestBody()49011021anonymous_namespace{apinttest.cpp}.APIntTest_toString_Test.TestBody()
TestBody()42011021anonymous_namespace{apinttest.cpp}.APIntTest_Rotate_Test.TestBody()
TestBody()380180181anonymous_namespace{apinttest.cpp}.APIntTest_tcDecrement_Test.TestBody ()
TestBody()380710171anonymous_namespace{apinttest.cpp}.APIntTest_nearestLogBase2_Test .TestBody()
TestBody()3951730201llvm.SCCIteratorTest_AllSmallGraphs_Test.TestBody()
TestBody()206233071anonymous_namespace{bitvectortest.cpp} .BitVectorTest_TrivialOperation_Test<gtest_TypeParam_>.TestBody()
TestBody()42011021anonymous_namespace{bitvectortest.cpp} .BitVectorTest_CompoundAssignment_Test<gtest_TypeParam_>.TestBody()
TestBody()37011021anonymous_namespace{bitvectortest.cpp} .BitVectorTest_PortableBitMask_Test<gtest_TypeParam_>.TestBody()
TestBody()60011071anonymous_namespace{bitvectortest.cpp}.BitVectorTest_RangeOps_Test <gtest_TypeParam_>.TestBody()
TestBody()40011041anonymous_namespace{bitvectortest.cpp} .BitVectorTest_CompoundTestReset_Test<gtest_TypeParam_>.TestBody()
TestBody()36241041anonymous_namespace{densemaptest.cpp}.DenseMapTest_SwapTest_Test <gtest_TypeParam_>.TestBody()
TestBody()30011091anonymous_namespace{hashingtest.cpp} .HashingTest_HashValueBasicTest_Test.TestBody()
TestBody()340110171anonymous_namespace{hashingtest.cpp} .HashingTest_HashCombineRangeBasicTest_Test.TestBody()
TestBody()244550211anonymous_namespace{hashingtest.cpp} .HashingTest_HashCombineRangeLengthDiff_Test.TestBody()
TestBody()660110181anonymous_namespace{hashingtest.cpp} .HashingTest_HashCombineBasicTest_Test.TestBody()
TestBody()38011041anonymous_namespace{immutablesettest.cpp} .ImmutableSetTest_OneElemIntSetTest_Test.TestBody()
TestBody()52011051anonymous_namespace{immutablesettest.cpp} .ImmutableSetTest_MultiElemIntSetTest_Test.TestBody()
TestBody()193440111anonymous_namespace{immutablesettest.cpp} .ImmutableSetTest_IterLongSetTest_Test.TestBody()
TestBody()126011011anonymous_namespace{inteqclassestest.cpp}.IntEqClasses_Simple_Test .TestBody()
TestBody()37011051anonymous_namespace{intervalmaptest.cpp}.IntervalMapTest_EmptyMap_Test .TestBody()
TestBody()104011031anonymous_namespace{intervalmaptest.cpp} .IntervalMapTest_SingleEntryMap_Test.TestBody()
TestBody()74011031anonymous_namespace{intervalmaptest.cpp} .IntervalMapTest_RootCoalescing_Test.TestBody()
TestBody()125011031anonymous_namespace{intervalmaptest.cpp} .IntervalMapTest_RootMultiCoalescing_Test.TestBody()
TestBody()147465081anonymous_namespace{intervalmaptest.cpp}.IntervalMapTest_Branched_Test .TestBody()
TestBody()67253071anonymous_namespace{intervalmaptest.cpp} .IntervalMapTest_Branched2_Test.TestBody()
TestBody()32011061anonymous_namespace{intervalmaptest.cpp} .IntervalMapOverlapsTest_SmallMaps_Test.TestBody()
TestBody()1161410111anonymous_namespace{intervalmaptest.cpp} .IntervalMapOverlapsTest_BigMaps_Test.TestBody()
TestBody()440110111anonymous_namespace{makeuniquetest.cpp} .MakeUniqueTest_SingleObject_Test.TestBody()
TestBody()61011021anonymous_namespace{packedvectortest.cpp} .PackedVectorTest_Operation_Test.TestBody()
TestBody()50011001anonymous_namespace{smallstringtest.cpp}.SmallStringTest_Find_Test .TestBody()
TestBody()57011001anonymous_namespace{smallstringtest.cpp} .StringRefTest_Comparisons_Test.TestBody()
TestBody()41011021anonymous_namespace{smallvectortest.cpp} .SmallVectorTest_IterationTest_Test<gtest_TypeParam_>.TestBody()
TestBody()38011021anonymous_namespace{sparsemultisettest.cpp} .SparseMultiSetTest_SingleEntrySet_Test.TestBody()
TestBody()75141051anonymous_namespace{sparsemultisettest.cpp} .SparseMultiSetTest_MultipleEntrySet_Test.TestBody()
TestBody()44011061anonymous_namespace{sparsemultisettest.cpp} .SparseMultiSetTest_Iterators_Test.TestBody()
TestBody()38011031anonymous_namespace{sparsesettest.cpp} .SparseSetTest_SingleEntrySet_Test.TestBody()
TestBody()76141061anonymous_namespace{sparsesettest.cpp} .SparseSetTest_MultipleEntrySet_Test.TestBody()
TestBody()70011011anonymous_namespace{stringreftest.cpp}.StringRefTest_StringOps_Test .TestBody()
TestBody()90011021anonymous_namespace{stringreftest.cpp}.StringRefTest_Split2_Test .TestBody()
TestBody()32011031anonymous_namespace{stringreftest.cpp}.StringRefTest_Trim_Test .TestBody()
TestBody()56011021anonymous_namespace{stringreftest.cpp}.StringRefTest_Find_Test .TestBody()
TestBody()66211190181anonymous_namespace{stringreftest.cpp}.StringRefTest_getAsInteger_Test .TestBody()
TestBody()17122091anonymous_namespace{stringreftest.cpp}.StringRefTest_joinStrings_Test .TestBody()
TestBody()32011001anonymous_namespace{tinyptrvectortest.cpp} .TinyPtrVectorTest_PushPopBack_Test<gtest_TypeParam_>.TestBody()
TestBody()109011001anonymous_namespace{tinyptrvectortest.cpp} .TinyPtrVectorTest_CopyAndMoveTest_Test<gtest_TypeParam_>.TestBody()
TestBody()73011011anonymous_namespace{tripletest.cpp}.TripleTest_BasicParsing_Test .TestBody()
TestBody()75011011anonymous_namespace{tripletest.cpp}.TripleTest_ParsedIDs_Test.TestBody ()
TestBody()138475071anonymous_namespace{tripletest.cpp}.TripleTest_Normalization_Test .TestBody()
TestBody()50011011anonymous_namespace{tripletest.cpp}.TripleTest_MutateName_Test .TestBody()
TestBody()60011011anonymous_namespace{tripletest.cpp}.TripleTest_BitWidthPredicates_Test .TestBody()
TestBody()56011011anonymous_namespace{tripletest.cpp} .TripleTest_BitWidthArchVariants_Test.TestBody()
TestBody()134011041anonymous_namespace{tripletest.cpp}.TripleTest_getOSVersion_Test .TestBody()
TestBody()32011051anonymous_namespace{tripletest.cpp}.TripleTest_FileFormat_Test .TestBody()
TestBody()53011001anonymous_namespace{tripletest.cpp}.TripleTest_NormalizeWindows_Test .TestBody()
TestBody()38011041clang.ast_matchers.NameableDeclaration_REMatchesVariousDecls_Test .TestBody()
TestBody()108011051clang.ast_matchers.DeclarationMatcher_ClassIsDerived_Test.TestBody()
TestBody()71011001clang.ast_matchers.Matcher_BinaryOperatorTypes_Test.TestBody()
TestBody()49011011clang.ast_matchers.TypeMatching_PointerTypes_Test.TestBody()
match<MatcherType>(conststd::string&,constMatcherType&,std::vector <std::string>&,clang::ast_matchers::Language)33092433clang.ast_matchers.MatchVerifier<NodeType>.match<MatcherType> (conststd::string&,constMatcherType&,std::vector<std::string>& ,clang::ast_matchers::Language)
verify(constMatchFinder::MatchResult&,constNodeType&)16022291clang.ast_matchers.RangeVerifier<NodeType>.verify (constMatchFinder::MatchResult&,constNodeType&)
TestBody()37122041clang.comments.CommentLexerTest_Basic6_Test.TestBody()
TestBody()48011021clang.comments.CommentLexerTest_Basic7_Test.TestBody()
TestBody()34011021clang.comments.CommentLexerTest_DoxygenCommand7_Test.TestBody()
TestBody()34011021clang.comments.CommentLexerTest_DoxygenCommand8_Test.TestBody()
TestBody()34011021clang.comments.CommentLexerTest_DoxygenCommand9_Test.TestBody()
TestBody()33011021clang.comments.CommentLexerTest_RegisterCustomBlockCommand_Test .TestBody()
TestBody()45011021clang.comments.CommentLexerTest_RegisterMultipleBlockCommands_Test .TestBody()
TestBody()34011021clang.comments.CommentLexerTest_VerbatimBlock6_Test.TestBody()
TestBody()38011021clang.comments.CommentLexerTest_VerbatimBlock7_Test.TestBody()
TestBody()56011021clang.comments.CommentLexerTest_VerbatimBlock8_Test.TestBody()

Statistics

Stat   # lines of code (LOC)   MaxNestedLoop   Cyclomatic Complexity (CC)   NestingDepth   # Parameters   # Variables   # Overloads
Sum:505 8565 616173 96529 74232 449115 17525 897
Average:2 530 9670.5517.092.923.1911.312.54
Minimum:0010001
Maximum:0812 448582360638
Standard deviation:104 229 5680.82126.181.892.6415.84.82
Variance:1 073 741 8240.6715 9213.556.98249.723.28
warningCritical    Rule warning: Methods too big
• Rule Description:

This rule matches methods where NbLinesOfCode > 30 or (commented per default) NbILInstructions > 200. Such method can be hard to understand and maintain.

However rules like Methods too complex or Methods with too many variables might be more relevant to detect painful to maintain methods, because complexity is more related to numbers of if, switch case, loops… than to just number of lines.

See the definition of the NbLinesOfCode metric here http://www.cppdepend.com/Metrics.aspx#NbLinesOfCode


• How to Fix Violations:

Usually too big methods should be split in smaller methods.

But long methods with no branch conditions, that typically initialize some data, are not necessarily a problem to maintain nor to test, and might not need refactoring.

5,763 methods matched

methods# lines of code (LOC)Full Name
haveInclusionPathHandle(InclusionPathHandle)0Modularize.MacroExpansionInstance.haveInclusionPathHandle (InclusionPathHandle)
findMacroExpansionInstance(StringHandle,Modularize::PPItemKey&)0Modularize.MacroExpansionTracker.findMacroExpansionInstance (StringHandle,Modularize::PPItemKey&)
haveInclusionPathHandle(InclusionPathHandle)0Modularize.ConditionalExpansionInstance.haveInclusionPathHandle (InclusionPathHandle)
findConditionalExpansionInstance(int)0Modularize.ConditionalTracker.findConditionalExpansionInstance(int)
isHeaderHandleInStack(HeaderHandle)0Modularize.PreprocessorTrackerImpl.isHeaderHandleInStack(HeaderHandle)
mergeCurHeaderContents()0EntityMap.mergeCurHeaderContents()
lookupIntrinsicID()27 230llvm.Function.lookupIntrinsicID()
CheckNeonBuiltinFunctionCall(unsignedint,clang::CallExpr*)1 759clang.Sema.CheckNeonBuiltinFunctionCall(unsignedint,clang::CallExpr*)
dumpAttr(constclang::Attr*)1 592anonymous_namespace{astdumper.cpp}.ASTDumper.dumpAttr (constclang::Attr*)
TestBody()1 448anonymous_namespace{scalednumbertest.cpp} .ScaledNumberHelpersTest_matchScales_Test.TestBody()
ReadAttributes(ModuleFile&,AttrVec&,constRecordData&,unsignedint&)1 439clang.ASTReader.ReadAttributes(ModuleFile&,AttrVec&,constRecordData& ,unsignedint&)
processInstruction(llvm::MCInst&,constOperandVector&)1 437anonymous_namespace{armasmparser.cpp}.ARMAsmParser.processInstruction (llvm::MCInst&,constOperandVector&)
EmitAArch64BuiltinExpr(unsignedint,constclang::CallExpr*)1 411clang.CodeGen.CodeGenFunction.EmitAArch64BuiltinExpr(unsignedint ,constclang::CallExpr*)
SelectSurfaceIntrinsic(llvm::SDNode*)1 198anonymous_namespace{nvptxiseldagtodag.h}.NVPTXDAGToDAGISel .SelectSurfaceIntrinsic(llvm::SDNode*)
dataTraverseNode(clang::Stmt*,bool&)1 177clang.RecursiveASTVisitor<Derived>.dataTraverseNode(clang::Stmt*,bool& )
ConstructJob(clang::driver::Compilation& ,constclang::driver::JobAction&,constclang::driver::InputInfo& ,constInputInfoList&,constllvm::opt::ArgList&,constchar*)1 105clang.driver.tools.Clang.ConstructJob(clang::driver::Compilation& ,constclang::driver::JobAction&,constclang::driver::InputInfo& ,constInputInfoList&,constllvm::opt::ArgList&,constchar*)
WriteAttributes(ArrayRef<constclang::Attr*>,RecordDataImpl&)1 011clang.ASTWriter.WriteAttributes(ArrayRef<constclang::Attr*> ,RecordDataImpl&)
resetOperationActions()1 010llvm.X86TargetLowering.resetOperationActions()
EmitBuiltinExpr(constclang::FunctionDecl*,unsignedint ,constclang::CallExpr*)993clang.CodeGen.CodeGenFunction.EmitBuiltinExpr (constclang::FunctionDecl*,unsignedint,constclang::CallExpr*)
getAttributeSpellingListIndex()949clang.AttributeList.getAttributeSpellingListIndex()
Select(llvm::SDNode*)861anonymous_namespace{aarch64iseldagtodag.cpp}.AArch64DAGToDAGISel .Select(llvm::SDNode*)
getELFRelocationTypeName(uint32_t,uint32_t)794llvm.object.__Globals.getELFRelocationTypeName(uint32_t,uint32_t)
getTargetNodeName(unsignedint)761llvm.NVPTXTargetLowering.getTargetNodeName(unsignedint)
inferPrototypeAttributes(llvm::Function&)741anonymous_namespace{functionattrs.cpp}.FunctionAttrs .inferPrototypeAttributes(llvm::Function&)
lookupName(constchar*,unsignedint)711llvm.AMDGPUIntrinsicInfo.lookupName(constchar*,unsignedint)
ExpandNode(llvm::SDNode*)699anonymous_namespace{legalizedag.cpp}.SelectionDAGLegalize.ExpandNode (llvm::SDNode*)
SelectLDGLDU(llvm::SDNode*)693anonymous_namespace{nvptxiseldagtodag.h}.NVPTXDAGToDAGISel .SelectLDGLDU(llvm::SDNode*)
ParseFunctionBody(llvm::Function*)660llvm.BitcodeReader.ParseFunctionBody(llvm::Function*)
visitIntrinsicCall(constllvm::CallInst&,unsignedint)632llvm.SelectionDAGBuilder.visitIntrinsicCall(constllvm::CallInst& ,unsignedint)
SimplifyICmpInst(unsignedint,llvm::Value*,llvm::Value*,const (anonymousnamespace)::Query&,unsignedint)592__Globals.SimplifyICmpInst(unsignedint,llvm::Value*,llvm::Value*,const (anonymousnamespace)::Query&,unsignedint)
visitICmpInst(llvm::ICmpInst&)574llvm.InstCombiner.visitICmpInst(llvm::ICmpInst&)
Select(llvm::SDNode*)565anonymous_namespace{x86iseldagtodag.cpp}.X86DAGToDAGISel.Select (llvm::SDNode*)
TestBody()563ConvertUTFTest_UTF8ToUTF32Lenient_Test.TestBody()
Select(llvm::SDNode*)547anonymous_namespace{armiseldagtodag.cpp}.ARMDAGToDAGISel.Select (llvm::SDNode*)
ReadStmtFromStream(ModuleFile&)547clang.ASTReader.ReadStmtFromStream(ModuleFile&)
TestBody()535llvm.anonymous_namespace{constantstest.cpp} .ConstantsTest_AsInstructionsTest_Test.TestBody()
visitCallInst(llvm::CallInst&)529llvm.InstCombiner.visitCallInst(llvm::CallInst&)
LexTokenInternal(clang::Token&,bool)528clang.Lexer.LexTokenInternal(clang::Token&,bool)
LexIdentifier()526llvm.LLLexer.LexIdentifier()
printInstruction(constllvm::Instruction*,conststd::string&)525anonymous_namespace{cppbackend.cpp}.CppWriter.printInstruction (constllvm::Instruction*,conststd::string&)
SelectTextureIntrinsic(llvm::SDNode*)516anonymous_namespace{nvptxiseldagtodag.h}.NVPTXDAGToDAGISel .SelectTextureIntrinsic(llvm::SDNode*)
SelectCodeCommon(llvm::SDNode*,constunsignedchar*,unsignedint)495llvm.SelectionDAGISel.SelectCodeCommon(llvm::SDNode* ,constunsignedchar*,unsignedint)
lowerINTRINSIC_WO_CHAIN(llvm::SDValue,llvm::SelectionDAG&)486llvm.MipsSETargetLowering.lowerINTRINSIC_WO_CHAIN(llvm::SDValue ,llvm::SelectionDAG&)
getOperationName(constllvm::SelectionDAG*)485llvm.SDNode.getOperationName(constllvm::SelectionDAG*)
RegistryMaps()479clang.ast_matchers.dynamic.anonymous_namespace{registry.cpp} .RegistryMaps.RegistryMaps()
EmitAnyX86InstComments(constllvm::MCInst*,llvm::raw_ostream& ,constchar*(*)(unsignedint))472llvm.__Globals.EmitAnyX86InstComments(constllvm::MCInst* ,llvm::raw_ostream&,constchar*(*)(unsignedint))
ReadASTBlock(ModuleFile&,unsignedint)460clang.ASTReader.ReadASTBlock(ModuleFile&,unsignedint)
mangleExpression(constclang::Expr*,unsignedint)457anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleExpression (constclang::Expr*,unsignedint)
Lower(constllvm::MachineInstr*,llvm::MCInst&)456anonymous_namespace{x86mcinstlower.cpp}.X86MCInstLower.Lower (constllvm::MachineInstr*,llvm::MCInst&)
ARMTargetLowering(llvm::TargetMachine&)452llvm.ARMTargetLowering.ARMTargetLowering(llvm::TargetMachine&)
ProcessDeclAttribute(clang::Sema&,clang::Scope*,clang::Decl* ,constclang::AttributeList&,bool)450__Globals.ProcessDeclAttribute(clang::Sema&,clang::Scope*,clang::Decl* ,constclang::AttributeList&,bool)
check_implementations()447__Globals.check_implementations()
getTgtMemIntrinsic(llvm::TargetLoweringBase::IntrinsicInfo& ,constllvm::CallInst&,unsignedint)446llvm.NVPTXTargetLowering.getTgtMemIntrinsic (llvm::TargetLoweringBase::IntrinsicInfo&,constllvm::CallInst& ,unsignedint)
getKeywordSpelling(clang::tok::TokenKind)438clang.tok.__Globals.getKeywordSpelling(clang::tok::TokenKind)
PPCTargetLowering(llvm::PPCTargetMachine&)436llvm.PPCTargetLowering.PPCTargetLowering(llvm::PPCTargetMachine&)
EncodeInstruction(constllvm::MCInst&,llvm::raw_ostream& ,SmallVectorImpl<llvm::MCFixup>&,constllvm::MCSubtargetInfo&)433anonymous_namespace{x86mccodeemitter.cpp}.X86MCCodeEmitter .EncodeInstruction(constllvm::MCInst&,llvm::raw_ostream& ,SmallVectorImpl<llvm::MCFixup>&,constllvm::MCSubtargetInfo&)
ParseDeclarationSpecifiers(clang::DeclSpec& ,constclang::Parser::ParsedTemplateInfo&,clang::AccessSpecifier ,clang::Parser::DeclSpecContext,clang::Parser::LateParsedAttrList*)433clang.Parser.ParseDeclarationSpecifiers(clang::DeclSpec& ,constclang::Parser::ParsedTemplateInfo&,clang::AccessSpecifier ,clang::Parser::DeclSpecContext,clang::Parser::LateParsedAttrList*)
SimplifySetCC(llvm::EVT,llvm::SDValue,llvm::SDValue,ISD::CondCode,bool ,llvm::TargetLowering::DAGCombinerInfo&,llvm::SDLoc)432llvm.TargetLowering.SimplifySetCC(llvm::EVT,llvm::SDValue ,llvm::SDValue,ISD::CondCode,bool ,llvm::TargetLowering::DAGCombinerInfo&,llvm::SDLoc)
Select(llvm::SDNode*)431anonymous_namespace{ppciseldagtodag.cpp}.PPCDAGToDAGISel.Select (llvm::SDNode*)
GetFullTypeForDeclarator((anonymousnamespace)::TypeProcessingState& ,clang::QualType,clang::TypeSourceInfo*)419__Globals.GetFullTypeForDeclarator((anonymousnamespace )::TypeProcessingState&,clang::QualType,clang::TypeSourceInfo*)
Visit(constclang::Stmt*,clang::ento::ExplodedNode* ,clang::ento::ExplodedNodeSet&)416clang.ento.ExprEngine.Visit(constclang::Stmt* ,clang::ento::ExplodedNode*,clang::ento::ExplodedNodeSet&)
ExpandMI(llvm::MachineBasicBlock&,MachineBasicBlock::iterator)413anonymous_namespace{armexpandpseudoinsts.cpp}.ARMExpandPseudo.ExpandMI (llvm::MachineBasicBlock&,MachineBasicBlock::iterator)
EmitARMBuiltinExpr(unsignedint,constclang::CallExpr*)410clang.CodeGen.CodeGenFunction.EmitARMBuiltinExpr(unsignedint ,constclang::CallExpr*)
getX86SubSuperRegister(unsignedint,MVT::SimpleValueType,bool)404llvm.__Globals.getX86SubSuperRegister(unsignedint,MVT::SimpleValueType ,bool)
visitICmpInstWithInstAndIntCst(llvm::ICmpInst&,llvm::Instruction* ,llvm::ConstantInt*)401llvm.InstCombiner.visitICmpInstWithInstAndIntCst(llvm::ICmpInst& ,llvm::Instruction*,llvm::ConstantInt*)
Select(llvm::SDNode*)398anonymous_namespace{nvptxiseldagtodag.h}.NVPTXDAGToDAGISel.Select (llvm::SDNode*)
SimplifyDemandedUseBits(llvm::Value*,llvm::APInt,llvm::APInt& ,llvm::APInt&,unsignedint,llvm::Instruction*)389llvm.InstCombiner.SimplifyDemandedUseBits(llvm::Value*,llvm::APInt ,llvm::APInt&,llvm::APInt&,unsignedint,llvm::Instruction*)
ParseCastExpression(bool,bool,bool&,clang::Parser::TypeCastState)389clang.Parser.ParseCastExpression(bool,bool,bool& ,clang::Parser::TypeCastState)
AddOrdinaryNameResults(Sema::ParserCompletionContext,clang::Scope* ,clang::Sema&,(anonymousnamespace)::ResultBuilder&)387__Globals.AddOrdinaryNameResults(Sema::ParserCompletionContext ,clang::Scope*,clang::Sema&,(anonymousnamespace)::ResultBuilder&)
SimplifyDemandedBits(llvm::SDValue,constllvm::APInt&,llvm::APInt& ,llvm::APInt&,llvm::TargetLowering::TargetLoweringOpt&,unsignedint)384llvm.TargetLowering.SimplifyDemandedBits(llvm::SDValue ,constllvm::APInt&,llvm::APInt&,llvm::APInt& ,llvm::TargetLowering::TargetLoweringOpt&,unsignedint)
getRealVLDOpcode(unsignedint,unsignedint&)381__Globals.getRealVLDOpcode(unsignedint,unsignedint&)
LowerCall(llvm::TargetLowering::CallLoweringInfo&,SmallVectorImpl <llvm::SDValue>&)377llvm.NVPTXTargetLowering.LowerCall (llvm::TargetLowering::CallLoweringInfo&,SmallVectorImpl<llvm::SDValue >&)
computeKnownBits(llvm::Value*,llvm::APInt&,llvm::APInt& ,constllvm::DataLayout*,unsignedint,const(anonymousnamespace)::Query&)376__Globals.computeKnownBits(llvm::Value*,llvm::APInt&,llvm::APInt& ,constllvm::DataLayout*,unsignedint,const(anonymousnamespace)::Query&)
MakeCXCursor(constclang::Stmt*,constclang::Decl*,CXTranslationUnit ,clang::SourceRange)375clang.cxcursor.__Globals.MakeCXCursor(constclang::Stmt* ,constclang::Decl*,CXTranslationUnit,clang::SourceRange)
getConstantValue(constllvm::Constant*)374llvm.ExecutionEngine.getConstantValue(constllvm::Constant*)
checkLanguageOptions(constclang::LangOptions&,constclang::LangOptions& ,clang::DiagnosticsEngine*)373__Globals.checkLanguageOptions(constclang::LangOptions& ,constclang::LangOptions&,clang::DiagnosticsEngine*)
ParseValID(llvm::ValID&,llvm::LLParser::PerFunctionState*)372llvm.LLParser.ParseValID(llvm::ValID& ,llvm::LLParser::PerFunctionState*)
Visit(typenamePtr<Stmt>::type)371clang.StmtVisitorBase<>.Visit(typenamePtr<Stmt>::type)
AArch64TargetLowering(llvm::TargetMachine&)360llvm.AArch64TargetLowering.AArch64TargetLowering(llvm::TargetMachine&)
InitLibcallNames(constchar**,constllvm::Triple&)360__Globals.InitLibcallNames(constchar**,constllvm::Triple&)
Perform(clang::Sema&,constclang::InitializedEntity& ,constclang::InitializationKind&,MultiExprArg,clang::QualType*)357clang.InitializationSequence.Perform(clang::Sema& ,constclang::InitializedEntity&,constclang::InitializationKind& ,MultiExprArg,clang::QualType*)
ActOnTag(clang::Scope*,unsignedint,clang::Sema::TagUseKind ,clang::SourceLocation,clang::CXXScopeSpec&,clang::IdentifierInfo* ,clang::SourceLocation,clang::AttributeList*,clang::AccessSpecifier ,clang::SourceLocation,MultiTemplateParamsArg,bool&,bool& ,clang::SourceLocation,bool,TypeResult,bool)354clang.Sema.ActOnTag(clang::Scope*,unsignedint,clang::Sema::TagUseKind ,clang::SourceLocation,clang::CXXScopeSpec&,clang::IdentifierInfo* ,clang::SourceLocation,clang::AttributeList*,clang::AccessSpecifier ,clang::SourceLocation,MultiTemplateParamsArg,bool&,bool& ,clang::SourceLocation,bool,TypeResult,bool)
AddObjCKeyValueCompletions(clang::ObjCPropertyDecl*,bool ,clang::QualType,clang::ASTContext&,VisitedSelectorSet&, (anonymousnamespace)::ResultBuilder&)353__Globals.AddObjCKeyValueCompletions(clang::ObjCPropertyDecl*,bool ,clang::QualType,clang::ASTContext&,VisitedSelectorSet&, (anonymousnamespace)::ResultBuilder&)
clang_getCursorKindSpelling(enumCXCursorKind)350__Globals.clang_getCursorKindSpelling(enumCXCursorKind)
ParseConstants()348llvm.BitcodeReader.ParseConstants()
AddKeywords(constclang::LangOptions&)345clang.IdentifierTable.AddKeywords(constclang::LangOptions&)
WriteControlBlock(clang::Preprocessor&,clang::ASTContext& ,llvm::StringRef,conststd::string&)342clang.ASTWriter.WriteControlBlock(clang::Preprocessor& ,clang::ASTContext&,llvm::StringRef,conststd::string&)
EmitCommonNeonBuiltinExpr(unsignedint,unsignedint,unsignedint ,constchar*,unsignedint,constclang::CallExpr*,SmallVectorImpl <llvm::Value*>&,llvm::Value*)340clang.CodeGen.CodeGenFunction.EmitCommonNeonBuiltinExpr(unsignedint ,unsignedint,unsignedint,constchar*,unsignedint,constclang::CallExpr* ,SmallVectorImpl<llvm::Value*>&,llvm::Value*)
getOpcForTextureInstr(unsignedint)339__Globals.getOpcForTextureInstr(unsignedint)
ActOnFunctionDeclarator(clang::Scope*,clang::Declarator& ,clang::DeclContext*,clang::TypeSourceInfo*,clang::LookupResult& ,MultiTemplateParamsArg,bool&)335clang.Sema.ActOnFunctionDeclarator(clang::Scope*,clang::Declarator& ,clang::DeclContext*,clang::TypeSourceInfo*,clang::LookupResult& ,MultiTemplateParamsArg,bool&)
getOpcForSurfaceInstr(unsignedint)333__Globals.getOpcForSurfaceInstr(unsignedint)
getTargetNodeName(unsignedint)329llvm.X86TargetLowering.getTargetNodeName(unsignedint)
DeduceTemplateArgumentsByTypeMatch(clang::Sema& ,clang::TemplateParameterList*,clang::QualType,clang::QualType ,clang::sema::TemplateDeductionInfo&,SmallVectorImpl <clang::DeducedTemplateArgument>&,unsignedint,bool,SmallVectorImpl <RefParamPartialOrderingComparison>*)329__Globals.DeduceTemplateArgumentsByTypeMatch(clang::Sema& ,clang::TemplateParameterList*,clang::QualType,clang::QualType ,clang::sema::TemplateDeductionInfo&,SmallVectorImpl <clang::DeducedTemplateArgument>&,unsignedint,bool,SmallVectorImpl <RefParamPartialOrderingComparison>*)
WriteDeclAbbrevs()328clang.ASTWriter.WriteDeclAbbrevs()
SelectStoreVector(llvm::SDNode*)326anonymous_namespace{nvptxiseldagtodag.h}.NVPTXDAGToDAGISel .SelectStoreVector(llvm::SDNode*)
parseStatement((anonymousnamespace)::ParseStatementInfo&)325anonymous_namespace{asmparser.cpp}.AsmParser.parseStatement( (anonymousnamespace)::ParseStatementInfo&)
CheckICE(constclang::Expr*,constclang::ASTContext&)324__Globals.CheckICE(constclang::Expr*,constclang::ASTContext&)
OperationEncodingString(unsignedint)316llvm.dwarf.__Globals.OperationEncodingString(unsignedint)
EmitMatcher(constllvm::Matcher*,unsignedint,unsignedint ,llvm::formatted_raw_ostream&)316anonymous_namespace{dagiselmatcheremitter.cpp}.MatcherTableEmitter .EmitMatcher(constllvm::Matcher*,unsignedint,unsignedint ,llvm::formatted_raw_ostream&)
getNode(unsignedint,llvm::SDLoc,llvm::EVT,llvm::SDValue,llvm::SDValue ,bool,bool,bool)315llvm.SelectionDAG.getNode(unsignedint,llvm::SDLoc,llvm::EVT ,llvm::SDValue,llvm::SDValue,bool,bool,bool)

Statistics

Stat   # lines of code (LOC)
Sum:45 056
Average:4 471 603
Minimum:31
Maximum:0
Standard deviation:138 511 232
Variance:0
warningCritical    Rule warning: Methods too complex
• Rule Description:

This rule matches methods where CyclomaticComplexity > 20 or ILCyclomaticComplexity > 40 or ILNestingDepth > 4. Such method is typically hard to understand and maintain.

See the definition of the CyclomaticComplexity metric here: http://www.cppdepend.com/Metrics.aspx#CC

See the definition of the NestingDepth metric here: http://www.cppdepend.com/Metrics.aspx#NestingDepth


• How to Fix Violations:

A large and complex method should be split in smaller methods, or even one or several classes can be created for that.

During this process it is important to question the scope of each variable local to the method. This can be an indication if such local variable will become an instance field of the newly created class(es).

Large switch…case structures might be refactored through the help of a set of types that implement a common interface, the interface polymorphism playing the role of the switch cases tests.

Unit Tests can help: write tests for each method before extracting it to ensure you don't break functionality.

2,466 methods matched

methodsCyclomatic Complexity (CC)MaxNestedLoopNestingDepthFull Name
lookupIntrinsicID()12 448013llvm.Function.lookupIntrinsicID()
getELFRelocationTypeName(uint32_t,uint32_t)75203llvm.object.__Globals.getELFRelocationTypeName(uint32_t,uint32_t)
TestBody()54502anonymous_namespace{scalednumbertest.cpp} .ScaledNumberHelpersTest_matchScales_Test.TestBody()
CheckNeonBuiltinFunctionCall(unsignedint,clang::CallExpr*)48702clang.Sema.CheckNeonBuiltinFunctionCall(unsignedint,clang::CallExpr*)
EmitAArch64BuiltinExpr(unsignedint,constclang::CallExpr*)47725clang.CodeGen.CodeGenFunction.EmitAArch64BuiltinExpr(unsignedint ,constclang::CallExpr*)
getAttributeSpellingListIndex()47303clang.AttributeList.getAttributeSpellingListIndex()
dumpAttr(constclang::Attr*)40716anonymous_namespace{astdumper.cpp}.ASTDumper.dumpAttr (constclang::Attr*)
Select(llvm::SDNode*)40406anonymous_namespace{aarch64iseldagtodag.cpp}.AArch64DAGToDAGISel .Select(llvm::SDNode*)
processInstruction(llvm::MCInst&,constOperandVector&)39905anonymous_namespace{armasmparser.cpp}.ARMAsmParser.processInstruction (llvm::MCInst&,constOperandVector&)
ConstructJob(clang::driver::Compilation& ,constclang::driver::JobAction&,constclang::driver::InputInfo& ,constInputInfoList&,constllvm::opt::ArgList&,constchar*)38917clang.driver.tools.Clang.ConstructJob(clang::driver::Compilation& ,constclang::driver::JobAction&,constclang::driver::InputInfo& ,constInputInfoList&,constllvm::opt::ArgList&,constchar*)
getTargetNodeName(unsignedint)38102llvm.NVPTXTargetLowering.getTargetNodeName(unsignedint)
Select(llvm::SDNode*)36402anonymous_namespace{nvptxiseldagtodag.h}.NVPTXDAGToDAGISel.Select (llvm::SDNode*)
EmitBuiltinExpr(constclang::FunctionDecl*,unsignedint ,constclang::CallExpr*)36215clang.CodeGen.CodeGenFunction.EmitBuiltinExpr (constclang::FunctionDecl*,unsignedint,constclang::CallExpr*)
getTgtMemIntrinsic(llvm::TargetLoweringBase::IntrinsicInfo& ,constllvm::CallInst&,unsignedint)34803llvm.NVPTXTargetLowering.getTgtMemIntrinsic (llvm::TargetLoweringBase::IntrinsicInfo&,constllvm::CallInst& ,unsignedint)
lowerINTRINSIC_WO_CHAIN(llvm::SDValue,llvm::SelectionDAG&)33813llvm.MipsSETargetLowering.lowerINTRINSIC_WO_CHAIN(llvm::SDValue ,llvm::SelectionDAG&)
lookupName(constchar*,unsignedint)33506llvm.AMDGPUIntrinsicInfo.lookupName(constchar*,unsignedint)
getX86SubSuperRegister(unsignedint,MVT::SimpleValueType,bool)32004llvm.__Globals.getX86SubSuperRegister(unsignedint,MVT::SimpleValueType ,bool)
dataTraverseNode(clang::Stmt*,bool&)29607clang.RecursiveASTVisitor<Derived>.dataTraverseNode(clang::Stmt*,bool& )
SimplifyICmpInst(unsignedint,llvm::Value*,llvm::Value*,const (anonymousnamespace)::Query&,unsignedint)27408__Globals.SimplifyICmpInst(unsignedint,llvm::Value*,llvm::Value*,const (anonymousnamespace)::Query&,unsignedint)
inferPrototypeAttributes(llvm::Function&)26302anonymous_namespace{functionattrs.cpp}.FunctionAttrs .inferPrototypeAttributes(llvm::Function&)
ExpandMI(llvm::MachineBasicBlock&,MachineBasicBlock::iterator)25006anonymous_namespace{armexpandpseudoinsts.cpp}.ARMExpandPseudo.ExpandMI (llvm::MachineBasicBlock&,MachineBasicBlock::iterator)
getOperationName(constllvm::SelectionDAG*)24305llvm.SDNode.getOperationName(constllvm::SelectionDAG*)
visitICmpInst(llvm::ICmpInst&)24107llvm.InstCombiner.visitICmpInst(llvm::ICmpInst&)
SelectLDGLDU(llvm::SDNode*)24006anonymous_namespace{nvptxiseldagtodag.h}.NVPTXDAGToDAGISel .SelectLDGLDU(llvm::SDNode*)
CheckICE(constclang::Expr*,constclang::ASTContext&)23908__Globals.CheckICE(constclang::Expr*,constclang::ASTContext&)
LexTokenInternal(clang::Token&,bool)23116clang.Lexer.LexTokenInternal(clang::Token&,bool)
SelectCodeCommon(llvm::SDNode*,constunsignedchar*,unsignedint)22328llvm.SelectionDAGISel.SelectCodeCommon(llvm::SDNode* ,constunsignedchar*,unsignedint)
getKeywordSpelling(clang::tok::TokenKind)21902clang.tok.__Globals.getKeywordSpelling(clang::tok::TokenKind)
visitCallInst(llvm::CallInst&)214110llvm.InstCombiner.visitCallInst(llvm::CallInst&)
Lower(constllvm::MachineInstr*,llvm::MCInst&)21015anonymous_namespace{x86mcinstlower.cpp}.X86MCInstLower.Lower (constllvm::MachineInstr*,llvm::MCInst&)
DecodeVLDInstruction(llvm::MCInst&,unsignedint,uint64_t,constvoid*)20503__Globals.DecodeVLDInstruction(llvm::MCInst&,unsignedint,uint64_t ,constvoid*)
ParseFunctionBody(llvm::Function*)20348llvm.BitcodeReader.ParseFunctionBody(llvm::Function*)
ParseCastExpression(bool,bool,bool&,clang::Parser::TypeCastState)20305clang.Parser.ParseCastExpression(bool,bool,bool& ,clang::Parser::TypeCastState)
mangleExpression(constclang::Expr*,unsignedint)20115anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleExpression (constclang::Expr*,unsignedint)
ParseDeclarationSpecifiers(clang::DeclSpec& ,constclang::Parser::ParsedTemplateInfo&,clang::AccessSpecifier ,clang::Parser::DeclSpecContext,clang::Parser::LateParsedAttrList*)20017clang.Parser.ParseDeclarationSpecifiers(clang::DeclSpec& ,constclang::Parser::ParsedTemplateInfo&,clang::AccessSpecifier ,clang::Parser::DeclSpecContext,clang::Parser::LateParsedAttrList*)
DecodeVSTInstruction(llvm::MCInst&,unsignedint,uint64_t,constvoid*)19903__Globals.DecodeVSTInstruction(llvm::MCInst&,unsignedint,uint64_t ,constvoid*)
SimplifySetCC(llvm::EVT,llvm::SDValue,llvm::SDValue,ISD::CondCode,bool ,llvm::TargetLowering::DAGCombinerInfo&,llvm::SDLoc)19827llvm.TargetLowering.SimplifySetCC(llvm::EVT,llvm::SDValue ,llvm::SDValue,ISD::CondCode,bool ,llvm::TargetLowering::DAGCombinerInfo&,llvm::SDLoc)
EmitAnyX86InstComments(constllvm::MCInst*,llvm::raw_ostream& ,constchar*(*)(unsignedint))19823llvm.__Globals.EmitAnyX86InstComments(constllvm::MCInst* ,llvm::raw_ostream&,constchar*(*)(unsignedint))
ExpandNode(llvm::SDNode*)19527anonymous_namespace{legalizedag.cpp}.SelectionDAGLegalize.ExpandNode (llvm::SDNode*)
CheckBuiltinFunctionCall(unsignedint,clang::CallExpr*)19514clang.Sema.CheckBuiltinFunctionCall(unsignedint,clang::CallExpr*)
visitIntrinsicCall(constllvm::CallInst&,unsignedint)19119llvm.SelectionDAGBuilder.visitIntrinsicCall(constllvm::CallInst& ,unsignedint)
checkLanguageOptions(constclang::LangOptions&,constclang::LangOptions& ,clang::DiagnosticsEngine*)18702__Globals.checkLanguageOptions(constclang::LangOptions& ,constclang::LangOptions&,clang::DiagnosticsEngine*)
Visit(typenamePtr<Stmt>::type)18604clang.StmtVisitorBase<>.Visit(typenamePtr<Stmt>::type)
EncodeInstruction(constllvm::MCInst&,llvm::raw_ostream& ,SmallVectorImpl<llvm::MCFixup>&,constllvm::MCSubtargetInfo&)18515anonymous_namespace{x86mccodeemitter.cpp}.X86MCCodeEmitter .EncodeInstruction(constllvm::MCInst&,llvm::raw_ostream& ,SmallVectorImpl<llvm::MCFixup>&,constllvm::MCSubtargetInfo&)
LowerINTRINSIC_WO_CHAIN(llvm::SDValue,llvm::SelectionDAG&)18004__Globals.LowerINTRINSIC_WO_CHAIN(llvm::SDValue,llvm::SelectionDAG&)
isDefConvertible(llvm::MachineInstr*)17803__Globals.isDefConvertible(llvm::MachineInstr*)
ReadAttributes(ModuleFile&,AttrVec&,constRecordData&,unsignedint&)17724clang.ASTReader.ReadAttributes(ModuleFile&,AttrVec&,constRecordData& ,unsignedint&)
ClassifyInternal(clang::ASTContext&,constclang::Expr*)17704__Globals.ClassifyInternal(clang::ASTContext&,constclang::Expr*)
ReadStmtFromStream(ModuleFile&)17525clang.ASTReader.ReadStmtFromStream(ModuleFile&)
clang_getCursorKindSpelling(enumCXCursorKind)17502__Globals.clang_getCursorKindSpelling(enumCXCursorKind)
Select(llvm::SDNode*)172012anonymous_namespace{x86iseldagtodag.cpp}.X86DAGToDAGISel.Select (llvm::SDNode*)
Visit(constclang::Stmt*,clang::ento::ExplodedNode* ,clang::ento::ExplodedNodeSet&)17116clang.ento.ExprEngine.Visit(constclang::Stmt* ,clang::ento::ExplodedNode*,clang::ento::ExplodedNodeSet&)
SelectTextureIntrinsic(llvm::SDNode*)17112anonymous_namespace{nvptxiseldagtodag.h}.NVPTXDAGToDAGISel .SelectTextureIntrinsic(llvm::SDNode*)
getOpcForTextureInstr(unsignedint)17002__Globals.getOpcForTextureInstr(unsignedint)
HasSideEffects(constclang::ASTContext&)16814clang.Expr.HasSideEffects(constclang::ASTContext&)
getOpcForSurfaceInstr(unsignedint)16702__Globals.getOpcForSurfaceInstr(unsignedint)
SelectSurfaceIntrinsic(llvm::SDNode*)16702anonymous_namespace{nvptxiseldagtodag.h}.NVPTXDAGToDAGISel .SelectSurfaceIntrinsic(llvm::SDNode*)
getTargetNodeName(unsignedint)16502llvm.X86TargetLowering.getTargetNodeName(unsignedint)
GetFullTypeForDeclarator((anonymousnamespace)::TypeProcessingState& ,clang::QualType,clang::TypeSourceInfo*)16429__Globals.GetFullTypeForDeclarator((anonymousnamespace )::TypeProcessingState&,clang::QualType,clang::TypeSourceInfo*)
printInstruction(constllvm::Instruction*,conststd::string&)16416anonymous_namespace{cppbackend.cpp}.CppWriter.printInstruction (constllvm::Instruction*,conststd::string&)
visitICmpInstWithInstAndIntCst(llvm::ICmpInst&,llvm::Instruction* ,llvm::ConstantInt*)16408llvm.InstCombiner.visitICmpInstWithInstAndIntCst(llvm::ICmpInst& ,llvm::Instruction*,llvm::ConstantInt*)
EmitCommonNeonBuiltinExpr(unsignedint,unsignedint,unsignedint ,constchar*,unsignedint,constclang::CallExpr*,SmallVectorImpl <llvm::Value*>&,llvm::Value*)16325clang.CodeGen.CodeGenFunction.EmitCommonNeonBuiltinExpr(unsignedint ,unsignedint,unsignedint,constchar*,unsignedint,constclang::CallExpr* ,SmallVectorImpl<llvm::Value*>&,llvm::Value*)
EmitARMBuiltinExpr(unsignedint,constclang::CallExpr*)16316clang.CodeGen.CodeGenFunction.EmitARMBuiltinExpr(unsignedint ,constclang::CallExpr*)
ProcessDeclAttribute(clang::Sema&,clang::Scope*,clang::Decl* ,constclang::AttributeList&,bool)16302__Globals.ProcessDeclAttribute(clang::Sema&,clang::Scope*,clang::Decl* ,constclang::AttributeList&,bool)
Select(llvm::SDNode*)16007anonymous_namespace{armiseldagtodag.cpp}.ARMDAGToDAGISel.Select (llvm::SDNode*)
OperationEncodingString(unsignedint)15802llvm.dwarf.__Globals.OperationEncodingString(unsignedint)
MakeCXCursor(constclang::Stmt*,constclang::Decl*,CXTranslationUnit ,clang::SourceRange)15705clang.cxcursor.__Globals.MakeCXCursor(constclang::Stmt* ,constclang::Decl*,CXTranslationUnit,clang::SourceRange)
isExpressionOrTypeSpecifierSimple(tok::TokenKind)15602clang.Parser.isExpressionOrTypeSpecifierSimple(tok::TokenKind)
EmitStmt(constclang::Stmt*)15504clang.CodeGen.CodeGenFunction.EmitStmt(constclang::Stmt*)
ParseValID(llvm::ValID&,llvm::LLParser::PerFunctionState*)15415llvm.LLParser.ParseValID(llvm::ValID& ,llvm::LLParser::PerFunctionState*)
parseStatement((anonymousnamespace)::ParseStatementInfo&)15314anonymous_namespace{asmparser.cpp}.AsmParser.parseStatement( (anonymousnamespace)::ParseStatementInfo&)
TraverseStmt(clang::Stmt*)15306clang.RecursiveASTVisitor<Derived>.TraverseStmt(clang::Stmt*)
TransformStmt(clang::Stmt*)15303clang.TreeTransform<Derived>.TransformStmt(clang::Stmt*)
TransformExpr(clang::Expr*)15202clang.TreeTransform<Derived>.TransformExpr(clang::Expr*)
Perform(clang::Sema&,constclang::InitializedEntity& ,constclang::InitializationKind&,MultiExprArg,clang::QualType*)15117clang.InitializationSequence.Perform(clang::Sema& ,constclang::InitializedEntity&,constclang::InitializationKind& ,MultiExprArg,clang::QualType*)
AllocateTarget(constllvm::Triple&)15105__Globals.AllocateTarget(constllvm::Triple&)
AttributeString(unsignedint)14902llvm.dwarf.__Globals.AttributeString(unsignedint)
getOperandLatency(constllvm::InstrItineraryData*,llvm::SDNode* ,unsignedint,llvm::SDNode*,unsignedint)14704llvm.ARMBaseInstrInfo.getOperandLatency(constllvm::InstrItineraryData* ,llvm::SDNode*,unsignedint,llvm::SDNode*,unsignedint)
ReadASTBlock(ModuleFile&,unsignedint)14436clang.ASTReader.ReadASTBlock(ModuleFile&,unsignedint)
Select(llvm::SDNode*)14316anonymous_namespace{ppciseldagtodag.cpp}.PPCDAGToDAGISel.Select (llvm::SDNode*)
getNode(unsignedint,llvm::SDLoc,llvm::EVT,llvm::SDValue,llvm::SDValue ,bool,bool,bool)13906llvm.SelectionDAG.getNode(unsignedint,llvm::SDLoc,llvm::EVT ,llvm::SDValue,llvm::SDValue,bool,bool,bool)
DecodeSignedLdStInstruction(llvm::MCInst&,uint32_t,uint64_t,constvoid* )13402__Globals.DecodeSignedLdStInstruction(llvm::MCInst&,uint32_t,uint64_t ,constvoid*)
shouldScheduleAdjacent(llvm::MachineInstr*,llvm::MachineInstr*)13402llvm.X86InstrInfo.shouldScheduleAdjacent(llvm::MachineInstr* ,llvm::MachineInstr*)
ConstantFoldCompareInstruction(unsignedshort,llvm::Constant* ,llvm::Constant*)13315llvm.__Globals.ConstantFoldCompareInstruction(unsignedshort ,llvm::Constant*,llvm::Constant*)
inheritsFrom(llvm::X86Disassembler::InstructionContext ,llvm::X86Disassembler::InstructionContext,bool)13202__Globals.inheritsFrom(llvm::X86Disassembler::InstructionContext ,llvm::X86Disassembler::InstructionContext,bool)
initializeImpl(clang::ASTContext&,clang::TypeLoc,clang::SourceLocation )13114clang.TypeLoc.initializeImpl(clang::ASTContext&,clang::TypeLoc ,clang::SourceLocation)
ActOnTag(clang::Scope*,unsignedint,clang::Sema::TagUseKind ,clang::SourceLocation,clang::CXXScopeSpec&,clang::IdentifierInfo* ,clang::SourceLocation,clang::AttributeList*,clang::AccessSpecifier ,clang::SourceLocation,MultiTemplateParamsArg,bool&,bool& ,clang::SourceLocation,bool,TypeResult,bool)13018clang.Sema.ActOnTag(clang::Scope*,unsignedint,clang::Sema::TagUseKind ,clang::SourceLocation,clang::CXXScopeSpec&,clang::IdentifierInfo* ,clang::SourceLocation,clang::AttributeList*,clang::AccessSpecifier ,clang::SourceLocation,MultiTemplateParamsArg,bool&,bool& ,clang::SourceLocation,bool,TypeResult,bool)
getConstantValue(constllvm::Constant*)13017llvm.ExecutionEngine.getConstantValue(constllvm::Constant*)
ActOnFunctionDeclarator(clang::Scope*,clang::Declarator& ,clang::DeclContext*,clang::TypeSourceInfo*,clang::LookupResult& ,MultiTemplateParamsArg,bool&)129110clang.Sema.ActOnFunctionDeclarator(clang::Scope*,clang::Declarator& ,clang::DeclContext*,clang::TypeSourceInfo*,clang::LookupResult& ,MultiTemplateParamsArg,bool&)
getSplitUnqualifiedTypeImpl(clang::QualType)12914clang.QualType.getSplitUnqualifiedTypeImpl(clang::QualType)
WriteAttributes(ArrayRef<constclang::Attr*>,RecordDataImpl&)12824clang.ASTWriter.WriteAttributes(ArrayRef<constclang::Attr*> ,RecordDataImpl&)
adjustDefLatency(constllvm::ARMSubtarget&,constllvm::MachineInstr* ,constllvm::MCInstrDesc*,unsignedint)12804__Globals.adjustDefLatency(constllvm::ARMSubtarget& ,constllvm::MachineInstr*,constllvm::MCInstrDesc*,unsignedint)
getRealVLDOpcode(unsignedint,unsignedint&)12802__Globals.getRealVLDOpcode(unsignedint,unsignedint&)
IsStructurallyEquivalent((anonymousnamespace )::StructuralEquivalenceContext&,clang::QualType,clang::QualType)12615__Globals.IsStructurallyEquivalent((anonymousnamespace )::StructuralEquivalenceContext&,clang::QualType,clang::QualType)
DeduceTemplateArgumentsByTypeMatch(clang::Sema& ,clang::TemplateParameterList*,clang::QualType,clang::QualType ,clang::sema::TemplateDeductionInfo&,SmallVectorImpl <clang::DeducedTemplateArgument>&,unsignedint,bool,SmallVectorImpl <RefParamPartialOrderingComparison>*)12519__Globals.DeduceTemplateArgumentsByTypeMatch(clang::Sema& ,clang::TemplateParameterList*,clang::QualType,clang::QualType ,clang::sema::TemplateDeductionInfo&,SmallVectorImpl <clang::DeducedTemplateArgument>&,unsignedint,bool,SmallVectorImpl <RefParamPartialOrderingComparison>*)
children()12502clang.Stmt.children()
getExprLoc()12502clang.Expr.getExprLoc()
ConstantFoldBinaryInstruction(unsignedint,llvm::Constant* ,llvm::Constant*)12416llvm.__Globals.ConstantFoldBinaryInstruction(unsignedint ,llvm::Constant*,llvm::Constant*)
TraverseDecl(clang::Decl*)12402clang.RecursiveASTVisitor<Derived>.TraverseDecl(clang::Decl*)
SimplifyDemandedUseBits(llvm::Value*,llvm::APInt,llvm::APInt& ,llvm::APInt&,unsignedint,llvm::Instruction*)12308llvm.InstCombiner.SimplifyDemandedUseBits(llvm::Value*,llvm::APInt ,llvm::APInt&,llvm::APInt&,unsignedint,llvm::Instruction*)

Statistics

Stat   Cyclomatic Complexity (CC)   MaxNestedLoop   NestingDepth
Sum:116 2402 14111 236
Average:47.140.874.56
Minimum:101
Maximum:12 448858
Standard deviation:253.851.062.44
Variance:64 4411.135.96
warningCritical    Rule warning: Methods potentially poorly commented
• Rule Description:

This rule matches methods with less than 20% of comment lines and that have at least 20 lines of code. Such method might need to be more commented.

See the definitions of the Comments metric here: http://www.cppdepend.com/Metrics.aspx#PercentageComment http://www.cppdepend.com/Metrics.aspx#NbLinesOfComment


• How to Fix Violations:

Typically add more comment. But code commenting is subject to controversy. While poorly written and designed code would needs a lot of comment to be understood, clean code doesn't need that much comment, especially if variables and methods are properly named and convey enough information. Unit-Test code can also play the role of code commenting.

However, even when writing clean and well-tested code, one will have to write hacks at a point, usually to circumvent some API limitations or bugs. A hack is a non-trivial piece of code, that doesn't make sense at first glance, and that took time and web research to be found. In such situation comments must absolutely be used to express the intention, the need for the hacks and the source where the solution has been found.

4,386 methods matched

methodsPercentage Comment# lines of code (LOC)# lines of commentFull Name
TestBody()0500MapVectorTest_insert_pop_Test.TestBody()
TestBody()0230MapVectorTest_remove_if_Test.TestBody()
TestBody()0620SmallPtrSetTest_SwapTest_Test.TestBody()
TestBody()0410anonymous_namespace{apfloattest.cpp} .APFloatTest_fromZeroDecimalString_Test.TestBody()
TestBody()0770anonymous_namespace{apfloattest.cpp} .APFloatTest_fromZeroDecimalSingleExponentString_Test.TestBody()
TestBody()0230anonymous_namespace{apfloattest.cpp} .APFloatTest_fromZeroDecimalLargeExponentString_Test.TestBody()
TestBody()0910anonymous_namespace{apfloattest.cpp} .APFloatTest_fromZeroHexadecimalString_Test.TestBody()
TestBody()01150anonymous_namespace{apfloattest.cpp} .APFloatTest_fromHexadecimalString_Test.TestBody()
TestBody()0250anonymous_namespace{apfloattest.cpp}.APFloatTest_toString_Test .TestBody()
TestBody()0430anonymous_namespace{apfloattest.cpp}.APFloatTest_toInteger_Test .TestBody()
TestBody()0310anonymous_namespace{apfloattest.cpp}.APFloatTest_makeNaN_Test.TestBody ()
TestBody()0270anonymous_namespace{apfloattest.cpp} .APFloatTest_StringDecimalDeath_Test.TestBody()
TestBody()0290anonymous_namespace{apfloattest.cpp} .APFloatTest_StringDecimalSignificandDeath_Test.TestBody()
TestBody()0390anonymous_namespace{apfloattest.cpp} .APFloatTest_StringDecimalExponentDeath_Test.TestBody()
TestBody()0510anonymous_namespace{apfloattest.cpp} .APFloatTest_StringHexadecimalDeath_Test.TestBody()
TestBody()0410anonymous_namespace{apfloattest.cpp} .APFloatTest_StringHexadecimalSignificandDeath_Test.TestBody()
TestBody()0710anonymous_namespace{apfloattest.cpp} .APFloatTest_StringHexadecimalExponentDeath_Test.TestBody()
TestBody()0520anonymous_namespace{apfloattest.cpp}.APFloatTest_roundToIntegral_Test .TestBody()
TestBody()0360anonymous_namespace{apfloattest.cpp}.APFloatTest_getSmallest_Test .TestBody()
TestBody()0360anonymous_namespace{apfloattest.cpp} .APFloatTest_getSmallestNormalized_Test.TestBody()
TestBody()0450anonymous_namespace{apfloattest.cpp}.APFloatTest_convert_Test.TestBody ()
TestBody()0230anonymous_namespace{apinttest.cpp}.APIntTest_i65_Count_Test.TestBody()
TestBody()0580anonymous_namespace{apinttest.cpp}.APIntTest_i128_PositiveCount_Test .TestBody()
TestBody()01370anonymous_namespace{apinttest.cpp}.APIntTest_fromString_Test.TestBody( )
TestBody()0290anonymous_namespace{apinttest.cpp}.APIntTest_StringBitsNeeded2_Test .TestBody()
TestBody()0290anonymous_namespace{apinttest.cpp}.APIntTest_StringBitsNeeded8_Test .TestBody()
TestBody()0310anonymous_namespace{apinttest.cpp}.APIntTest_StringBitsNeeded10_Test .TestBody()
TestBody()0290anonymous_namespace{apinttest.cpp}.APIntTest_StringBitsNeeded16_Test .TestBody()
TestBody()0490anonymous_namespace{apinttest.cpp}.APIntTest_toString_Test.TestBody()
TestBody()0420anonymous_namespace{apinttest.cpp}.APIntTest_Rotate_Test.TestBody()
TestBody()0290llvm.ArrayRefTest_Equals_Test.TestBody()
TestBody()02062anonymous_namespace{bitvectortest.cpp} .BitVectorTest_TrivialOperation_Test<gtest_TypeParam_>.TestBody()
TestBody()0420anonymous_namespace{bitvectortest.cpp} .BitVectorTest_CompoundAssignment_Test<gtest_TypeParam_>.TestBody()
TestBody()0370anonymous_namespace{bitvectortest.cpp} .BitVectorTest_PortableBitMask_Test<gtest_TypeParam_>.TestBody()
TestBody()0260anonymous_namespace{bitvectortest.cpp}.BitVectorTest_BinOps_Test <gtest_TypeParam_>.TestBody()
TestBody()0600anonymous_namespace{bitvectortest.cpp}.BitVectorTest_RangeOps_Test <gtest_TypeParam_>.TestBody()
TestBody()0400anonymous_namespace{bitvectortest.cpp} .BitVectorTest_CompoundTestReset_Test<gtest_TypeParam_>.TestBody()
TestBody()0300anonymous_namespace{hashingtest.cpp} .HashingTest_HashValueBasicTest_Test.TestBody()
TestBody()0380anonymous_namespace{immutablesettest.cpp} .ImmutableSetTest_OneElemIntSetTest_Test.TestBody()
TestBody()0520anonymous_namespace{immutablesettest.cpp} .ImmutableSetTest_MultiElemIntSetTest_Test.TestBody()
TestBody()0240anonymous_namespace{immutablesettest.cpp} .ImmutableSetTest_RemoveIntSetTest_Test.TestBody()
TestBody()0440anonymous_namespace{makeuniquetest.cpp} .MakeUniqueTest_SingleObject_Test.TestBody()
TestBody()0210anonymous_namespace{optionaltest.cpp} .OptionalTest_ConstructingCopyAssignmentTest_Test.TestBody()
TestBody()0210anonymous_namespace{optionaltest.cpp} .OptionalTest_CopyingCopyAssignmentTest_Test.TestBody()
TestBody()0210anonymous_namespace{optionaltest.cpp} .OptionalTest_DeletingCopyAssignmentTest_Test.TestBody()
TestBody()0210anonymous_namespace{optionaltest.cpp} .OptionalTest_NullCopyConstructionTest_Test.TestBody()
TestBody()0610anonymous_namespace{packedvectortest.cpp} .PackedVectorTest_Operation_Test.TestBody()
TestBody()0500anonymous_namespace{smallstringtest.cpp}.SmallStringTest_Find_Test .TestBody()
TestBody()0570anonymous_namespace{smallstringtest.cpp} .StringRefTest_Comparisons_Test.TestBody()
TestBody()0220anonymous_namespace{sparsebitvectortest.cpp} .SparseBitVectorTest_TrivialOperation_Test.TestBody()
TestBody()0210anonymous_namespace{stringmaptest.cpp}.StringMapTest_MoveDtor_Test .TestBody()
TestBody()0700anonymous_namespace{stringreftest.cpp}.StringRefTest_StringOps_Test .TestBody()
TestBody()0270anonymous_namespace{stringreftest.cpp}.StringRefTest_Operators_Test .TestBody()
TestBody()0320anonymous_namespace{stringreftest.cpp}.StringRefTest_Trim_Test .TestBody()
TestBody()0560anonymous_namespace{stringreftest.cpp}.StringRefTest_Find_Test .TestBody()
TestBody()0660anonymous_namespace{stringreftest.cpp}.StringRefTest_getAsInteger_Test .TestBody()
TestBody()01090anonymous_namespace{tinyptrvectortest.cpp} .TinyPtrVectorTest_CopyAndMoveTest_Test<gtest_TypeParam_>.TestBody()
TestBody()0260anonymous_namespace{tinyptrvectortest.cpp} .TinyPtrVectorTest_EraseTest_Test<gtest_TypeParam_>.TestBody()
TestBody()0290anonymous_namespace{tinyptrvectortest.cpp} .TinyPtrVectorTest_EraseRangeTest_Test<gtest_TypeParam_>.TestBody()
TestBody()0210anonymous_namespace{tinyptrvectortest.cpp} .TinyPtrVectorTest_InsertRange_Test<gtest_TypeParam_>.TestBody()
TestBody()0730anonymous_namespace{tripletest.cpp}.TripleTest_BasicParsing_Test .TestBody()
TestBody()0750anonymous_namespace{tripletest.cpp}.TripleTest_ParsedIDs_Test.TestBody ()
TestBody()0500anonymous_namespace{tripletest.cpp}.TripleTest_MutateName_Test .TestBody()
TestBody()0600anonymous_namespace{tripletest.cpp}.TripleTest_BitWidthPredicates_Test .TestBody()
TestBody()0560anonymous_namespace{tripletest.cpp} .TripleTest_BitWidthArchVariants_Test.TestBody()
TestBody()01340anonymous_namespace{tripletest.cpp}.TripleTest_getOSVersion_Test .TestBody()
TestBody()0320anonymous_namespace{tripletest.cpp}.TripleTest_FileFormat_Test .TestBody()
TestBody()0530anonymous_namespace{tripletest.cpp}.TripleTest_NormalizeWindows_Test .TestBody()
TestBody()0380clang.ast_matchers.NameableDeclaration_REMatchesVariousDecls_Test .TestBody()
TestBody()0240clang.ast_matchers.DeclarationMatcher_MatchAnyOf_Test.TestBody()
TestBody()0230clang.ast_matchers.Matcher_HasNameSupportsNamespaces_Test.TestBody()
TestBody()0210clang.ast_matchers.Matcher_HasNameSupportsOuterClasses_Test.TestBody()
TestBody()0230clang.ast_matchers.TypeMatching_MatchesArrayTypes_Test.TestBody()
TestBody()0220clang.ast_matchers.TypeMatching_AutoRefTypes_Test.TestBody()
TestBody()0340clang.comments.CommentLexerTest_DoxygenCommand7_Test.TestBody()
TestBody()0340clang.comments.CommentLexerTest_DoxygenCommand8_Test.TestBody()
TestBody()0340clang.comments.CommentLexerTest_DoxygenCommand9_Test.TestBody()
TestBody()0330clang.comments.CommentLexerTest_RegisterCustomBlockCommand_Test .TestBody()
TestBody()0450clang.comments.CommentLexerTest_RegisterMultipleBlockCommands_Test .TestBody()
TestBody()0340clang.comments.CommentLexerTest_VerbatimBlock6_Test.TestBody()
TestBody()0380clang.comments.CommentLexerTest_VerbatimBlock7_Test.TestBody()
TestBody()0260clang.comments.CommentLexerTest_HTML8_Test.TestBody()
TestBody()0210clang.comments.CommentLexerTest_HTML10_Test.TestBody()
TestBody()0250clang.comments.CommentLexerTest_HTML11_Test.TestBody()
TestBody()0240clang.comments.CommentLexerTest_HTML12_Test.TestBody()
TestBody()0250clang.comments.CommentLexerTest_HTML13_Test.TestBody()
TestBody()0270clang.comments.CommentLexerTest_HTML14_Test.TestBody()
TestBody()0230clang.comments.CommentLexerTest_HTML16_Test.TestBody()
TestBody()0380clang.comments.CommentLexerTest_MultipleComments_Test.TestBody()
TestBody()0210clang.comments.anonymous_namespace{commentparser.cpp} .CommentParserTest_Paragraph3_Test.TestBody()
TestBody()0220clang.comments.anonymous_namespace{commentparser.cpp} .CommentParserTest_ParamCommand7_Test.TestBody()
TestBody()0210clang.comments.anonymous_namespace{commentparser.cpp} .CommentParserTest_HTML6_Test.TestBody()
TestBody()0290anonymous_namespace{lazycallgraphtest.cpp} .LazyCallGraphTest_BasicGraphMutation_Test.TestBody()
TestBody()0270CharInfoTest_isIdentifierHead_Test.TestBody()
TestBody()0270CharInfoTest_isIdentifierBody_Test.TestBody()
TestBody()0310CharInfoTest_isWhitespace_Test.TestBody()
TestBody()0250CharInfoTest_isDigit_Test.TestBody()
TestBody()0250CharInfoTest_isHexDigit_Test.TestBody()
TestBody()0270CharInfoTest_isLetter_Test.TestBody()
TestBody()0270CharInfoTest_isLowercase_Test.TestBody()

Statistics

Stat   Percentage Comment   # lines of code (LOC)   # lines of comment
Sum:35 844130 04824 418
Average:8.17979 2745.57
Minimum:0210
Maximum:190202
Standard deviation:6.4564 844 9328.85
Variance:41.631 879 048 19278.32
warningCritical    Rule warning: Methods with too many parameters
• Rule Description:

This rule matches methods with more than 5 parameters. Such method might be painful to call and might degrade performance. See the definition of the NbParameters metric here: http://www.cppdepend.com/Metrics.aspx#NbParameters


• How to Fix Violations:

More properties/fields can be added to the declaring type to handle numerous states. An alternative is to provide a class or a structure dedicated to handle arguments passing.

2,271 methods matched

methods# ParametersFull Name
getFunction(bool,bool,clang::SourceLocation ,clang::DeclaratorChunk::ParamInfo*,unsignedint,clang::SourceLocation ,clang::SourceLocation,unsignedint,bool,clang::SourceLocation ,clang::SourceLocation,clang::SourceLocation,clang::SourceLocation ,clang::ExceptionSpecificationType,clang::SourceLocation,ParsedType* ,clang::SourceRange*,unsignedint,clang::Expr*,clang::SourceLocation ,clang::SourceLocation,clang::Declarator&,TypeResult)23clang.DeclaratorChunk.getFunction(bool,bool,clang::SourceLocation ,clang::DeclaratorChunk::ParamInfo*,unsignedint,clang::SourceLocation ,clang::SourceLocation,unsignedint,bool,clang::SourceLocation ,clang::SourceLocation,clang::SourceLocation,clang::SourceLocation ,clang::ExceptionSpecificationType,clang::SourceLocation,ParsedType* ,clang::SourceRange*,unsignedint,clang::Expr*,clang::SourceLocation ,clang::SourceLocation,clang::Declarator&,TypeResult)
ASTRecordLayout(constclang::ASTContext&,clang::CharUnits ,clang::CharUnits,clang::CharUnits,bool,bool,clang::CharUnits ,clang::CharUnits,constuint64_t*,unsignedint,clang::CharUnits ,clang::CharUnits,clang::CharUnits,constclang::CXXRecordDecl*,bool ,constclang::CXXRecordDecl*,bool,bool,constBaseOffsetsMapTy& ,constVBaseOffsetsMapTy&)20clang.ASTRecordLayout.ASTRecordLayout(constclang::ASTContext& ,clang::CharUnits,clang::CharUnits,clang::CharUnits,bool,bool ,clang::CharUnits,clang::CharUnits,constuint64_t*,unsignedint ,clang::CharUnits,clang::CharUnits,clang::CharUnits ,constclang::CXXRecordDecl*,bool,constclang::CXXRecordDecl*,bool,bool ,constBaseOffsetsMapTy&,constVBaseOffsetsMapTy&)
InsertLDR_STR(llvm::MachineBasicBlock&,MachineBasicBlock::iterator& ,int,bool,llvm::DebugLoc,unsignedint,unsignedint,bool,bool,unsignedint ,bool,bool,bool,bool,ARMCC::CondCodes,unsignedint ,constllvm::TargetInstrInfo*,bool)18__Globals.InsertLDR_STR(llvm::MachineBasicBlock& ,MachineBasicBlock::iterator&,int,bool,llvm::DebugLoc,unsignedint ,unsignedint,bool,bool,unsignedint,bool,bool,bool,bool ,ARMCC::CondCodes,unsignedint,constllvm::TargetInstrInfo*,bool)
findBestDAGFor(DenseMap<llvm::Value*,std::vector<Value*>>&,DenseSet <ValuePair>&,DenseMap<ValuePair,int>&,std::vector<Value*>&,DenseSet <ValuePair>&,DenseMap<VPPair,unsignedint>&,DenseMap<ValuePair ,std::vector<ValuePair>>&,DenseMap<ValuePair,std::vector<ValuePair>>& ,DenseSet<ValuePair>&,DenseMap<ValuePair,std::vector<ValuePair>>& ,DenseSet<VPPair>&,DenseMap<llvm::Value*,llvm::Value*>&,DenseSet <ValuePair>&,size_t&,int&,llvm::Value*,std::vector<Value*>&,bool)18anonymous_namespace{bbvectorize.cpp}.BBVectorize.findBestDAGFor (DenseMap<llvm::Value*,std::vector<Value*>>&,DenseSet<ValuePair>& ,DenseMap<ValuePair,int>&,std::vector<Value*>&,DenseSet<ValuePair>& ,DenseMap<VPPair,unsignedint>&,DenseMap<ValuePair,std::vector <ValuePair>>&,DenseMap<ValuePair,std::vector<ValuePair>>&,DenseSet <ValuePair>&,DenseMap<ValuePair,std::vector<ValuePair>>&,DenseSet <VPPair>&,DenseMap<llvm::Value*,llvm::Value*>&,DenseSet<ValuePair>& ,size_t&,int&,llvm::Value*,std::vector<Value*>&,bool)
LoadFromCommandLine(constchar**,constchar**,IntrusiveRefCntPtr <clang::DiagnosticsEngine>,llvm::StringRef,bool,bool,ArrayRef <RemappedFile>,bool,bool,clang::TranslationUnitKind,bool,bool,bool ,bool,bool,bool,std::unique_ptr<ASTUnit>*)17clang.ASTUnit.LoadFromCommandLine(constchar**,constchar** ,IntrusiveRefCntPtr<clang::DiagnosticsEngine>,llvm::StringRef,bool ,bool,ArrayRef<RemappedFile>,bool,bool,clang::TranslationUnitKind,bool ,bool,bool,bool,bool,bool,std::unique_ptr<ASTUnit>*)
ActOnTag(clang::Scope*,unsignedint,clang::Sema::TagUseKind ,clang::SourceLocation,clang::CXXScopeSpec&,clang::IdentifierInfo* ,clang::SourceLocation,clang::AttributeList*,clang::AccessSpecifier ,clang::SourceLocation,MultiTemplateParamsArg,bool&,bool& ,clang::SourceLocation,bool,TypeResult,bool)17clang.Sema.ActOnTag(clang::Scope*,unsignedint,clang::Sema::TagUseKind ,clang::SourceLocation,clang::CXXScopeSpec&,clang::IdentifierInfo* ,clang::SourceLocation,clang::AttributeList*,clang::AccessSpecifier ,clang::SourceLocation,MultiTemplateParamsArg,bool&,bool& ,clang::SourceLocation,bool,TypeResult,bool)
PrintSection(constchar*,constchar*,uint64_t,uint64_t,uint32_t,uint32_t ,uint32_t,uint32_t,uint32_t,uint32_t,uint32_t,uint32_t,constchar* ,uint32_t,uint32_t,bool)16__Globals.PrintSection(constchar*,constchar*,uint64_t,uint64_t ,uint32_t,uint32_t,uint32_t,uint32_t,uint32_t,uint32_t,uint32_t ,uint32_t,constchar*,uint32_t,uint32_t,bool)
createMethod(llvm::DIDescriptor,llvm::StringRef,llvm::StringRef ,llvm::DIFile,unsignedint,llvm::DICompositeType,bool,bool,unsignedint ,unsignedint,llvm::DIType,unsignedint,bool,llvm::Function* ,llvm::MDNode*)15llvm.DIBuilder.createMethod(llvm::DIDescriptor,llvm::StringRef ,llvm::StringRef,llvm::DIFile,unsignedint,llvm::DICompositeType,bool ,bool,unsignedint,unsignedint,llvm::DIType,unsignedint,bool ,llvm::Function*,llvm::MDNode*)
getLoad(ISD::MemIndexedMode,ISD::LoadExtType,llvm::EVT,llvm::SDLoc ,llvm::SDValue,llvm::SDValue,llvm::SDValue,llvm::MachinePointerInfo ,llvm::EVT,bool,bool,bool,unsignedint,constllvm::AAMDNodes& ,constllvm::MDNode*)15llvm.SelectionDAG.getLoad(ISD::MemIndexedMode,ISD::LoadExtType ,llvm::EVT,llvm::SDLoc,llvm::SDValue,llvm::SDValue,llvm::SDValue ,llvm::MachinePointerInfo,llvm::EVT,bool,bool,bool,unsignedint ,constllvm::AAMDNodes&,constllvm::MDNode*)
ActOnMethodDeclaration(clang::Scope*,clang::SourceLocation ,clang::SourceLocation,tok::TokenKind,clang::ObjCDeclSpec&,ParsedType ,ArrayRef<clang::SourceLocation>,clang::Selector ,clang::Sema::ObjCArgInfo*,DeclaratorChunk::ParamInfo*,unsignedint ,clang::AttributeList*,tok::ObjCKeywordKind,bool,bool)15clang.Sema.ActOnMethodDeclaration(clang::Scope*,clang::SourceLocation ,clang::SourceLocation,tok::TokenKind,clang::ObjCDeclSpec&,ParsedType ,ArrayRef<clang::SourceLocation>,clang::Selector ,clang::Sema::ObjCArgInfo*,DeclaratorChunk::ParamInfo*,unsignedint ,clang::AttributeList*,tok::ObjCKeywordKind,bool,bool)
MergeOpsUpdate(llvm::MachineBasicBlock&,MemOpQueue&,unsignedint ,unsignedint,unsignedint,int,unsignedint,bool,int,ARMCC::CondCodes ,unsignedint,unsignedint,llvm::DebugLoc,SmallVectorImpl <MachineBasicBlock::iterator>&)14anonymous_namespace{armloadstoreoptimizer.cpp}.ARMLoadStoreOpt .MergeOpsUpdate(llvm::MachineBasicBlock&,MemOpQueue&,unsignedint ,unsignedint,unsignedint,int,unsignedint,bool,int,ARMCC::CondCodes ,unsignedint,unsignedint,llvm::DebugLoc,SmallVectorImpl <MachineBasicBlock::iterator>&)
createFunction(llvm::DIDescriptor,llvm::StringRef,llvm::StringRef ,llvm::DIFile,unsignedint,llvm::DICompositeType,bool,bool,unsignedint ,unsignedint,bool,llvm::Function*,llvm::MDNode*,llvm::MDNode*)14llvm.DIBuilder.createFunction(llvm::DIDescriptor,llvm::StringRef ,llvm::StringRef,llvm::DIFile,unsignedint,llvm::DICompositeType,bool ,bool,unsignedint,unsignedint,bool,llvm::Function*,llvm::MDNode* ,llvm::MDNode*)
createFunction(DIScopeRef,llvm::StringRef,llvm::StringRef,llvm::DIFile ,unsignedint,llvm::DICompositeType,bool,bool,unsignedint,unsignedint ,bool,llvm::Function*,llvm::MDNode*,llvm::MDNode*)14llvm.DIBuilder.createFunction(DIScopeRef,llvm::StringRef ,llvm::StringRef,llvm::DIFile,unsignedint,llvm::DICompositeType,bool ,bool,unsignedint,unsignedint,bool,llvm::Function*,llvm::MDNode* ,llvm::MDNode*)
InitMCRegisterInfo(constllvm::MCRegisterDesc*,unsignedint,unsignedint ,unsignedint,constllvm::MCRegisterClass*,unsignedint,constMCPhysReg(* )[2],unsignedint,constMCPhysReg*,constchar*,constuint16_t*,unsignedint ,constllvm::MCRegisterInfo::SubRegCoveredBits*,constuint16_t*)14llvm.MCRegisterInfo.InitMCRegisterInfo(constllvm::MCRegisterDesc* ,unsignedint,unsignedint,unsignedint,constllvm::MCRegisterClass* ,unsignedint,constMCPhysReg(*)[2],unsignedint,constMCPhysReg* ,constchar*,constuint16_t*,unsignedint ,constllvm::MCRegisterInfo::SubRegCoveredBits*,constuint16_t*)
Create(clang::ASTContext&,clang::SourceLocation,clang::SourceLocation ,clang::Selector,clang::QualType,clang::TypeSourceInfo* ,clang::DeclContext*,bool,bool,bool,bool,bool ,clang::ObjCMethodDecl::ImplementationControl,bool)14clang.ObjCMethodDecl.Create(clang::ASTContext&,clang::SourceLocation ,clang::SourceLocation,clang::Selector,clang::QualType ,clang::TypeSourceInfo*,clang::DeclContext*,bool,bool,bool,bool,bool ,clang::ObjCMethodDecl::ImplementationControl,bool)
CXXNewExpr(constclang::ASTContext&,bool,clang::FunctionDecl* ,clang::FunctionDecl*,bool,ArrayRef<clang::Expr*>,clang::SourceRange ,clang::Expr*,clang::CXXNewExpr::InitializationStyle,clang::Expr* ,clang::QualType,clang::TypeSourceInfo*,clang::SourceRange ,clang::SourceRange)14clang.CXXNewExpr.CXXNewExpr(constclang::ASTContext&,bool ,clang::FunctionDecl*,clang::FunctionDecl*,bool,ArrayRef<clang::Expr*> ,clang::SourceRange,clang::Expr* ,clang::CXXNewExpr::InitializationStyle,clang::Expr*,clang::QualType ,clang::TypeSourceInfo*,clang::SourceRange,clang::SourceRange)
GenerateClassStructure(llvm::Constant*,llvm::Constant*,unsignedint ,constchar*,llvm::Constant*,llvm::Constant*,llvm::Constant* ,llvm::Constant*,llvm::Constant*,llvm::Constant*,llvm::Constant* ,llvm::Constant*,llvm::Constant*,bool)14anonymous_namespace{cgobjcgnu.cpp}.CGObjCGNU.GenerateClassStructure (llvm::Constant*,llvm::Constant*,unsignedint,constchar* ,llvm::Constant*,llvm::Constant*,llvm::Constant*,llvm::Constant* ,llvm::Constant*,llvm::Constant*,llvm::Constant*,llvm::Constant* ,llvm::Constant*,bool)
CodeComplete(llvm::StringRef,unsignedint,unsignedint,ArrayRef <RemappedFile>,bool,bool,bool,clang::CodeCompleteConsumer& ,clang::DiagnosticsEngine&,clang::LangOptions&,clang::SourceManager& ,clang::FileManager&,SmallVectorImpl<clang::StoredDiagnostic>& ,SmallVectorImpl<constllvm::MemoryBuffer*>&)14clang.ASTUnit.CodeComplete(llvm::StringRef,unsignedint,unsignedint ,ArrayRef<RemappedFile>,bool,bool,bool,clang::CodeCompleteConsumer& ,clang::DiagnosticsEngine&,clang::LangOptions&,clang::SourceManager& ,clang::FileManager&,SmallVectorImpl<clang::StoredDiagnostic>& ,SmallVectorImpl<constllvm::MemoryBuffer*>&)
CreatePropertyDecl(clang::Scope*,clang::ObjCContainerDecl* ,clang::SourceLocation,clang::SourceLocation,clang::FieldDeclarator& ,clang::Selector,clang::Selector,constbool,constbool,constunsignedint ,constunsignedint,clang::TypeSourceInfo*,tok::ObjCKeywordKind ,clang::DeclContext*)14clang.Sema.CreatePropertyDecl(clang::Scope*,clang::ObjCContainerDecl* ,clang::SourceLocation,clang::SourceLocation,clang::FieldDeclarator& ,clang::Selector,clang::Selector,constbool,constbool,constunsignedint ,constunsignedint,clang::TypeSourceInfo*,tok::ObjCKeywordKind ,clang::DeclContext*)
CheckClassTemplate(clang::Scope*,unsignedint,clang::Sema::TagUseKind ,clang::SourceLocation,clang::CXXScopeSpec&,clang::IdentifierInfo* ,clang::SourceLocation,clang::AttributeList* ,clang::TemplateParameterList*,clang::AccessSpecifier ,clang::SourceLocation,clang::SourceLocation,unsignedint ,clang::TemplateParameterList**)14clang.Sema.CheckClassTemplate(clang::Scope*,unsignedint ,clang::Sema::TagUseKind,clang::SourceLocation,clang::CXXScopeSpec& ,clang::IdentifierInfo*,clang::SourceLocation,clang::AttributeList* ,clang::TemplateParameterList*,clang::AccessSpecifier ,clang::SourceLocation,clang::SourceLocation,unsignedint ,clang::TemplateParameterList**)
DumpSectionData(constllvm::object::MachOObjectFile&,unsignedint ,llvm::StringRef,llvm::StringRef,uint64_t,uint64_t,uint32_t,uint32_t ,uint32_t,uint32_t,uint32_t,uint32_t,uint32_t,uint64_t)14__Globals.DumpSectionData(constllvm::object::MachOObjectFile& ,unsignedint,llvm::StringRef,llvm::StringRef,uint64_t,uint64_t ,uint32_t,uint32_t,uint32_t,uint32_t,uint32_t,uint32_t,uint32_t ,uint64_t)
createClassType(llvm::DIDescriptor,llvm::StringRef,llvm::DIFile ,unsignedint,uint64_t,uint64_t,uint64_t,unsignedint,llvm::DIType ,DIArray,llvm::DIType,llvm::MDNode*,llvm::StringRef)13llvm.DIBuilder.createClassType(llvm::DIDescriptor,llvm::StringRef ,llvm::DIFile,unsignedint,uint64_t,uint64_t,uint64_t,unsignedint ,llvm::DIType,DIArray,llvm::DIType,llvm::MDNode*,llvm::StringRef)
LLVMDisasmContext(std::string,void*,int,LLVMOpInfoCallback ,LLVMSymbolLookupCallback,constllvm::Target*,constllvm::MCAsmInfo* ,constllvm::MCRegisterInfo*,constllvm::MCSubtargetInfo* ,constllvm::MCInstrInfo*,llvm::MCContext*,constllvm::MCDisassembler* ,llvm::MCInstPrinter*)13llvm.LLVMDisasmContext.LLVMDisasmContext(std::string,void*,int ,LLVMOpInfoCallback,LLVMSymbolLookupCallback,constllvm::Target* ,constllvm::MCAsmInfo*,constllvm::MCRegisterInfo* ,constllvm::MCSubtargetInfo*,constllvm::MCInstrInfo*,llvm::MCContext* ,constllvm::MCDisassembler*,llvm::MCInstPrinter*)
LowerMemOpCallTo(llvm::SelectionDAG&,llvm::MachineFunction& ,llvm::SDValue,llvm::SDValue,llvm::SDValue,int,unsignedint,bool,bool ,bool,SmallVectorImpl<llvm::SDValue>&,SmallVectorImpl< (anonymousnamespace)::TailCallArgumentInfo>&,llvm::SDLoc)13__Globals.LowerMemOpCallTo(llvm::SelectionDAG&,llvm::MachineFunction& ,llvm::SDValue,llvm::SDValue,llvm::SDValue,int,unsignedint,bool,bool ,bool,SmallVectorImpl<llvm::SDValue>&,SmallVectorImpl< (anonymousnamespace)::TailCallArgumentInfo>&,llvm::SDLoc)
FinishCall(CallingConv::ID,llvm::SDLoc,bool,bool,llvm::SelectionDAG& ,SmallVector<std::pair<unsignedint,SDValue>,8>&,llvm::SDValue ,llvm::SDValue,llvm::SDValue&,int,unsignedint,constSmallVectorImpl <ISD::InputArg>&,SmallVectorImpl<llvm::SDValue>&)13llvm.PPCTargetLowering.FinishCall(CallingConv::ID,llvm::SDLoc,bool ,bool,llvm::SelectionDAG&,SmallVector<std::pair<unsignedint,SDValue>,8 >&,llvm::SDValue,llvm::SDValue,llvm::SDValue&,int,unsignedint ,constSmallVectorImpl<ISD::InputArg>&,SmallVectorImpl<llvm::SDValue>&)
getAtomicCmpSwap(unsignedint,llvm::SDLoc,llvm::EVT,llvm::SDVTList ,llvm::SDValue,llvm::SDValue,llvm::SDValue,llvm::SDValue ,llvm::MachinePointerInfo,unsignedint,llvm::AtomicOrdering ,llvm::AtomicOrdering,llvm::SynchronizationScope)13llvm.SelectionDAG.getAtomicCmpSwap(unsignedint,llvm::SDLoc,llvm::EVT ,llvm::SDVTList,llvm::SDValue,llvm::SDValue,llvm::SDValue ,llvm::SDValue,llvm::MachinePointerInfo,unsignedint ,llvm::AtomicOrdering,llvm::AtomicOrdering,llvm::SynchronizationScope)
GCCAsmStmt(constclang::ASTContext&,clang::SourceLocation,bool,bool ,unsignedint,unsignedint,clang::IdentifierInfo** ,clang::StringLiteral**,clang::Expr**,clang::StringLiteral* ,unsignedint,clang::StringLiteral**,clang::SourceLocation)13clang.GCCAsmStmt.GCCAsmStmt(constclang::ASTContext& ,clang::SourceLocation,bool,bool,unsignedint,unsignedint ,clang::IdentifierInfo**,clang::StringLiteral**,clang::Expr** ,clang::StringLiteral*,unsignedint,clang::StringLiteral** ,clang::SourceLocation)
MSAsmStmt(constclang::ASTContext&,clang::SourceLocation ,clang::SourceLocation,bool,bool,ArrayRef<clang::Token>,unsignedint ,unsignedint,ArrayRef<llvm::StringRef>,ArrayRef<clang::Expr*> ,llvm::StringRef,ArrayRef<llvm::StringRef>,clang::SourceLocation)13clang.MSAsmStmt.MSAsmStmt(constclang::ASTContext& ,clang::SourceLocation,clang::SourceLocation,bool,bool,ArrayRef <clang::Token>,unsignedint,unsignedint,ArrayRef<llvm::StringRef> ,ArrayRef<clang::Expr*>,llvm::StringRef,ArrayRef<llvm::StringRef> ,clang::SourceLocation)
ObjCMethodDecl(clang::SourceLocation,clang::SourceLocation ,clang::Selector,clang::QualType,clang::TypeSourceInfo* ,clang::DeclContext*,bool,bool,bool,bool,bool ,clang::ObjCMethodDecl::ImplementationControl,bool)13clang.ObjCMethodDecl.ObjCMethodDecl(clang::SourceLocation ,clang::SourceLocation,clang::Selector,clang::QualType ,clang::TypeSourceInfo*,clang::DeclContext*,bool,bool,bool,bool,bool ,clang::ObjCMethodDecl::ImplementationControl,bool)
CXXConstructExpr(constclang::ASTContext&,clang::Stmt::StmtClass ,clang::QualType,clang::SourceLocation,clang::CXXConstructorDecl*,bool ,ArrayRef<clang::Expr*>,bool,bool,bool,bool ,clang::CXXConstructExpr::ConstructionKind,clang::SourceRange)13clang.CXXConstructExpr.CXXConstructExpr(constclang::ASTContext& ,clang::Stmt::StmtClass,clang::QualType,clang::SourceLocation ,clang::CXXConstructorDecl*,bool,ArrayRef<clang::Expr*>,bool,bool,bool ,bool,clang::CXXConstructExpr::ConstructionKind,clang::SourceRange)
Create(constclang::ASTContext&,clang::CXXRecordDecl* ,clang::SourceRange,clang::LambdaCaptureDefault,clang::SourceLocation ,ArrayRef<Capture>,bool,bool,ArrayRef<clang::Expr*>,ArrayRef <clang::VarDecl*>,ArrayRef<unsignedint>,clang::SourceLocation,bool)13clang.LambdaExpr.Create(constclang::ASTContext&,clang::CXXRecordDecl* ,clang::SourceRange,clang::LambdaCaptureDefault,clang::SourceLocation ,ArrayRef<Capture>,bool,bool,ArrayRef<clang::Expr*>,ArrayRef <clang::VarDecl*>,ArrayRef<unsignedint>,clang::SourceLocation,bool)
ObjCMessageExpr(clang::QualType,clang::ExprValueKind ,clang::SourceLocation,clang::SourceLocation,bool,clang::QualType ,clang::Selector,ArrayRef<clang::SourceLocation> ,clang::SelectorLocationsKind,clang::ObjCMethodDecl*,ArrayRef <clang::Expr*>,clang::SourceLocation,bool)13clang.ObjCMessageExpr.ObjCMessageExpr(clang::QualType ,clang::ExprValueKind,clang::SourceLocation,clang::SourceLocation,bool ,clang::QualType,clang::Selector,ArrayRef<clang::SourceLocation> ,clang::SelectorLocationsKind,clang::ObjCMethodDecl*,ArrayRef <clang::Expr*>,clang::SourceLocation,bool)
Create(constclang::ASTContext&,clang::QualType,clang::ExprValueKind ,clang::SourceLocation,clang::SourceLocation,bool,clang::QualType ,clang::Selector,ArrayRef<clang::SourceLocation> ,clang::ObjCMethodDecl*,ArrayRef<clang::Expr*>,clang::SourceLocation ,bool)13clang.ObjCMessageExpr.Create(constclang::ASTContext&,clang::QualType ,clang::ExprValueKind,clang::SourceLocation,clang::SourceLocation,bool ,clang::QualType,clang::Selector,ArrayRef<clang::SourceLocation> ,clang::ObjCMethodDecl*,ArrayRef<clang::Expr*>,clang::SourceLocation ,bool)
LoadFromCompilerInvocationAction(clang::CompilerInvocation* ,IntrusiveRefCntPtr<clang::DiagnosticsEngine> ,clang::ASTFrontendAction*,clang::ASTUnit*,bool,llvm::StringRef,bool ,bool,bool,bool,bool,bool,std::unique_ptr<ASTUnit>*)13clang.ASTUnit.LoadFromCompilerInvocationAction (clang::CompilerInvocation*,IntrusiveRefCntPtr <clang::DiagnosticsEngine>,clang::ASTFrontendAction*,clang::ASTUnit* ,bool,llvm::StringRef,bool,bool,bool,bool,bool,bool,std::unique_ptr <ASTUnit>*)
BuildMemberExpr(clang::Sema&,clang::ASTContext&,clang::Expr*,bool ,constclang::CXXScopeSpec&,clang::SourceLocation,clang::ValueDecl* ,clang::DeclAccessPair,constclang::DeclarationNameInfo& ,clang::QualType,clang::ExprValueKind,clang::ExprObjectKind ,constclang::TemplateArgumentListInfo*)13__Globals.BuildMemberExpr(clang::Sema&,clang::ASTContext&,clang::Expr* ,bool,constclang::CXXScopeSpec&,clang::SourceLocation ,clang::ValueDecl*,clang::DeclAccessPair ,constclang::DeclarationNameInfo&,clang::QualType,clang::ExprValueKind ,clang::ExprObjectKind,constclang::TemplateArgumentListInfo*)
HandlePropertyInClassExtension(clang::Scope*,clang::SourceLocation ,clang::SourceLocation,clang::FieldDeclarator&,clang::Selector ,clang::Selector,constbool,constbool,constunsignedint,constunsignedint ,bool*,clang::TypeSourceInfo*,tok::ObjCKeywordKind)13clang.Sema.HandlePropertyInClassExtension(clang::Scope* ,clang::SourceLocation,clang::SourceLocation,clang::FieldDeclarator& ,clang::Selector,clang::Selector,constbool,constbool,constunsignedint ,constunsignedint,bool*,clang::TypeSourceInfo*,tok::ObjCKeywordKind)
CheckPrintfHandler(clang::Sema&,constclang::StringLiteral* ,constclang::Expr*,unsignedint,unsignedint,bool,constchar*,bool ,ArrayRef<constclang::Expr*>,unsignedint,bool,Sema::VariadicCallType ,llvm::SmallBitVector&)13anonymous_namespace{semachecking.cpp}.CheckPrintfHandler .CheckPrintfHandler(clang::Sema&,constclang::StringLiteral* ,constclang::Expr*,unsignedint,unsignedint,bool,constchar*,bool ,ArrayRef<constclang::Expr*>,unsignedint,bool,Sema::VariadicCallType ,llvm::SmallBitVector&)
PrintSegmentCommand(uint32_t,uint32_t,llvm::StringRef,uint64_t ,uint64_t,uint64_t,uint64_t,uint32_t,uint32_t,uint32_t,uint32_t ,uint32_t,bool)13__Globals.PrintSegmentCommand(uint32_t,uint32_t,llvm::StringRef ,uint64_t,uint64_t,uint64_t,uint64_t,uint32_t,uint32_t,uint32_t ,uint32_t,uint32_t,bool)
StoreByValRegs(llvm::CCState&,llvm::SelectionDAG&,llvm::SDLoc ,llvm::SDValue&,constllvm::Value*,unsignedint,unsignedint,unsignedint ,unsignedint,bool,unsignedint,unsignedint)12llvm.ARMTargetLowering.StoreByValRegs(llvm::CCState& ,llvm::SelectionDAG&,llvm::SDLoc,llvm::SDValue&,constllvm::Value* ,unsignedint,unsignedint,unsignedint,unsignedint,bool,unsignedint ,unsignedint)
MergeOps(llvm::MachineBasicBlock&,MachineBasicBlock::iterator,int ,unsignedint,bool,int,ARMCC::CondCodes,unsignedint,unsignedint ,llvm::DebugLoc,ArrayRef<std::pair<unsignedint,bool>>,ArrayRef <unsignedint>)12anonymous_namespace{armloadstoreoptimizer.cpp}.ARMLoadStoreOpt .MergeOps(llvm::MachineBasicBlock&,MachineBasicBlock::iterator,int ,unsignedint,bool,int,ARMCC::CondCodes,unsignedint,unsignedint ,llvm::DebugLoc,ArrayRef<std::pair<unsignedint,bool>>,ArrayRef <unsignedint>)
createObjCIVar(llvm::StringRef,llvm::DIFile,unsignedint,uint64_t ,uint64_t,uint64_t,unsignedint,llvm::DIType,llvm::StringRef ,llvm::StringRef,llvm::StringRef,unsignedint)12llvm.DIBuilder.createObjCIVar(llvm::StringRef,llvm::DIFile,unsignedint ,uint64_t,uint64_t,uint64_t,unsignedint,llvm::DIType,llvm::StringRef ,llvm::StringRef,llvm::StringRef,unsignedint)
createStructType(llvm::DIDescriptor,llvm::StringRef,llvm::DIFile ,unsignedint,uint64_t,uint64_t,unsignedint,llvm::DIType,DIArray ,unsignedint,llvm::DIType,llvm::StringRef)12llvm.DIBuilder.createStructType(llvm::DIDescriptor,llvm::StringRef ,llvm::DIFile,unsignedint,uint64_t,uint64_t,unsignedint,llvm::DIType ,DIArray,unsignedint,llvm::DIType,llvm::StringRef)
InitMCSubtargetInfo(llvm::StringRef,llvm::StringRef,llvm::StringRef ,ArrayRef<llvm::SubtargetFeatureKV>,ArrayRef<llvm::SubtargetFeatureKV> ,constllvm::SubtargetInfoKV*,constllvm::MCWriteProcResEntry* ,constllvm::MCWriteLatencyEntry*,constllvm::MCReadAdvanceEntry* ,constllvm::InstrStage*,constunsignedint*,constunsignedint*)12llvm.MCSubtargetInfo.InitMCSubtargetInfo(llvm::StringRef ,llvm::StringRef,llvm::StringRef,ArrayRef<llvm::SubtargetFeatureKV> ,ArrayRef<llvm::SubtargetFeatureKV>,constllvm::SubtargetInfoKV* ,constllvm::MCWriteProcResEntry*,constllvm::MCWriteLatencyEntry* ,constllvm::MCReadAdvanceEntry*,constllvm::InstrStage* ,constunsignedint*,constunsignedint*)
passByValArg(llvm::SDValue,llvm::SDLoc,std::deque<std::pair <unsignedint,SDValue>>&,SmallVectorImpl<llvm::SDValue>&,llvm::SDValue ,llvm::MachineFrameInfo*,llvm::SelectionDAG&,llvm::SDValue ,constllvm::MipsTargetLowering::MipsCC& ,constllvm::MipsTargetLowering::ByValArgInfo&,constISD::ArgFlagsTy& ,bool)12llvm.MipsTargetLowering.passByValArg(llvm::SDValue,llvm::SDLoc ,std::deque<std::pair<unsignedint,SDValue>>&,SmallVectorImpl <llvm::SDValue>&,llvm::SDValue,llvm::MachineFrameInfo* ,llvm::SelectionDAG&,llvm::SDValue ,constllvm::MipsTargetLowering::MipsCC& ,constllvm::MipsTargetLowering::ByValArgInfo&,constISD::ArgFlagsTy& ,bool)
ConnectTDBUTraversals(DenseMap<constllvm::BasicBlock*, (anonymousnamespace)::BBState>&,MapVector<llvm::Value*, (anonymousnamespace)::RRInfo>&,DenseMap<llvm::Value*, (anonymousnamespace)::RRInfo>&,llvm::Module*,SmallVectorImpl <llvm::Instruction*>&,SmallVectorImpl<llvm::Instruction*>& ,SmallVectorImpl<llvm::Instruction*>&,(anonymousnamespace)::RRInfo&, (anonymousnamespace)::RRInfo&,llvm::Value*,bool,bool&)12anonymous_namespace{objcarcopts.cpp}.ObjCARCOpt.ConnectTDBUTraversals (DenseMap<constllvm::BasicBlock*,(anonymousnamespace)::BBState>& ,MapVector<llvm::Value*,(anonymousnamespace)::RRInfo>&,DenseMap <llvm::Value*,(anonymousnamespace)::RRInfo>&,llvm::Module* ,SmallVectorImpl<llvm::Instruction*>&,SmallVectorImpl <llvm::Instruction*>&,SmallVectorImpl<llvm::Instruction*>&, (anonymousnamespace)::RRInfo&,(anonymousnamespace)::RRInfo& ,llvm::Value*,bool,bool&)
LoopPromoter(llvm::Value*,constSmallVectorImpl<llvm::Instruction*>& ,llvm::SSAUpdater&,SmallPtrSetImpl<llvm::Value*>&,SmallVectorImpl <llvm::BasicBlock*>&,SmallVectorImpl<llvm::Instruction*>& ,llvm::PredIteratorCache&,llvm::AliasSetTracker&,llvm::LoopInfo& ,llvm::DebugLoc,int,constllvm::AAMDNodes&)12anonymous_namespace{licm.cpp}.LoopPromoter.LoopPromoter(llvm::Value* ,constSmallVectorImpl<llvm::Instruction*>&,llvm::SSAUpdater& ,SmallPtrSetImpl<llvm::Value*>&,SmallVectorImpl<llvm::BasicBlock*>& ,SmallVectorImpl<llvm::Instruction*>&,llvm::PredIteratorCache& ,llvm::AliasSetTracker&,llvm::LoopInfo&,llvm::DebugLoc,int ,constllvm::AAMDNodes&)
getAtomicCmpSwap(unsignedint,llvm::SDLoc,llvm::EVT,llvm::SDVTList ,llvm::SDValue,llvm::SDValue,llvm::SDValue,llvm::SDValue ,llvm::MachineMemOperand*,llvm::AtomicOrdering,llvm::AtomicOrdering ,llvm::SynchronizationScope)12llvm.SelectionDAG.getAtomicCmpSwap(unsignedint,llvm::SDLoc,llvm::EVT ,llvm::SDVTList,llvm::SDValue,llvm::SDValue,llvm::SDValue ,llvm::SDValue,llvm::MachineMemOperand*,llvm::AtomicOrdering ,llvm::AtomicOrdering,llvm::SynchronizationScope)
getExtLoad(ISD::LoadExtType,llvm::SDLoc,llvm::EVT,llvm::SDValue ,llvm::SDValue,llvm::MachinePointerInfo,llvm::EVT,bool,bool,bool ,unsignedint,constllvm::AAMDNodes&)12llvm.SelectionDAG.getExtLoad(ISD::LoadExtType,llvm::SDLoc,llvm::EVT ,llvm::SDValue,llvm::SDValue,llvm::MachinePointerInfo,llvm::EVT,bool ,bool,bool,unsignedint,constllvm::AAMDNodes&)
AtomicSDNode(unsignedint,unsignedint,llvm::DebugLoc,llvm::SDVTList ,llvm::EVT,llvm::SDValue,llvm::SDValue,llvm::SDValue,llvm::SDValue ,llvm::MachineMemOperand*,llvm::AtomicOrdering ,llvm::SynchronizationScope)12llvm.AtomicSDNode.AtomicSDNode(unsignedint,unsignedint,llvm::DebugLoc ,llvm::SDVTList,llvm::EVT,llvm::SDValue,llvm::SDValue,llvm::SDValue ,llvm::SDValue,llvm::MachineMemOperand*,llvm::AtomicOrdering ,llvm::SynchronizationScope)
AtomicSDNode(unsignedint,unsignedint,llvm::DebugLoc,llvm::SDVTList ,llvm::EVT,constllvm::SDValue*,llvm::SDUse*,unsignedint ,llvm::MachineMemOperand*,llvm::AtomicOrdering,llvm::AtomicOrdering ,llvm::SynchronizationScope)12llvm.AtomicSDNode.AtomicSDNode(unsignedint,unsignedint,llvm::DebugLoc ,llvm::SDVTList,llvm::EVT,constllvm::SDValue*,llvm::SDUse*,unsignedint ,llvm::MachineMemOperand*,llvm::AtomicOrdering,llvm::AtomicOrdering ,llvm::SynchronizationScope)
doConversion(clang::ASTContext*,constclang::VarDecl* ,constclang::VarDecl*,llvm::StringRef,constUsageResult& ,constclang::DeclStmt*,bool,bool,constclang::ForStmt*,bool,bool,bool)12LoopFixer.doConversion(clang::ASTContext*,constclang::VarDecl* ,constclang::VarDecl*,llvm::StringRef,constUsageResult& ,constclang::DeclStmt*,bool,bool,constclang::ForStmt*,bool,bool,bool)
getObjCEncodingForTypeImpl(clang::QualType,std::string&,bool,bool ,constclang::FieldDecl*,bool,bool,bool,bool,bool,bool,clang::QualType* )12clang.ASTContext.getObjCEncodingForTypeImpl(clang::QualType ,std::string&,bool,bool,constclang::FieldDecl*,bool,bool,bool,bool ,bool,bool,clang::QualType*)
Create(constclang::ASTContext&,clang::Expr*,bool ,clang::NestedNameSpecifierLoc,clang::SourceLocation,clang::ValueDecl* ,clang::DeclAccessPair,clang::DeclarationNameInfo ,constclang::TemplateArgumentListInfo*,clang::QualType ,clang::ExprValueKind,clang::ExprObjectKind)12clang.MemberExpr.Create(constclang::ASTContext&,clang::Expr*,bool ,clang::NestedNameSpecifierLoc,clang::SourceLocation,clang::ValueDecl* ,clang::DeclAccessPair,clang::DeclarationNameInfo ,constclang::TemplateArgumentListInfo*,clang::QualType ,clang::ExprValueKind,clang::ExprObjectKind)
Create(constclang::ASTContext&,clang::DeclContext* ,clang::SourceLocation,clang::SourceLocation,unsignedint,unsignedint ,clang::IdentifierInfo*,clang::QualType,clang::TypeSourceInfo* ,constclang::QualType*,unsignedint,clang::TypeSourceInfo**)12clang.NonTypeTemplateParmDecl.Create(constclang::ASTContext& ,clang::DeclContext*,clang::SourceLocation,clang::SourceLocation ,unsignedint,unsignedint,clang::IdentifierInfo*,clang::QualType ,clang::TypeSourceInfo*,constclang::QualType*,unsignedint ,clang::TypeSourceInfo**)
Create(clang::ASTContext&,TagKind,clang::DeclContext* ,clang::SourceLocation,clang::SourceLocation ,clang::TemplateParameterList*,clang::ClassTemplateDecl* ,constclang::TemplateArgument*,unsignedint ,constclang::TemplateArgumentListInfo&,clang::QualType ,clang::ClassTemplatePartialSpecializationDecl*)12clang.ClassTemplatePartialSpecializationDecl.Create(clang::ASTContext& ,TagKind,clang::DeclContext*,clang::SourceLocation ,clang::SourceLocation,clang::TemplateParameterList* ,clang::ClassTemplateDecl*,constclang::TemplateArgument*,unsignedint ,constclang::TemplateArgumentListInfo&,clang::QualType ,clang::ClassTemplatePartialSpecializationDecl*)
VarTemplatePartialSpecializationDecl(clang::ASTContext& ,clang::DeclContext*,clang::SourceLocation,clang::SourceLocation ,clang::TemplateParameterList*,clang::VarTemplateDecl*,clang::QualType ,clang::TypeSourceInfo*,StorageClass,constclang::TemplateArgument* ,unsignedint,constclang::ASTTemplateArgumentListInfo*)12clang.VarTemplatePartialSpecializationDecl .VarTemplatePartialSpecializationDecl(clang::ASTContext& ,clang::DeclContext*,clang::SourceLocation,clang::SourceLocation ,clang::TemplateParameterList*,clang::VarTemplateDecl*,clang::QualType ,clang::TypeSourceInfo*,StorageClass,constclang::TemplateArgument* ,unsignedint,constclang::ASTTemplateArgumentListInfo*)
Create(clang::ASTContext&,clang::DeclContext*,clang::SourceLocation ,clang::SourceLocation,clang::TemplateParameterList* ,clang::VarTemplateDecl*,clang::QualType,clang::TypeSourceInfo* ,StorageClass,constclang::TemplateArgument*,unsignedint ,constclang::TemplateArgumentListInfo&)12clang.VarTemplatePartialSpecializationDecl.Create(clang::ASTContext& ,clang::DeclContext*,clang::SourceLocation,clang::SourceLocation ,clang::TemplateParameterList*,clang::VarTemplateDecl*,clang::QualType ,clang::TypeSourceInfo*,StorageClass,constclang::TemplateArgument* ,unsignedint,constclang::TemplateArgumentListInfo&)
Create(constclang::ASTContext&,clang::QualType,clang::SourceLocation ,clang::CXXConstructorDecl*,bool,ArrayRef<clang::Expr*>,bool,bool,bool ,bool,clang::CXXConstructExpr::ConstructionKind,clang::SourceRange)12clang.CXXConstructExpr.Create(constclang::ASTContext&,clang::QualType ,clang::SourceLocation,clang::CXXConstructorDecl*,bool,ArrayRef <clang::Expr*>,bool,bool,bool,bool ,clang::CXXConstructExpr::ConstructionKind,clang::SourceRange)
LambdaExpr(clang::QualType,clang::SourceRange ,clang::LambdaCaptureDefault,clang::SourceLocation,ArrayRef<Capture> ,bool,bool,ArrayRef<clang::Expr*>,ArrayRef<clang::VarDecl*>,ArrayRef <unsignedint>,clang::SourceLocation,bool)12clang.LambdaExpr.LambdaExpr(clang::QualType,clang::SourceRange ,clang::LambdaCaptureDefault,clang::SourceLocation,ArrayRef<Capture> ,bool,bool,ArrayRef<clang::Expr*>,ArrayRef<clang::VarDecl*>,ArrayRef <unsignedint>,clang::SourceLocation,bool)
UnresolvedMemberExpr(constclang::ASTContext&,bool,clang::Expr* ,clang::QualType,bool,clang::SourceLocation ,clang::NestedNameSpecifierLoc,clang::SourceLocation ,constclang::DeclarationNameInfo& ,constclang::TemplateArgumentListInfo*,clang::UnresolvedSetIterator ,clang::UnresolvedSetIterator)12clang.UnresolvedMemberExpr.UnresolvedMemberExpr (constclang::ASTContext&,bool,clang::Expr*,clang::QualType,bool ,clang::SourceLocation,clang::NestedNameSpecifierLoc ,clang::SourceLocation,constclang::DeclarationNameInfo& ,constclang::TemplateArgumentListInfo*,clang::UnresolvedSetIterator ,clang::UnresolvedSetIterator)
Create(constclang::ASTContext&,bool,clang::Expr*,clang::QualType,bool ,clang::SourceLocation,clang::NestedNameSpecifierLoc ,clang::SourceLocation,constclang::DeclarationNameInfo& ,constclang::TemplateArgumentListInfo*,clang::UnresolvedSetIterator ,clang::UnresolvedSetIterator)12clang.UnresolvedMemberExpr.Create(constclang::ASTContext&,bool ,clang::Expr*,clang::QualType,bool,clang::SourceLocation ,clang::NestedNameSpecifierLoc,clang::SourceLocation ,constclang::DeclarationNameInfo& ,constclang::TemplateArgumentListInfo*,clang::UnresolvedSetIterator ,clang::UnresolvedSetIterator)
isOneOf(tok::TokenKind,tok::TokenKind,tok::TokenKind,tok::TokenKind ,tok::TokenKind,tok::TokenKind,tok::TokenKind,tok::TokenKind ,tok::TokenKind,tok::TokenKind,tok::TokenKind,tok::TokenKind)12clang.format.FormatToken.isOneOf(tok::TokenKind,tok::TokenKind ,tok::TokenKind,tok::TokenKind,tok::TokenKind,tok::TokenKind ,tok::TokenKind,tok::TokenKind,tok::TokenKind,tok::TokenKind ,tok::TokenKind,tok::TokenKind)
BuildNonArrayForRange(clang::Sema&,clang::Scope*,clang::Expr* ,clang::Expr*,clang::QualType,clang::VarDecl*,clang::VarDecl* ,clang::SourceLocation,clang::OverloadCandidateSet*,ExprResult* ,ExprResult*,Sema::BeginEndFunction*)12__Globals.BuildNonArrayForRange(clang::Sema&,clang::Scope* ,clang::Expr*,clang::Expr*,clang::QualType,clang::VarDecl* ,clang::VarDecl*,clang::SourceLocation,clang::OverloadCandidateSet* ,ExprResult*,ExprResult*,Sema::BeginEndFunction*)
FinishOverloadedCallExpr(clang::Sema&,clang::Scope*,clang::Expr* ,clang::UnresolvedLookupExpr*,clang::SourceLocation,MultiExprArg ,clang::SourceLocation,clang::Expr*,clang::OverloadCandidateSet* ,OverloadCandidateSet::iterator*,clang::OverloadingResult,bool)12clang.__Globals.FinishOverloadedCallExpr(clang::Sema&,clang::Scope* ,clang::Expr*,clang::UnresolvedLookupExpr*,clang::SourceLocation ,MultiExprArg,clang::SourceLocation,clang::Expr* ,clang::OverloadCandidateSet*,OverloadCandidateSet::iterator* ,clang::OverloadingResult,bool)
CheckFieldDecl(clang::DeclarationName,clang::QualType ,clang::TypeSourceInfo*,clang::RecordDecl*,clang::SourceLocation,bool ,clang::Expr*,clang::InClassInitStyle,clang::SourceLocation ,clang::AccessSpecifier,clang::NamedDecl*,clang::Declarator*)12clang.Sema.CheckFieldDecl(clang::DeclarationName,clang::QualType ,clang::TypeSourceInfo*,clang::RecordDecl*,clang::SourceLocation,bool ,clang::Expr*,clang::InClassInitStyle,clang::SourceLocation ,clang::AccessSpecifier,clang::NamedDecl*,clang::Declarator*)
BuildCXXNew(clang::SourceRange,bool,clang::SourceLocation,MultiExprArg ,clang::SourceLocation,clang::SourceRange,clang::QualType ,clang::TypeSourceInfo*,clang::Expr*,clang::SourceRange,clang::Expr* ,bool)12clang.Sema.BuildCXXNew(clang::SourceRange,bool,clang::SourceLocation ,MultiExprArg,clang::SourceLocation,clang::SourceRange,clang::QualType ,clang::TypeSourceInfo*,clang::Expr*,clang::SourceRange,clang::Expr* ,bool)
ActOnExplicitInstantiation(clang::Scope*,clang::SourceLocation ,clang::SourceLocation,unsignedint,clang::SourceLocation ,constclang::CXXScopeSpec&,TemplateTy,clang::SourceLocation ,clang::SourceLocation,ASTTemplateArgsPtr,clang::SourceLocation ,clang::AttributeList*)12clang.Sema.ActOnExplicitInstantiation(clang::Scope* ,clang::SourceLocation,clang::SourceLocation,unsignedint ,clang::SourceLocation,constclang::CXXScopeSpec&,TemplateTy ,clang::SourceLocation,clang::SourceLocation,ASTTemplateArgsPtr ,clang::SourceLocation,clang::AttributeList*)
CheckMessageArgumentTypes(clang::QualType,MultiExprArg,clang::Selector ,ArrayRef<clang::SourceLocation>,clang::ObjCMethodDecl*,bool,bool ,clang::SourceLocation,clang::SourceLocation,clang::SourceRange ,clang::QualType&,clang::ExprValueKind&)12clang.Sema.CheckMessageArgumentTypes(clang::QualType,MultiExprArg ,clang::Selector,ArrayRef<clang::SourceLocation> ,clang::ObjCMethodDecl*,bool,bool,clang::SourceLocation ,clang::SourceLocation,clang::SourceRange,clang::QualType& ,clang::ExprValueKind&)
CheckFormatHandler(clang::Sema&,constclang::StringLiteral* ,constclang::Expr*,unsignedint,unsignedint,constchar*,bool,ArrayRef <constclang::Expr*>,unsignedint,bool,Sema::VariadicCallType ,llvm::SmallBitVector&)12anonymous_namespace{semachecking.cpp}.CheckFormatHandler .CheckFormatHandler(clang::Sema&,constclang::StringLiteral* ,constclang::Expr*,unsignedint,unsignedint,constchar*,bool,ArrayRef <constclang::Expr*>,unsignedint,bool,Sema::VariadicCallType ,llvm::SmallBitVector&)
CheckScanfHandler(clang::Sema&,constclang::StringLiteral* ,constclang::Expr*,unsignedint,unsignedint,constchar*,bool,ArrayRef <constclang::Expr*>,unsignedint,bool,Sema::VariadicCallType ,llvm::SmallBitVector&)12anonymous_namespace{semachecking.cpp}.CheckScanfHandler .CheckScanfHandler(clang::Sema&,constclang::StringLiteral* ,constclang::Expr*,unsignedint,unsignedint,constchar*,bool,ArrayRef <constclang::Expr*>,unsignedint,bool,Sema::VariadicCallType ,llvm::SmallBitVector&)
CheckDesignatedInitializer(constclang::InitializedEntity& ,clang::InitListExpr*,clang::DesignatedInitExpr*,unsignedint ,clang::QualType&,RecordDecl::field_iterator*,llvm::APSInt* ,unsignedint&,clang::InitListExpr*,unsignedint&,bool,bool)12anonymous_namespace{semainit.cpp}.InitListChecker .CheckDesignatedInitializer(constclang::InitializedEntity& ,clang::InitListExpr*,clang::DesignatedInitExpr*,unsignedint ,clang::QualType&,RecordDecl::field_iterator*,llvm::APSInt* ,unsignedint&,clang::InitListExpr*,unsignedint&,bool,bool)
clang_indexSourceFile(CXIndexAction,CXClientData,IndexerCallbacks* ,unsignedint,unsignedint,constchar*,constchar*const*,int ,structCXUnsavedFile*,unsignedint,CXTranslationUnit*,unsignedint)12__Globals.clang_indexSourceFile(CXIndexAction,CXClientData ,IndexerCallbacks*,unsignedint,unsignedint,constchar*,constchar*const* ,int,structCXUnsavedFile*,unsignedint,CXTranslationUnit*,unsignedint)
emitRegPlusImmediate(bool,llvm::MachineBasicBlock& ,MachineBasicBlock::iterator&,llvm::DebugLoc ,constllvm::ARMBaseInstrInfo&,unsignedint,unsignedint,int,unsignedint ,ARMCC::CondCodes,unsignedint)11__Globals.emitRegPlusImmediate(bool,llvm::MachineBasicBlock& ,MachineBasicBlock::iterator&,llvm::DebugLoc ,constllvm::ARMBaseInstrInfo&,unsignedint,unsignedint,int,unsignedint ,ARMCC::CondCodes,unsignedint)
EmitTargetCodeForMemcpy(llvm::SelectionDAG&,llvm::SDLoc,llvm::SDValue ,llvm::SDValue,llvm::SDValue,llvm::SDValue,unsignedint,bool,bool ,llvm::MachinePointerInfo,llvm::MachinePointerInfo)11llvm.ARMSelectionDAGInfo.EmitTargetCodeForMemcpy(llvm::SelectionDAG& ,llvm::SDLoc,llvm::SDValue,llvm::SDValue,llvm::SDValue,llvm::SDValue ,unsignedint,bool,bool,llvm::MachinePointerInfo ,llvm::MachinePointerInfo)
CanFormLdStDWord(llvm::MachineInstr*,llvm::MachineInstr* ,llvm::DebugLoc&,unsignedint&,unsignedint&,unsignedint&,unsignedint& ,int&,unsignedint&,ARMCC::CondCodes&,bool&)11anonymous_namespace{armloadstoreoptimizer.cpp}.ARMPreAllocLoadStoreOpt .CanFormLdStDWord(llvm::MachineInstr*,llvm::MachineInstr* ,llvm::DebugLoc&,unsignedint&,unsignedint&,unsignedint&,unsignedint& ,int&,unsignedint&,ARMCC::CondCodes&,bool&)
computeKnownBitsAddSub(bool,llvm::Value*,llvm::Value*,bool ,llvm::APInt&,llvm::APInt&,llvm::APInt&,llvm::APInt& ,constllvm::DataLayout*,unsignedint,const(anonymousnamespace)::Query&)11__Globals.computeKnownBitsAddSub(bool,llvm::Value*,llvm::Value*,bool ,llvm::APInt&,llvm::APInt&,llvm::APInt&,llvm::APInt& ,constllvm::DataLayout*,unsignedint,const(anonymousnamespace)::Query&)
EmitTargetCodeForMemcpy(llvm::SelectionDAG&,llvm::SDLoc,llvm::SDValue ,llvm::SDValue,llvm::SDValue,llvm::SDValue,unsignedint,bool,bool ,llvm::MachinePointerInfo,llvm::MachinePointerInfo)11llvm.HexagonSelectionDAGInfo.EmitTargetCodeForMemcpy (llvm::SelectionDAG&,llvm::SDLoc,llvm::SDValue,llvm::SDValue ,llvm::SDValue,llvm::SDValue,unsignedint,bool,bool ,llvm::MachinePointerInfo,llvm::MachinePointerInfo)
LowerCCCCallTo(llvm::SDValue,llvm::SDValue,CallingConv::ID,bool,bool ,constSmallVectorImpl<ISD::OutputArg>&,constSmallVectorImpl <llvm::SDValue>&,constSmallVectorImpl<ISD::InputArg>&,llvm::SDLoc ,llvm::SelectionDAG&,SmallVectorImpl<llvm::SDValue>&)11llvm.MSP430TargetLowering.LowerCCCCallTo(llvm::SDValue,llvm::SDValue ,CallingConv::ID,bool,bool,constSmallVectorImpl<ISD::OutputArg>& ,constSmallVectorImpl<llvm::SDValue>&,constSmallVectorImpl <ISD::InputArg>&,llvm::SDLoc,llvm::SelectionDAG&,SmallVectorImpl <llvm::SDValue>&)
PrepareTailCall(llvm::SelectionDAG&,llvm::SDValue&,llvm::SDValue& ,llvm::SDLoc,bool,int,unsignedint,llvm::SDValue,llvm::SDValue,bool ,SmallVectorImpl<(anonymousnamespace)::TailCallArgumentInfo>&)11__Globals.PrepareTailCall(llvm::SelectionDAG&,llvm::SDValue& ,llvm::SDValue&,llvm::SDLoc,bool,int,unsignedint,llvm::SDValue ,llvm::SDValue,bool,SmallVectorImpl<(anonymousnamespace )::TailCallArgumentInfo>&)
PrepareCall(llvm::SelectionDAG&,llvm::SDValue&,llvm::SDValue& ,llvm::SDValue&,llvm::SDLoc,int,bool,SmallVectorImpl<std::pair <unsignedint,SDValue>>&,SmallVectorImpl<llvm::SDValue>&,std::vector <EVT>&,constllvm::PPCSubtarget&)11__Globals.PrepareCall(llvm::SelectionDAG&,llvm::SDValue& ,llvm::SDValue&,llvm::SDValue&,llvm::SDLoc,int,bool,SmallVectorImpl <std::pair<unsignedint,SDValue>>&,SmallVectorImpl<llvm::SDValue>& ,std::vector<EVT>&,constllvm::PPCSubtarget&)
LowerCall_Darwin(llvm::SDValue,llvm::SDValue,CallingConv::ID,bool,bool ,constSmallVectorImpl<ISD::OutputArg>&,constSmallVectorImpl <llvm::SDValue>&,constSmallVectorImpl<ISD::InputArg>&,llvm::SDLoc ,llvm::SelectionDAG&,SmallVectorImpl<llvm::SDValue>&)11llvm.PPCTargetLowering.LowerCall_Darwin(llvm::SDValue,llvm::SDValue ,CallingConv::ID,bool,bool,constSmallVectorImpl<ISD::OutputArg>& ,constSmallVectorImpl<llvm::SDValue>&,constSmallVectorImpl <ISD::InputArg>&,llvm::SDLoc,llvm::SelectionDAG&,SmallVectorImpl <llvm::SDValue>&)
LowerCall_64SVR4(llvm::SDValue,llvm::SDValue,CallingConv::ID,bool,bool ,constSmallVectorImpl<ISD::OutputArg>&,constSmallVectorImpl <llvm::SDValue>&,constSmallVectorImpl<ISD::InputArg>&,llvm::SDLoc ,llvm::SelectionDAG&,SmallVectorImpl<llvm::SDValue>&)11llvm.PPCTargetLowering.LowerCall_64SVR4(llvm::SDValue,llvm::SDValue ,CallingConv::ID,bool,bool,constSmallVectorImpl<ISD::OutputArg>& ,constSmallVectorImpl<llvm::SDValue>&,constSmallVectorImpl <ISD::InputArg>&,llvm::SDLoc,llvm::SelectionDAG&,SmallVectorImpl <llvm::SDValue>&)
LowerCall_32SVR4(llvm::SDValue,llvm::SDValue,CallingConv::ID,bool,bool ,constSmallVectorImpl<ISD::OutputArg>&,constSmallVectorImpl <llvm::SDValue>&,constSmallVectorImpl<ISD::InputArg>&,llvm::SDLoc ,llvm::SelectionDAG&,SmallVectorImpl<llvm::SDValue>&)11llvm.PPCTargetLowering.LowerCall_32SVR4(llvm::SDValue,llvm::SDValue ,CallingConv::ID,bool,bool,constSmallVectorImpl<ISD::OutputArg>& ,constSmallVectorImpl<llvm::SDValue>&,constSmallVectorImpl <ISD::InputArg>&,llvm::SDLoc,llvm::SelectionDAG&,SmallVectorImpl <llvm::SDValue>&)
SelectMUBUF(llvm::SDValue,llvm::SDValue&,llvm::SDValue&,llvm::SDValue& ,llvm::SDValue&,llvm::SDValue&,llvm::SDValue&,llvm::SDValue& ,llvm::SDValue&,llvm::SDValue&,llvm::SDValue&)11anonymous_namespace{amdgpuiseldagtodag.cpp}.AMDGPUDAGToDAGISel .SelectMUBUF(llvm::SDValue,llvm::SDValue&,llvm::SDValue& ,llvm::SDValue&,llvm::SDValue&,llvm::SDValue&,llvm::SDValue& ,llvm::SDValue&,llvm::SDValue&,llvm::SDValue&,llvm::SDValue&)
AllocaSliceRewriter(constllvm::DataLayout&,(anonymousnamespace )::AllocaSlices&,(anonymousnamespace)::SROA&,llvm::AllocaInst& ,llvm::AllocaInst&,uint64_t,uint64_t,bool,bool,SmallPtrSetImpl <llvm::PHINode*>&,SmallPtrSetImpl<llvm::SelectInst*>&)11anonymous_namespace{sroa.cpp}.AllocaSliceRewriter.AllocaSliceRewriter (constllvm::DataLayout&,(anonymousnamespace)::AllocaSlices&, (anonymousnamespace)::SROA&,llvm::AllocaInst&,llvm::AllocaInst& ,uint64_t,uint64_t,bool,bool,SmallPtrSetImpl<llvm::PHINode*>& ,SmallPtrSetImpl<llvm::SelectInst*>&)
FindOptimalMemOpLowering(std::vector<EVT>&,unsignedint,uint64_t ,unsignedint,unsignedint,bool,bool,bool,bool,llvm::SelectionDAG& ,constllvm::TargetLowering&)11__Globals.FindOptimalMemOpLowering(std::vector<EVT>&,unsignedint ,uint64_t,unsignedint,unsignedint,bool,bool,bool,bool ,llvm::SelectionDAG&,constllvm::TargetLowering&)
getMemcpyLoadsAndStores(llvm::SelectionDAG&,llvm::SDLoc,llvm::SDValue ,llvm::SDValue,llvm::SDValue,uint64_t,unsignedint,bool,bool ,llvm::MachinePointerInfo,llvm::MachinePointerInfo)11__Globals.getMemcpyLoadsAndStores(llvm::SelectionDAG&,llvm::SDLoc ,llvm::SDValue,llvm::SDValue,llvm::SDValue,uint64_t,unsignedint,bool ,bool,llvm::MachinePointerInfo,llvm::MachinePointerInfo)
getMemmoveLoadsAndStores(llvm::SelectionDAG&,llvm::SDLoc,llvm::SDValue ,llvm::SDValue,llvm::SDValue,uint64_t,unsignedint,bool,bool ,llvm::MachinePointerInfo,llvm::MachinePointerInfo)11__Globals.getMemmoveLoadsAndStores(llvm::SelectionDAG&,llvm::SDLoc ,llvm::SDValue,llvm::SDValue,llvm::SDValue,uint64_t,unsignedint,bool ,bool,llvm::MachinePointerInfo,llvm::MachinePointerInfo)
getMemIntrinsicNode(unsignedint,llvm::SDLoc,llvm::SDVTList,ArrayRef <llvm::SDValue>,llvm::EVT,llvm::MachinePointerInfo,unsignedint,bool ,bool,bool,unsignedint)11llvm.SelectionDAG.getMemIntrinsicNode(unsignedint,llvm::SDLoc ,llvm::SDVTList,ArrayRef<llvm::SDValue>,llvm::EVT ,llvm::MachinePointerInfo,unsignedint,bool,bool,bool,unsignedint)
getLoad(llvm::EVT,llvm::SDLoc,llvm::SDValue,llvm::SDValue ,llvm::MachinePointerInfo,bool,bool,bool,unsignedint ,constllvm::AAMDNodes&,constllvm::MDNode*)11llvm.SelectionDAG.getLoad(llvm::EVT,llvm::SDLoc,llvm::SDValue ,llvm::SDValue,llvm::MachinePointerInfo,bool,bool,bool,unsignedint ,constllvm::AAMDNodes&,constllvm::MDNode*)
AtomicSDNode(unsignedint,unsignedint,llvm::DebugLoc,llvm::SDVTList ,llvm::EVT,llvm::SDValue,llvm::SDValue,llvm::SDValue ,llvm::MachineMemOperand*,llvm::AtomicOrdering ,llvm::SynchronizationScope)11llvm.AtomicSDNode.AtomicSDNode(unsignedint,unsignedint,llvm::DebugLoc ,llvm::SDVTList,llvm::EVT,llvm::SDValue,llvm::SDValue,llvm::SDValue ,llvm::MachineMemOperand*,llvm::AtomicOrdering ,llvm::SynchronizationScope)
EmitTargetCodeForMemcpy(llvm::SelectionDAG&,llvm::SDLoc,llvm::SDValue ,llvm::SDValue,llvm::SDValue,llvm::SDValue,unsignedint,bool,bool ,llvm::MachinePointerInfo,llvm::MachinePointerInfo)11llvm.TargetSelectionDAGInfo.EmitTargetCodeForMemcpy (llvm::SelectionDAG&,llvm::SDLoc,llvm::SDValue,llvm::SDValue ,llvm::SDValue,llvm::SDValue,unsignedint,bool,bool ,llvm::MachinePointerInfo,llvm::MachinePointerInfo)
EmitTargetCodeForMemcpy(llvm::SelectionDAG&,llvm::SDLoc,llvm::SDValue ,llvm::SDValue,llvm::SDValue,llvm::SDValue,unsignedint,bool,bool ,llvm::MachinePointerInfo,llvm::MachinePointerInfo)11llvm.SystemZSelectionDAGInfo.EmitTargetCodeForMemcpy (llvm::SelectionDAG&,llvm::SDLoc,llvm::SDValue,llvm::SDValue ,llvm::SDValue,llvm::SDValue,unsignedint,bool,bool ,llvm::MachinePointerInfo,llvm::MachinePointerInfo)
pruneDAGFor(DenseMap<llvm::Value*,std::vector<Value*>>&,std::vector <Value*>&,DenseMap<ValuePair,std::vector<ValuePair>>&,DenseSet <ValuePair>&,DenseMap<ValuePair,std::vector<ValuePair>>&,DenseSet <VPPair>&,DenseMap<llvm::Value*,llvm::Value*>&,DenseMap<ValuePair ,size_t>&,DenseSet<ValuePair>&,ValuePair,bool)11anonymous_namespace{bbvectorize.cpp}.BBVectorize.pruneDAGFor(DenseMap <llvm::Value*,std::vector<Value*>>&,std::vector<Value*>&,DenseMap <ValuePair,std::vector<ValuePair>>&,DenseSet<ValuePair>&,DenseMap <ValuePair,std::vector<ValuePair>>&,DenseSet<VPPair>&,DenseMap <llvm::Value*,llvm::Value*>&,DenseMap<ValuePair,size_t>&,DenseSet <ValuePair>&,ValuePair,bool)
EmitTargetCodeForMemcpy(llvm::SelectionDAG&,llvm::SDLoc,llvm::SDValue ,llvm::SDValue,llvm::SDValue,llvm::SDValue,unsignedint,bool,bool ,llvm::MachinePointerInfo,llvm::MachinePointerInfo)11llvm.X86SelectionDAGInfo.EmitTargetCodeForMemcpy(llvm::SelectionDAG& ,llvm::SDLoc,llvm::SDValue,llvm::SDValue,llvm::SDValue,llvm::SDValue ,unsignedint,bool,bool,llvm::MachinePointerInfo ,llvm::MachinePointerInfo)
LowerCCCCallTo(llvm::SDValue,llvm::SDValue,CallingConv::ID,bool,bool ,constSmallVectorImpl<ISD::OutputArg>&,constSmallVectorImpl <llvm::SDValue>&,constSmallVectorImpl<ISD::InputArg>&,llvm::SDLoc ,llvm::SelectionDAG&,SmallVectorImpl<llvm::SDValue>&)11llvm.XCoreTargetLowering.LowerCCCCallTo(llvm::SDValue,llvm::SDValue ,CallingConv::ID,bool,bool,constSmallVectorImpl<ISD::OutputArg>& ,constSmallVectorImpl<llvm::SDValue>&,constSmallVectorImpl <ISD::InputArg>&,llvm::SDLoc,llvm::SelectionDAG&,SmallVectorImpl <llvm::SDValue>&)
EmitTargetCodeForMemcpy(llvm::SelectionDAG&,llvm::SDLoc,llvm::SDValue ,llvm::SDValue,llvm::SDValue,llvm::SDValue,unsignedint,bool,bool ,llvm::MachinePointerInfo,llvm::MachinePointerInfo)11llvm.XCoreSelectionDAGInfo.EmitTargetCodeForMemcpy(llvm::SelectionDAG& ,llvm::SDLoc,llvm::SDValue,llvm::SDValue,llvm::SDValue,llvm::SDValue ,unsignedint,bool,bool,llvm::MachinePointerInfo ,llvm::MachinePointerInfo)
Intrinsic(llvm::Record*,llvm::StringRef,llvm::StringRef, (anonymousnamespace)::TypeSpec,(anonymousnamespace)::TypeSpec, (anonymousnamespace)::ClassKind,llvm::ListInit*,(anonymousnamespace )::NeonEmitter&,llvm::StringRef,bool,bool)11anonymous_namespace{neonemitter.cpp}.Intrinsic.Intrinsic(llvm::Record* ,llvm::StringRef,llvm::StringRef,(anonymousnamespace)::TypeSpec, (anonymousnamespace)::TypeSpec,(anonymousnamespace)::ClassKind ,llvm::ListInit*,(anonymousnamespace)::NeonEmitter&,llvm::StringRef ,bool,bool)
ChooseExpr(clang::SourceLocation,clang::Expr*,clang::Expr* ,clang::Expr*,clang::QualType,clang::ExprValueKind ,clang::ExprObjectKind,clang::SourceLocation,bool,bool,bool)11clang.ChooseExpr.ChooseExpr(clang::SourceLocation,clang::Expr* ,clang::Expr*,clang::Expr*,clang::QualType,clang::ExprValueKind ,clang::ExprObjectKind,clang::SourceLocation,bool,bool,bool)
CXXMethodDecl(clang::Decl::Kind,clang::ASTContext& ,clang::CXXRecordDecl*,clang::SourceLocation ,constclang::DeclarationNameInfo&,clang::QualType ,clang::TypeSourceInfo*,StorageClass,bool,bool,clang::SourceLocation)11clang.CXXMethodDecl.CXXMethodDecl(clang::Decl::Kind,clang::ASTContext& ,clang::CXXRecordDecl*,clang::SourceLocation ,constclang::DeclarationNameInfo&,clang::QualType ,clang::TypeSourceInfo*,StorageClass,bool,bool,clang::SourceLocation)

Statistics

Stat   # Parameters
Sum:16 603
Average:7.31
Minimum:6
Maximum:23
Standard deviation:1.73
Variance:3
warningCritical    Rule warning: Methods with too many local variables
• Rule Description:

This rule matches methods with more than 15 variables.

Methods where NbVariables > 8 are hard to understand and maintain. Methods where NbVariables > 15 are extremely complex and must be refactored.

See the definition of the Nbvariables metric here: http://www.cppdepend.com/Metrics.aspx#Nbvariables


• How to Fix Violations:

To refactor such method and increase code quality and maintainability, certainly you'll have to split the method into several smaller methods or even create one or several classes to implement the logic.

During this process it is important to question the scope of each variable local to the method. This can be an indication if such local variable will become an instance field of the newly created class(es).

2,341 methods matched

methods# VariablesFull Name
ReadAttributes(ModuleFile&,AttrVec&,constRecordData&,unsignedint&)606clang.ASTReader.ReadAttributes(ModuleFile&,AttrVec&,constRecordData& ,unsignedint&)
TestBody()384anonymous_namespace{scalednumbertest.cpp} .ScaledNumberHelpersTest_matchScales_Test.TestBody()
EmitBuiltinExpr(constclang::FunctionDecl*,unsignedint ,constclang::CallExpr*)310clang.CodeGen.CodeGenFunction.EmitBuiltinExpr (constclang::FunctionDecl*,unsignedint,constclang::CallExpr*)
dataTraverseNode(clang::Stmt*,bool&)292clang.RecursiveASTVisitor<Derived>.dataTraverseNode(clang::Stmt*,bool& )
EmitAArch64BuiltinExpr(unsignedint,constclang::CallExpr*)262clang.CodeGen.CodeGenFunction.EmitAArch64BuiltinExpr(unsignedint ,constclang::CallExpr*)
dumpAttr(constclang::Attr*)234anonymous_namespace{astdumper.cpp}.ASTDumper.dumpAttr (constclang::Attr*)
ParseFunctionBody(llvm::Function*)200llvm.BitcodeReader.ParseFunctionBody(llvm::Function*)
WriteAttributes(ArrayRef<constclang::Attr*>,RecordDataImpl&)198clang.ASTWriter.WriteAttributes(ArrayRef<constclang::Attr*> ,RecordDataImpl&)
Select(llvm::SDNode*)190anonymous_namespace{armiseldagtodag.cpp}.ARMDAGToDAGISel.Select (llvm::SDNode*)
visitCallInst(llvm::CallInst&)188llvm.InstCombiner.visitCallInst(llvm::CallInst&)
ConstructJob(clang::driver::Compilation& ,constclang::driver::JobAction&,constclang::driver::InputInfo& ,constInputInfoList&,constllvm::opt::ArgList&,constchar*)173clang.driver.tools.Clang.ConstructJob(clang::driver::Compilation& ,constclang::driver::JobAction&,constclang::driver::InputInfo& ,constInputInfoList&,constllvm::opt::ArgList&,constchar*)
ExpandNode(llvm::SDNode*)156anonymous_namespace{legalizedag.cpp}.SelectionDAGLegalize.ExpandNode (llvm::SDNode*)
TestBody()154llvm.anonymous_namespace{constantstest.cpp} .ConstantsTest_AsInstructionsTest_Test.TestBody()
LowerCall(llvm::TargetLowering::CallLoweringInfo&,SmallVectorImpl <llvm::SDValue>&)151llvm.NVPTXTargetLowering.LowerCall (llvm::TargetLowering::CallLoweringInfo&,SmallVectorImpl<llvm::SDValue >&)
visitICmpInst(llvm::ICmpInst&)144llvm.InstCombiner.visitICmpInst(llvm::ICmpInst&)
processInstruction(llvm::MCInst&,constOperandVector&)138anonymous_namespace{armasmparser.cpp}.ARMAsmParser.processInstruction (llvm::MCInst&,constOperandVector&)
visitIntrinsicCall(constllvm::CallInst&,unsignedint)135llvm.SelectionDAGBuilder.visitIntrinsicCall(constllvm::CallInst& ,unsignedint)
Select(llvm::SDNode*)133anonymous_namespace{ppciseldagtodag.cpp}.PPCDAGToDAGISel.Select (llvm::SDNode*)
Select(llvm::SDNode*)127anonymous_namespace{x86iseldagtodag.cpp}.X86DAGToDAGISel.Select (llvm::SDNode*)
readTypeRecord(unsignedint)126clang.ASTReader.readTypeRecord(unsignedint)
vectorizeTree((anonymousnamespace)::BoUpSLP::TreeEntry*)117anonymous_namespace{slpvectorizer.cpp}.BoUpSLP.vectorizeTree( (anonymousnamespace)::BoUpSLP::TreeEntry*)
SimplifyICmpInst(unsignedint,llvm::Value*,llvm::Value*,const (anonymousnamespace)::Query&,unsignedint)108__Globals.SimplifyICmpInst(unsignedint,llvm::Value*,llvm::Value*,const (anonymousnamespace)::Query&,unsignedint)
WriteASTCore(clang::Sema&,llvm::StringRef,conststd::string& ,clang::Module*)107clang.ASTWriter.WriteASTCore(clang::Sema&,llvm::StringRef ,conststd::string&,clang::Module*)
visitICmpInstWithInstAndIntCst(llvm::ICmpInst&,llvm::Instruction* ,llvm::ConstantInt*)103llvm.InstCombiner.visitICmpInstWithInstAndIntCst(llvm::ICmpInst& ,llvm::Instruction*,llvm::ConstantInt*)
InlineFunction(llvm::CallSite,llvm::InlineFunctionInfo&,bool)99llvm.__Globals.InlineFunction(llvm::CallSite,llvm::InlineFunctionInfo& ,bool)
SimplifyDemandedBits(llvm::SDValue,constllvm::APInt&,llvm::APInt& ,llvm::APInt&,llvm::TargetLowering::TargetLoweringOpt&,unsignedint)97llvm.TargetLowering.SimplifyDemandedBits(llvm::SDValue ,constllvm::APInt&,llvm::APInt&,llvm::APInt& ,llvm::TargetLowering::TargetLoweringOpt&,unsignedint)
ReadASTBlock(ModuleFile&,unsignedint)97clang.ASTReader.ReadASTBlock(ModuleFile&,unsignedint)
DoPromotion(llvm::Function*,SmallPtrSetImpl<llvm::Argument*>& ,SmallPtrSetImpl<llvm::Argument*>&)96anonymous_namespace{argumentpromotion.cpp}.ArgPromotion.DoPromotion (llvm::Function*,SmallPtrSetImpl<llvm::Argument*>&,SmallPtrSetImpl <llvm::Argument*>&)
EmitInstruction(constllvm::MachineInstr*)94anonymous_namespace{ppcasmprinter.cpp}.PPCAsmPrinter.EmitInstruction (constllvm::MachineInstr*)
LowerCall(TargetLowering::CallLoweringInfo&,SmallVectorImpl <llvm::SDValue>&)92llvm.ARMTargetLowering.LowerCall(TargetLowering::CallLoweringInfo& ,SmallVectorImpl<llvm::SDValue>&)
ParseConstants()92llvm.BitcodeReader.ParseConstants()
SelectCodeCommon(llvm::SDNode*,constunsignedchar*,unsignedint)92llvm.SelectionDAGISel.SelectCodeCommon(llvm::SDNode* ,constunsignedchar*,unsignedint)
MergeConsecutiveStores(llvm::StoreSDNode*)92anonymous_namespace{dagcombiner.cpp}.DAGCombiner .MergeConsecutiveStores(llvm::StoreSDNode*)
EmitSjLjDispatchBlock(llvm::MachineInstr*,llvm::MachineBasicBlock*)91llvm.ARMTargetLowering.EmitSjLjDispatchBlock(llvm::MachineInstr* ,llvm::MachineBasicBlock*)
SimplifySetCC(llvm::EVT,llvm::SDValue,llvm::SDValue,ISD::CondCode,bool ,llvm::TargetLowering::DAGCombinerInfo&,llvm::SDLoc)91llvm.TargetLowering.SimplifySetCC(llvm::EVT,llvm::SDValue ,llvm::SDValue,ISD::CondCode,bool ,llvm::TargetLowering::DAGCombinerInfo&,llvm::SDLoc)
lowerV8I16SingleInputVectorShuffle(llvm::SDLoc,llvm::SDValue ,MutableArrayRef<int>,constllvm::X86Subtarget*,llvm::SelectionDAG&)91__Globals.lowerV8I16SingleInputVectorShuffle(llvm::SDLoc,llvm::SDValue ,MutableArrayRef<int>,constllvm::X86Subtarget*,llvm::SelectionDAG&)
visitGetElementPtrInst(llvm::GetElementPtrInst&)90llvm.InstCombiner.visitGetElementPtrInst(llvm::GetElementPtrInst&)
buildTree_rec(ArrayRef<llvm::Value*>,unsignedint)87anonymous_namespace{slpvectorizer.cpp}.BoUpSLP.buildTree_rec(ArrayRef <llvm::Value*>,unsignedint)
EmitARMBuiltinExpr(unsignedint,constclang::CallExpr*)86clang.CodeGen.CodeGenFunction.EmitARMBuiltinExpr(unsignedint ,constclang::CallExpr*)
getAddExpr(SmallVectorImpl<constllvm::SCEV*>&,SCEV::NoWrapFlags)85llvm.ScalarEvolution.getAddExpr(SmallVectorImpl<constllvm::SCEV*>& ,SCEV::NoWrapFlags)
DisassembleInputMachO2(llvm::StringRef,llvm::object::MachOObjectFile*)85__Globals.DisassembleInputMachO2(llvm::StringRef ,llvm::object::MachOObjectFile*)
EmitCall(constclang::CodeGen::CGFunctionInfo&,llvm::Value* ,clang::CodeGen::ReturnValueSlot,constclang::CodeGen::CallArgList& ,constclang::Decl*,llvm::Instruction**)83clang.CodeGen.CodeGenFunction.EmitCall (constclang::CodeGen::CGFunctionInfo&,llvm::Value* ,clang::CodeGen::ReturnValueSlot,constclang::CodeGen::CallArgList& ,constclang::Decl*,llvm::Instruction**)
UnrollLoop(llvm::Loop*,unsignedint,unsignedint,bool,unsignedint ,llvm::LoopInfo*,llvm::Pass*,llvm::LPPassManager* ,llvm::AssumptionTracker*)82llvm.__Globals.UnrollLoop(llvm::Loop*,unsignedint,unsignedint,bool ,unsignedint,llvm::LoopInfo*,llvm::Pass*,llvm::LPPassManager* ,llvm::AssumptionTracker*)
runAnalysis(clang::AnalysisDeclContext&)82clang.threadSafety.ThreadSafetyAnalyzer.runAnalysis (clang::AnalysisDeclContext&)
DeduceTemplateArgumentsByTypeMatch(clang::Sema& ,clang::TemplateParameterList*,clang::QualType,clang::QualType ,clang::sema::TemplateDeductionInfo&,SmallVectorImpl <clang::DeducedTemplateArgument>&,unsignedint,bool,SmallVectorImpl <RefParamPartialOrderingComparison>*)82__Globals.DeduceTemplateArgumentsByTypeMatch(clang::Sema& ,clang::TemplateParameterList*,clang::QualType,clang::QualType ,clang::sema::TemplateDeductionInfo&,SmallVectorImpl <clang::DeducedTemplateArgument>&,unsignedint,bool,SmallVectorImpl <RefParamPartialOrderingComparison>*)
PerformDAGCombine(llvm::SDNode*,llvm::TargetLowering::DAGCombinerInfo& )80llvm.XCoreTargetLowering.PerformDAGCombine(llvm::SDNode* ,llvm::TargetLowering::DAGCombinerInfo&)
computeKnownBits(llvm::Value*,llvm::APInt&,llvm::APInt& ,constllvm::DataLayout*,unsignedint,const(anonymousnamespace)::Query&)79__Globals.computeKnownBits(llvm::Value*,llvm::APInt&,llvm::APInt& ,constllvm::DataLayout*,unsignedint,const(anonymousnamespace)::Query&)
visitInlineAsm(llvm::ImmutableCallSite)78llvm.SelectionDAGBuilder.visitInlineAsm(llvm::ImmutableCallSite)
Perform(clang::Sema&,constclang::InitializedEntity& ,constclang::InitializationKind&,MultiExprArg,clang::QualType*)78clang.InitializationSequence.Perform(clang::Sema& ,constclang::InitializedEntity&,constclang::InitializationKind& ,MultiExprArg,clang::QualType*)
LowerCall(llvm::TargetLowering::CallLoweringInfo&,SmallVectorImpl <llvm::SDValue>&)77llvm.X86TargetLowering.LowerCall (llvm::TargetLowering::CallLoweringInfo&,SmallVectorImpl<llvm::SDValue >&)
EmitAsmStmt(constclang::AsmStmt&)77clang.CodeGen.CodeGenFunction.EmitAsmStmt(constclang::AsmStmt&)
LowerCall(llvm::TargetLowering::CallLoweringInfo&,SmallVectorImpl <llvm::SDValue>&)76llvm.AArch64TargetLowering.LowerCall (llvm::TargetLowering::CallLoweringInfo&,SmallVectorImpl<llvm::SDValue >&)
LowerBUILD_VECTOR(llvm::SDValue,llvm::SelectionDAG&)76llvm.AArch64TargetLowering.LowerBUILD_VECTOR(llvm::SDValue ,llvm::SelectionDAG&)
SimplifyDemandedUseBits(llvm::Value*,llvm::APInt,llvm::APInt& ,llvm::APInt&,unsignedint,llvm::Instruction*)76llvm.InstCombiner.SimplifyDemandedUseBits(llvm::Value*,llvm::APInt ,llvm::APInt&,llvm::APInt&,unsignedint,llvm::Instruction*)
PerformDAGCombine(llvm::SDNode*,llvm::TargetLowering::DAGCombinerInfo& )76llvm.PPCTargetLowering.PerformDAGCombine(llvm::SDNode* ,llvm::TargetLowering::DAGCombinerInfo&)
EmitCommonNeonBuiltinExpr(unsignedint,unsignedint,unsignedint ,constchar*,unsignedint,constclang::CallExpr*,SmallVectorImpl <llvm::Value*>&,llvm::Value*)76clang.CodeGen.CodeGenFunction.EmitCommonNeonBuiltinExpr(unsignedint ,unsignedint,unsignedint,constchar*,unsignedint,constclang::CallExpr* ,SmallVectorImpl<llvm::Value*>&,llvm::Value*)
EmitFunctionProlog(constclang::CodeGen::CGFunctionInfo& ,llvm::Function*,constclang::CodeGen::FunctionArgList&)75clang.CodeGen.CodeGenFunction.EmitFunctionProlog (constclang::CodeGen::CGFunctionInfo&,llvm::Function* ,constclang::CodeGen::FunctionArgList&)
emitPrologue(llvm::MachineFunction&)74llvm.ARMFrameLowering.emitPrologue(llvm::MachineFunction&)
fastLowerCall(llvm::FastISel::CallLoweringInfo&)74anonymous_namespace{x86fastisel.cpp}.X86FastISel.fastLowerCall (llvm::FastISel::CallLoweringInfo&)
EmitClangSACheckers(llvm::RecordKeeper&,llvm::raw_ostream&)74clang.__Globals.EmitClangSACheckers(llvm::RecordKeeper& ,llvm::raw_ostream&)
createSCEV(llvm::Value*)73llvm.ScalarEvolution.createSCEV(llvm::Value*)
buildSchedGraph(llvm::AliasAnalysis*,llvm::RegPressureTracker* ,llvm::PressureDiffs*)73llvm.ScheduleDAGInstrs.buildSchedGraph(llvm::AliasAnalysis* ,llvm::RegPressureTracker*,llvm::PressureDiffs*)
visitAND(llvm::SDNode*)73anonymous_namespace{dagcombiner.cpp}.DAGCombiner.visitAND (llvm::SDNode*)
findBestDAGFor(DenseMap<llvm::Value*,std::vector<Value*>>&,DenseSet <ValuePair>&,DenseMap<ValuePair,int>&,std::vector<Value*>&,DenseSet <ValuePair>&,DenseMap<VPPair,unsignedint>&,DenseMap<ValuePair ,std::vector<ValuePair>>&,DenseMap<ValuePair,std::vector<ValuePair>>& ,DenseSet<ValuePair>&,DenseMap<ValuePair,std::vector<ValuePair>>& ,DenseSet<VPPair>&,DenseMap<llvm::Value*,llvm::Value*>&,DenseSet <ValuePair>&,size_t&,int&,llvm::Value*,std::vector<Value*>&,bool)73anonymous_namespace{bbvectorize.cpp}.BBVectorize.findBestDAGFor (DenseMap<llvm::Value*,std::vector<Value*>>&,DenseSet<ValuePair>& ,DenseMap<ValuePair,int>&,std::vector<Value*>&,DenseSet<ValuePair>& ,DenseMap<VPPair,unsignedint>&,DenseMap<ValuePair,std::vector <ValuePair>>&,DenseMap<ValuePair,std::vector<ValuePair>>&,DenseSet <ValuePair>&,DenseMap<ValuePair,std::vector<ValuePair>>&,DenseSet <VPPair>&,DenseMap<llvm::Value*,llvm::Value*>&,DenseSet<ValuePair>& ,size_t&,int&,llvm::Value*,std::vector<Value*>&,bool)
GetFullTypeForDeclarator((anonymousnamespace)::TypeProcessingState& ,clang::QualType,clang::TypeSourceInfo*)73__Globals.GetFullTypeForDeclarator((anonymousnamespace )::TypeProcessingState&,clang::QualType,clang::TypeSourceInfo*)
visitAnd(llvm::BinaryOperator&)72llvm.InstCombiner.visitAnd(llvm::BinaryOperator&)
WriteObject(llvm::MCAssembler&,constllvm::MCAsmLayout&)72llvm.MachObjectWriter.WriteObject(llvm::MCAssembler& ,constllvm::MCAsmLayout&)
LowerCall_64SVR4(llvm::SDValue,llvm::SDValue,CallingConv::ID,bool,bool ,constSmallVectorImpl<ISD::OutputArg>&,constSmallVectorImpl <llvm::SDValue>&,constSmallVectorImpl<ISD::InputArg>&,llvm::SDLoc ,llvm::SelectionDAG&,SmallVectorImpl<llvm::SDValue>&)72llvm.PPCTargetLowering.LowerCall_64SVR4(llvm::SDValue,llvm::SDValue ,CallingConv::ID,bool,bool,constSmallVectorImpl<ISD::OutputArg>& ,constSmallVectorImpl<llvm::SDValue>&,constSmallVectorImpl <ISD::InputArg>&,llvm::SDLoc,llvm::SelectionDAG&,SmallVectorImpl <llvm::SDValue>&)
ComputeValueKnownInPredecessors(llvm::Value*,llvm::BasicBlock* ,PredValueInfo&,(anonymousnamespace)::ConstantPreference ,llvm::Instruction*)72anonymous_namespace{jumpthreading.cpp}.JumpThreading .ComputeValueKnownInPredecessors(llvm::Value*,llvm::BasicBlock* ,PredValueInfo&,(anonymousnamespace)::ConstantPreference ,llvm::Instruction*)
ActOnFinishSwitchStmt(clang::SourceLocation,clang::Stmt*,clang::Stmt*)72clang.Sema.ActOnFinishSwitchStmt(clang::SourceLocation,clang::Stmt* ,clang::Stmt*)
LowerCall_32(TargetLowering::CallLoweringInfo&,SmallVectorImpl <llvm::SDValue>&)71llvm.SparcTargetLowering.LowerCall_32 (TargetLowering::CallLoweringInfo&,SmallVectorImpl<llvm::SDValue>&)
FoldShiftByConstant(llvm::Value*,llvm::Constant*,llvm::BinaryOperator& )70llvm.InstCombiner.FoldShiftByConstant(llvm::Value*,llvm::Constant* ,llvm::BinaryOperator&)
LowerFormalArguments_64SVR4(llvm::SDValue,CallingConv::ID,bool ,constSmallVectorImpl<ISD::InputArg>&,llvm::SDLoc,llvm::SelectionDAG& ,SmallVectorImpl<llvm::SDValue>&)70llvm.PPCTargetLowering.LowerFormalArguments_64SVR4(llvm::SDValue ,CallingConv::ID,bool,constSmallVectorImpl<ISD::InputArg>&,llvm::SDLoc ,llvm::SelectionDAG&,SmallVectorImpl<llvm::SDValue>&)
getReplacementInput(llvm::LLVMContext&,llvm::Instruction* ,llvm::Instruction*,unsignedint,bool)70anonymous_namespace{bbvectorize.cpp}.BBVectorize.getReplacementInput (llvm::LLVMContext&,llvm::Instruction*,llvm::Instruction*,unsignedint ,bool)
lowerV16I8VectorShuffle(llvm::SDValue,llvm::SDValue,llvm::SDValue ,constllvm::X86Subtarget*,llvm::SelectionDAG&)70__Globals.lowerV16I8VectorShuffle(llvm::SDValue,llvm::SDValue ,llvm::SDValue,constllvm::X86Subtarget*,llvm::SelectionDAG&)
fastLowerIntrinsicCall(constllvm::IntrinsicInst*)70anonymous_namespace{x86fastisel.cpp}.X86FastISel .fastLowerIntrinsicCall(constllvm::IntrinsicInst*)
ActOnFunctionDeclarator(clang::Scope*,clang::Declarator& ,clang::DeclContext*,clang::TypeSourceInfo*,clang::LookupResult& ,MultiTemplateParamsArg,bool&)70clang.Sema.ActOnFunctionDeclarator(clang::Scope*,clang::Declarator& ,clang::DeclContext*,clang::TypeSourceInfo*,clang::LookupResult& ,MultiTemplateParamsArg,bool&)
SplitCriticalEdge(llvm::MachineBasicBlock*,llvm::Pass*)69llvm.MachineBasicBlock.SplitCriticalEdge(llvm::MachineBasicBlock* ,llvm::Pass*)
LowerFormalArguments(llvm::SDValue,CallingConv::ID,bool ,constSmallVectorImpl<ISD::InputArg>&,llvm::SDLoc,llvm::SelectionDAG& ,SmallVectorImpl<llvm::SDValue>&)68llvm.NVPTXTargetLowering.LowerFormalArguments(llvm::SDValue ,CallingConv::ID,bool,constSmallVectorImpl<ISD::InputArg>&,llvm::SDLoc ,llvm::SelectionDAG&,SmallVectorImpl<llvm::SDValue>&)
GenerateMinimalPathDiagnostic(clang::ento::PathDiagnostic&, (anonymousnamespace)::PathDiagnosticBuilder& ,constclang::ento::ExplodedNode*,LocationContextMap&,ArrayRef <std::unique_ptr<BugReporterVisitor>>)68__Globals.GenerateMinimalPathDiagnostic(clang::ento::PathDiagnostic&, (anonymousnamespace)::PathDiagnosticBuilder& ,constclang::ento::ExplodedNode*,LocationContextMap&,ArrayRef <std::unique_ptr<BugReporterVisitor>>)
DisassembleObject(constllvm::object::ObjectFile*,bool)68__Globals.DisassembleObject(constllvm::object::ObjectFile*,bool)
EmitPrintAliasInstruction(llvm::raw_ostream&)68anonymous_namespace{asmwriteremitter.cpp}.AsmWriterEmitter .EmitPrintAliasInstruction(llvm::raw_ostream&)
visitOr(llvm::BinaryOperator&)67llvm.InstCombiner.visitOr(llvm::BinaryOperator&)
runTargetDesc(llvm::raw_ostream&,llvm::CodeGenTarget& ,llvm::CodeGenRegBank&)67anonymous_namespace{registerinfoemitter.cpp}.RegisterInfoEmitter .runTargetDesc(llvm::raw_ostream&,llvm::CodeGenTarget& ,llvm::CodeGenRegBank&)
ExpandMI(llvm::MachineBasicBlock&,MachineBasicBlock::iterator)66anonymous_namespace{armexpandpseudoinsts.cpp}.ARMExpandPseudo.ExpandMI (llvm::MachineBasicBlock&,MachineBasicBlock::iterator)
getConstantValue(constllvm::Constant*)66llvm.ExecutionEngine.getConstantValue(constllvm::Constant*)
processRelocationRef(unsignedint,relocation_iterator ,llvm::ObjectImage&,ObjSectionToIDMap&,constSymbolTableMap&,StubMap&)66llvm.RuntimeDyldELF.processRelocationRef(unsignedint ,relocation_iterator,llvm::ObjectImage&,ObjSectionToIDMap& ,constSymbolTableMap&,StubMap&)
LowerFormalArguments_Darwin(llvm::SDValue,CallingConv::ID,bool ,constSmallVectorImpl<ISD::InputArg>&,llvm::SDLoc,llvm::SelectionDAG& ,SmallVectorImpl<llvm::SDValue>&)65llvm.PPCTargetLowering.LowerFormalArguments_Darwin(llvm::SDValue ,CallingConv::ID,bool,constSmallVectorImpl<ISD::InputArg>&,llvm::SDLoc ,llvm::SelectionDAG&,SmallVectorImpl<llvm::SDValue>&)
mangleExpression(constclang::Expr*,unsignedint)65anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleExpression (constclang::Expr*,unsignedint)
SynthMessageExpr(clang::ObjCMessageExpr*,clang::SourceLocation ,clang::SourceLocation)65anonymous_namespace{rewriteobjc.cpp}.RewriteObjC.SynthMessageExpr (clang::ObjCMessageExpr*,clang::SourceLocation,clang::SourceLocation)
ActOnPropertyImplDecl(clang::Scope*,clang::SourceLocation ,clang::SourceLocation,bool,clang::IdentifierInfo* ,clang::IdentifierInfo*,clang::SourceLocation)65clang.Sema.ActOnPropertyImplDecl(clang::Scope*,clang::SourceLocation ,clang::SourceLocation,bool,clang::IdentifierInfo* ,clang::IdentifierInfo*,clang::SourceLocation)
WriteObject(llvm::MCAssembler&,constllvm::MCAsmLayout&)64anonymous_namespace{wincoffobjectwriter.cpp}.WinCOFFObjectWriter .WriteObject(llvm::MCAssembler&,constllvm::MCAsmLayout&)
EmitInstrWithCustomInserter(llvm::MachineInstr* ,llvm::MachineBasicBlock*)64llvm.PPCTargetLowering.EmitInstrWithCustomInserter(llvm::MachineInstr* ,llvm::MachineBasicBlock*)
emitPrologue(llvm::MachineFunction&)64llvm.X86FrameLowering.emitPrologue(llvm::MachineFunction&)
CheckDesignatedInitializer(constclang::InitializedEntity& ,clang::InitListExpr*,clang::DesignatedInitExpr*,unsignedint ,clang::QualType&,RecordDecl::field_iterator*,llvm::APSInt* ,unsignedint&,clang::InitListExpr*,unsignedint&,bool,bool)64anonymous_namespace{semainit.cpp}.InitListChecker .CheckDesignatedInitializer(constclang::InitializedEntity& ,clang::InitListExpr*,clang::DesignatedInitExpr*,unsignedint ,clang::QualType&,RecordDecl::field_iterator*,llvm::APSInt* ,unsignedint&,clang::InitListExpr*,unsignedint&,bool,bool)
Visit(constclang::Stmt*,clang::ento::ExplodedNode* ,clang::ento::ExplodedNodeSet&)64clang.ento.ExprEngine.Visit(constclang::Stmt* ,clang::ento::ExplodedNode*,clang::ento::ExplodedNodeSet&)
getMulExpr(SmallVectorImpl<constllvm::SCEV*>&,SCEV::NoWrapFlags)63llvm.ScalarEvolution.getMulExpr(SmallVectorImpl<constllvm::SCEV*>& ,SCEV::NoWrapFlags)
emitPrologue(llvm::MachineFunction&)63llvm.PPCFrameLowering.emitPrologue(llvm::MachineFunction&)
createEmptyLoop()63anonymous_namespace{loopvectorize.cpp}.InnerLoopVectorizer .createEmptyLoop()
PerformSELECTCombine(llvm::SDNode*,llvm::SelectionDAG& ,TargetLowering::DAGCombinerInfo&,constllvm::X86Subtarget*)63__Globals.PerformSELECTCombine(llvm::SDNode*,llvm::SelectionDAG& ,TargetLowering::DAGCombinerInfo&,constllvm::X86Subtarget*)

Statistics

Stat   # Variables
Sum:67 870
Average:28.99
Minimum:16
Maximum:606
Standard deviation:24.37
Variance:594
warningCritical    Rule warning: Methods with too many overloads
• Rule Description:

Method overloading is the ability to create multiple methods of the same name with different implementations, and various set of parameters.

This rule matches sets of method with more than 6 overloads.

Such method set might be a problem to maintain and provokes higher coupling than necessary.

See the definition of the NbOverloads metric here http://www.cppdepend.com/Metrics.aspx#NbOverloads


• How to Fix Violations:

Typically the too many overloads phenomenon appears when an algorithm takes a various set of in-parameters. Each overload is presented as a facility to provide a various set of in-parameters.

The too many overloads phenomenon can also be a consequence of the usage of the visitor design pattern http://en.wikipedia.org/wiki/Visitor_pattern since a method named Visit() must be provided for each sub type. In such situation there is no need for fix.

763 methods matched

methods# OverloadsFull Name
mangleType(clang::QualType)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (clang::QualType)
mangleType(constclang::BuiltinType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::BuiltinType*)
mangleType(constclang::ComplexType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::ComplexType*)
mangleType(constclang::PointerType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::PointerType*)
mangleType(constclang::BlockPointerType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::BlockPointerType*)
mangleType(constclang::LValueReferenceType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::LValueReferenceType*)
mangleType(constclang::RValueReferenceType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::RValueReferenceType*)
mangleType(constclang::MemberPointerType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::MemberPointerType*)
mangleType(constclang::ConstantArrayType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::ConstantArrayType*)
mangleType(constclang::IncompleteArrayType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::IncompleteArrayType*)
mangleType(constclang::VariableArrayType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::VariableArrayType*)
mangleType(constclang::DependentSizedArrayType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::DependentSizedArrayType*)
mangleType(constclang::DependentSizedExtVectorType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::DependentSizedExtVectorType*)
mangleType(constclang::VectorType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::VectorType*)
mangleType(constclang::ExtVectorType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::ExtVectorType*)
mangleType(constclang::FunctionProtoType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::FunctionProtoType*)
mangleType(constclang::FunctionNoProtoType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::FunctionNoProtoType*)
mangleType(constclang::UnresolvedUsingType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::UnresolvedUsingType*)
mangleType(constclang::TypeOfExprType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::TypeOfExprType*)
mangleType(constclang::TypeOfType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::TypeOfType*)
mangleType(constclang::DecltypeType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::DecltypeType*)
mangleType(constclang::UnaryTransformType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::UnaryTransformType*)
mangleType(constclang::RecordType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::RecordType*)
mangleType(constclang::EnumType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::EnumType*)
mangleType(constclang::TemplateTypeParmType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::TemplateTypeParmType*)
mangleType(constclang::SubstTemplateTypeParmPackType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::SubstTemplateTypeParmPackType*)
mangleType(constclang::TemplateSpecializationType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::TemplateSpecializationType*)
mangleType(constclang::AutoType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::AutoType*)
mangleType(constclang::InjectedClassNameType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::InjectedClassNameType*)
mangleType(constclang::DependentNameType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::DependentNameType*)
mangleType(constclang::DependentTemplateSpecializationType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::DependentTemplateSpecializationType*)
mangleType(constclang::PackExpansionType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::PackExpansionType*)
mangleType(constclang::ObjCObjectType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::ObjCObjectType*)
mangleType(constclang::ObjCInterfaceType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::ObjCInterfaceType*)
mangleType(constclang::ObjCObjectPointerType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::ObjCObjectPointerType*)
mangleType(constclang::AtomicType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::AtomicType*)
mangleType(constclang::TagType*)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (constclang::TagType*)
mangleType(clang::TemplateName)38anonymous_namespace{itaniummangle.cpp}.CXXNameMangler.mangleType (clang::TemplateName)
mangleType(clang::QualType,clang::SourceRange,(anonymousnamespace )::MicrosoftCXXNameMangler::QualifierMangleMode)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(clang::QualType,clang::SourceRange,(anonymousnamespace )::MicrosoftCXXNameMangler::QualifierMangleMode)
mangleType(constclang::BuiltinType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::BuiltinType*,clang::SourceRange)
mangleType(constclang::ComplexType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::ComplexType*,clang::SourceRange)
mangleType(constclang::PointerType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::PointerType*,clang::SourceRange)
mangleType(constclang::BlockPointerType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::BlockPointerType*,clang::SourceRange)
mangleType(constclang::LValueReferenceType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::LValueReferenceType*,clang::SourceRange)
mangleType(constclang::RValueReferenceType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::RValueReferenceType*,clang::SourceRange)
mangleType(constclang::MemberPointerType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::MemberPointerType*,clang::SourceRange)
mangleType(constclang::ConstantArrayType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::ConstantArrayType*,clang::SourceRange)
mangleType(constclang::IncompleteArrayType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::IncompleteArrayType*,clang::SourceRange)
mangleType(constclang::VariableArrayType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::VariableArrayType*,clang::SourceRange)
mangleType(constclang::DependentSizedArrayType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::DependentSizedArrayType*,clang::SourceRange)
mangleType(constclang::DependentSizedExtVectorType*,clang::SourceRange )37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::DependentSizedExtVectorType* ,clang::SourceRange)
mangleType(constclang::VectorType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::VectorType*,clang::SourceRange)
mangleType(constclang::ExtVectorType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::ExtVectorType*,clang::SourceRange)
mangleType(constclang::FunctionProtoType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::FunctionProtoType*,clang::SourceRange)
mangleType(constclang::FunctionNoProtoType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::FunctionNoProtoType*,clang::SourceRange)
mangleType(constclang::UnresolvedUsingType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::UnresolvedUsingType*,clang::SourceRange)
mangleType(constclang::TypeOfExprType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::TypeOfExprType*,clang::SourceRange)
mangleType(constclang::TypeOfType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::TypeOfType*,clang::SourceRange)
mangleType(constclang::DecltypeType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::DecltypeType*,clang::SourceRange)
mangleType(constclang::UnaryTransformType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::UnaryTransformType*,clang::SourceRange)
mangleType(constclang::RecordType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::RecordType*,clang::SourceRange)
mangleType(constclang::EnumType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::EnumType*,clang::SourceRange)
mangleType(constclang::TemplateTypeParmType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::TemplateTypeParmType*,clang::SourceRange)
mangleType(constclang::SubstTemplateTypeParmPackType* ,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::SubstTemplateTypeParmPackType* ,clang::SourceRange)
mangleType(constclang::TemplateSpecializationType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::TemplateSpecializationType*,clang::SourceRange )
mangleType(constclang::AutoType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::AutoType*,clang::SourceRange)
mangleType(constclang::InjectedClassNameType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::InjectedClassNameType*,clang::SourceRange)
mangleType(constclang::DependentNameType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::DependentNameType*,clang::SourceRange)
mangleType(constclang::DependentTemplateSpecializationType* ,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::DependentTemplateSpecializationType* ,clang::SourceRange)
mangleType(constclang::PackExpansionType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::PackExpansionType*,clang::SourceRange)
mangleType(constclang::ObjCObjectType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::ObjCObjectType*,clang::SourceRange)
mangleType(constclang::ObjCInterfaceType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::ObjCInterfaceType*,clang::SourceRange)
mangleType(constclang::ObjCObjectPointerType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::ObjCObjectPointerType*,clang::SourceRange)
mangleType(constclang::AtomicType*,clang::SourceRange)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::AtomicType*,clang::SourceRange)
mangleType(constclang::TagDecl*)37anonymous_namespace{microsoftmangle.cpp}.MicrosoftCXXNameMangler .mangleType(constclang::TagDecl*)
getModRefInfo(constllvm::Instruction* ,constllvm::AliasAnalysis::Location&)21llvm.AliasAnalysis.getModRefInfo(constllvm::Instruction* ,constllvm::AliasAnalysis::Location&)
getModRefInfo(constllvm::Instruction*,constllvm::Value*,uint64_t)21llvm.AliasAnalysis.getModRefInfo(constllvm::Instruction* ,constllvm::Value*,uint64_t)
getModRefInfo(llvm::ImmutableCallSite ,constllvm::AliasAnalysis::Location&)21llvm.AliasAnalysis.getModRefInfo(llvm::ImmutableCallSite ,constllvm::AliasAnalysis::Location&)
getModRefInfo(llvm::ImmutableCallSite,constllvm::Value*,uint64_t)21llvm.AliasAnalysis.getModRefInfo(llvm::ImmutableCallSite ,constllvm::Value*,uint64_t)
getModRefInfo(constllvm::CallInst*,constllvm::AliasAnalysis::Location& )21llvm.AliasAnalysis.getModRefInfo(constllvm::CallInst* ,constllvm::AliasAnalysis::Location&)
getModRefInfo(constllvm::CallInst*,constllvm::Value*,uint64_t)21llvm.AliasAnalysis.getModRefInfo(constllvm::CallInst* ,constllvm::Value*,uint64_t)
getModRefInfo(constllvm::InvokeInst* ,constllvm::AliasAnalysis::Location&)21llvm.AliasAnalysis.getModRefInfo(constllvm::InvokeInst* ,constllvm::AliasAnalysis::Location&)
getModRefInfo(constllvm::InvokeInst*,constllvm::Value*,uint64_t)21llvm.AliasAnalysis.getModRefInfo(constllvm::InvokeInst* ,constllvm::Value*,uint64_t)
getModRefInfo(constllvm::LoadInst*,constllvm::AliasAnalysis::Location& )21llvm.AliasAnalysis.getModRefInfo(constllvm::LoadInst* ,constllvm::AliasAnalysis::Location&)
getModRefInfo(constllvm::LoadInst*,constllvm::Value*,uint64_t)21llvm.AliasAnalysis.getModRefInfo(constllvm::LoadInst* ,constllvm::Value*,uint64_t)
getModRefInfo(constllvm::StoreInst* ,constllvm::AliasAnalysis::Location&)21llvm.AliasAnalysis.getModRefInfo(constllvm::StoreInst* ,constllvm::AliasAnalysis::Location&)
getModRefInfo(constllvm::StoreInst*,constllvm::Value*,uint64_t)21llvm.AliasAnalysis.getModRefInfo(constllvm::StoreInst* ,constllvm::Value*,uint64_t)
getModRefInfo(constllvm::FenceInst* ,constllvm::AliasAnalysis::Location&)21llvm.AliasAnalysis.getModRefInfo(constllvm::FenceInst* ,constllvm::AliasAnalysis::Location&)
getModRefInfo(constllvm::FenceInst*,constllvm::Value*,uint64_t)21llvm.AliasAnalysis.getModRefInfo(constllvm::FenceInst* ,constllvm::Value*,uint64_t)
getModRefInfo(constllvm::AtomicCmpXchgInst* ,constllvm::AliasAnalysis::Location&)21llvm.AliasAnalysis.getModRefInfo(constllvm::AtomicCmpXchgInst* ,constllvm::AliasAnalysis::Location&)
getModRefInfo(constllvm::AtomicCmpXchgInst*,constllvm::Value* ,unsignedint)21llvm.AliasAnalysis.getModRefInfo(constllvm::AtomicCmpXchgInst* ,constllvm::Value*,unsignedint)
getModRefInfo(constllvm::AtomicRMWInst* ,constllvm::AliasAnalysis::Location&)21llvm.AliasAnalysis.getModRefInfo(constllvm::AtomicRMWInst* ,constllvm::AliasAnalysis::Location&)
getModRefInfo(constllvm::AtomicRMWInst*,constllvm::Value*,unsignedint)21llvm.AliasAnalysis.getModRefInfo(constllvm::AtomicRMWInst* ,constllvm::Value*,unsignedint)
getModRefInfo(constllvm::VAArgInst* ,constllvm::AliasAnalysis::Location&)21llvm.AliasAnalysis.getModRefInfo(constllvm::VAArgInst* ,constllvm::AliasAnalysis::Location&)
getModRefInfo(constllvm::VAArgInst*,constllvm::Value*,uint64_t)21llvm.AliasAnalysis.getModRefInfo(constllvm::VAArgInst* ,constllvm::Value*,uint64_t)
getModRefInfo(llvm::ImmutableCallSite,llvm::ImmutableCallSite)21llvm.AliasAnalysis.getModRefInfo(llvm::ImmutableCallSite ,llvm::ImmutableCallSite)
Twine(llvm::Twine::NodeKind)19llvm.Twine.Twine(llvm::Twine::NodeKind)
Twine(constllvm::Twine&,constllvm::Twine&)19llvm.Twine.Twine(constllvm::Twine&,constllvm::Twine&)
Twine(llvm::Twine::Child,llvm::Twine::NodeKind,llvm::Twine::Child ,llvm::Twine::NodeKind)19llvm.Twine.Twine(llvm::Twine::Child,llvm::Twine::NodeKind ,llvm::Twine::Child,llvm::Twine::NodeKind)
Twine()19llvm.Twine.Twine()

Statistics

Stat   # Overloads
Sum:10 999
Average:14.42
Minimum:7
Maximum:38
Standard deviation:8.51
Variance:72.34
warningCritical    Rule warning: Types with too many methods
• Rule Description:

This rule matches types with more than 20 methods. Such type might be hard to understand and maintain.

Notice that methods like constructors or property and event accessors are not taken account.

Having many methods for a type might be a symptom of too many responsibilities implemented.

Maybe you are facing the God Class phenomenon: A God Class is a class that controls way too many other classes in the system and has grown beyond all logic to become The Class That Does Everything.


• How to Fix Violations:

To refactor such type and increase code quality and maintainability, certainly you'll have to split the type into several smaller types that together, implement the same logic.

To refactor a God Class you'll need patience, and you might even need to recreate everything from scratch. Here are a few advices:

• Think before pulling out methods: What responsibility does it have? Can you isolate some subsets of methods that operate on the same subsets of fields?

• Try to maintain the interface of the god class at first and delegate calls to the new extracted classes. In the end the god class should be a pure facade without own logic. Then you can keep it for convenience or throw it away and start to use the new classes only.

• Unit Tests can help: write tests for each method before extracting it to ensure you don't break functionality.

718 types matched

typesInstanceMethodsStaticMethodsFull Name
Sema1343 methods22 methodsclang.Sema
CodeGenFunction473 methods11 methodsclang.CodeGen.CodeGenFunction
Parser439 methods6 methodsclang.Parser
DAGTypeLegalizer376 methods0 methodllvm.DAGTypeLegalizer
ASTContext353 methods2 methodsclang.ASTContext
ARMOperand274 methods26 methodsanonymous_namespace{armasmparser.cpp}.ARMOperand
SelectionDAG240 methods2 methodsllvm.SelectionDAG
Preprocessor214 methods2 methodsclang.Preprocessor
ASTReader205 methods11 methodsclang.ASTReader
TreeTransform<Derived>213 methods2 methodsclang.TreeTransform<Derived>
APInt161 methods49 methodsllvm.APInt
CodeGenModule189 methods1 methodclang.CodeGen.CodeGenModule
RecursiveASTVisitor<Derived>186 methods0 methodclang.RecursiveASTVisitor<Derived>
AArch64Operand166 methods13 methodsanonymous_namespace{aarch64asmparser.cpp}.AArch64Operand
TargetLoweringBase173 methods1 methodllvm.TargetLoweringBase
TargetLoweringBase173 methods1 methodllvm.TargetLoweringBase
ASTStmtReader172 methods0 methodclang.ASTStmtReader
CXXRecordDecl158 methods11 methodsclang.CXXRecordDecl
StmtPrinter167 methods0 methodanonymous_namespace{stmtprinter.cpp}.StmtPrinter
StmtProfiler167 methods0 methodanonymous_namespace{stmtprofile.cpp}.StmtProfiler
MachineInstr166 methods0 methodllvm.MachineInstr
IRBuilder<preserveNames,T,Inserter>161 methods0 methodllvm.IRBuilder<preserveNames,T,Inserter>
ASTStmtWriter161 methods0 methodclang.ASTStmtWriter
Type156 methods0 methodclang.Type
InstCombiner143 methods0 methodllvm.InstCombiner
RewriteModernObjC142 methods0 methodanonymous_namespace{rewritemodernobjc.cpp}.RewriteModernObjC
DAGCombiner141 methods0 methodanonymous_namespace{dagcombiner.cpp}.DAGCombiner
ScalarExprEmitter140 methods1 methodanonymous_namespace{cgexprscalar.cpp}.ScalarExprEmitter
ASTWriter136 methods0 methodclang.ASTWriter
X86TargetLowering135 methods0 methodllvm.X86TargetLowering
Decl125 methods9 methodsclang.Decl
ASTDumper134 methods0 methodanonymous_namespace{astdumper.cpp}.ASTDumper
XMLDumper131 methods0 methodXMLDumper
TargetInfo126 methods5 methodsclang.TargetInfo
MachineBasicBlock130 methods0 methodllvm.MachineBasicBlock
SourceManager130 methods0 methodclang.SourceManager
MCStreamer126 methods0 methodllvm.MCStreamer
MCStreamer126 methods0 methodllvm.MCStreamer
MCStreamer126 methods0 methodllvm.MCStreamer
FunctionDecl117 methods7 methodsclang.FunctionDecl
LLParser123 methods0 methodllvm.LLParser
SelectionDAGBuilder123 methods0 methodllvm.SelectionDAGBuilder
AsmParser121 methods1 methodanonymous_namespace{asmparser.cpp}.AsmParser
ScalarEvolution117 methods3 methodsllvm.ScalarEvolution
MemorySanitizerVisitor118 methods1 methodanonymous_namespace{memorysanitizer.cpp}.MemorySanitizerVisitor
RewriteObjC117 methods0 methodanonymous_namespace{rewriteobjc.cpp}.RewriteObjC
DeclSpec107 methods10 methodsclang.DeclSpec
ARMTargetLowering116 methods0 methodllvm.ARMTargetLowering
APFloat104 methods12 methodsllvm.APFloat
X86Subtarget115 methods0 methodllvm.X86Subtarget
ExprEngine114 methods0 methodclang.ento.ExprEngine
ASTDeclReader102 methods11 methodsclang.ASTDeclReader
MachOObjectFile102 methods10 methodsllvm.object.MachOObjectFile
AArch64TargetLowering110 methods0 methodllvm.AArch64TargetLowering
DwarfUnit109 methods0 methodllvm.DwarfUnit
MachineRegisterInfo91 methods16 methodsllvm.MachineRegisterInfo
TargetInstrInfo107 methods0 methodllvm.TargetInstrInfo
ConstantExpr27 methods79 methodsllvm.ConstantExpr
MipsAsmParser106 methods0 methodanonymous_namespace{mipsasmparser.cpp}.MipsAsmParser
CursorVisitor105 methods0 methodclang.cxcursor.CursorVisitor
ObjCInterfaceDecl96 methods8 methodsclang.ObjCInterfaceDecl
Module98 methods5 methodsllvm.Module
ARMSubtarget102 methods0 methodllvm.ARMSubtarget
DwarfDebug102 methods0 methodllvm.DwarfDebug
CGDebugInfo101 methods0 methodclang.CodeGen.CGDebugInfo
Function96 methods4 methodsllvm.Function
Function96 methods4 methodsllvm.Function
CXXNameMangler100 methods0 methodanonymous_namespace{itaniummangle.cpp}.CXXNameMangler
CompilerInstance94 methods5 methodsclang.CompilerInstance
ARMAsmParser98 methods0 methodanonymous_namespace{armasmparser.cpp}.ARMAsmParser
QualType83 methods14 methodsclang.QualType
PPCTargetLowering96 methods0 methodllvm.PPCTargetLowering
ASTNodeImporter96 methods0 methodclang.ASTNodeImporter
TypePrinter95 methods1 methodanonymous_namespace{typeprinter.cpp}.TypePrinter
Type64 methods30 methodsllvm.Type
BinaryOperator26 methods68 methodsllvm.BinaryOperator
MachineOperand75 methods18 methodsllvm.MachineOperand
ASTUnit87 methods6 methodsclang.ASTUnit
CFGBuilder92 methods0 methodanonymous_namespace{cfg.cpp}.CFGBuilder
MicrosoftCXXABI91 methods0 methodanonymous_namespace{microsoftcxxabi.cpp}.MicrosoftCXXABI
ARMInstPrinter88 methods1 methodllvm.ARMInstPrinter
Instruction79 methods10 methodsllvm.Instruction
Instruction79 methods10 methodsllvm.Instruction
MCAsmStreamer89 methods0 methodanonymous_namespace{mcasmstreamer.cpp}.MCAsmStreamer
Expr82 methods6 methodsclang.Expr
HexagonInstrInfo86 methods0 methodllvm.HexagonInstrInfo
APValue86 methods0 methodclang.APValue
ObjCMethodDecl80 methods6 methodsclang.ObjCMethodDecl
VarDecl79 methods5 methodsclang.VarDecl
AsmPrinter83 methods0 methodllvm.AsmPrinter
CGCXXABI83 methods0 methodclang.CodeGen.CGCXXABI
DeclContext79 methods3 methodsclang.DeclContext
DiagnosticsEngine81 methods0 methodclang.DiagnosticsEngine
COFFObjectFile79 methods1 methodllvm.object.COFFObjectFile
MCAssembler79 methods0 methodllvm.MCAssembler
MCObjectFileInfo79 methods0 methodllvm.MCObjectFileInfo
MipsOperand68 methods11 methodsanonymous_namespace{mipsasmparser.cpp}.MipsOperand
MCAsmInfo78 methods0 methodllvm.MCAsmInfo
R600InstrInfo78 methods0 methodllvm.R600InstrInfo
ARMBaseInstrInfo77 methods0 methodllvm.ARMBaseInstrInfo

Statistics

Stat   InstanceMethods   StaticMethods
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
warningCritical    Rule warning: Types with too many fields
• Rule Description:

This rule matches types with more than 20 fields. Such type might be hard to understand and maintain.

Notice that constant fields and static-readonly fields are not counted. Enumerations types are not counted also.

Having many fields for a type might be a symptom of too many responsibilities implemented.


• How to Fix Violations:

To refactor such type and increase code quality and maintainability, certainly you'll have to group subsets of fields into smaller types and dispatch the logic implemented into the methods into these smaller types.

97 types matched

typesInstanceFieldsStaticFieldsFull Name
ASTContext163 fields12 fieldsclang.ASTContext
Preprocessor121 fields1 fieldclang.Preprocessor
ASTReader121 fields0 fieldclang.ASTReader
Sema120 fields0 fieldclang.Sema
DeclSpec49 fields41 fieldsclang.DeclSpec
ModuleFile86 fields0 fieldclang.serialization.ModuleFile
MCObjectFileInfo80 fields0 fieldllvm.MCObjectFileInfo
RewriteModernObjC76 fields0 fieldanonymous_namespace{rewritemodernobjc.cpp}.RewriteModernObjC
ASTWriter76 fields0 fieldclang.ASTWriter
CodeGenModule73 fields0 fieldclang.CodeGen.CodeGenModule
Parser72 fields0 fieldclang.Parser
DwarfDebug67 fields0 fieldllvm.DwarfDebug
CodeGenFunction67 fields0 fieldclang.CodeGen.CodeGenFunction
MCAsmInfo66 fields0 fieldllvm.MCAsmInfo
RewriteObjC65 fields1 fieldanonymous_namespace{rewriteobjc.cpp}.RewriteObjC
LLVMContextImpl63 fields0 fieldllvm.LLVMContextImpl
ARMSubtarget62 fields0 fieldllvm.ARMSubtarget
TargetInfo62 fields0 fieldclang.TargetInfo
X86Subtarget60 fields0 fieldllvm.X86Subtarget
FormatStyle56 fields0 fieldclang.format.FormatStyle
TargetLoweringBase55 fields0 fieldllvm.TargetLoweringBase
TargetLoweringBase55 fields0 fieldllvm.TargetLoweringBase
CGObjCGNU55 fields0 fieldanonymous_namespace{cgobjcgnu.cpp}.CGObjCGNU
ASTUnit51 fields0 fieldclang.ASTUnit
DIEHash+DIEAttrs49 fields0 fieldllvm.DIEHash+DIEAttrs
InternalInstruction49 fields0 fieldllvm.X86Disassembler.InternalInstruction
CXXRecordDecl+DefinitionData47 fields0 fieldclang.CXXRecordDecl+DefinitionData
DiagnosticsEngine47 fields0 fieldclang.DiagnosticsEngine
CodeGenInstruction44 fields0 fieldllvm.CodeGenInstruction
AnalyzerOptions43 fields0 fieldclang.AnalyzerOptions
PPCSubtarget42 fields0 fieldllvm.PPCSubtarget
FormatToken42 fields0 fieldclang.format.FormatToken
SUnit41 fields0 fieldllvm.SUnit
Module39 fields0 fieldclang.Module
MipsSubtarget37 fields0 fieldllvm.MipsSubtarget
FrontendOptions36 fields0 fieldclang.FrontendOptions
RecordLayoutBuilder34 fields0 fieldanonymous_namespace{recordlayoutbuilder.cpp}.RecordLayoutBuilder
Driver34 fields0 fieldclang.driver.Driver
SourceManager32 fields1 fieldclang.SourceManager
CGDebugInfo33 fields0 fieldclang.CodeGen.CGDebugInfo
MemorySanitizer31 fields1 fieldanonymous_namespace{memorysanitizer.cpp}.MemorySanitizer
DataFlowSanitizer30 fields1 fieldanonymous_namespace{dataflowsanitizer.cpp}.DataFlowSanitizer
MCContext31 fields0 fieldllvm.MCContext
CallAnalyzer31 fields0 fieldanonymous_namespace{inlinecost.cpp}.CallAnalyzer
BitcodeReader30 fields0 fieldllvm.BitcodeReader
pe32_header30 fields0 fieldllvm.object.pe32_header
RecognizableInstr30 fields0 fieldllvm.X86Disassembler.RecognizableInstr
pe32plus_header29 fields0 fieldllvm.object.pe32plus_header
TargetOptions28 fields0 fieldllvm.TargetOptions
AsmParser28 fields0 fieldanonymous_namespace{asmparser.cpp}.AsmParser
CheckerManager27 fields0 fieldclang.ento.CheckerManager
MachineFrameInfo26 fields0 fieldllvm.MachineFrameInfo
RAGreedy24 fields2 fieldsanonymous_namespace{regallocgreedy.cpp}.RAGreedy
X86TargetInfo26 fields0 fieldanonymous_namespace{targets.cpp}.X86TargetInfo
MachineVerifier25 fields0 fieldanonymous_namespace{machineverifier.cpp}.MachineVerifier
DWARFContextInMemory25 fields0 fieldllvm.DWARFContextInMemory
AssemblerInvocation25 fields0 fieldanonymous_namespace{cc1as_main.cpp}.AssemblerInvocation
TemplateDiff+DiffTree+DiffNode25 fields0 fieldanonymous_namespace{astdiagnostic.cpp}.TemplateDiff+DiffTree+DiffNode
ARMFunctionInfo24 fields0 fieldllvm.ARMFunctionInfo
DwarfUnit24 fields0 fieldllvm.DwarfUnit
AllocaSliceRewriter24 fields0 fieldanonymous_namespace{sroa.cpp}.AllocaSliceRewriter
SelectionDAGBuilder23 fields1 fieldllvm.SelectionDAGBuilder
VectorizeConfig24 fields0 fieldllvm.VectorizeConfig
CompilerInstance23 fields1 fieldclang.CompilerInstance
HeaderSearch24 fields0 fieldclang.HeaderSearch
MachineLICM22 fields1 fieldanonymous_namespace{machinelicm.cpp}.MachineLICM
MCRegisterInfo23 fields0 fieldllvm.MCRegisterInfo
Target23 fields0 fieldllvm.Target
AMDGPUSubtarget23 fields0 fieldllvm.AMDGPUSubtarget
SelectionDAG23 fields0 fieldllvm.SelectionDAG
FunctionLoweringInfo23 fields0 fieldllvm.FunctionLoweringInfo
Target23 fields0 fieldllvm.Target
InnerLoopVectorizer23 fields0 fieldanonymous_namespace{loopvectorize.cpp}.InnerLoopVectorizer
ObjCCommonTypesHelper23 fields0 fieldanonymous_namespace{cgobjcmac.cpp}.ObjCCommonTypesHelper
ObjCTypesHelper23 fields0 fieldanonymous_namespace{cgobjcmac.cpp}.ObjCTypesHelper
ObjCNonFragileABITypesHelper23 fields0 fieldanonymous_namespace{cgobjcmac.cpp}.ObjCNonFragileABITypesHelper
FastISel+CallLoweringInfo22 fields0 fieldllvm.FastISel+CallLoweringInfo
StringTypes22 fields0 fieldStringTypes
XMLDumper22 fields0 fieldXMLDumper
FunctionDecl21 fields1 fieldclang.FunctionDecl
NSAPI17 fields5 fieldsclang.NSAPI
CommandInfo22 fields0 fieldclang.comments.CommandInfo
MicrosoftRecordLayoutBuilder22 fields0 fieldanonymous_namespace{recordlayoutbuilder.cpp} .MicrosoftRecordLayoutBuilder
CGObjCCommonMac22 fields0 fieldanonymous_namespace{cgobjcmac.cpp}.CGObjCCommonMac
ParenState22 fields0 fieldclang.format.ParenState
ARMOperand+Anonymous21 fields0 fieldanonymous_namespace{armasmparser.cpp}.ARMOperand+Anonymous
ValueEnumerator21 fields0 fieldllvm.ValueEnumerator
MachineFunction21 fields0 fieldllvm.MachineFunction
InlineSpiller21 fields0 fieldanonymous_namespace{inlinespiller.cpp}.InlineSpiller
AddressSanitizer20 fields1 fieldanonymous_namespace{addresssanitizer.cpp}.AddressSanitizer
MCAssembler21 fields0 fieldllvm.MCAssembler
re_guts21 fields0 fieldre_guts
LoopVectorizationLegality21 fields0 fieldanonymous_namespace{loopvectorize.cpp}.LoopVectorizationLegality
Intrinsic21 fields0 fieldanonymous_namespace{neonemitter.cpp}.Intrinsic
ObjCMethodDecl21 fields0 fieldclang.ObjCMethodDecl
CodeGenOptions21 fields0 fieldclang.CodeGenOptions
HeaderSearchOptions21 fields0 fieldclang.HeaderSearchOptions

Statistics

Stat   InstanceFields   StaticFields
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
warningCritical    Rule warning: Types with poor cohesion
• Rule Description:

This rule is based on the LCOM code metric, LCOM stands for Lack Of Cohesion of Methods. See the definition of the LCOM metric here http://www.cppdepend.com/Metrics.aspx#LCOM

The LCOM metric measures the fact that most methods are using most fields. A class is considered utterly cohesive (which is positive) if all its methods use all its instance fields.

Only types with enough methods and fields are taken account to avoid bias. The LCOM takes its values in the range [0-1].

This rule matches types with LCOM higher than 0.8. Such value generally pinpoints a poorly cohesive class.

There are several LCOM metrics. The LCOM HS (HS stands for Henderson-Sellers) takes its values in the range [0-2]. A LCOM HS value higher than 1 should be considered alarming.


• How to Fix Violations:

To refactor a poorly cohesive type and increase code quality and maintainability, certainly you'll have to split the type into several smaller and more cohesive types that together, implement the same logic.

210 types matched

typesLack of Cohesion Of Methods (LCOM)LCOM Henderson-Sellers (LCOMHS)# Methods# FieldsFull Name
ASTContext0.991358175clang.ASTContext
Sema0.990.991 368120clang.Sema
MipsTargetStreamer0.991.015412llvm.MipsTargetStreamer
TargetLoweringBase0.99117655llvm.TargetLoweringBase
ASTReader0.980.99218121clang.ASTReader
MipsTargetStreamer0.9815512llvm.MipsTargetStreamer
TargetLoweringBase0.980.9917655llvm.TargetLoweringBase
CodeGenModule0.980.9919273clang.CodeGen.CodeGenModule
TargetInfo0.980.9913362clang.TargetInfo
CodeGenFunction0.980.9848667clang.CodeGen.CodeGenFunction
Preprocessor0.980.98218122clang.Preprocessor
X86Subtarget0.980.9811860llvm.X86Subtarget
ARMSubtarget0.970.9810562llvm.ARMSubtarget
MCAsmInfo0.970.998066llvm.MCAsmInfo
XMLDumper0.970.9813422XMLDumper
ASTWriter0.970.9813876clang.ASTWriter
Parser0.970.9744772clang.Parser
RewriteModernObjC0.970.9714476anonymous_namespace{rewritemodernobjc.cpp}.RewriteModernObjC
Decl0.970.9713717clang.Decl
SelectionDAG0.970.9724523llvm.SelectionDAG
SourceManager0.970.9713233clang.SourceManager
DiagnosticsEngine0.960.988347clang.DiagnosticsEngine
DWARFContext0.960.985711llvm.DWARFContext
MipsSubtarget0.960.987437llvm.MipsSubtarget
RewriteObjC0.960.9711966anonymous_namespace{rewriteobjc.cpp}.RewriteObjC
MachineRegisterInfo0.960.9710911llvm.MachineRegisterInfo
FunctionDecl0.960.9712822clang.FunctionDecl
DwarfDebug0.960.9710467llvm.DwarfDebug
MCObjectFileInfo0.960.978080llvm.MCObjectFileInfo
ModuleMapChecker0.961.041713ModuleMapChecker
AnalyzerOptions0.9613343clang.AnalyzerOptions
PPCSubtarget0.960.986542llvm.PPCSubtarget
DeclSpec0.960.9712090clang.DeclSpec
ObjCMethodDecl0.960.979021clang.ObjCMethodDecl
MemorySanitizerVisitor0.960.9712215anonymous_namespace{memorysanitizer.cpp}.MemorySanitizerVisitor
DwarfUnit0.960.9711124llvm.DwarfUnit
MCContext0.960.977631llvm.MCContext
CheckerManager0.960.976227clang.ento.CheckerManager
AsmParser0.960.9612428anonymous_namespace{asmparser.cpp}.AsmParser
TagDecl0.950.975714clang.TagDecl
CompilerInstance0.950.9610124clang.CompilerInstance
MCAssembler0.950.968121llvm.MCAssembler
ASTUnit0.950.969551clang.ASTUnit
Target0.950.992523llvm.Target
Target0.950.992523llvm.Target
RetainCountChecker0.950.983516anonymous_namespace{retaincountchecker.cpp}.RetainCountChecker
CGObjCCommonMac0.950.984122anonymous_namespace{cgobjcmac.cpp}.CGObjCCommonMac
FormatToken0.950.992742clang.format.FormatToken
NVPTXAsmPrinter0.950.965913llvm.NVPTXAsmPrinter
ScalarEvolution0.950.9512320llvm.ScalarEvolution
Driver0.950.974534clang.driver.Driver
AMDGPUSubtarget0.940.974323llvm.AMDGPUSubtarget
DeclaratorChunk+FunctionTypeInfo0.941.012220clang.DeclaratorChunk+FunctionTypeInfo
MachineBasicBlock0.940.9513312llvm.MachineBasicBlock
Scope0.940.965817clang.Scope
MachineFunction0.940.957921llvm.MachineFunction
Module0.940.9510515llvm.Module
CGObjCGNU0.940.956755anonymous_namespace{cgobjcgnu.cpp}.CGObjCGNU
Module0.940.973539clang.Module
MachineFrameInfo0.940.957826llvm.MachineFrameInfo
AMDGPUCFGStructurizer0.940.958011anonymous_namespace{amdilcfgstructurizer.cpp}.AMDGPUCFGStructurizer
IndexingContext0.930.957312clang.cxindex.IndexingContext
CGDebugInfo0.930.9410333clang.CodeGen.CGDebugInfo
SCCPSolver0.930.955614anonymous_namespace{sccp.cpp}.SCCPSolver
HeaderSearch0.930.956724clang.HeaderSearch
COFFObjectFile0.930.948413llvm.object.COFFObjectFile
PPCFunctionInfo0.930.954620llvm.PPCFunctionInfo
MachineModuleInfo0.930.955520llvm.MachineModuleInfo
Declarator0.930.947217clang.Declarator
CursorVisitor0.930.9410717clang.cxcursor.CursorVisitor
MallocChecker0.930.955619anonymous_namespace{mallocchecker.cpp}.MallocChecker
ELFFile<ELFT>0.930.954617llvm.object.ELFFile<ELFT>
NSAPI0.930.962922clang.NSAPI
ELFObjectWriter0.930.954017anonymous_namespace{elfobjectwriter.cpp}.ELFObjectWriter
ARMFunctionInfo0.930.955524llvm.ARMFunctionInfo
MCRegisterInfo0.930.963323llvm.MCRegisterInfo
DWARFContextInMemory0.920.963125llvm.DWARFContextInMemory
CCState0.920.953812llvm.CCState
AArch64Subtarget0.920.953914llvm.AArch64Subtarget
CodeGenRegBank0.920.944817llvm.CodeGenRegBank
ValueEnumerator0.920.953621llvm.ValueEnumerator
LLParser0.920.9312617llvm.LLParser
MemRegionManager0.920.943912clang.ento.MemRegionManager
LValue0.920.936015clang.CodeGen.LValue
ExecutionEngine0.920.945311llvm.ExecutionEngine
SelectionDAGBuilder0.920.9212624llvm.SelectionDAGBuilder
LambdaScopeInfo0.920.991517clang.sema.LambdaScopeInfo
SDNode0.920.937512llvm.SDNode
CodeGenTypes0.910.944516clang.CodeGen.CodeGenTypes
MachineOperand0.910.929614llvm.MachineOperand
Option0.910.943613llvm.cl.Option
StreamChecker0.910.962518anonymous_namespace{streamchecker.cpp}.StreamChecker
MacroInfo0.910.934918clang.MacroInfo
ResultBuilder0.910.934614anonymous_namespace{semacodecomplete.cpp}.ResultBuilder
Record0.910.935211llvm.Record
IdentifierInfo0.910.934016clang.IdentifierInfo
BlockDecl0.910.935212clang.BlockDecl
TargetPassConfig0.910.934513llvm.TargetPassConfig
ObjCCommonTypesHelper0.910.933923anonymous_namespace{cgobjcmac.cpp}.ObjCCommonTypesHelper
RuntimeDyldImpl0.90.934412llvm.RuntimeDyldImpl

Statistics

Stat   Lack of Cohesion Of Methods (LCOM)   LCOM Henderson-Sellers (LCOMHS)   # Methods   # Fields
Sum:188.49194.5714 4665 081
Average:0.90.9368.8924.2
Minimum:0.80.821111
Maximum:0.991.041 368175
Standard deviation:0.0530.045110.8421.88
Variance:0.00280.00212 286478.91

150
Object Oriented Design  

warningCritical    Rule warning: Base class should not use derivatives
• Rule Description:

In Object-Oriented Programming, the open/closed principle states: software entities (components, classes, methods, etc.) should be open for extension, but closed for modification. http://en.wikipedia.org/wiki/Open/closed_principle

Hence a base class should be designed properly to make it easy to derive from, this is extension. But creating a new derived class, or modifying an existing one, shouldn't provoke any modification in the base class. And if a base class is using some derivative classes somehow, there are good chances that such modification will be needed.

Extending the base class is not anymore a simple operation, this is not good design.


• How to Fix Violations:

Understand the need for using derivatives, then imagine a new design, and then refactor.

Typically an algorithm in the base class needs to access something from derived classes. You can try to encapsulate this access behind an abstract or a virtual method.

If you see in the base class some conditions on typeof(DerivedClass) not only urgent refactoring is needed. Such condition can easily be replaced through an abstract or a virtual method.

Sometime you'll see a base class that creates instance of some derived classes. In such situation, certainly using the factory method pattern http://en.wikipedia.org/wiki/Factory_method_pattern or the abstract factory pattern http://en.wikipedia.org/wiki/Abstract_factory_pattern will improve the design.

90 types matched

typesderivedClassesUsedFull Name
LoopPass1 typellvm.LoopPass
RegionPass1 typellvm.RegionPass
SCEV11 typesllvm.SCEV
DwarfUnit2 typesllvm.DwarfUnit
PseudoSourceValue1 typellvm.PseudoSourceValue
Type7 typesllvm.Type
Value14 typesllvm.Value
AttributeImpl3 typesllvm.AttributeImpl
Constant13 typesllvm.Constant
ConstantDataSequential2 typesllvm.ConstantDataSequential
ConstantExpr3 typesllvm.ConstantExpr
DIDescriptor19 typesllvm.DIDescriptor
DIScope6 typesllvm.DIScope
DIType3 typesllvm.DIType
GlobalValue4 typesllvm.GlobalValue
Instruction6 typesllvm.Instruction
CastInst13 typesllvm.CastInst
CmpInst2 typesllvm.CmpInst
Pass1 typellvm.Pass
CompositeType2 typesllvm.CompositeType
User3 typesllvm.User
ValueHandleBase1 typellvm.ValueHandleBase
DIContext1 typellvm.DIContext
MCFragment9 typesllvm.MCFragment
MCExpr5 typesllvm.MCExpr
JITMemoryManager1 typellvm.JITMemoryManager
ObjectFile3 typesllvm.object.ObjectFile
SymbolicFile2 typesllvm.object.SymbolicFile
InstrProfReader3 typesllvm.InstrProfReader
RuntimeDyldMachO4 typesllvm.RuntimeDyldMachO
SDNode23 typesllvm.SDNode
MemoryBuffer1 typellvm.MemoryBuffer
process1 typellvm.sys.process
RecTy1 typellvm.RecTy
TypedInit3 typesllvm.TypedInit
CallGraphSCCPass1 typellvm.CallGraphSCCPass
AbstractInterpreter5 typesllvm.AbstractInterpreter
Decl65 typesclang.Decl
DeclContext10 typesclang.DeclContext
Stmt154 typesclang.Stmt
SwitchCase2 typesclang.SwitchCase
AsmStmt2 typesclang.AsmStmt
ItaniumMangleContext1 typeclang.ItaniumMangleContext
MicrosoftMangleContext1 typeclang.MicrosoftMangleContext
TypeLoc2 typesclang.TypeLoc
CanProxyBase<T>2 typesclang.CanProxyBase<T>
Expr99 typesclang.Expr
CallExpr1 typeclang.CallExpr
CastExpr8 typesclang.CastExpr
AbstractConditionalOperator2 typesclang.AbstractConditionalOperator
CXXRecordDecl2 typesclang.CXXRecordDecl
CXXMethodDecl2 typesclang.CXXMethodDecl
UncommonTemplateNameStorage3 typesclang.UncommonTemplateNameStorage
ExtQualsTypeCommonBase1 typeclang.ExtQualsTypeCommonBase
Type46 typesclang.Type
ObjCObjectType2 typesclang.ObjCObjectType
NamedDecl20 typesclang.NamedDecl
VarDecl2 typesclang.VarDecl
FunctionDecl1 typeclang.FunctionDecl
TagDecl1 typeclang.TagDecl
RecordDecl1 typeclang.RecordDecl
ClassTemplateSpecializationDecl1 typeclang.ClassTemplateSpecializationDecl
VarTemplateSpecializationDecl1 typeclang.VarTemplateSpecializationDecl
ObjCContainerDecl3 typesclang.ObjCContainerDecl
ObjCImplDecl2 typesclang.ObjCImplDecl
CXXConstructExpr1 typeclang.CXXConstructExpr
OverloadExpr2 typesclang.OverloadExpr
StoredDeclsMap1 typeclang.StoredDeclsMap
OMPClause27 typesclang.OMPClause
Comment12 typesclang.comments.Comment
LocationContext2 typesclang.LocationContext
CFGImplicitDtor3 typesclang.CFGImplicitDtor
ProgramPoint8 typesclang.ProgramPoint
SExpr1 typeclang.threadSafety.til.SExpr
Literal1 typeclang.threadSafety.til.Literal
Terminator3 typesclang.threadSafety.til.Terminator
CompilerInvocationBase1 typeclang.CompilerInvocationBase
FrontendAction1 typeclang.FrontendAction
VerifyDiagnosticConsumer+Directive2 typesclang.VerifyDiagnosticConsumer+Directive
MacroDirective3 typesclang.MacroDirective
PragmaHandler1 typeclang.PragmaHandler
DeltaTreeNode1 typeanonymous_namespace{deltatree.cpp}.DeltaTreeNode
RopePieceBTreeNode2 typesanonymous_namespace{rewriterope.cpp}.RopePieceBTreeNode
CapturingScopeInfo1 typeclang.sema.CapturingScopeInfo
SVal7 typesclang.ento.SVal
NonLoc5 typesclang.ento.NonLoc
Loc3 typesclang.ento.Loc
MemRegion11 typesclang.ento.MemRegion
WorkList3 typesclang.ento.WorkList
EmitNodeMatcherCommon1 typellvm.EmitNodeMatcherCommon

Statistics

Stat   derivedClassesUsed
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Class shouldn't be too deep in inheritance tree
• Rule Description:

This rule warns about classes having 3 or more base classes. Notice that third-party base classes are not counted because this rule is about your code design, not third-party libraries consumed design.

In theory, there is nothing wrong having a long inheritance chain, if the modelization has been well thought out, if each base class is a well-designed refinement of the domain.

In practice, modeling properly a domain demands a lot of effort and experience and more often than not, a long inheritance chain is a sign of confused design, that will be hard to work with and maintain.


• How to Fix Violations:

In Object-Oriented Programming, a well-known motto is Favor Composition over Inheritance.

This is because inheritance comes with pitfalls. In general, the implementation of a derived class is very bound up with the base class implementation. Also a base class exposes implementation details to its derived classes, that's why it's often said that inheritance breaks encapsulation.

On the other hands, Composition favors binding with interfaces over binding with implementations. Hence, not only the encapsulation is preserved, but the design is clearer, because interfaces make it explicit and less coupled.

Hence, to break a long inheritance chain, Composition is often a powerful way to enhance the design of the refactored underlying logic.

You can also read: http://en.wikipedia.org/wiki/Composition_over_inheritance and http://stackoverflow.com/questions/49002/prefer-composition-over-inheritance

171 types matched

typesDepth of inheritanceFull Name
Function6llvm.Function
DISubroutineType5llvm.DISubroutineType
Function6llvm.Function
GlobalAlias5llvm.GlobalAlias
GlobalVariable6llvm.GlobalVariable
CastInst5llvm.CastInst
AllocaInst5llvm.AllocaInst
LoadInst5llvm.LoadInst
ICmpInst5llvm.ICmpInst
FCmpInst5llvm.FCmpInst
VAArgInst5llvm.VAArgInst
ExtractValueInst5llvm.ExtractValueInst
ReturnInst5llvm.ReturnInst
BranchInst5llvm.BranchInst
SwitchInst5llvm.SwitchInst
IndirectBrInst5llvm.IndirectBrInst
InvokeInst5llvm.InvokeInst
ResumeInst5llvm.ResumeInst
UnreachableInst5llvm.UnreachableInst
TruncInst6llvm.TruncInst
ZExtInst6llvm.ZExtInst
SExtInst6llvm.SExtInst
FPTruncInst6llvm.FPTruncInst
FPExtInst6llvm.FPExtInst
UIToFPInst6llvm.UIToFPInst
SIToFPInst6llvm.SIToFPInst
FPToUIInst6llvm.FPToUIInst
FPToSIInst6llvm.FPToSIInst
IntToPtrInst6llvm.IntToPtrInst
PtrToIntInst6llvm.PtrToIntInst
BitCastInst6llvm.BitCastInst
AddrSpaceCastInst6llvm.AddrSpaceCastInst
AddOperator5llvm.AddOperator
SubOperator5llvm.SubOperator
MulOperator5llvm.MulOperator
ShlOperator5llvm.ShlOperator
SDivOperator5llvm.SDivOperator
UDivOperator5llvm.UDivOperator
AShrOperator5llvm.AShrOperator
LShrOperator5llvm.LShrOperator
IntrinsicInst5llvm.IntrinsicInst
DbgInfoIntrinsic6llvm.DbgInfoIntrinsic
DbgDeclareInst7llvm.DbgDeclareInst
DbgValueInst7llvm.DbgValueInst
MemIntrinsic6llvm.MemIntrinsic
MemSetInst7llvm.MemSetInst
MemTransferInst7llvm.MemTransferInst
MemCpyInst8llvm.MemCpyInst
MemMoveInst8llvm.MemMoveInst
VAStartInst6llvm.VAStartInst
VAEndInst6llvm.VAEndInst
VACopyInst6llvm.VACopyInst
DWARFUnitSection<UnitType>5llvm.DWARFUnitSection<UnitType>
MCDataFragment5llvm.MCDataFragment
MCRelaxableFragment5llvm.MCRelaxableFragment
Mips16DAGToDAGISel5llvm.Mips16DAGToDAGISel
MipsSEDAGToDAGISel5llvm.MipsSEDAGToDAGISel
PPCLinuxAsmPrinter5anonymous_namespace{ppcasmprinter.cpp}.PPCLinuxAsmPrinter
PPCDarwinAsmPrinter5anonymous_namespace{ppcasmprinter.cpp}.PPCDarwinAsmPrinter
DyldELFObject<ELFT>5anonymous_namespace{runtimedyldelf.cpp}.DyldELFObject<ELFT>
LoadSDNode5llvm.LoadSDNode
StoreSDNode5llvm.StoreSDNode
TypedefTypeLoc5clang.TypedefTypeLoc
InjectedClassNameTypeLoc5clang.InjectedClassNameTypeLoc
UnresolvedUsingTypeLoc5clang.UnresolvedUsingTypeLoc
TagTypeLoc5clang.TagTypeLoc
RecordTypeLoc7clang.RecordTypeLoc
EnumTypeLoc7clang.EnumTypeLoc
TemplateTypeParmTypeLoc5clang.TemplateTypeParmTypeLoc
SubstTemplateTypeParmTypeLoc5clang.SubstTemplateTypeParmTypeLoc
SubstTemplateTypeParmPackTypeLoc5clang.SubstTemplateTypeParmPackTypeLoc
ObjCInterfaceTypeLoc5clang.ObjCInterfaceTypeLoc
DecayedTypeLoc5clang.DecayedTypeLoc
LValueReferenceTypeLoc6clang.LValueReferenceTypeLoc
RValueReferenceTypeLoc6clang.RValueReferenceTypeLoc
FunctionProtoTypeLoc5clang.FunctionProtoTypeLoc
FunctionNoProtoTypeLoc5clang.FunctionNoProtoTypeLoc
ConstantArrayTypeLoc5clang.ConstantArrayTypeLoc
IncompleteArrayTypeLoc5clang.IncompleteArrayTypeLoc
DependentSizedArrayTypeLoc5clang.DependentSizedArrayTypeLoc
VariableArrayTypeLoc5clang.VariableArrayTypeLoc
VectorTypeLoc5clang.VectorTypeLoc
ExtVectorTypeLoc7clang.ExtVectorTypeLoc
DependentSizedExtVectorTypeLoc5clang.DependentSizedExtVectorTypeLoc
ComplexTypeLoc5clang.ComplexTypeLoc
DecltypeTypeLoc5clang.DecltypeTypeLoc
AutoTypeLoc5clang.AutoTypeLoc
CXXRecordDecl5clang.CXXRecordDecl
CXXMethodDecl5clang.CXXMethodDecl
CXXConstructorDecl6clang.CXXConstructorDecl
CXXDestructorDecl6clang.CXXDestructorDecl
CXXConversionDecl6clang.CXXConversionDecl
ImplicitParamDecl5clang.ImplicitParamDecl
ParmVarDecl5clang.ParmVarDecl
CXXBasePath5clang.CXXBasePath
ClassTemplateSpecializationDecl6clang.ClassTemplateSpecializationDecl
ClassTemplatePartialSpecializationDecl7clang.ClassTemplatePartialSpecializationDecl
VarTemplateSpecializationDecl5clang.VarTemplateSpecializationDecl
VarTemplatePartialSpecializationDecl6clang.VarTemplatePartialSpecializationDecl
ObjCIvarDecl5clang.ObjCIvarDecl

Statistics

Stat   Depth of inheritance
Sum:999
Average:5.84
Minimum:5
Maximum:24
Standard deviation:2
Variance:4.02
warningCritical    Rule warning: Constructor should not call a virtual methods
// <Name>Constructor should not call a virtual methods</Name>

// Returns constructor of a non-sealed type calling virtual methods.
// In such a situation, if a derived class overrides the method,
// then the override method will be called before the derived constructor.
// This makes the class fragile to derive from.
//
// Violations reported can be solved by re-designing object initialisation
// or by marking the parent class as sealed, if possible.

warnif count > 0
from t in Application.Types where 
   
t.IsClass &&
  
!t.IsGeneratedByCompiler

from ctor in t.Constructors 
let virtualMethodsCalled = from mCalled in ctor.MethodsCalled
                           
where mCalled.IsVirtual &&
                                
(mCalled.ParentType == t ||
                                 
t.DeriveFrom(mCalled.ParentType))
                           
select mCalled
where virtualMethodsCalled.Count() > 0

select new { ctor , 
             
virtualMethodsCalled, 
             
// If there is no derived type, it might be 
             // an opportunity to mark t as sealed.
             t.DerivedTypes }

77 methods matched

methodsvirtualMethodsCalledDerivedTypesFull Name
AArch64AsmParser(llvm::MCSubtargetInfo&,llvm::MCAsmParser& ,constllvm::MCInstrInfo&,constllvm::MCTargetOptions&)2 methods0 typeanonymous_namespace{aarch64asmparser.cpp}.AArch64AsmParser .AArch64AsmParser(llvm::MCSubtargetInfo&,llvm::MCAsmParser& ,constllvm::MCInstrInfo&,constllvm::MCTargetOptions&)
ARMAsmParser(llvm::MCSubtargetInfo&,llvm::MCAsmParser& ,constllvm::MCInstrInfo&,constllvm::MCTargetOptions&)1 method0 typeanonymous_namespace{armasmparser.cpp}.ARMAsmParser.ARMAsmParser (llvm::MCSubtargetInfo&,llvm::MCAsmParser&,constllvm::MCInstrInfo& ,constllvm::MCTargetOptions&)
ARMTargetLowering(llvm::TargetMachine&)3 methods0 typellvm.ARMTargetLowering.ARMTargetLowering(llvm::TargetMachine&)
ARMFastISel(llvm::FunctionLoweringInfo&,constllvm::TargetLibraryInfo*)3 methods0 typeanonymous_namespace{armfastisel.cpp}.ARMFastISel.ARMFastISel (llvm::FunctionLoweringInfo&,constllvm::TargetLibraryInfo*)
AsmPrinter(llvm::TargetMachine&,llvm::MCStreamer&)3 methods14 typesllvm.AsmPrinter.AsmPrinter(llvm::TargetMachine&,llvm::MCStreamer&)
AggressiveAntiDepBreaker(llvm::MachineFunction& ,constllvm::RegisterClassInfo&,TargetSubtargetInfo::RegClassVector&)2 methods0 typellvm.AggressiveAntiDepBreaker.AggressiveAntiDepBreaker (llvm::MachineFunction&,constllvm::RegisterClassInfo& ,TargetSubtargetInfo::RegClassVector&)
AllocationOrder(unsignedint,constllvm::VirtRegMap& ,constllvm::RegisterClassInfo&)1 method0 typellvm.AllocationOrder.AllocationOrder(unsignedint ,constllvm::VirtRegMap&,constllvm::RegisterClassInfo&)
CCState(CallingConv::ID,bool,llvm::MachineFunction&,SmallVectorImpl <llvm::CCValAssign>&,llvm::LLVMContext&)1 method2 typesllvm.CCState.CCState(CallingConv::ID,bool,llvm::MachineFunction& ,SmallVectorImpl<llvm::CCValAssign>&,llvm::LLVMContext&)
CriticalAntiDepBreaker(llvm::MachineFunction& ,constllvm::RegisterClassInfo&)2 methods0 typellvm.CriticalAntiDepBreaker.CriticalAntiDepBreaker (llvm::MachineFunction&,constllvm::RegisterClassInfo&)
VLIWPacketizerList(llvm::MachineFunction&,llvm::MachineLoopInfo&,bool)3 methods2 typesllvm.VLIWPacketizerList.VLIWPacketizerList(llvm::MachineFunction& ,llvm::MachineLoopInfo&,bool)
LiveRangeEdit(llvm::LiveInterval*,SmallVectorImpl<unsignedint>& ,llvm::MachineFunction&,llvm::LiveIntervals&,llvm::VirtRegMap* ,llvm::LiveRangeEdit::Delegate*)1 method0 typellvm.LiveRangeEdit.LiveRangeEdit(llvm::LiveInterval*,SmallVectorImpl <unsignedint>&,llvm::MachineFunction&,llvm::LiveIntervals& ,llvm::VirtRegMap*,llvm::LiveRangeEdit::Delegate*)
MachineFunction(constllvm::Function*,constllvm::TargetMachine& ,unsignedint,llvm::MachineModuleInfo&,llvm::GCModuleInfo*)3 methods0 typellvm.MachineFunction.MachineFunction(constllvm::Function* ,constllvm::TargetMachine&,unsignedint,llvm::MachineModuleInfo& ,llvm::GCModuleInfo*)
PSetIterator(unsignedint,constllvm::MachineRegisterInfo*)4 methods0 typellvm.PSetIterator.PSetIterator(unsignedint ,constllvm::MachineRegisterInfo*)
MachineSSAUpdater(llvm::MachineFunction&,SmallVectorImpl <llvm::MachineInstr*>*)1 method0 typellvm.MachineSSAUpdater.MachineSSAUpdater(llvm::MachineFunction& ,SmallVectorImpl<llvm::MachineInstr*>*)
SplitAnalysis(constllvm::VirtRegMap&,constllvm::LiveIntervals& ,constllvm::MachineLoopInfo&)1 method0 typellvm.SplitAnalysis.SplitAnalysis(constllvm::VirtRegMap& ,constllvm::LiveIntervals&,constllvm::MachineLoopInfo&)
SplitEditor(llvm::SplitAnalysis&,llvm::LiveIntervals& ,llvm::VirtRegMap&,llvm::MachineDominatorTree& ,llvm::MachineBlockFrequencyInfo&)3 methods0 typellvm.SplitEditor.SplitEditor(llvm::SplitAnalysis&,llvm::LiveIntervals& ,llvm::VirtRegMap&,llvm::MachineDominatorTree& ,llvm::MachineBlockFrequencyInfo&)
ScheduleDAG(llvm::MachineFunction&)3 methods11 typesllvm.ScheduleDAG.ScheduleDAG(llvm::MachineFunction&)
TargetLoweringBase(constllvm::TargetMachine& ,constllvm::TargetLoweringObjectFile*)2 methods17 typesllvm.TargetLoweringBase.TargetLoweringBase(constllvm::TargetMachine& ,constllvm::TargetLoweringObjectFile*)
InlineSpiller(llvm::MachineFunctionPass&,llvm::MachineFunction& ,llvm::VirtRegMap&)2 methods0 typeanonymous_namespace{inlinespiller.cpp}.InlineSpiller.InlineSpiller (llvm::MachineFunctionPass&,llvm::MachineFunction&,llvm::VirtRegMap&)
SchedulePostRATDList(llvm::MachineFunction&,llvm::MachineLoopInfo& ,llvm::AliasAnalysis*,constllvm::RegisterClassInfo& ,TargetSubtargetInfo::AntiDepBreakMode,SmallVectorImpl <constllvm::TargetRegisterClass*>&)4 methods0 typeanonymous_namespace{postraschedulerlist.cpp}.SchedulePostRATDList .SchedulePostRATDList(llvm::MachineFunction&,llvm::MachineLoopInfo& ,llvm::AliasAnalysis*,constllvm::RegisterClassInfo& ,TargetSubtargetInfo::AntiDepBreakMode,SmallVectorImpl <constllvm::TargetRegisterClass*>&)
SpillerBase(llvm::MachineFunctionPass&,llvm::MachineFunction& ,llvm::VirtRegMap&)2 methods1 typeanonymous_namespace{spiller.cpp}.SpillerBase.SpillerBase (llvm::MachineFunctionPass&,llvm::MachineFunction&,llvm::VirtRegMap&)
DWARFContextInMemory(object::ObjectFile&)3 methods0 typellvm.DWARFContextInMemory.DWARFContextInMemory(object::ObjectFile&)
HexagonTargetLowering(constllvm::TargetMachine&)2 methods0 typellvm.HexagonTargetLowering.HexagonTargetLowering (constllvm::TargetMachine&)
Hexagon_CCState(CallingConv::ID,bool,constllvm::TargetMachine& ,SmallVectorImpl<llvm::CCValAssign>&,llvm::LLVMContext&)2 methods0 typellvm.Hexagon_CCState.Hexagon_CCState(CallingConv::ID,bool ,constllvm::TargetMachine&,SmallVectorImpl<llvm::CCValAssign>& ,llvm::LLVMContext&)
VLIWResourceModel(constllvm::TargetMachine& ,constllvm::TargetSchedModel*)3 methods0 typellvm.VLIWResourceModel.VLIWResourceModel(constllvm::TargetMachine& ,constllvm::TargetSchedModel*)
MCAsmLayout(llvm::MCAssembler&)1 method0 typellvm.MCAsmLayout.MCAsmLayout(llvm::MCAssembler&)
MCContext(constllvm::MCAsmInfo*,constllvm::MCRegisterInfo* ,constllvm::MCObjectFileInfo*,constllvm::SourceMgr*,bool)1 method0 typellvm.MCContext.MCContext(constllvm::MCAsmInfo* ,constllvm::MCRegisterInfo*,constllvm::MCObjectFileInfo* ,constllvm::SourceMgr*,bool)
MCObjectStreamer(llvm::MCContext&,llvm::MCAsmBackend& ,llvm::raw_ostream&,llvm::MCCodeEmitter*)1 method10 typesllvm.MCObjectStreamer.MCObjectStreamer(llvm::MCContext& ,llvm::MCAsmBackend&,llvm::raw_ostream&,llvm::MCCodeEmitter*)
MCJIT(std::unique_ptr<Module>,std::unique_ptr<TargetMachine> ,llvm::RTDyldMemoryManager*)2 methods0 typellvm.MCJIT.MCJIT(std::unique_ptr<Module>,std::unique_ptr<TargetMachine >,llvm::RTDyldMemoryManager*)
AsmParser(llvm::SourceMgr&,llvm::MCContext&,llvm::MCStreamer& ,constllvm::MCAsmInfo&)1 method0 typeanonymous_namespace{asmparser.cpp}.AsmParser.AsmParser (llvm::SourceMgr&,llvm::MCContext&,llvm::MCStreamer& ,constllvm::MCAsmInfo&)
RegDefsUses(llvm::TargetMachine&)2 methods0 typeanonymous_namespace{mipsdelayslotfiller.cpp}.RegDefsUses.RegDefsUses (llvm::TargetMachine&)
MipsFastISel(llvm::FunctionLoweringInfo&,constllvm::TargetLibraryInfo* )3 methods0 typeanonymous_namespace{mipsfastisel.cpp}.MipsFastISel.MipsFastISel (llvm::FunctionLoweringInfo&,constllvm::TargetLibraryInfo*)
IRObjectFile(llvm::MemoryBufferRef,std::unique_ptr<Module>)5 methods0 typellvm.object.IRObjectFile.IRObjectFile(llvm::MemoryBufferRef ,std::unique_ptr<Module>)
PPCFastISel(llvm::FunctionLoweringInfo&,constllvm::TargetLibraryInfo*)3 methods0 typeanonymous_namespace{ppcfastisel.cpp}.PPCFastISel.PPCFastISel (llvm::FunctionLoweringInfo&,constllvm::TargetLibraryInfo*)
R600PacketizerList(llvm::MachineFunction&,llvm::MachineLoopInfo&)1 method0 typeanonymous_namespace{r600packetizer.cpp}.R600PacketizerList .R600PacketizerList(llvm::MachineFunction&,llvm::MachineLoopInfo&)
SelectionDAG(constllvm::TargetMachine&,llvm::CodeGenOpt::Level)2 methods0 typellvm.SelectionDAG.SelectionDAG(constllvm::TargetMachine& ,llvm::CodeGenOpt::Level)
FastISel(llvm::FunctionLoweringInfo&,constllvm::TargetLibraryInfo* ,bool)5 methods5 typesllvm.FastISel.FastISel(llvm::FunctionLoweringInfo& ,constllvm::TargetLibraryInfo*,bool)
InstrEmitter(llvm::MachineBasicBlock*,MachineBasicBlock::iterator)4 methods0 typellvm.InstrEmitter.InstrEmitter(llvm::MachineBasicBlock* ,MachineBasicBlock::iterator)
ResourcePriorityQueue(llvm::SelectionDAGISel*)6 methods0 typellvm.ResourcePriorityQueue.ResourcePriorityQueue (llvm::SelectionDAGISel*)
ScheduleDAGSDNodes(llvm::MachineFunction&)1 method4 typesllvm.ScheduleDAGSDNodes.ScheduleDAGSDNodes(llvm::MachineFunction&)
ScheduleDAGRRList(llvm::MachineFunction&,bool ,llvm::SchedulingPriorityQueue*,CodeGenOpt::Level)3 methods0 typeanonymous_namespace{scheduledagrrlist.cpp}.ScheduleDAGRRList .ScheduleDAGRRList(llvm::MachineFunction&,bool ,llvm::SchedulingPriorityQueue*,CodeGenOpt::Level)
RegReductionPQBase(llvm::MachineFunction&,bool,bool,bool ,constllvm::TargetInstrInfo*,constllvm::TargetRegisterInfo* ,constllvm::TargetLowering*)1 method1 typeanonymous_namespace{scheduledagrrlist.cpp}.RegReductionPQBase .RegReductionPQBase(llvm::MachineFunction&,bool,bool,bool ,constllvm::TargetInstrInfo*,constllvm::TargetRegisterInfo* ,constllvm::TargetLowering*)
ScheduleDAGVLIW(llvm::MachineFunction&,llvm::AliasAnalysis* ,llvm::SchedulingPriorityQueue*)3 methods0 typeanonymous_namespace{scheduledagvliw.cpp}.ScheduleDAGVLIW .ScheduleDAGVLIW(llvm::MachineFunction&,llvm::AliasAnalysis* ,llvm::SchedulingPriorityQueue*)
SparcTargetLowering(llvm::TargetMachine&)1 method0 typellvm.SparcTargetLowering.SparcTargetLowering(llvm::TargetMachine&)
StreamingMemoryObject(llvm::DataStreamer*)1 method0 typellvm.StreamingMemoryObject.StreamingMemoryObject(llvm::DataStreamer*)
SystemZAsmParser(llvm::MCSubtargetInfo&,llvm::MCAsmParser& ,constllvm::MCInstrInfo&,constllvm::MCTargetOptions&)1 method0 typeanonymous_namespace{systemzasmparser.cpp}.SystemZAsmParser .SystemZAsmParser(llvm::MCSubtargetInfo&,llvm::MCAsmParser& ,constllvm::MCInstrInfo&,constllvm::MCTargetOptions&)
SystemZTargetLowering(constllvm::TargetMachine&)1 method0 typellvm.SystemZTargetLowering.SystemZTargetLowering (constllvm::TargetMachine&)
FieldInit(llvm::Init*,conststd::string&)1 method0 typellvm.FieldInit.FieldInit(llvm::Init*,conststd::string&)
RecordVal(llvm::Init*,llvm::RecTy*,unsignedint)1 method0 typellvm.RecordVal.RecordVal(llvm::Init*,llvm::RecTy*,unsignedint)
RecordVal(conststd::string&,llvm::RecTy*,unsignedint)1 method0 typellvm.RecordVal.RecordVal(conststd::string&,llvm::RecTy*,unsignedint)
X86AsmParser(llvm::MCSubtargetInfo&,llvm::MCAsmParser& ,constllvm::MCInstrInfo&,constllvm::MCTargetOptions&)1 method0 typeanonymous_namespace{x86asmparser.cpp}.X86AsmParser.X86AsmParser (llvm::MCSubtargetInfo&,llvm::MCAsmParser&,constllvm::MCInstrInfo& ,constllvm::MCTargetOptions&)
RewritesApplicator(clang::Rewriter&,clang::ASTContext& ,MigrationProcess::RewriteListener*)1 method0 typeanonymous_namespace{arcmt.cpp}.RewritesApplicator.RewritesApplicator (clang::Rewriter&,clang::ASTContext& ,MigrationProcess::RewriteListener*)
Deserializing(clang::ExternalASTSource*)1 method0 typeclang.ExternalASTSource+Deserializing.Deserializing (clang::ExternalASTSource*)
DeclLink(clang::Redeclarable::DeclLink::LatestTag ,constclang::ASTContext&)1 method0 typeclang.Redeclarable<decl_type>+DeclLink.DeclLink (clang::Redeclarable::DeclLink::LatestTag,constclang::ASTContext&)
DeclLink(clang::Redeclarable::DeclLink::PreviousTag,decl_type*)1 method0 typeclang.Redeclarable<decl_type>+DeclLink.DeclLink (clang::Redeclarable::DeclLink::PreviousTag,decl_type*)
FunctionDecl(clang::Decl::Kind,clang::ASTContext&,clang::DeclContext* ,clang::SourceLocation,constclang::DeclarationNameInfo& ,clang::QualType,clang::TypeSourceInfo*,StorageClass,bool,bool)1 method4 typesclang.FunctionDecl.FunctionDecl(clang::Decl::Kind,clang::ASTContext& ,clang::DeclContext*,clang::SourceLocation ,constclang::DeclarationNameInfo&,clang::QualType ,clang::TypeSourceInfo*,StorageClass,bool,bool)
ObjCMethodDecl(clang::SourceLocation,clang::SourceLocation ,clang::Selector,clang::QualType,clang::TypeSourceInfo* ,clang::DeclContext*,bool,bool,bool,bool,bool ,clang::ObjCMethodDecl::ImplementationControl,bool)1 method0 typeclang.ObjCMethodDecl.ObjCMethodDecl(clang::SourceLocation ,clang::SourceLocation,clang::Selector,clang::QualType ,clang::TypeSourceInfo*,clang::DeclContext*,bool,bool,bool,bool,bool ,clang::ObjCMethodDecl::ImplementationControl,bool)
FriendDecl(clang::DeclContext*,clang::SourceLocation,FriendUnion ,clang::SourceLocation,ArrayRef<clang::TemplateParameterList*>)1 method0 typeclang.FriendDecl.FriendDecl(clang::DeclContext*,clang::SourceLocation ,FriendUnion,clang::SourceLocation,ArrayRef <clang::TemplateParameterList*>)
FriendDecl(clang::Decl::EmptyShell,unsignedint)1 method0 typeclang.FriendDecl.FriendDecl(clang::Decl::EmptyShell,unsignedint)
ColorScope((anonymousnamespace)::ASTDumper&,(anonymousnamespace )::TerminalColor)1 method0 typeanonymous_namespace{astdumper.cpp}.ASTDumper+ColorScope.ColorScope( (anonymousnamespace)::ASTDumper&,(anonymousnamespace)::TerminalColor)
recursive_directory_iterator(clang::vfs::FileSystem&,constllvm::Twine& ,std::error_code&)1 method0 typeclang.vfs.recursive_directory_iterator.recursive_directory_iterator (clang::vfs::FileSystem&,constllvm::Twine&,std::error_code&)
OverlayFSDirIterImpl(constllvm::Twine&,clang::vfs::OverlayFileSystem& ,std::error_code&)1 method0 typeanonymous_namespace{virtualfilesystem.cpp}.OverlayFSDirIterImpl .OverlayFSDirIterImpl(constllvm::Twine&,clang::vfs::OverlayFileSystem& ,std::error_code&)
CodeGenFunction(clang::CodeGen::CodeGenModule&,bool)1 method0 typeclang.CodeGen.CodeGenFunction.CodeGenFunction (clang::CodeGen::CodeGenModule&,bool)
ObjCCommonTypesHelper(CodeGen::CodeGenModule&)1 method2 typesanonymous_namespace{cgobjcmac.cpp}.ObjCCommonTypesHelper .ObjCCommonTypesHelper(CodeGen::CodeGenModule&)
ObjCNonFragileABITypesHelper(CodeGen::CodeGenModule&)1 method0 typeanonymous_namespace{cgobjcmac.cpp}.ObjCNonFragileABITypesHelper .ObjCNonFragileABITypesHelper(CodeGen::CodeGenModule&)
MultiplexConsumer(std::vector<std::unique_ptr<ASTConsumer>>)3 methods0 typeclang.MultiplexConsumer.MultiplexConsumer(std::vector<std::unique_ptr <ASTConsumer>>)
CFRefReport((anonymousnamespace)::CFRefBug&,constclang::LangOptions& ,bool,constSummaryLogTy&,clang::ento::ExplodedNode*,SymbolRef,bool)1 method1 typeanonymous_namespace{retaincountchecker.cpp}.CFRefReport.CFRefReport( (anonymousnamespace)::CFRefBug&,constclang::LangOptions&,bool ,constSummaryLogTy&,clang::ento::ExplodedNode*,SymbolRef,bool)
CFRefReport((anonymousnamespace)::CFRefBug&,constclang::LangOptions& ,bool,constSummaryLogTy&,clang::ento::ExplodedNode*,SymbolRef ,llvm::StringRef)1 method1 typeanonymous_namespace{retaincountchecker.cpp}.CFRefReport.CFRefReport( (anonymousnamespace)::CFRefBug&,constclang::LangOptions&,bool ,constSummaryLogTy&,clang::ento::ExplodedNode*,SymbolRef ,llvm::StringRef)
SuppressInlineDefensiveChecksVisitor(clang::ento::DefinedSVal ,constclang::ento::ExplodedNode*)1 method0 typeclang.ento.SuppressInlineDefensiveChecksVisitor .SuppressInlineDefensiveChecksVisitor(clang::ento::DefinedSVal ,constclang::ento::ExplodedNode*)
ProgramState(clang::ento::ProgramStateManager* ,constclang::ento::Environment&,clang::ento::StoreRef,GenericDataMap)1 method0 typeclang.ento.ProgramState.ProgramState(clang::ento::ProgramStateManager* ,constclang::ento::Environment&,clang::ento::StoreRef,GenericDataMap)
ProgramState(constclang::ento::ProgramState&)1 method0 typeclang.ento.ProgramState.ProgramState(constclang::ento::ProgramState&)
StoreRef(Store,clang::ento::StoreManager&)1 method0 typeclang.ento.StoreRef.StoreRef(Store,clang::ento::StoreManager&)
StoreRef(constclang::ento::StoreRef&)1 method0 typeclang.ento.StoreRef.StoreRef(constclang::ento::StoreRef&)
EdgeBuilder(clang::ento::PathDiagnostic&,(anonymousnamespace )::PathDiagnosticBuilder&)1 method0 typeanonymous_namespace{bugreporter.cpp}.EdgeBuilder.EdgeBuilder (clang::ento::PathDiagnostic&,(anonymousnamespace )::PathDiagnosticBuilder&)
RegionStoreManager(clang::ento::ProgramStateManager&,const (anonymousnamespace)::RegionStoreFeatures&)1 method0 typeanonymous_namespace{regionstore.cpp}.RegionStoreManager .RegionStoreManager(clang::ento::ProgramStateManager&,const (anonymousnamespace)::RegionStoreFeatures&)
CodeGenInstruction(llvm::Record*)1 method0 typellvm.CodeGenInstruction.CodeGenInstruction(llvm::Record*)
InstrMap(llvm::Record*)1 method0 typeanonymous_namespace{codegenmaptable.cpp}.InstrMap.InstrMap (llvm::Record*)

Statistics

Stat   virtualMethodsCalled   DerivedTypes
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
warningCritical    Rule warning: Don't assign static fields from instance methods
• Rule Description:

Assigning static fields from instance methods leads to poorly maintainable and non-thread-safe code.

More discussion on the topic can be found here: http://codebetter.com/patricksmacchia/2011/05/04/back-to-basics-usage-of-static-members/


• How to Fix Violations:

If the static field is just assigned once in the program lifetime, make sure to declare it as readonly and assign it inline, or from the static constructor.

In Object-Oriented-Programming the natural artifact to hold states that can be modified is instance fields.

Hence to fix violations of this rule, make sure to hold assignable states through instance fields, not through static fields.

87 fields matched

fieldsassignedByFull Name
buffer1 methodanonymous_namespace{immutablesettest.cpp}.ImmutableSetTest.buffer
run2 methodsllvm.anonymous_namespace{legacypassmanagertest.cpp}.ModuleNDNM.run
run2 methodsllvm.anonymous_namespace{legacypassmanagertest.cpp}.ModuleNDM.run
run2 methodsllvm.anonymous_namespace{legacypassmanagertest.cpp}.ModuleNDM2.run
run2 methodsllvm.anonymous_namespace{legacypassmanagertest.cpp}.ModuleDNM.run
runc1 methodllvm.anonymous_namespace{legacypassmanagertest.cpp}.PassTestBase<P> .runc
initialized3 methodsllvm.anonymous_namespace{legacypassmanagertest.cpp}.PassTestBase<P> .initialized
finalized3 methodsllvm.anonymous_namespace{legacypassmanagertest.cpp}.PassTestBase<P> .finalized
initcount1 methodllvm.anonymous_namespace{legacypassmanagertest.cpp}.LPass.initcount
fincount1 methodllvm.anonymous_namespace{legacypassmanagertest.cpp}.LPass.fincount
inited1 methodllvm.anonymous_namespace{legacypassmanagertest.cpp}.BPass.inited
fin1 methodllvm.anonymous_namespace{legacypassmanagertest.cpp}.BPass.fin
UnknownSize2 methodsllvm.AliasAnalysis.UnknownSize
DebugType1 methodllvm.ScoreboardHazardRecognizer.DebugType
MCJITCtor1 methodllvm.ExecutionEngine.MCJITCtor
AMD64FpEndOffset1 methodanonymous_namespace{memorysanitizer.cpp}.VarArgAMD64Helper .AMD64FpEndOffset
OverflowOccurredValue2 methodsanonymous_namespace{objcarcopts.cpp}.BBState.OverflowOccurredValue
EncodingCounterTagAndExpansionRegionTagBits1 methodllvm.coverage.Counter.EncodingCounterTagAndExpansionRegionTagBits
WaitCounts1 methodanonymous_namespace{siinsertwaits.cpp}.SIInsertWaits.WaitCounts
UnrollRuntimeCount1 methodanonymous_namespace{loopunrollpass.cpp}.LoopUnroll.UnrollRuntimeCount
IEEEhalf1 methodllvm.APFloat.IEEEhalf
IEEEsingle3 methodsllvm.APFloat.IEEEsingle
IEEEdouble6 methodsllvm.APFloat.IEEEdouble
IEEEquad1 methodllvm.APFloat.IEEEquad
PPCDoubleDouble2 methodsllvm.APFloat.PPCDoubleDouble
x87DoubleExtended1 methodllvm.APFloat.x87DoubleExtended
npos14 methodsllvm.StringRef.npos
LastSlabSize1 methodanonymous_namespace{allocatortest.cpp}.MockSlabAllocator.LastSlabSize
Prec_MAX1 methodclang.threadSafety.til.PrettyPrinter<Self,StreamType>.Prec_MAX
MaxLoadedOffset1 methodclang.SourceManager.MaxLoadedOffset
BuiltinInfo1 methodanonymous_namespace{targets.cpp}.PPCTargetInfo.BuiltinInfo
GCCRegNames1 methodanonymous_namespace{targets.cpp}.PPCTargetInfo.GCCRegNames
GCCRegAliases1 methodanonymous_namespace{targets.cpp}.PPCTargetInfo.GCCRegAliases
GCCRegNames1 methodanonymous_namespace{targets.cpp}.NVPTXTargetInfo.GCCRegNames
BuiltinInfo1 methodanonymous_namespace{targets.cpp}.NVPTXTargetInfo.BuiltinInfo
BuiltinInfo1 methodanonymous_namespace{targets.cpp}.R600TargetInfo.BuiltinInfo
GCCRegAliases1 methodanonymous_namespace{targets.cpp}.ARMTargetInfo.GCCRegAliases
GCCRegNames1 methodanonymous_namespace{targets.cpp}.ARMTargetInfo.GCCRegNames
BuiltinInfo1 methodanonymous_namespace{targets.cpp}.ARMTargetInfo.BuiltinInfo
GCCRegAliases1 methodanonymous_namespace{targets.cpp}.AArch64TargetInfo.GCCRegAliases
GCCRegNames1 methodanonymous_namespace{targets.cpp}.AArch64TargetInfo.GCCRegNames
BuiltinInfo1 methodanonymous_namespace{targets.cpp}.AArch64TargetInfo.BuiltinInfo
BuiltinInfo1 methodanonymous_namespace{targets.cpp}.HexagonTargetInfo.BuiltinInfo
GCCRegNames1 methodanonymous_namespace{targets.cpp}.HexagonTargetInfo.GCCRegNames
GCCRegAliases1 methodanonymous_namespace{targets.cpp}.HexagonTargetInfo.GCCRegAliases
GCCRegAliases1 methodanonymous_namespace{targets.cpp}.SparcTargetInfo.GCCRegAliases
GCCRegNames1 methodanonymous_namespace{targets.cpp}.SparcTargetInfo.GCCRegNames
GCCRegNames1 methodanonymous_namespace{targets.cpp}.SystemZTargetInfo.GCCRegNames
GCCRegNames1 methodanonymous_namespace{targets.cpp}.MSP430TargetInfo.GCCRegNames
BuiltinInfo1 methodanonymous_namespace{targets.cpp}.MipsTargetInfoBase.BuiltinInfo
BuiltinInfo1 methodanonymous_namespace{targets.cpp}.Le64TargetInfo.BuiltinInfo
BuiltinInfo1 methodanonymous_namespace{targets.cpp}.XCoreTargetInfo.BuiltinInfo
mainFile1 methodclang.CompilerInstance.mainFile
isFatalError2 methodsclang.Lexer.isFatalError
libs1 methodclang.Preprocessor.libs
TSCS___thread1 methodclang.DeclSpec.TSCS___thread
TSCS_thread_local1 methodclang.DeclSpec.TSCS_thread_local
TSCS__Thread_local1 methodclang.DeclSpec.TSCS__Thread_local
TSW_short1 methodclang.DeclSpec.TSW_short
TSW_long1 methodclang.DeclSpec.TSW_long
TSW_longlong1 methodclang.DeclSpec.TSW_longlong
TSS_signed1 methodclang.DeclSpec.TSS_signed
TSS_unsigned1 methodclang.DeclSpec.TSS_unsigned
TST_void1 methodclang.DeclSpec.TST_void
TST_char1 methodclang.DeclSpec.TST_char
TST_wchar1 methodclang.DeclSpec.TST_wchar
TST_char161 methodclang.DeclSpec.TST_char16
TST_char321 methodclang.DeclSpec.TST_char32
TST_int1 methodclang.DeclSpec.TST_int
TST_int1281 methodclang.DeclSpec.TST_int128
TST_half1 methodclang.DeclSpec.TST_half
TST_float1 methodclang.DeclSpec.TST_float
TST_double1 methodclang.DeclSpec.TST_double
TST_bool1 methodclang.DeclSpec.TST_bool
TST_decimal321 methodclang.DeclSpec.TST_decimal32
TST_decimal641 methodclang.DeclSpec.TST_decimal64
TST_decimal1281 methodclang.DeclSpec.TST_decimal128
TST_union3 methodsclang.DeclSpec.TST_union
TST_struct3 methodsclang.DeclSpec.TST_struct
TST_interface3 methodsclang.DeclSpec.TST_interface
TST_class2 methodsclang.DeclSpec.TST_class
TST_typename2 methodsclang.DeclSpec.TST_typename
TST_auto2 methodsclang.DeclSpec.TST_auto
TST_error1 methodclang.DeclSpec.TST_error
kMac68kAlignmentSentinel1 methodanonymous_namespace{semaattr.cpp}.PackStackEntry .kMac68kAlignmentSentinel
InvalidArgIndex1 methodanonymous_namespace{generictaintchecker.cpp}.GenericTaintChecker .InvalidArgIndex
TUTotalTimer1 methodanonymous_namespace{analysisconsumer.cpp}.AnalysisConsumer .TUTotalTimer

Statistics

Stat   assignedBy
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Avoid Abstract Classes with too many methods
// <Name>Avoid Abstract Classes with too many methods</Name>
// An abstract class  should abstract a clear and well-defined concept.
// Such concept shoudln't be represented with too many methods and property getter.
warnif count > 0 from t in JustMyCode.Types where 
  
t.IsAbstract
let methodsAndGetters = t.Methods
where methodsAndGetters.Count() > 10
select new { t, methodsAndGetters }

101 types matched

typesmethodsAndGettersFull Name
MCStreamer126 methodsllvm.MCStreamer
ARMBaseInstrInfo77 methodsllvm.ARMBaseInstrInfo
MCStreamer126 methodsllvm.MCStreamer
LoopPass13 methodsllvm.LoopPass
RegionInfoBase<Tr>29 methodsllvm.RegionInfoBase<Tr>
RegionInfoBase<llvm::RegionTraits<llvm::Function>>29 methodsllvm.RegionInfoBase<llvm::RegionTraits<llvm::Function>>
TargetTransformInfo44 methodsllvm.TargetTransformInfo
Instruction89 methodsllvm.Instruction
DwarfUnit109 methodsllvm.DwarfUnit
MachineCodeEmitter32 methodsllvm.MachineCodeEmitter
MachineSchedStrategy12 methodsllvm.MachineSchedStrategy
MachineTraceMetrics+Ensemble21 methodsllvm.MachineTraceMetrics+Ensemble
SchedulingPriorityQueue21 methodsllvm.SchedulingPriorityQueue
ScheduleDAG12 methodsllvm.ScheduleDAG
ScheduleDAGInstrs29 methodsllvm.ScheduleDAGInstrs
TargetFrameLowering25 methodsllvm.TargetFrameLowering
TargetRegisterInfo66 methodsllvm.TargetRegisterInfo
DiagnosticInfoOptimizationBase13 methodsllvm.DiagnosticInfoOptimizationBase
DiagnosticPrinter19 methodsllvm.DiagnosticPrinter
GlobalValue76 methodsllvm.GlobalValue
Instruction89 methodsllvm.Instruction
TerminatorInst11 methodsllvm.TerminatorInst
Pass31 methodsllvm.Pass
PMTopLevelManager17 methodsllvm.PMTopLevelManager
PMDataManager31 methodsllvm.PMDataManager
DWARFContext55 methodsllvm.DWARFContext
ExecutionEngine51 methodsllvm.ExecutionEngine
RTDyldMemoryManager12 methodsllvm.RTDyldMemoryManager
MCELFObjectTargetWriter18 methodsllvm.MCELFObjectTargetWriter
MCAsmBackend19 methodsllvm.MCAsmBackend
MCStreamer126 methodsllvm.MCStreamer
MCInstPrinter21 methodsllvm.MCInstPrinter
MCObjectStreamer41 methodsllvm.MCObjectStreamer
MCObjectWriter23 methodsllvm.MCObjectWriter
JITMemoryManager22 methodsllvm.JITMemoryManager
MCAsmParser33 methodsllvm.MCAsmParser
MCAsmLexer17 methodsllvm.MCAsmLexer
MCParsedAsmOperand20 methodsllvm.MCParsedAsmOperand
MCTargetAsmParser20 methodsllvm.MCTargetAsmParser
MipsRegisterInfo19 methodsllvm.MipsRegisterInfo
MipsInstrInfo24 methodsllvm.MipsInstrInfo
MipsTargetLowering75 methodsllvm.MipsTargetLowering
MipsDAGToDAGISel31 methodsllvm.MipsDAGToDAGISel
ObjectFile53 methodsllvm.object.ObjectFile
SymbolicFile14 methodsllvm.object.SymbolicFile
ArgList50 methodsllvm.opt.ArgList
InstrProfReader12 methodsllvm.InstrProfReader
AMDGPUInstrInfo43 methodsllvm.AMDGPUInstrInfo
ObjectImage17 methodsllvm.ObjectImage
RuntimeDyldImpl42 methodsllvm.RuntimeDyldImpl
FastISel76 methodsllvm.FastISel
ScheduleDAGSDNodes25 methodsllvm.ScheduleDAGSDNodes
SelectionDAGISel40 methodsllvm.SelectionDAGISel
FoldingSetImpl14 methodsllvm.FoldingSetImpl
MemoryBuffer20 methodsllvm.MemoryBuffer
raw_ostream43 methodsllvm.raw_ostream
Option34 methodsllvm.cl.Option
generic_parser_base14 methodsllvm.cl.generic_parser_base
IO40 methodsllvm.yaml.IO
RecTy25 methodsllvm.RecTy
Init18 methodsllvm.Init
TargetLoweringObjectFile23 methodsllvm.TargetLoweringObjectFile
X86AddressSanitizer15 methodsllvm.anonymous_namespace{x86asminstrumentation.cpp} .X86AddressSanitizer
Inliner11 methodsllvm.Inliner
AbstractInterpreter11 methodsllvm.AbstractInterpreter
Argument29 methodsanonymous_namespace{clangattremitter.cpp}.Argument
MangleContext31 methodsclang.MangleContext
MicrosoftMangleContext12 methodsclang.MicrosoftMangleContext
Attr21 methodsclang.Attr
RedeclarableTemplateDecl18 methodsclang.RedeclarableTemplateDecl
LocationContext17 methodsclang.LocationContext
TargetInfo131 methodsclang.TargetInfo
AArch64TargetInfo19 methodsanonymous_namespace{targets.cpp}.AArch64TargetInfo
MipsTargetInfoBase21 methodsanonymous_namespace{targets.cpp}.MipsTargetInfoBase
CGObjCRuntime47 methodsclang.CodeGen.CGObjCRuntime
CGCXXABI83 methodsclang.CodeGen.CGCXXABI
CGObjCGNU64 methodsanonymous_namespace{cgobjcgnu.cpp}.CGObjCGNU
CGObjCCommonMac38 methodsanonymous_namespace{cgobjcmac.cpp}.CGObjCCommonMac
Tool14 methodsclang.driver.Tool
ToolChain68 methodsclang.driver.ToolChain
FrontendAction28 methodsclang.FrontendAction
DiagnosticRenderer20 methodsclang.DiagnosticRenderer
PreprocessorLexer19 methodsclang.PreprocessorLexer
RewriteObjC117 methodsanonymous_namespace{rewriteobjc.cpp}.RewriteObjC
CodeCompleteConsumer11 methodsclang.CodeCompleteConsumer
PseudoOpBuilder15 methodsanonymous_namespace{semapseudoobject.cpp}.PseudoOpBuilder
SymExpr11 methodsclang.ento.SymExpr
MemRegion25 methodsclang.ento.MemRegion
SValBuilder70 methodsclang.ento.SValBuilder
StoreManager33 methodsclang.ento.StoreManager
PathDiagnosticPiece17 methodsclang.ento.PathDiagnosticPiece
ConstraintManager11 methodsclang.ento.ConstraintManager
CallEvent37 methodsclang.ento.CallEvent
WorkList13 methodsclang.ento.WorkList
SubEngine24 methodsclang.ento.SubEngine
SimpleConstraintManager16 methodsclang.ento.SimpleConstraintManager
CXDiagnosticImpl15 methodsclang.CXDiagnosticImpl
ObjDumper13 methodsllvm.ObjDumper
Modifier13 methodsanonymous_namespace{llvm-stress.cpp}.Modifier
Matcher25 methodsllvm.Matcher

Statistics

Stat   methodsAndGetters
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0

020
Design  

warningCritical    Rule warning: Type should not have too many responsibilities
// <Name>Type should not have too many responsibilities</Name>
// Types using more than 8 different application namespaces 
// are considered as having too many responsabilities.
warnif count > 0 

from t in JustMyCode.Types 
let applicationTypesUsed = t.TypesUsed.ExceptThirdParty().ToList()
let applicationNamespacesUsed = applicationTypesUsed.ParentNamespaces().ToList()
where applicationNamespacesUsed.Count > 8

// Use an empiric formula to sort by degree of responsabilities
let responsabilitiesMetric = (10 * applicationNamespacesUsed.Count + applicationTypesUsed.Count)/10
orderby responsabilitiesMetric descending

select new { t, applicationNamespacesUsed, applicationTypesUsed, responsabilitiesMetric } 


300 types matched

typesapplicationNamespacesUsedapplicationTypesUsedresponsabilitiesMetricFull Name
Sema41 namespaces928 types133clang.Sema
__Globals34 namespaces779 types111__Globals
__Globals54 namespaces265 types80__Globals
__Globals65 namespaces102 types75__Globals
__Globals57 namespaces175 types74llvm.__Globals
__Globals34 namespaces398 types73__Globals
__Globals36 namespaces367 types72__Globals
CodeGenFunction23 namespaces468 types69clang.CodeGen.CodeGenFunction
__Globals48 namespaces204 types68__Globals
ASTReader19 namespaces499 types68clang.ASTReader
__Globals14 namespaces489 types62__Globals
__Globals35 namespaces244 types59__Globals
__Globals30 namespaces200 types50llvm.__Globals
__Globals44 namespaces50 types49llvm.__Globals
__Globals34 namespaces145 types48llvm.__Globals
__Globals29 namespaces185 types47__Globals
CodeGenModule21 namespaces259 types46clang.CodeGen.CodeGenModule
Parser19 namespaces265 types45clang.Parser
__Globals27 namespaces158 types42__Globals
__Globals28 namespaces143 types42__Globals
ASTWriter15 namespaces267 types41clang.ASTWriter
__Globals24 namespaces167 types40__Globals
__Globals25 namespaces155 types40__Globals
__Globals26 namespaces123 types38__Globals
ARMTargetLowering23 namespaces150 types38llvm.ARMTargetLowering
__Globals24 namespaces123 types36__Globals
ASTContext10 namespaces254 types35clang.ASTContext
__Globals18 namespaces179 types35__Globals
__Globals26 namespaces82 types34__Globals
__Globals27 namespaces78 types34__Globals
__Globals18 namespaces150 types33__Globals
SelectionDAGBuilder14 namespaces191 types33llvm.SelectionDAGBuilder
__Globals17 namespaces153 types32__Globals
__Globals20 namespaces124 types32__Globals
CGDebugInfo13 namespaces193 types32clang.CodeGen.CGDebugInfo
__Globals23 namespaces94 types32clang.__Globals
ExprEngine12 namespaces205 types32clang.ento.ExprEngine
__Globals12 namespaces197 types31__Globals
X86TargetLowering18 namespaces130 types31llvm.X86TargetLowering
__Globals22 namespaces92 types31__Globals
__Globals18 namespaces131 types31__Globals
__Globals13 namespaces188 types31__Globals
CursorVisitor12 namespaces192 types31clang.cxcursor.CursorVisitor
AArch64TargetLowering19 namespaces117 types30llvm.AArch64TargetLowering
InstCombiner15 namespaces159 types30llvm.InstCombiner
AsmPrinter16 namespaces132 types29llvm.AsmPrinter
__Globals18 namespaces112 types29__Globals
ASTUnit17 namespaces126 types29clang.ASTUnit
__Globals24 namespaces49 types28llvm.__Globals
PPCTargetLowering18 namespaces108 types28llvm.PPCTargetLowering
__Globals18 namespaces103 types28__Globals
__Globals16 namespaces123 types28__Globals
__Globals24 namespaces34 types27llvm.__Globals
ARMFastISel17 namespaces106 types27anonymous_namespace{armfastisel.cpp}.ARMFastISel
LTOCodeGenerator21 namespaces64 types27llvm.LTOCodeGenerator
__Globals18 namespaces98 types27__Globals
__Globals20 namespaces78 types27__Globals
ScalarExprEmitter10 namespaces176 types27anonymous_namespace{cgexprscalar.cpp}.ScalarExprEmitter
ASTDeclReader10 namespaces170 types27clang.ASTDeclReader
__Globals23 namespaces43 types27llvm.__Globals
__Globals14 namespaces124 types26__Globals
__Globals13 namespaces131 types26llvm.__Globals
NVPTXAsmPrinter16 namespaces100 types26llvm.NVPTXAsmPrinter
__Globals19 namespaces73 types26__Globals
Preprocessor13 namespaces132 types26clang.Preprocessor
ARMAsmPrinter17 namespaces83 types25llvm.ARMAsmPrinter
__Globals17 namespaces83 types25__Globals
__Globals23 namespaces24 types25llvm.__Globals
SelectionDAG13 namespaces123 types25llvm.SelectionDAG
__Globals18 namespaces78 types25__Globals
__Globals22 namespaces30 types25llvm.__Globals
__Globals18 namespaces73 types25__Globals
CompilerInstance17 namespaces88 types25clang.CompilerInstance
RetainCountChecker15 namespaces102 types25anonymous_namespace{retaincountchecker.cpp}.RetainCountChecker
__Globals21 namespaces30 types24llvm.__Globals
__Globals19 namespaces55 types24__Globals
__Globals18 namespaces63 types24__Globals
__Globals9 namespaces154 types24clang.__Globals
AArch64FastISel14 namespaces92 types23anonymous_namespace{aarch64fastisel.cpp}.AArch64FastISel
ARMAsmParser17 namespaces66 types23anonymous_namespace{armasmparser.cpp}.ARMAsmParser
DwarfDebug12 namespaces112 types23llvm.DwarfDebug
EmitAssemblyHelper19 namespaces48 types23anonymous_namespace{backendutil.cpp}.EmitAssemblyHelper
__Globals14 namespaces99 types23__Globals
MallocChecker11 namespaces120 types23anonymous_namespace{mallocchecker.cpp}.MallocChecker
HexagonTargetLowering15 namespaces72 types22llvm.HexagonTargetLowering
__Globals11 namespaces112 types22__Globals
MipsTargetLowering14 namespaces88 types22llvm.MipsTargetLowering
__Globals18 namespaces43 types22llvm.__Globals
SelectionDAGISel11 namespaces110 types22llvm.SelectionDAGISel
SystemZTargetLowering15 namespaces79 types22llvm.SystemZTargetLowering
__Globals19 namespaces34 types22llvm.__Globals
__Globals17 namespaces53 types22clang.arcmt.trans.__Globals
ObjCMigrateASTConsumer14 namespaces87 types22anonymous_namespace{objcmt.cpp}.ObjCMigrateASTConsumer
Driver13 namespaces92 types22clang.driver.Driver
IndexingContext12 namespaces109 types22clang.cxindex.IndexingContext
SITargetLowering14 namespaces76 types21llvm.SITargetLowering
DAGCombiner12 namespaces91 types21anonymous_namespace{dagcombiner.cpp}.DAGCombiner
X86FastISel12 namespaces95 types21anonymous_namespace{x86fastisel.cpp}.X86FastISel
CGObjCGNU10 namespaces112 types21anonymous_namespace{cgobjcgnu.cpp}.CGObjCGNU
ARMBaseInstrInfo13 namespaces75 types20llvm.ARMBaseInstrInfo

Statistics

Stat   applicationNamespacesUsed   applicationTypesUsed   responsabilitiesMetric
Sum:006 384
Average:0021.28
Minimum:0010
Maximum:00133
Standard deviation:0014.77
Variance:00218.26
warningCritical    Rule warning: Nested types should not be visible
// <Name>Nested types should not be visible</Name>
warnif count > 0 from t in JustMyCode.Types where 
  
t.IsNested && 
 
!t.IsGeneratedByCompiler &&
 
!t.IsPrivate 
select new { t, t.NbLinesOfCode, t.Visibility } 


// A nested type is a type declared within the 
// scope of another type. Nested types are useful 
// for encapsulating private implementation details 
// of the containing type. Used for this purpose, 
// nested types should not be externally visible. 
// Do not use externally visible nested types for 
// logical grouping or to avoid name collisions; 
// instead, use namespaces.

1,300 types matched

types# lines of code (LOC)VisibilityFull Name
Graph<N>+NodeSubset17Publicllvm.Graph<N>+NodeSubset
Graph<N>+ChildIterator20Publicllvm.Graph<N>+ChildIterator
ImmutableSetTest+MyIter6Protectedanonymous_namespace{immutablesettest.cpp}.ImmutableSetTest+MyIter
DummyFileSystem+DirIterImpl18Publicanonymous_namespace{virtualfilesystemtest.cpp} .DummyFileSystem+DirIterImpl
BrainF+CompileFlagsN/APublicBrainF+CompileFlags
BrainF+SymbolN/AProtectedBrainF+Symbol
MockSema+MatcherInfo0Publicclang.ast_matchers.dynamic.anonymous_namespace{parsertest.cpp} .MockSema+MatcherInfo
TypeBuilder<(anonymousnamespace)::MyType,cross>+FieldsN/APublicllvm.TypeBuilder<(anonymousnamespace)::MyType,cross>+Fields
TestFunctionAnalysis+Result1Publicanonymous_namespace{passmanagertest.cpp}.TestFunctionAnalysis+Result
TestModuleAnalysis+Result1Publicanonymous_namespace{passmanagertest.cpp}.TestModuleAnalysis+Result
LockMutex<KeyT,MutexT>+ExtraData0Publicanonymous_namespace{valuemaptest.cpp}.LockMutex<KeyT,MutexT>+ExtraData
NoFollow<KeyT>+AnonymousEnumN/APublicanonymous_namespace{valuemaptest.cpp}.NoFollow<KeyT>+AnonymousEnum
CountOps<KeyT>+ExtraData0Publicanonymous_namespace{valuemaptest.cpp}.CountOps<KeyT>+ExtraData
AArch64AsmParser+AArch64MatchResultTyN/APublicanonymous_namespace{aarch64asmparser.cpp} .AArch64AsmParser+AArch64MatchResultTy
AArch64FunctionInfo+MILOHDirective5Publicllvm.AArch64FunctionInfo+MILOHDirective
AArch64Subtarget+ARMProcFamilyEnumN/AProtectedllvm.AArch64Subtarget+ARMProcFamilyEnum
AArch64FastISel+Address+BaseKindN/APublicanonymous_namespace{aarch64fastisel.cpp} .AArch64FastISel+Address+BaseKind
AArch64MCExpr+VariantKindN/APublicllvm.AArch64MCExpr+VariantKind
AArch64NamedImmMapper+Mapping0Publicllvm.AArch64NamedImmMapper+Mapping
ARMAsmParser+ARMMatchResultTyN/APublicanonymous_namespace{armasmparser.cpp}.ARMAsmParser+ARMMatchResultTy
ARMSubtarget+ARMProcFamilyEnumN/AProtectedllvm.ARMSubtarget+ARMProcFamilyEnum
ARMSubtarget+ARMProcClassEnumN/AProtectedllvm.ARMSubtarget+ARMProcClassEnum
ARMSubtarget+AnonymousEnumN/APublicllvm.ARMSubtarget+AnonymousEnum
Address+AnonymousEnumN/APublicanonymous_namespace{armfastisel.cpp}.Address+AnonymousEnum
Address+Anonymous0Publicanonymous_namespace{armfastisel.cpp}.Address+Anonymous
ARMMCExpr+VariantKindN/APublicllvm.ARMMCExpr+VariantKind
ARMTargetELFStreamer+AttributeItem+AnonymousEnumN/APublicanonymous_namespace{armelfstreamer.cpp} .ARMTargetELFStreamer+AttributeItem+AnonymousEnum
AliasAnalysis+Location12Publicllvm.AliasAnalysis+Location
AliasAnalysis+AliasResultN/APublicllvm.AliasAnalysis+AliasResult
AliasAnalysis+ModRefResultN/APublicllvm.AliasAnalysis+ModRefResult
AliasAnalysis+AnonymousEnumN/APublicllvm.AliasAnalysis+AnonymousEnum
AliasAnalysis+ModRefBehaviorN/APublicllvm.AliasAnalysis+ModRefBehavior
AliasSet+iterator17Publicllvm.AliasSet+iterator
BlockFrequencyInfoImplBase+BlockNode10Publicllvm.BlockFrequencyInfoImplBase+BlockNode
BlockFrequencyInfoImplBase+FrequencyData0Publicllvm.BlockFrequencyInfoImplBase+FrequencyData
BlockFrequencyInfoImplBase+LoopData17Publicllvm.BlockFrequencyInfoImplBase+LoopData
BlockFrequencyInfoImplBase+WorkingData25Publicllvm.BlockFrequencyInfoImplBase+WorkingData
BlockFrequencyInfoImplBase+Weight5Publicllvm.BlockFrequencyInfoImplBase+Weight
BlockFrequencyInfoImplBase+Weight+DistTypeN/APublicllvm.BlockFrequencyInfoImplBase+Weight+DistType
BlockFrequencyInfoImplBase+Distribution34Publicllvm.BlockFrequencyInfoImplBase+Distribution
CGSCCPassManager+CGSCCPassModel0Publicllvm.CGSCCPassManager+CGSCCPassModel
CGSCCAnalysisManagerModuleProxy+Result10Publicllvm.CGSCCAnalysisManagerModuleProxy+Result
ModuleAnalysisManagerCGSCCProxy+Result7Publicllvm.ModuleAnalysisManagerCGSCCProxy+Result
FunctionAnalysisManagerCGSCCProxy+Result10Publicllvm.FunctionAnalysisManagerCGSCCProxy+Result
CGSCCAnalysisManagerFunctionProxy+Result7Publicllvm.CGSCCAnalysisManagerFunctionProxy+Result
Dependence+DVEntry6Publicllvm.Dependence+DVEntry
Dependence+DVEntry+AnonymousEnumN/APublicllvm.Dependence+DVEntry+AnonymousEnum
DependenceAnalysis+Subscript+ClassificationKindN/APublicllvm.DependenceAnalysis+Subscript+ClassificationKind
LazyCallGraph+iterator14Publicllvm.LazyCallGraph+iterator
LazyCallGraph+Node29Publicllvm.LazyCallGraph+Node
LazyCallGraph+SCC184Publicllvm.LazyCallGraph+SCC
LazyCallGraph+postorder_scc_iterator8Publicllvm.LazyCallGraph+postorder_scc_iterator
LazyValueInfo+TristateN/APublicllvm.LazyValueInfo+Tristate
LibCallLocationInfo+LocResultN/APublicllvm.LibCallLocationInfo+LocResult
LibCallFunctionInfo+LocationMRInfo0Publicllvm.LibCallFunctionInfo+LocationMRInfo
LibCallFunctionInfo+AnonymousEnumN/APublicllvm.LibCallFunctionInfo+AnonymousEnum
RegionBase<Tr>+PrintStyleN/APublicllvm.RegionBase<Tr>+PrintStyle
RegionBase<Tr>+block_iterator_wrapper2Publicllvm.RegionBase<Tr>+block_iterator_wrapper
SCEV+NoWrapFlagsN/APublicllvm.SCEV+NoWrapFlags
ScalarEvolution+LoopDispositionN/APublicllvm.ScalarEvolution+LoopDisposition
ScalarEvolution+BlockDispositionN/APublicllvm.ScalarEvolution+BlockDisposition
TargetTransformInfo+TargetCostConstantsN/APublicllvm.TargetTransformInfo+TargetCostConstants
TargetTransformInfo+UnrollingPreferences0Publicllvm.TargetTransformInfo+UnrollingPreferences
TargetTransformInfo+PopcntSupportKindN/APublicllvm.TargetTransformInfo+PopcntSupportKind
TargetTransformInfo+ShuffleKindN/APublicllvm.TargetTransformInfo+ShuffleKind
TargetTransformInfo+OperandValueKindN/APublicllvm.TargetTransformInfo+OperandValueKind
TargetTransformInfo+OperandValuePropertiesN/APublicllvm.TargetTransformInfo+OperandValueProperties
Instruction+OperationEquivalenceFlagsN/APublicllvm.Instruction+OperationEquivalenceFlags
Instruction+TermOpsN/APublicllvm.Instruction+TermOps
Instruction+BinaryOpsN/APublicllvm.Instruction+BinaryOps
Instruction+MemoryOpsN/APublicllvm.Instruction+MemoryOps
Instruction+CastOpsN/APublicllvm.Instruction+CastOps
Instruction+OtherOpsN/APublicllvm.Instruction+OtherOps
PointerLikeTypeTraits<llvm::Instruction*>+AnonymousEnumN/APublicllvm.PointerLikeTypeTraits<llvm::Instruction*>+AnonymousEnum
NamedMDNode+op_iterator_impl17Publicllvm.NamedMDNode+op_iterator_impl
IrreducibleGraph+IrrNode6Publicllvm.bfi_detail.IrreducibleGraph+IrrNode
PtrUseVisitorBase+PtrInfo16Publicllvm.detail.PtrUseVisitorBase+PtrInfo
PtrUseVisitorBase+UseToVisit0Protectedllvm.detail.PtrUseVisitorBase+UseToVisit
WeightedBidirectionalGraph<EdgeTypeT>+EdgeIterator11Publicanonymous_namespace{cflaliasanalysis.cpp}.WeightedBidirectionalGraph <EdgeTypeT>+EdgeIterator
WeightedBidirectionalGraph<EdgeTypeT>+EdgeIterable4Publicanonymous_namespace{cflaliasanalysis.cpp}.WeightedBidirectionalGraph <EdgeTypeT>+EdgeIterable
MemDepPrinter+DepTypeN/APublicanonymous_namespace{memdepprinter.cpp}.MemDepPrinter+DepType
ValID+AnonymousEnumN/APublicllvm.ValID+AnonymousEnum
EHStreamer+PadRange0Protectedllvm.EHStreamer+PadRange
EHStreamer+ActionEntry0Protectedllvm.EHStreamer+ActionEntry
EHStreamer+CallSiteEntry0Protectedllvm.EHStreamer+CallSiteEntry
AsmPrinter+CFIMoveTypeN/APublicllvm.AsmPrinter+CFIMoveType
WinCodeViewLineTables+FileNameRegistryTy+PerFileInfo0Publicllvm.WinCodeViewLineTables+FileNameRegistryTy+PerFileInfo
DIEValue+TypeN/APublicllvm.DIEValue+Type
DebugLocEntry+Value23Publicllvm.DebugLocEntry+Value
DebugLocEntry+Value+EntryTypeN/APublicllvm.DebugLocEntry+Value+EntryType
DebugLocEntry+Value+Anonymous0Publicllvm.DebugLocEntry+Value+Anonymous
DwarfAccelTable+Atom4Publicllvm.DwarfAccelTable+Atom
DwarfAccelTable+HashDataContents5Publicllvm.DwarfAccelTable+HashDataContents
BitstreamReader+BlockInfo0Publicllvm.BitstreamReader+BlockInfo
BitstreamEntry+AnonymousEnumN/APublicllvm.BitstreamEntry+AnonymousEnum
BitstreamCursor+AnonymousEnumN/APublicllvm.BitstreamCursor+AnonymousEnum
AggressiveAntiDepState+RegisterReference0Publicllvm.AggressiveAntiDepState+RegisterReference
CCValAssign+LocInfoN/APublicllvm.CCValAssign+LocInfo
InterferenceCache+Cursor21Publicllvm.InterferenceCache+Cursor
TargetMachine+CodeGenFileTypeN/APublicllvm.TargetMachine+CodeGenFileType

Statistics

Stat   # lines of code (LOC)   Visibility
Sum:5 8620
Average:9.170
Minimum:00
Maximum:2830
Standard deviation:23.650
Variance:559.460

330
Architecture and Layering  

warningCritical    Rule warning: Avoid namespaces mutually dependent
// <Name>Avoid namespaces mutually dependent</Name>
warnif count > 0
// Foreach pair of namespace mutually dependent, this rule lists pairs.
// The pair { first, second } is formatted to show that first namespace shouldn't use the second namespace.
// The first/second order is inferred from the number of types used by each other.
// The first namespace is using less types of the second.
// It means that the first namespace is certainly at a lower level in the architecture, than the second.
// To explore the coupling between the two namespaces, you can export:
//  - typesOfFirstUsedBySecond to the vertical header of the dependency matrix
//  - typesOfSecondUsedByFirst to the horizontal header of the dependency matrix
//



// Optimization: restreint application Projects set
// If some namespaces are mutually dependent
//  - They must be declared in the same project
//  - The parent project must ContainsNamespaceDependencyCycle
from project in Application.Projects.Where(a => a.ContainsNamespaceDependencyCycle != null && a.ContainsNamespaceDependencyCycle.Value)

// hashset is used to avoid reporting both A <-> B and B <-> A
let hashset = new HashSet<INamespace>()

// Optimization: restreint namespaces set
// If a namespace doesn't have a Level value, it must be in a dependency cycle
// or it must be using directly or indirectly a dependency cycle.
let namespacesSuspect = project.ChildNamespaces.Where(n => n.Level == null && n.Name!="")

from nA in namespacesSuspect

// Select namespaces mutually dependent with nA
let unused = hashset.Add(nA) // Populate hashset
let namespacesMutuallyDependentWith_nA = nA.NamespacesUsed.Using(nA)
          
.Except(hashset) // <-- avoid reporting both A <-> B and B <-> A 
where namespacesMutuallyDependentWith_nA.Count() > 0

from nB in namespacesMutuallyDependentWith_nA

// nA and nB are mutually dependent
// Select first the one that shouldn't use the other.
// The first namespace is inferred from the fact that it is using less types of the second.
let typesOfBUsedByA = nB.ChildTypes.UsedBy(nA)
let typesOfAUsedByB = nA.ChildTypes.UsedBy(nB)
let first = (typesOfBUsedByA.Count() > typesOfAUsedByB.Count()) ? nB : nA
let second = (first == nA) ? nB : nA
let typesOfFirstUsedBySecond = (first == nA) ? typesOfAUsedByB : typesOfBUsedByA
let typesOfSecondUsedByFirst = (first == nA) ? typesOfBUsedByA : typesOfAUsedByB
where typesOfFirstUsedBySecond.Count()>0 && typesOfSecondUsedByFirst.Count()>0
select new { first, shouldntUse = second, typesOfFirstUsedBySecond, typesOfSecondUsedByFirst }

228 namespaces matched

namespacesshouldntUsetypesOfFirstUsedBySecondtypesOfSecondUsedByFirstFull Name
llvmanonymous_namespace{aarch64targetmachine.cpp}2 types1 typellvm
llvmanonymous_namespace{armtargetmachine.cpp}2 types1 typellvm
llvmllvm1 type1 typellvm
llvmanonymous_namespace{lazyvalueinfo.cpp}4 types2 typesllvm
llvmanonymous_namespace{scalarevolutionexpander.cpp}7 types1 typellvm
llvmllvm.bfi_detail5 types4 typesllvm
llvmanonymous_namespace{blockfrequencyinfoimpl.cpp}1 type1 typellvm
llvmanonymous_namespace{loopinfo.cpp}5 types1 typellvm
llvmanonymous_namespace{looppass.cpp}4 types1 typellvm
llvm.detailllvm3 types2 typesllvm.detail
llvmanonymous_namespace{regionpass.cpp}5 types1 typellvm
llvmanonymous_namespace{scalarevolution.cpp}23 types6 typesllvm
llvmllvm34 types1 typellvm
llvmllvm3 types2 typesllvm
llvm3 types2 typesllvm
llvmanonymous_namespace{machineverifier.cpp}31 types1 typellvm
llvmanonymous_namespace{livedebugvariables.cpp}22 types1 typellvm
llvmanonymous_namespace{machinetracemetrics.cpp}12 types4 typesllvm
llvmanonymous_namespace{pseudosourcevalue.cpp}1 type1 typellvm
llvmllvm40 types4 typesllvm
llvmanonymous_namespace{scheduledaginstrs.cpp}2 types1 typellvm
llvmllvm34 types1 typellvm
llvm2 types1 type
llvmanonymous_namespace{legacypassmanager.cpp}17 types2 typesllvm
llvmanonymous_namespace{datalayout.cpp}2 types1 typellvm
llvmanonymous_namespace{pass.cpp}1 type1 typellvm
llvm.detailllvm4 types2 typesllvm.detail
anonymous_namespace{legacypassmanager.cpp}llvm.legacy2 types1 typeanonymous_namespace{legacypassmanager.cpp}
llvmanonymous_namespace{dwarfdebugframe.cpp}2 types2 typesllvm
anonymous_namespace{executionengine.cpp}llvm2 types1 typeanonymous_namespace{executionengine.cpp}
llvmllvm6 types1 typellvm
llvmanonymous_namespace{hexagontargetmachine.cpp}1 type1 typellvm
llvmllvm3 types1 typellvm
llvmanonymous_namespace{instructioncombining.cpp}1 type1 typellvm
llvmanonymous_namespace{instcombineaddsub.cpp}1 type1 typellvm
llvmanonymous_namespace{linkmodules.cpp}1 type1 typellvm
llvmllvm.WinEH6 types3 typesllvm
llvmllvm.Win64EH4 types1 typellvm
llvmanonymous_namespace{mcdwarf.cpp}11 types2 typesllvm
llvmllvm13 types1 typellvm
llvmllvm13 types1 typellvm
llvmllvm.object2 types1 typellvm
llvmllvm6 types1 typellvm
llvmanonymous_namespace{jitmemorymanager.cpp}1 type1 typellvm
llvmanonymous_namespace{msp430targetmachine.cpp}1 type1 typellvm
llvmanonymous_namespace{mipstargetmachine.cpp}2 types1 typellvm
llvmanonymous_namespace{mipsseframelowering.cpp}4 types1 typellvm
llvmanonymous_namespace{nvptxtargetmachine.cpp}2 types1 typellvm
llvmllvm.object2 types1 typellvm
llvmanonymous_namespace{ppctargetmachine.cpp}2 types1 typellvm
llvmsampleprof1 type1 typellvm
llvm.coverageanonymous_namespace{coveragemappingwriter.cpp}3 types1 typellvm.coverage
llvmanonymous_namespace{amdgputargetmachine.cpp}3 types1 typellvm
llvmanonymous_namespace{runtimedyldelf.cpp}3 types1 typellvm
llvmanonymous_namespace{earlycse.cpp}2 types2 typesllvm
llvmllvm40 types4 typesllvm
llvmanonymous_namespace{dagcombiner.cpp}32 types1 typellvm
llvmanonymous_namespace{legalizedag.cpp}27 types1 typellvm
llvmanonymous_namespace{legalizevectorops.cpp}13 types1 typellvm
llvmanonymous_namespace{selectiondag.cpp}5 types3 typesllvm
llvmanonymous_namespace{legalizetypes.cpp}4 types1 typellvm
llvmanonymous_namespace{selectiondagbuilder.cpp}9 types2 typesllvm
llvmanonymous_namespace{selectiondagisel.cpp}4 types2 typesllvm
llvmanonymous_namespace{sparctargetmachine.cpp}1 type1 typellvm
llvm5 types3 typesllvm
llvmllvm.sys14 types3 typesllvm
llvmllvm.cl9 types1 typellvm
llvm.sys.fsllvm7 types4 typesllvm.sys.fs
llvmanonymous_namespace{statistic.cpp}1 type1 typellvm
llvmanonymous_namespace{crashrecoverycontext.cpp}2 types2 typesllvm
llvmanonymous_namespace{dagdeltaalgorithm.cpp}3 types1 typellvm
llvmllvm.IntervalMapImpl5 types4 typesllvm
llvmanonymous_namespace{memorybuffer.cpp}3 types2 typesllvm
llvmanonymous_namespace{timer.cpp}9 types1 typellvm
llvmllvm.yaml20 types1 typellvm
llvm.sys.fs.detailllvm.sys.fs2 types1 typellvm.sys.fs.detail
llvmanonymous_namespace{systemztargetmachine.cpp}2 types1 typellvm
llvmanonymous_namespace{settheory.cpp}10 types10 typesllvm
llvmllvm1 type1 typellvm
llvmllvm3 types2 typesllvm
anonymous_namespace{simplifylibcalls.cpp}llvm4 types1 typeanonymous_namespace{simplifylibcalls.cpp}
llvmanonymous_namespace{x86mcinstlower.cpp}1 type1 typellvm
llvmanonymous_namespace{x86targetmachine.cpp}2 types1 typellvm
llvmanonymous_namespace{xcoretargetmachine.cpp}1 type1 typellvm
llvmanonymous_namespace{callgraphsccpass.cpp}6 types2 typesllvm
anonymous_namespace{functionattrs.cpp}llvm2 types1 typeanonymous_namespace{functionattrs.cpp}
llvmanonymous_namespace{miscompilation.cpp}3 types1 typellvm
anonymous_namespace{toolrunner.cpp}llvm4 types1 typeanonymous_namespace{toolrunner.cpp}
clang.arcmtanonymous_namespace{arcmt.cpp}3 types3 typesclang.arcmt
clang.arcmtanonymous_namespace{objcmt.cpp}1 type1 typeclang.arcmt
clang.arcmtanonymous_namespace{transformactions.cpp}2 types1 typeclang.arcmt
clang.arcmt.transanonymous_namespace{transforms.cpp}4 types1 typeclang.arcmt.trans
clang.arcmt.transanonymous_namespace{transproperties.cpp}1 type1 typeclang.arcmt.trans
clang.arcmt.transanonymous_namespace{transprotectedscope.cpp}2 types1 typeclang.arcmt.trans
clang.arcmt.transanonymous_namespace{transgcattrs.cpp}3 types1 typeclang.arcmt.trans
clang.arcmt.transanonymous_namespace{transgccalls.cpp}1 type1 typeclang.arcmt.trans
clang192 types6 typesclang
clanganonymous_namespace{declprinter.cpp}96 types1 typeclang
clanganonymous_namespace{astdumper.cpp}143 types1 typeclang
clangclang26 types1 typeclang

Statistics

Stat   shouldntUse   typesOfFirstUsedBySecond   typesOfSecondUsedByFirst
Sum:000
Average:000
Minimum:000
Maximum:000
Standard deviation:000
Variance:000
warningCritical    Rule warning: Avoid namespaces dependency cycles
// <Name>Avoid namespaces dependency cycles</Name>
warnif count > 0
// This query lists all application namespaces dependency cyles.
// Each row shows a different cycle, prefixed with a namespace entangled in the cycle.
//
// To browse a cycle on the dependency graph or the dependency matrix, just right click
// a cycle cell and export namespaces matched to the dependency graph or matrix!
//
// In the matrix, dependency cycles are represented with red squares and black cells.
// To browse easily dependency cycles, the Matrix comes with the option:
//   --> Display Direct and Indirect Dependencies
//



// Optimization: restreint application Projects set
// If some namespaces are mutually dependent
//  - They must be declared in the same project
//  - The parent project must ContainsNamespaceDependencyCycle
from project in Application.Projects
                 
.Where(a => a.ContainsNamespaceDependencyCycle != null && 
                             
a.ContainsNamespaceDependencyCycle.Value)

// Optimization: restreint namespaces set
// A namespace involved in a cycle necessarily have a null Level.
let namespacesSuspect = project.ChildNamespaces.Where(n => n.Level == null && n.Name!="")

// hashset is used to avoid iterating again on namespaces already caught in a cycle.
let hashset = new HashSet<INamespace>()


from suspect in namespacesSuspect
   
// By commenting this line, the query matches all namespaces involved in a cycle.
   where !hashset.Contains(suspect)

   
// Define 2 code metrics
   // - Namespaces depth of is using indirectly the suspect namespace.
   // - Namespaces depth of is used by the suspect namespace indirectly.
   // Note: for direct usage the depth is equal to 1.
   let namespacesUserDepth = namespacesSuspect.DepthOfIsUsing(suspect)
   
let namespacesUsedDepth = namespacesSuspect.DepthOfIsUsedBy(suspect)

   
// Select namespaces that are both using and used by namespaceSuspect
   let usersAndUsed = from n in namespacesSuspect where 
                         
namespacesUserDepth[n] > 0 && 
                         
namespacesUsedDepth[n] > 0 
                      
select n

   
where usersAndUsed.Count() > 0

   
// Here we've found namespace(s) both using and used by the suspect namespace.
   // A cycle involving the suspect namespace is found!
   let cycle = usersAndUsed.Concat(new[] { suspect  })

   
// Fill hashset with namespaces in the cycle.
   // .ToArray() is needed to force the iterating process.
   let unused1 = (from n in cycle let unused2 = hashset.Add(n) select n).ToArray()

select new { suspect, cycle }

85 namespaces matched

namespacescycleFull Name
llvm3 namespacesllvm
llvm21 namespacesllvm
llvm7 namespacesllvm
llvm17 namespacesllvm
llvm16 namespacesllvm
llvm34 namespacesllvm
llvm5 namespacesllvm
llvm3 namespacesllvm
llvm2 namespacesllvm
llvm55 namespacesllvm
llvm14 namespacesllvm
llvm2 namespacesllvm
llvm2 namespacesllvm
llvm3 namespacesllvm
llvm15 namespacesllvm
llvm5 namespacesllvm
llvm7 namespacesllvm
llvm2 namespacesllvm
llvm11 namespacesllvm
llvm2 namespacesllvm
llvm2 namespacesllvm
llvm5 namespacesllvm
llvm5 namespacesllvm
llvm12 namespacesllvm
llvm3 namespacesllvm
llvm12 namespacesllvm
llvm6 namespacesllvm
llvm3 namespacesllvm
llvm11 namespacesllvm
llvm7 namespacesllvm
llvm8 namespacesllvm
llvm22 namespacesllvm
llvm5 namespacesllvm
llvm3 namespacesllvm
llvm39 namespacesllvm
llvm12 namespacesllvm
llvm5 namespacesllvm
llvm4 namespacesllvm
llvm33 namespacesllvm
llvm9 namespacesllvm
llvm4 namespacesllvm
llvm2 namespacesllvm
llvm2 namespacesllvm
llvm21 namespacesllvm
llvm4 namespacesllvm
llvm3 namespacesllvm
llvm14 namespacesllvm
llvm11 namespacesllvm
llvm8 namespacesllvm
llvm5 namespacesllvm
llvm19 namespacesllvm
llvm6 namespacesllvm
anonymous_namespace{clangcheck.cpp}2 namespacesanonymous_namespace{clangcheck.cpp}
clang4 namespacesclang
clang.arcmt20 namespacesclang.arcmt
clang31 namespacesclang
clang.ast_matchers3 namespacesclang.ast_matchers
clang22 namespacesclang
clang12 namespacesclang
clang26 namespacesclang
clang.driver21 namespacesclang.driver
clang.ast_matchers.dynamic3 namespacesclang.ast_matchers.dynamic
clang.format4 namespacesclang.format
clang15 namespacesclang
clang.index3 namespacesclang.index
clang3 namespacesclang
clang7 namespacesclang
clang3 namespacesclang
clang2 namespacesclang
clang28 namespacesclang
clang7 namespacesclang
clang.ento8 namespacesclang.ento
clang19 namespacesclang
clang.ento2 namespacesclang.ento
clang.tooling3 namespacesclang.tooling
diagtool2 namespacesdiagtool
testing4 namespacestesting
clang20 namespacesclang
llvm2 namespacesllvm
llvm2 namespacesllvm
llvm2 namespacesllvm
llvm8 namespacesllvm
anonymous_namespace{asmmatcheremitter.cpp}22 namespacesanonymous_namespace{asmmatcheremitter.cpp}
llvm2 namespacesllvm
llvm2 namespacesllvm

Statistics

Stat   cycle
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Projects with poor cohesion (RelationalCohesion)
// <Name>Projects with poor cohesion (RelationalCohesion)</Name>
warnif count > 0 from a in Application.Projects where 
  
a.NbTypes > 20 && // Relational Cohesion metrics is relevant only if there are several types 
  (a.RelationalCohesion < 1.5 || 
   
a.RelationalCohesion > 4.0)
select new { a, a.NbTypes, a.RelationalCohesion }

// As classes inside an project should be strongly related, 
// the cohesion should be high. On the other hand, a value 
// which is too high may indicate over-coupling. A good range 
// for RelationalCohesion is 1.5 to 4.0.
// See the definition of the RelationalCohesion metric here 
// http://www.cppdepend.com/Metrics.aspx#RelationalCohesion

26 projects matched

projects# TypesRelational cohesionFull Name
ADTTests3470.62ADTTests
ASTMatchersTests3461.1ASTMatchersTests
ASTTests3351.34ASTTests
AnalysisTests320.88AnalysisTests
BasicTests580.87BasicTests
ClangDriverTests250.074ClangDriverTests
DynamicASTMatchersTests310.73DynamicASTMatchersTests
FormatTests2791.07FormatTests
IRTests1710.79IRTests
LLVMAArch64Utils330.77LLVMAArch64Utils
LLVMCodeGen4675.74LLVMCodeGen
LLVMCore5005.41LLVMCore
LLVMMC1524.77LLVMMC
LLVMSelectionDAG1545.42LLVMSelectionDAG
LLVMTableGen707.31LLVMTableGen
LexTests320.94LexTests
SupportTests3980.83SupportTests
ToolingTests1771.49ToolingTests
UtilsTests230.48UtilsTests
clang-modernize481.44clang-modernize
clangAST1 1267.67clangAST
clangCodeGen3374.26clangCodeGen
clangDriver1175.54clangDriver
clangRewriteFrontend281.37clangRewriteFrontend
clangStaticAnalyzerCheckers2240.98clangStaticAnalyzerCheckers
clangStaticAnalyzerCore3195.28clangStaticAnalyzerCore

Statistics

Stat   # Types   Relational cohesion
Sum:5 82967.16
Average:224.192.58
Minimum:230.074
Maximum:1 1267.67
Standard deviation:233.782.37
Variance:54 6515.63

710
CppCheck Queries  

  • 7 validated Rule(s)
  • 1 Rule(s) violated
  • 0 Rules or Queries with Error (syntax error, exception thrown, time-out)
warningCritical    Rule warning: All CppCheck Violations
// <Name>All CppCheck Violations</Name>
warnif count>0          
from issue in Issues  where issue.ToolName=="CppCheck"
select new { issue,issue.FilePath,issue.BeginLine }

1,594 fields matched

fieldsFilePathBeginLineFull Name
Struct 'ClangTidyMessage' has a constructor with 1 argument that is no t explicit.D:\llvm4\tools\extra\clang-tidy\ClangTidyDiagnosticConsumer.h39CppCheck.style.style .Struct 'ClangTidyMessage' has a constructor with 1 argument that is n ot explicit.
Class 'GlobList' has a constructor with 1 argument that is not explici t.D:\llvm4\tools\extra\clang-tidy\ClangTidyDiagnosticConsumer.h77CppCheck.style.style .Class 'GlobList' has a constructor with 1 argument that is not explic it.
Class 'ClangTidyContext' has a constructor with 1 argument that is not explicit.D:\llvm4\tools\extra\clang-tidy\ClangTidyDiagnosticConsumer.h127CppCheck.style.style .Class 'ClangTidyContext' has a constructor with 1 argument that is no t explicit.
Class 'ClangTidyDiagnosticConsumer' has a constructor with 1 argument that is not explicit.D:\llvm4\tools\extra\clang-tidy\ClangTidyDiagnosticConsumer.h212CppCheck.style.style .Class 'ClangTidyDiagnosticConsumer' has a constructor with 1 argument that is not explicit.
Skipping configuration '_WIN32=1;_MSC_VER=1800;_AFXDLL=1;_DLL=1;WIN32= 1;_WINDOWS=1;_DEBUG=1;_HAS_EXCEPTIONS=0;GTEST_HAS_RTTI=0;_CRT_SECURE_N O_DEPRECATE=1;_CRT_SECURE_NO_WARNINGS=1;_CRT_NONSTDC_NO_DEPRECATE=1;_C RT_NONSTDC_NO_WARNINGS=1;_SCL_SECURE_NO_DEPRECATE=1;_SCL_SECURE_NO_WAR NINGS=1;__STDC_CONSTANT_MACROS=1;__STDC_FORMAT_MACROS=1;__STDC_LIMIT_M ACROS=1;CMAKE_INTDIR=Debug;%(PreprocessorDefinitions )=1;_MT=1;EXPECT_DEBUG_DEATH' since the value of 'EXPECT_DEBUG_DEATH' is unknown. Use -D if you want to check it . You can use -U to skip it explicitly.D:\llvm4\unittests\ADT\PackedVectorTest.cpp1CppCheck.information.information .Skipping configuration '_WIN32=1;_MSC_VER=1800;_AFXDLL=1;_DLL=1;WIN32 =1;_WINDOWS=1;_DEBUG=1;_HAS_EXCEPTIONS=0;GTEST_HAS_RTTI=0;_CRT_SECURE_ NO_DEPRECATE=1;_CRT_SECURE_NO_WARNINGS=1;_CRT_NONSTDC_NO_DEPRECATE=1;_ CRT_NONSTDC_NO_WARNINGS=1;_SCL_SECURE_NO_DEPRECATE=1;_SCL_SECURE_NO_WA RNINGS=1;__STDC_CONSTANT_MACROS=1;__STDC_FORMAT_MACROS=1;__STDC_LIMIT_ MACROS=1;CMAKE_INTDIR=Debug;%(PreprocessorDefinitions )=1;_MT=1;EXPECT_DEBUG_DEATH' since the value of 'EXPECT_DEBUG_DEATH' is unknown. Use -D if you want to check it . You can use -U to skip it explicitly.
Class 'NodeSubset' has a constructor with 1 argument that is not expli cit.D:\llvm4\unittests\ADT\SCCIteratorTest.cpp36CppCheck.style.style .Class 'NodeSubset' has a constructor with 1 argument that is not expl icit.
Class 'FixedDAGDeltaAlgorithm' has a constructor with 1 argument that is not explicit.D:\llvm4\unittests\ADT\DAGDeltaAlgorithmTest.cpp32CppCheck.style.style .Class 'FixedDAGDeltaAlgorithm' has a constructor with 1 argument that is not explicit.
Class 'FixedDeltaAlgorithm' has a constructor with 1 argument that is not explicit.D:\llvm4\unittests\ADT\DeltaAlgorithmTest.cpp47CppCheck.style.style .Class 'FixedDeltaAlgorithm' has a constructor with 1 argument that is not explicit.
Returning an integer in a function with pointer return type is not por table.D:\llvm4\unittests\ADT\DenseMapTest.cpp20CppCheck.portability.portability .Returning an integer in a function with pointer return type is not po rtable.
Class 'CtorTester' has a constructor with 1 argument that is not expli cit.D:\llvm4\unittests\ADT\DenseMapTest.cpp43CppCheck.style.style .Class 'CtorTester' has a constructor with 1 argument that is not expl icit.
Struct 'Node' has a constructor with 1 argument that is not explicit.D:\llvm4\unittests\ADT\ilistTest.cpp24CppCheck.style.style .Struct 'Node' has a constructor with 1 argument that is not explicit.
Class 'Constructable' has a constructor with 1 argument that is not ex plicit.D:\llvm4\unittests\ADT\SmallVectorTest.cpp44CppCheck.style.style .Class 'Constructable' has a constructor with 1 argument that is not e xplicit.
Struct 'notassignable' has a constructor with 1 argument that is not e xplicit.D:\llvm4\unittests\ADT\SmallVectorTest.cpp669CppCheck.style.style .Struct 'notassignable' has a constructor with 1 argument that is not explicit.
Struct 'StringMapTestStruct' has a constructor with 1 argument that is not explicit.D:\llvm4\unittests\ADT\StringMapTest.cpp246CppCheck.style.style .Struct 'StringMapTestStruct' has a constructor with 1 argument that i s not explicit.
Struct 'MoveOnly' has a constructor with 1 argument that is not explic it.D:\llvm4\unittests\ADT\StringMapTest.cpp261CppCheck.style.style .Struct 'MoveOnly' has a constructor with 1 argument that is not expli cit.
Member variable 'Countable::InstanceCount' is not assigned a value in 'Countable::operator='.D:\llvm4\unittests\ADT\StringMapTest.cpp318CppCheck.warning.warning .Member variable 'Countable::InstanceCount' is not assigned a value in 'Countable::operator='.
The class 'MatchVerifier' does not have a constructor.D:\llvm4\tools\clang\unittests\AST\MatchVerifier.h42CppCheck.style.style .The class 'MatchVerifier' does not have a constructor.
The class 'LocationVerifier' does not have a constructor.D:\llvm4\tools\clang\unittests\AST\MatchVerifier.h161CppCheck.style.style .The class 'LocationVerifier' does not have a constructor.
The class 'RangeVerifier' does not have a constructor.D:\llvm4\tools\clang\unittests\AST\MatchVerifier.h197CppCheck.style.style .The class 'RangeVerifier' does not have a constructor.
Class 'TestFrontendAction' has a constructor with 1 argument that is n ot explicit.D:\llvm4\tools\clang\unittests\AST\ExternalASTSourceTest.cpp28CppCheck.style.style .Class 'TestFrontendAction' has a constructor with 1 argument that is not explicit.
Struct 'TestSource' has a constructor with 1 argument that is not expl icit.D:\llvm4\tools\clang\unittests\AST\ExternalASTSourceTest.cpp68CppCheck.style.style .Struct 'TestSource' has a constructor with 1 argument that is not exp licit.
Variable 'FS' is reassigned a value before the old one has been used.D:\llvm4\tools\clang\unittests\Basic\VirtualFileSystemTest.cpp692CppCheck.performance.performance .Variable 'FS' is reassigned a value before the old one has been used.
The scope of the variable 'loop' can be reduced.D:\llvm4\examples\BrainF\BrainF.cpp191CppCheck.style.style.The scope of the variable 'loop' can be reduced.
Member variable 'Pattern::LineNumber' is not initialized in the constr uctor.D:\llvm4\utils\FileCheck\FileCheck.cpp114CppCheck.warning.warning .Member variable 'Pattern::LineNumber' is not initialized in the const ructor.
Class 'Pattern' has a constructor with 1 argument that is not explicit .D:\llvm4\utils\FileCheck\FileCheck.cpp114CppCheck.style.style .Class 'Pattern' has a constructor with 1 argument that is not explici t.
Class 'TestASTFrontendAction' has a constructor with 1 argument that i s not explicit.D:\llvm4\tools\clang\unittests\Frontend\FrontendActionTest.cpp28CppCheck.style.style .Class 'TestASTFrontendAction' has a constructor with 1 argument that is not explicit.
Class 'Visitor' has a constructor with 1 argument that is not explicit .D:\llvm4\tools\clang\unittests\Frontend\FrontendActionTest.cpp49CppCheck.style.style .Class 'Visitor' has a constructor with 1 argument that is not explici t.
Class 'TestPPCallbacksFrontendAction' has a constructor with 1 argumen t that is not explicit.D:\llvm4\tools\clang\unittests\Frontend\FrontendActionTest.cpp117CppCheck.style.style .Class 'TestPPCallbacksFrontendAction' has a constructor with 1 argume nt that is not explicit.
Variable 'BBI' is reassigned a value before the old one has been used.D:\llvm4\unittests\IR\DominatorTreeTest.cpp38CppCheck.performance.performance .Variable 'BBI' is reassigned a value before the old one has been used .
Variable 'BBI' is reassigned a value before the old one has been used.D:\llvm4\unittests\IR\DominatorTreeTest.cpp42CppCheck.performance.performance .Variable 'BBI' is reassigned a value before the old one has been used .
Variable 'BBI' is reassigned a value before the old one has been used.D:\llvm4\unittests\IR\DominatorTreeTest.cpp46CppCheck.performance.performance .Variable 'BBI' is reassigned a value before the old one has been used .
Variable 'BBI' is reassigned a value before the old one has been used.D:\llvm4\unittests\IR\DominatorTreeTest.cpp51CppCheck.performance.performance .Variable 'BBI' is reassigned a value before the old one has been used .
Class 'TestFunctionAnalysis' has a constructor with 1 argument that is not explicit.D:\llvm4\unittests\IR\PassManagerTest.cpp32CppCheck.style.style .Class 'TestFunctionAnalysis' has a constructor with 1 argument that i s not explicit.
Struct 'Result' has a constructor with 1 argument that is not explicit .D:\llvm4\unittests\IR\PassManagerTest.cpp25CppCheck.style.style .Struct 'Result' has a constructor with 1 argument that is not explici t.
Class 'TestModuleAnalysis' has a constructor with 1 argument that is n ot explicit.D:\llvm4\unittests\IR\PassManagerTest.cpp63CppCheck.style.style .Class 'TestModuleAnalysis' has a constructor with 1 argument that is not explicit.
Struct 'Result' has a constructor with 1 argument that is not explicit .D:\llvm4\unittests\IR\PassManagerTest.cpp57CppCheck.style.style .Struct 'Result' has a constructor with 1 argument that is not explici t.
Struct 'TestModulePass' has a constructor with 1 argument that is not explicit.D:\llvm4\unittests\IR\PassManagerTest.cpp82CppCheck.style.style .Struct 'TestModulePass' has a constructor with 1 argument that is not explicit.
Struct 'TestInvalidationFunctionPass' has a constructor with 1 argumen t that is not explicit.D:\llvm4\unittests\IR\PassManagerTest.cpp156CppCheck.style.style .Struct 'TestInvalidationFunctionPass' has a constructor with 1 argume nt that is not explicit.
Class 'ConcreteCallbackVH' has a constructor with 1 argument that is n ot explicit.D:\llvm4\unittests\IR\ValueHandleTest.cpp34CppCheck.style.style .Class 'ConcreteCallbackVH' has a constructor with 1 argument that is not explicit.
Member variable 'RecordingVH::AURWArgument' is not initialized in the constructor.D:\llvm4\unittests\IR\ValueHandleTest.cpp243CppCheck.warning.warning .Member variable 'RecordingVH::AURWArgument' is not initialized in the constructor.
Member variable 'RecordingVH::AURWArgument' is not initialized in the constructor.D:\llvm4\unittests\IR\ValueHandleTest.cpp244CppCheck.warning.warning .Member variable 'RecordingVH::AURWArgument' is not initialized in the constructor.
Class 'RecordingVH' has a constructor with 1 argument that is not expl icit.D:\llvm4\unittests\IR\ValueHandleTest.cpp244CppCheck.style.style .Class 'RecordingVH' has a constructor with 1 argument that is not exp licit.
Class 'RecordingVH' has a constructor with 1 argument that is not expl icit.D:\llvm4\unittests\IR\ValueHandleTest.cpp267CppCheck.style.style .Class 'RecordingVH' has a constructor with 1 argument that is not exp licit.
Class 'RecoveringVH' has a constructor with 1 argument that is not exp licit.D:\llvm4\unittests\IR\ValueHandleTest.cpp296CppCheck.style.style .Class 'RecoveringVH' has a constructor with 1 argument that is not ex plicit.
Class 'DestroyingVH' has a constructor with 1 argument that is not exp licit.D:\llvm4\unittests\IR\ValueHandleTest.cpp339CppCheck.style.style .Class 'DestroyingVH' has a constructor with 1 argument that is not ex plicit.
Memory leak: ProtoD:\llvm4\examples\Kaleidoscope\Chapter2\toy.cpp306CppCheck.error.error.Memory leak: Proto
Allocation with ParseDefinition, if doesn't release it.D:\llvm4\examples\Kaleidoscope\Chapter2\toy.cpp330CppCheck.error.error.Allocation with ParseDefinition , if doesn't release it.
Allocation with ParseExtern, if doesn't release it.D:\llvm4\examples\Kaleidoscope\Chapter2\toy.cpp339CppCheck.error.error.Allocation with ParseExtern , if doesn't release it.
Allocation with ParseTopLevelExpr, if doesn't release it.D:\llvm4\examples\Kaleidoscope\Chapter2\toy.cpp349CppCheck.error.error.Allocation with ParseTopLevelExpr , if doesn't release it.
Class 'NumberExprAST' has a constructor with 1 argument that is not ex plicit.D:\llvm4\examples\Kaleidoscope\Chapter2\toy.cpp88CppCheck.style.style .Class 'NumberExprAST' has a constructor with 1 argument that is not e xplicit.
Class 'VariableExprAST' has a constructor with 1 argument that is not explicit.D:\llvm4\examples\Kaleidoscope\Chapter2\toy.cpp95CppCheck.style.style .Class 'VariableExprAST' has a constructor with 1 argument that is not explicit.
Memory leak: ProtoD:\llvm4\examples\Kaleidoscope\Chapter3\toy.cpp327CppCheck.error.error.Memory leak: Proto
Class 'NumberExprAST' has a constructor with 1 argument that is not ex plicit.D:\llvm4\examples\Kaleidoscope\Chapter3\toy.cpp95CppCheck.style.style .Class 'NumberExprAST' has a constructor with 1 argument that is not e xplicit.
Class 'VariableExprAST' has a constructor with 1 argument that is not explicit.D:\llvm4\examples\Kaleidoscope\Chapter3\toy.cpp103CppCheck.style.style .Class 'VariableExprAST' has a constructor with 1 argument that is not explicit.
Memory leak: ProtoD:\llvm4\examples\Kaleidoscope\Chapter4\toy.cpp333CppCheck.error.error.Memory leak: Proto
Class 'NumberExprAST' has a constructor with 1 argument that is not ex plicit.D:\llvm4\examples\Kaleidoscope\Chapter4\toy.cpp101CppCheck.style.style .Class 'NumberExprAST' has a constructor with 1 argument that is not e xplicit.
Class 'VariableExprAST' has a constructor with 1 argument that is not explicit.D:\llvm4\examples\Kaleidoscope\Chapter4\toy.cpp109CppCheck.style.style .Class 'VariableExprAST' has a constructor with 1 argument that is not explicit.
Memory leak: ProtoD:\llvm4\examples\Kaleidoscope\Chapter5\toy.cpp434CppCheck.error.error.Memory leak: Proto
Class 'NumberExprAST' has a constructor with 1 argument that is not ex plicit.D:\llvm4\examples\Kaleidoscope\Chapter5\toy.cpp110CppCheck.style.style .Class 'NumberExprAST' has a constructor with 1 argument that is not e xplicit.
Class 'VariableExprAST' has a constructor with 1 argument that is not explicit.D:\llvm4\examples\Kaleidoscope\Chapter5\toy.cpp118CppCheck.style.style .Class 'VariableExprAST' has a constructor with 1 argument that is not explicit.
Memory leak: ProtoD:\llvm4\examples\Kaleidoscope\Chapter6\toy.cpp519CppCheck.error.error.Memory leak: Proto
Class 'NumberExprAST' has a constructor with 1 argument that is not ex plicit.D:\llvm4\examples\Kaleidoscope\Chapter6\toy.cpp115CppCheck.style.style .Class 'NumberExprAST' has a constructor with 1 argument that is not e xplicit.
Class 'VariableExprAST' has a constructor with 1 argument that is not explicit.D:\llvm4\examples\Kaleidoscope\Chapter6\toy.cpp123CppCheck.style.style .Class 'VariableExprAST' has a constructor with 1 argument that is not explicit.
Memory leak: ProtoD:\llvm4\examples\Kaleidoscope\Chapter7\toy.cpp584CppCheck.error.error.Memory leak: Proto
Class 'NumberExprAST' has a constructor with 1 argument that is not ex plicit.D:\llvm4\examples\Kaleidoscope\Chapter7\toy.cpp119CppCheck.style.style .Class 'NumberExprAST' has a constructor with 1 argument that is not e xplicit.
Class 'VariableExprAST' has a constructor with 1 argument that is not explicit.D:\llvm4\examples\Kaleidoscope\Chapter7\toy.cpp127CppCheck.style.style .Class 'VariableExprAST' has a constructor with 1 argument that is not explicit.
Variable 'Success' is reassigned a value before the old one has been u sed.D:\llvm4\utils\KillTheDoctor\KillTheDoctor.cpp178CppCheck.performance.performance .Variable 'Success' is reassigned a value before the old one has been used.
Signed integer overflow for expression '4096*(1048576'D:\llvm4\lib\Target\AArch64\AsmParser\AArch64AsmParser.cpp1 089CppCheck.error.error.Signed integer overflow for expression '4096* (1048576'
Signed integer overflow for expression '4096*((1048576)-1'D:\llvm4\lib\Target\AArch64\AsmParser\AArch64AsmParser.cpp1 090CppCheck.error.error.Signed integer overflow for expression '4096*( (1048576)-1'
Skipping configuration '_WIN32=1;_MSC_VER=1800;_AFXDLL=1;_DLL=1;WIN32= 1;_WINDOWS=1;_DEBUG=1;_HAS_EXCEPTIONS=0;GTEST_HAS_RTTI=0;_CRT_SECURE_N O_DEPRECATE=1;_CRT_SECURE_NO_WARNINGS=1;_CRT_NONSTDC_NO_DEPRECATE=1;_C RT_NONSTDC_NO_WARNINGS=1;_SCL_SECURE_NO_DEPRECATE=1;_SCL_SECURE_NO_WAR NINGS=1;__STDC_CONSTANT_MACROS=1;__STDC_FORMAT_MACROS=1;__STDC_LIMIT_M ACROS=1;CMAKE_INTDIR=Debug;%(PreprocessorDefinitions )=1;_MT=1;DEBUG' since the value of 'DEBUG' is unknown . Use -D if you want to check it. You can use -U to skip it explicitly .D:\llvm4\lib\Target\AArch64\AArch64CollectLOH.cpp1CppCheck.information.information .Skipping configuration '_WIN32=1;_MSC_VER=1800;_AFXDLL=1;_DLL=1;WIN32 =1;_WINDOWS=1;_DEBUG=1;_HAS_EXCEPTIONS=0;GTEST_HAS_RTTI=0;_CRT_SECURE_ NO_DEPRECATE=1;_CRT_SECURE_NO_WARNINGS=1;_CRT_NONSTDC_NO_DEPRECATE=1;_ CRT_NONSTDC_NO_WARNINGS=1;_SCL_SECURE_NO_DEPRECATE=1;_SCL_SECURE_NO_WA RNINGS=1;__STDC_CONSTANT_MACROS=1;__STDC_FORMAT_MACROS=1;__STDC_LIMIT_ MACROS=1;CMAKE_INTDIR=Debug;%(PreprocessorDefinitions )=1;_MT=1;DEBUG' since the value of 'DEBUG' is unknown . Use -D if you want to check it. You can use -U to skip it explicitly .
Class 'WidenVector' has a constructor with 1 argument that is not expl icit.D:\llvm4\lib\Target\AArch64\AArch64ISelDAGToDAG.cpp1 097CppCheck.style.style .Class 'WidenVector' has a constructor with 1 argument that is not exp licit.
Member variable 'AArch64FunctionInfo::LocalStackSize' is not initializ ed in the constructor.D:\llvm4\lib\Target\AArch64\AArch64MachineFunctionInfo.h76CppCheck.warning.warning .Member variable 'AArch64FunctionInfo::LocalStackSize' is not initiali zed in the constructor.
Member variable 'AArch64FunctionInfo::LocalStackSize' is not initializ ed in the constructor.D:\llvm4\lib\Target\AArch64\AArch64MachineFunctionInfo.h81CppCheck.warning.warning .Member variable 'AArch64FunctionInfo::LocalStackSize' is not initiali zed in the constructor.
Struct 'ShuffleSourceInfo' has a constructor with 1 argument that is n ot explicit.D:\llvm4\lib\Target\AArch64\AArch64ISelLowering.cpp4 338CppCheck.style.style .Struct 'ShuffleSourceInfo' has a constructor with 1 argument that is not explicit.
Member variable 'AArch64A57FPLoadBalancing::TII' is not initialized in the constructor.D:\llvm4\lib\Target\AArch64\AArch64A57FPLoadBalancing.cpp119CppCheck.warning.warning .Member variable 'AArch64A57FPLoadBalancing::TII' is not initialized i n the constructor.
Possible inefficient checking for 'Substs' emptiness.D:\llvm4\lib\Target\AArch64\AArch64A57FPLoadBalancing.cpp565CppCheck.performance.performance .Possible inefficient checking for 'Substs' emptiness.
Member variable 'Chain::KillIsImmutable' is not initialized in the con structor.D:\llvm4\lib\Target\AArch64\AArch64A57FPLoadBalancing.cpp191CppCheck.warning.warning .Member variable 'Chain::KillIsImmutable' is not initialized in the co nstructor.
The scope of the variable 'Src0' can be reduced.D:\llvm4\lib\Target\AArch64\AArch64AdvSIMDScalarPass.cpp203CppCheck.style.style.The scope of the variable 'Src0' can be reduced.
The scope of the variable 'Src1' can be reduced.D:\llvm4\lib\Target\AArch64\AArch64AdvSIMDScalarPass.cpp204CppCheck.style.style.The scope of the variable 'Src1' can be reduced.
Member variable 'AArch64AdvSIMDScalar::MRI' is not initialized in the constructor.D:\llvm4\lib\Target\AArch64\AArch64AdvSIMDScalarPass.cpp85CppCheck.warning.warning .Member variable 'AArch64AdvSIMDScalar::MRI' is not initialized in the constructor.
Member variable 'AArch64BranchRelaxation::MF' is not initialized in th e constructor.D:\llvm4\lib\Target\AArch64\AArch64BranchRelaxation.cpp96CppCheck.warning.warning .Member variable 'AArch64BranchRelaxation::MF' is not initialized in t he constructor.
C-style pointer castingD:\llvm4\lib\Target\AArch64\AArch64BranchRelaxation.cpp479CppCheck.style.style.C-style pointer casting
The class 'SSACCmpConv' does not have a constructor.D:\llvm4\lib\Target\AArch64\AArch64ConditionalCompares.cpp140CppCheck.style.style .The class 'SSACCmpConv' does not have a constructor.
Member variable 'AArch64ConditionalCompares::TII' is not initialized i n the constructor.D:\llvm4\lib\Target\AArch64\AArch64ConditionalCompares.cpp738CppCheck.warning.warning .Member variable 'AArch64ConditionalCompares::TII' is not initialized in the constructor.
Member variable 'AArch64DeadRegisterDefinitions::TRI' is not initializ ed in the constructor.D:\llvm4\lib\Target\AArch64\AArch64DeadRegisterDefinitionsPass.cpp38CppCheck.warning.warning .Member variable 'AArch64DeadRegisterDefinitions::TRI' is not initiali zed in the constructor.
Member variable 'AArch64ExpandPseudo::TII' is not initialized in the c onstructor.D:\llvm4\lib\Target\AArch64\AArch64ExpandPseudoInsts.cpp29CppCheck.warning.warning .Member variable 'AArch64ExpandPseudo::TII' is not initialized in the constructor.
The scope of the variable 'DestReg' can be reduced.D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp2 577CppCheck.style.style .The scope of the variable 'DestReg' can be reduced.
Member variable 'AArch64ConditionOptimizer::TII' is not initialized in the constructor.D:\llvm4\lib\Target\AArch64\AArch64ConditionOptimizer.cpp95CppCheck.warning.warning .Member variable 'AArch64ConditionOptimizer::TII' is not initialized i n the constructor.
Member variable 'AArch64LoadStoreOpt::TII' is not initialized in the c onstructor.D:\llvm4\lib\Target\AArch64\AArch64LoadStoreOptimizer.cpp55CppCheck.warning.warning .Member variable 'AArch64LoadStoreOpt::TII' is not initialized in the constructor.
Member variable 'AArch64StorePairSuppress::TII' is not initialized in the constructor.D:\llvm4\lib\Target\AArch64\AArch64StorePairSuppress.cpp40CppCheck.warning.warning .Member variable 'AArch64StorePairSuppress::TII' is not initialized in the constructor.
Class 'AArch64TTI' has a constructor with 1 argument that is not expli cit.D:\llvm4\lib\Target\AArch64\AArch64TargetTransformInfo.cpp52CppCheck.style.style .Class 'AArch64TTI' has a constructor with 1 argument that is not expl icit.
The scope of the variable 'NumVectorInstToHideOverhead' can be reduced .D:\llvm4\lib\Target\AArch64\AArch64TargetTransformInfo.cpp436CppCheck.style.style .The scope of the variable 'NumVectorInstToHideOverhead' can be reduce d.
Class 'AArch64AsmBackend' has a constructor with 1 argument that is no t explicit.D:\llvm4\lib\Target\AArch64\MCTargetDesc\AArch64AsmBackend.cpp32CppCheck.style.style .Class 'AArch64AsmBackend' has a constructor with 1 argument that is n ot explicit.
Clarify calculation precedence for '&' and '?'.D:\llvm4\lib\Target\AArch64\Disassembler\AArch64Disassembler.cpp1 418CppCheck.style.style.Clarify calculation precedence for '&' and '?'.
Struct 'MSRMapper' has a constructor with 1 argument that is not expli cit.D:\llvm4\lib\Target\AArch64\Utils\AArch64BaseInfo.h1 151CppCheck.style.style .Struct 'MSRMapper' has a constructor with 1 argument that is not expl icit.
Struct 'MRSMapper' has a constructor with 1 argument that is not expli cit.D:\llvm4\lib\Target\AArch64\Utils\AArch64BaseInfo.h1 156CppCheck.style.style .Struct 'MRSMapper' has a constructor with 1 argument that is not expl icit.
Struct 'AArch64NamedImmMapper' has a constructor with 1 argument that is not explicit.D:\llvm4\lib\Target\AArch64\Utils\AArch64BaseInfo.h286CppCheck.style.style .Struct 'AArch64NamedImmMapper' has a constructor with 1 argument that is not explicit.
Member variable 'SysRegMapper::InstPairs' is not initialized in the co nstructor.D:\llvm4\lib\Target\AArch64\Utils\AArch64BaseInfo.h1 144CppCheck.warning.warning .Member variable 'SysRegMapper::InstPairs' is not initialized in the c onstructor.
Struct 'SysRegMapper' has a constructor with 1 argument that is not ex plicit.D:\llvm4\lib\Target\AArch64\Utils\AArch64BaseInfo.h1 144CppCheck.style.style .Struct 'SysRegMapper' has a constructor with 1 argument that is not e xplicit.
Class 'UnwindContext' has a constructor with 1 argument that is not ex plicit.D:\llvm4\lib\Target\ARM\AsmParser\ARMAsmParser.cpp71CppCheck.style.style .Class 'UnwindContext' has a constructor with 1 argument that is not e xplicit.

Statistics

Stat   FilePath   BeginLine
Sum:01 594 945
Average:01 000
Minimum:01
Maximum:019 157
Standard deviation:02 046
Variance:04 190 033

1120
Diagnostics Queries  

warningCritical    Rule warning: All diagnostics
// <Name>All diagnostics</Name> 
warnif count > 0
from issue in Issues  where issue.ToolName=="Clang"
select new { issue,issue.FilePath,issue.BeginLine }
        

53,372 fields matched

fieldsFilePathBeginLineFull Name
'override' keyword is incompatible with C++98D:\llvm4\lib\Target\Mips\AsmParser\MipsAsmParser.cpp107Clang.diagnostic.diagnostic .'override' keyword is incompatible with C++98
'override' keyword is incompatible with C++98D:\llvm4\lib\Target\Mips\AsmParser\MipsAsmParser.cpp112Clang.diagnostic.diagnostic .'override' keyword is incompatible with C++98
'override' keyword is incompatible with C++98D:\llvm4\lib\Target\Mips\AsmParser\MipsAsmParser.cpp115Clang.diagnostic.diagnostic .'override' keyword is incompatible with C++98
'override' keyword is incompatible with C++98D:\llvm4\lib\Target\Mips\AsmParser\MipsAsmParser.cpp122Clang.diagnostic.diagnostic .'override' keyword is incompatible with C++98
'override' keyword is incompatible with C++98D:\llvm4\lib\Target\Mips\AsmParser\MipsAsmParser.cpp124Clang.diagnostic.diagnostic .'override' keyword is incompatible with C++98
'override' keyword is incompatible with C++98D:\llvm4\lib\Target\ARM\Disassembler\ARMDisassembler.cpp104Clang.diagnostic.diagnostic .'override' keyword is incompatible with C++98
'override' keyword is incompatible with C++98D:\llvm4\lib\Target\ARM\Disassembler\ARMDisassembler.cpp123Clang.diagnostic.diagnostic .'override' keyword is incompatible with C++98
static_assert declarations are incompatible with C++98D:\llvm4\unittests\Support\Casting.cpp80Clang.diagnostic.diagnostic .static_assert declarations are incompatible with C++98
static_assert declarations are incompatible with C++98D:\llvm4\unittests\Support\Casting.cpp82Clang.diagnostic.diagnostic .static_assert declarations are incompatible with C++98
static_assert declarations are incompatible with C++98D:\llvm4\unittests\Support\Casting.cpp86Clang.diagnostic.diagnostic .static_assert declarations are incompatible with C++98
static_assert declarations are incompatible with C++98D:\llvm4\unittests\Support\Casting.cpp88Clang.diagnostic.diagnostic .static_assert declarations are incompatible with C++98
'nullptr' is incompatible with C++98D:\llvm4\unittests\Support\Casting.cpp93Clang.diagnostic.diagnostic.'nullptr' is incompatible with C++98
declaration requires a global constructorD:\llvm4\unittests\Support\Casting.cpp95Clang.diagnostic.diagnostic.declaration requires a global constructor
declaration requires a global constructorD:\llvm4\unittests\Support\Casting.cpp101Clang.diagnostic.diagnostic.declaration requires a global constructor
declaration requires a global constructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp27Clang.diagnostic.diagnostic.declaration requires a global constructor
declaration requires a global constructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp29Clang.diagnostic.diagnostic.declaration requires a global constructor
declaration requires a global constructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp30Clang.diagnostic.diagnostic.declaration requires a global constructor
declaration requires an exit-time destructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp56Clang.diagnostic.diagnostic .declaration requires an exit-time destructor
declaration requires a global destructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp56Clang.diagnostic.diagnostic.declaration requires a global destructor
declaration requires an exit-time destructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp67Clang.diagnostic.diagnostic .declaration requires an exit-time destructor
declaration requires a global destructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp67Clang.diagnostic.diagnostic.declaration requires a global destructor
declaration requires an exit-time destructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp78Clang.diagnostic.diagnostic .declaration requires an exit-time destructor
declaration requires a global destructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp78Clang.diagnostic.diagnostic.declaration requires a global destructor
declaration requires an exit-time destructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp82Clang.diagnostic.diagnostic .declaration requires an exit-time destructor
declaration requires a global destructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp82Clang.diagnostic.diagnostic.declaration requires a global destructor
declaration requires an exit-time destructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp94Clang.diagnostic.diagnostic .declaration requires an exit-time destructor
declaration requires a global destructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp94Clang.diagnostic.diagnostic.declaration requires a global destructor
declaration requires an exit-time destructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp100Clang.diagnostic.diagnostic .declaration requires an exit-time destructor
declaration requires a global destructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp100Clang.diagnostic.diagnostic.declaration requires a global destructor
declaration requires an exit-time destructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp107Clang.diagnostic.diagnostic .declaration requires an exit-time destructor
declaration requires a global destructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp107Clang.diagnostic.diagnostic.declaration requires a global destructor
declaration requires an exit-time destructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp112Clang.diagnostic.diagnostic .declaration requires an exit-time destructor
declaration requires a global destructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp112Clang.diagnostic.diagnostic.declaration requires a global destructor
declaration requires an exit-time destructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp121Clang.diagnostic.diagnostic .declaration requires an exit-time destructor
declaration requires a global destructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp121Clang.diagnostic.diagnostic.declaration requires a global destructor
declaration requires an exit-time destructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp129Clang.diagnostic.diagnostic .declaration requires an exit-time destructor
declaration requires a global destructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp129Clang.diagnostic.diagnostic.declaration requires a global destructor
declaration requires an exit-time destructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp134Clang.diagnostic.diagnostic .declaration requires an exit-time destructor
declaration requires a global destructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp134Clang.diagnostic.diagnostic.declaration requires a global destructor
declaration requires an exit-time destructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp142Clang.diagnostic.diagnostic .declaration requires an exit-time destructor
declaration requires a global destructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp142Clang.diagnostic.diagnostic.declaration requires a global destructor
declaration requires a global constructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp339Clang.diagnostic.diagnostic.declaration requires a global constructor
declaration requires a global constructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp343Clang.diagnostic.diagnostic.declaration requires a global constructor
declaration requires a global constructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp347Clang.diagnostic.diagnostic.declaration requires a global constructor
declaration requires a global constructorD:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp351Clang.diagnostic.diagnostic.declaration requires a global constructor
declaration requires an exit-time destructorD:\llvm4\unittests\ADT\StringMapTest.cpp75Clang.diagnostic.diagnostic .declaration requires an exit-time destructor
declaration requires a global destructorD:\llvm4\unittests\ADT\StringMapTest.cpp75Clang.diagnostic.diagnostic.declaration requires a global destructor
declaration requires an exit-time destructorD:\llvm4\unittests\ADT\DenseMapTest.cpp58Clang.diagnostic.diagnostic .declaration requires an exit-time destructor
declaration requires a global destructorD:\llvm4\unittests\ADT\DenseMapTest.cpp58Clang.diagnostic.diagnostic.declaration requires a global destructor
'nullptr' is incompatible with C++98D:\llvm4\unittests\ADT\DenseMapTest.cpp95Clang.diagnostic.diagnostic.'nullptr' is incompatible with C++98
'nullptr' is incompatible with C++98D:\llvm4\unittests\ADT\DenseMapTest.cpp97Clang.diagnostic.diagnostic.'nullptr' is incompatible with C++98
static_assert declarations are incompatible with C++98D:\llvm4\unittests\ADT\ArrayRefTest.cpp18Clang.diagnostic.diagnostic .static_assert declarations are incompatible with C++98
consecutive right angle brackets are incompatible with C++98 (use '> >')D:\llvm4\unittests\ADT\ArrayRefTest.cpp19Clang.diagnostic.diagnostic .consecutive right angle brackets are incompatible with C++98 (use '> >')
static_assert declarations are incompatible with C++98D:\llvm4\unittests\ADT\ArrayRefTest.cpp21Clang.diagnostic.diagnostic .static_assert declarations are incompatible with C++98
consecutive right angle brackets are incompatible with C++98 (use '> >')D:\llvm4\unittests\ADT\ArrayRefTest.cpp22Clang.diagnostic.diagnostic .consecutive right angle brackets are incompatible with C++98 (use '> >')
static_assert declarations are incompatible with C++98D:\llvm4\unittests\ADT\ArrayRefTest.cpp24Clang.diagnostic.diagnostic .static_assert declarations are incompatible with C++98
consecutive right angle brackets are incompatible with C++98 (use '> >')D:\llvm4\unittests\ADT\ArrayRefTest.cpp24Clang.diagnostic.diagnostic .consecutive right angle brackets are incompatible with C++98 (use '> >')
static_assert declarations are incompatible with C++98D:\llvm4\unittests\ADT\ArrayRefTest.cpp26Clang.diagnostic.diagnostic .static_assert declarations are incompatible with C++98
consecutive right angle brackets are incompatible with C++98 (use '> >')D:\llvm4\unittests\ADT\ArrayRefTest.cpp27Clang.diagnostic.diagnostic .consecutive right angle brackets are incompatible with C++98 (use '> >')
static_assert declarations are incompatible with C++98D:\llvm4\unittests\ADT\ArrayRefTest.cpp29Clang.diagnostic.diagnostic .static_assert declarations are incompatible with C++98
consecutive right angle brackets are incompatible with C++98 (use '> >')D:\llvm4\unittests\ADT\ArrayRefTest.cpp30Clang.diagnostic.diagnostic .consecutive right angle brackets are incompatible with C++98 (use '> >')
'long long' is incompatible with C++98D:\llvm4\unittests\ADT\StringRefTest.cpp378Clang.diagnostic.diagnostic.'long long' is incompatible with C++98
'long long' is incompatible with C++98D:\llvm4\unittests\ADT\StringRefTest.cpp379Clang.diagnostic.diagnostic.'long long' is incompatible with C++98
'long long' is incompatible with C++98D:\llvm4\unittests\ADT\StringRefTest.cpp380Clang.diagnostic.diagnostic.'long long' is incompatible with C++98
'long long' is incompatible with C++98D:\llvm4\unittests\ADT\StringRefTest.cpp400Clang.diagnostic.diagnostic.'long long' is incompatible with C++98
'long long' is incompatible with C++98D:\llvm4\unittests\ADT\StringRefTest.cpp401Clang.diagnostic.diagnostic.'long long' is incompatible with C++98
'long long' is incompatible with C++98D:\llvm4\unittests\ADT\StringRefTest.cpp402Clang.diagnostic.diagnostic.'long long' is incompatible with C++98
'long long' is incompatible with C++98D:\llvm4\unittests\ADT\StringRefTest.cpp403Clang.diagnostic.diagnostic.'long long' is incompatible with C++98
'long long' is incompatible with C++98D:\llvm4\unittests\ADT\StringRefTest.cpp404Clang.diagnostic.diagnostic.'long long' is incompatible with C++98
declaration requires a global constructorD:\llvm4\unittests\ADT\MapVectorTest.cpp16Clang.diagnostic.diagnostic.declaration requires a global constructor
'MapVectorTest_insert_pop_Test' has no out-of-line virtual method defi nitions; its vtable will be emitted in every translation unitD:\llvm4\unittests\ADT\MapVectorTest.cpp16Clang.diagnostic.diagnostic .'MapVectorTest_insert_pop_Test' has no out-of-line virtual method def initions; its vtable will be emitted in every translation unit
declaration requires a global constructorD:\llvm4\unittests\ADT\MapVectorTest.cpp57Clang.diagnostic.diagnostic.declaration requires a global constructor
'MapVectorTest_erase_Test' has no out-of-line virtual method definitio ns; its vtable will be emitted in every translation unitD:\llvm4\unittests\ADT\MapVectorTest.cpp57Clang.diagnostic.diagnostic .'MapVectorTest_erase_Test' has no out-of-line virtual method definiti ons; its vtable will be emitted in every translation unit
declaration requires a global constructorD:\llvm4\unittests\ADT\MapVectorTest.cpp72Clang.diagnostic.diagnostic.declaration requires a global constructor
'MapVectorTest_remove_if_Test' has no out-of-line virtual method defin itions; its vtable will be emitted in every translation unitD:\llvm4\unittests\ADT\MapVectorTest.cpp72Clang.diagnostic.diagnostic .'MapVectorTest_remove_if_Test' has no out-of-line virtual method defi nitions; its vtable will be emitted in every translation unit
lambda expressions are incompatible with C++98D:\llvm4\unittests\ADT\MapVectorTest.cpp83Clang.diagnostic.diagnostic .lambda expressions are incompatible with C++98
local type '(lambda at D:\llvm4\unittests\ADT\MapVectorTest.cpp:83:16 )' as template argument is incompatible with C++98D:\llvm4\unittests\ADT\MapVectorTest.cpp83Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\unittests\ADT\MapVectorTest.cpp:83:16 )' as template argument is incompatible with C++98
declaration requires a global constructorD:\llvm4\unittests\ADT\SmallPtrSetTest.cpp19Clang.diagnostic.diagnostic.declaration requires a global constructor
'SmallPtrSetTest_Assignment_Test' has no out-of-line virtual method de finitions; its vtable will be emitted in every translation unitD:\llvm4\unittests\ADT\SmallPtrSetTest.cpp19Clang.diagnostic.diagnostic .'SmallPtrSetTest_Assignment_Test' has no out-of-line virtual method d efinitions; its vtable will be emitted in every translation unit
declaration requires a global constructorD:\llvm4\unittests\ADT\SmallPtrSetTest.cpp43Clang.diagnostic.diagnostic.declaration requires a global constructor
'SmallPtrSetTest_GrowthTest_Test' has no out-of-line virtual method de finitions; its vtable will be emitted in every translation unitD:\llvm4\unittests\ADT\SmallPtrSetTest.cpp43Clang.diagnostic.diagnostic .'SmallPtrSetTest_GrowthTest_Test' has no out-of-line virtual method d efinitions; its vtable will be emitted in every translation unit
declaration requires a global constructorD:\llvm4\unittests\ADT\SmallPtrSetTest.cpp97Clang.diagnostic.diagnostic.declaration requires a global constructor
'SmallPtrSetTest_CopyAndMoveTest_Test' has no out-of-line virtual meth od definitions; its vtable will be emitted in every translation unitD:\llvm4\unittests\ADT\SmallPtrSetTest.cpp97Clang.diagnostic.diagnostic .'SmallPtrSetTest_CopyAndMoveTest_Test' has no out-of-line virtual met hod definitions; its vtable will be emitted in every translation unit
declaration requires a global constructorD:\llvm4\unittests\ADT\SmallPtrSetTest.cpp160Clang.diagnostic.diagnostic.declaration requires a global constructor
'SmallPtrSetTest_SwapTest_Test' has no out-of-line virtual method defi nitions; its vtable will be emitted in every translation unitD:\llvm4\unittests\ADT\SmallPtrSetTest.cpp160Clang.diagnostic.diagnostic .'SmallPtrSetTest_SwapTest_Test' has no out-of-line virtual method def initions; its vtable will be emitted in every translation unit
declaration requires a global constructorD:\llvm4\unittests\ADT\APFloatTest.cpp36Clang.diagnostic.diagnostic.declaration requires a global constructor
declaration requires a global constructorD:\llvm4\unittests\ADT\APFloatTest.cpp51Clang.diagnostic.diagnostic.declaration requires a global constructor
declaration requires a global constructorD:\llvm4\unittests\ADT\APFloatTest.cpp456Clang.diagnostic.diagnostic.declaration requires a global constructor
use of old-style castD:\llvm4\unittests\ADT\APFloatTest.cpp469Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\APFloatTest.cpp470Clang.diagnostic.diagnostic.use of old-style cast
declaration requires a global constructorD:\llvm4\unittests\ADT\APFloatTest.cpp479Clang.diagnostic.diagnostic.declaration requires a global constructor
declaration requires a global constructorD:\llvm4\unittests\ADT\APFloatTest.cpp531Clang.diagnostic.diagnostic.declaration requires a global constructor
declaration requires a global constructorD:\llvm4\unittests\ADT\APFloatTest.cpp541Clang.diagnostic.diagnostic.declaration requires a global constructor
declaration requires a global constructorD:\llvm4\unittests\ADT\APFloatTest.cpp566Clang.diagnostic.diagnostic.declaration requires a global constructor
declaration requires a global constructorD:\llvm4\unittests\ADT\APFloatTest.cpp596Clang.diagnostic.diagnostic.declaration requires a global constructor
declaration requires a global constructorD:\llvm4\unittests\ADT\APFloatTest.cpp653Clang.diagnostic.diagnostic.declaration requires a global constructor
declaration requires a global constructorD:\llvm4\unittests\ADT\APFloatTest.cpp672Clang.diagnostic.diagnostic.declaration requires a global constructor
declaration requires a global constructorD:\llvm4\unittests\ADT\APFloatTest.cpp737Clang.diagnostic.diagnostic.declaration requires a global constructor
declaration requires a global constructorD:\llvm4\unittests\ADT\APFloatTest.cpp773Clang.diagnostic.diagnostic.declaration requires a global constructor
declaration requires a global constructorD:\llvm4\unittests\ADT\APFloatTest.cpp860Clang.diagnostic.diagnostic.declaration requires a global constructor

Statistics

Stat   FilePath   BeginLine
Sum:081 164 712
Average:01 520
Minimum:09
Maximum:023 791
Standard deviation:02 304
Variance:05 308 808
warningCritical    Rule warning: Preprocessor issues
// <Name>Preprocessor issues</Name>
warnif count > 0
from issue in Issues  where issue.ToolName=="Clang" && issue.Type.Contains("_pp_")
select new { issue,issue.FilePath,issue.BeginLine }
        

19 fields matched

fieldsFilePathBeginLineFull Name
'HAVE_DECL_FE_ALL_EXCEPT' is not defined, evaluates to 0D:\llvm4\lib\Analysis\ConstantFolding.cpp1 326Clang.diagnostic.diagnostic.'HAVE_DECL_FE_ALL_EXCEPT' is not defined , evaluates to 0
'HAVE_DECL_FE_ALL_EXCEPT' is not defined, evaluates to 0D:\llvm4\lib\Analysis\ConstantFolding.cpp1 337Clang.diagnostic.diagnostic.'HAVE_DECL_FE_ALL_EXCEPT' is not defined , evaluates to 0
'HAVE_PRINTF_A' is not defined, evaluates to 0D:\llvm4\lib\Target\CppBackend\CPPBackend.cpp224Clang.diagnostic.diagnostic.'HAVE_PRINTF_A' is not defined , evaluates to 0
'HAVE_PRINTF_A' is not defined, evaluates to 0D:\llvm4\lib\Target\CppBackend\CPPBackend.cpp263Clang.diagnostic.diagnostic.'HAVE_PRINTF_A' is not defined , evaluates to 0
macro name is a reserved identifierD:\llvm4\lib\Target\R600\SIISelLowering.cpp17Clang.diagnostic.diagnostic.macro name is a reserved identifier
'LLVM_ON_UNIX' is not defined, evaluates to 0D:\llvm4\lib\Support\LockFileManager.cpp22Clang.diagnostic.diagnostic.'LLVM_ON_UNIX' is not defined , evaluates to 0
'HAVE_VALGRIND_VALGRIND_H' is not defined, evaluates to 0D:\llvm4\lib\Support\Valgrind.cpp19Clang.diagnostic.diagnostic.'HAVE_VALGRIND_VALGRIND_H' is not defined , evaluates to 0
'HAVE_ROUND' is not defined, evaluates to 0D:\llvm4\lib\Support\APInt.cpp1 295Clang.diagnostic.diagnostic.'HAVE_ROUND' is not defined , evaluates to 0
'LLVM_ON_UNIX' is not defined, evaluates to 0D:\llvm4\lib\Support\LockFileManager.cpp61Clang.diagnostic.diagnostic.'LLVM_ON_UNIX' is not defined , evaluates to 0
'LLVM_ON_UNIX' is not defined, evaluates to 0D:\llvm4\lib\Support\LockFileManager.cpp103Clang.diagnostic.diagnostic.'LLVM_ON_UNIX' is not defined , evaluates to 0
'LLVM_ON_WIN32' is not defined, evaluates to 0D:\llvm4\lib\Support\Locale.cpp9Clang.diagnostic.diagnostic.'LLVM_ON_WIN32' is not defined , evaluates to 0
'LLVM_ON_WIN32' is not defined, evaluates to 0D:\llvm4\lib\Support\Locale.cpp17Clang.diagnostic.diagnostic.'LLVM_ON_WIN32' is not defined , evaluates to 0
expansion of date or time macro is not reproducibleD:\llvm4\lib\Support\CommandLine.cpp1 755Clang.diagnostic.diagnostic .expansion of date or time macro is not reproducible
'__GNUC__' is not defined, evaluates to 0D:\llvm4\unittests\Support\AlignOfTest.cpp31Clang.diagnostic.diagnostic.'__GNUC__' is not defined, evaluates to 0
'HAVE_SETENV' is not defined, evaluates to 0D:\llvm4\unittests\Support\ProcessTest.cpp53Clang.diagnostic.diagnostic.'HAVE_SETENV' is not defined , evaluates to 0
'HAVE_SETENV' is not defined, evaluates to 0D:\llvm4\unittests\Support\CommandLineTest.cpp27Clang.diagnostic.diagnostic.'HAVE_SETENV' is not defined , evaluates to 0
'HAVE_SETENV' is not defined, evaluates to 0D:\llvm4\unittests\Support\CommandLineTest.cpp35Clang.diagnostic.diagnostic.'HAVE_SETENV' is not defined , evaluates to 0
'__ALTIVEC__' is not defined, evaluates to 0D:\llvm4\tools\clang\lib\Lex\Lexer.cpp2 277Clang.diagnostic.diagnostic.'__ALTIVEC__' is not defined , evaluates to 0
'__ALTIVEC__' is not defined, evaluates to 0D:\llvm4\tools\clang\lib\Lex\Lexer.cpp2 354Clang.diagnostic.diagnostic.'__ALTIVEC__' is not defined , evaluates to 0

Statistics

Stat   FilePath   BeginLine
Sum:011 225
Average:0590.79
Minimum:09
Maximum:02 354
Standard deviation:0812.35
Variance:0659 907
warningCritical    Rule warning: Cast issues
// <Name>Cast issues</Name>
warnif count > 0
from issue in Issues  where issue.ToolName=="Clang" && issue.Type.Contains("cast")
select new { issue,issue.FilePath,issue.BeginLine }
        

14,400 fields matched

fieldsFilePathBeginLineFull Name
use of old-style castD:\llvm4\unittests\ADT\APFloatTest.cpp469Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\APFloatTest.cpp470Clang.diagnostic.diagnostic.use of old-style cast
implicit conversion changes signedness: 'int' to 'uint64_t' (aka 'unsigned long long')D:\llvm4\unittests\ADT\APFloatTest.cpp909Clang.diagnostic.diagnostic .implicit conversion changes signedness: 'int' to 'uint64_t' (aka 'unsigned long long')
use of old-style castD:\llvm4\unittests\ADT\APFloatTest.cpp1 803Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\APFloatTest.cpp1 804Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\APFloatTest.cpp2 091Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\APFloatTest.cpp2 092Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\APFloatTest.cpp2 380Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\APFloatTest.cpp2 381Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\APFloatTest.cpp2 669Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\APFloatTest.cpp2 670Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\APIntTest.cpp53Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\APIntTest.cpp92Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\SCCIteratorTest.cpp83Clang.diagnostic.diagnostic.use of old-style cast
implicit conversion changes signedness: 'int' to 'unsigned int'D:\llvm4\unittests\ADT\BitVectorTest.cpp77Clang.diagnostic.diagnostic .implicit conversion changes signedness: 'int' to 'unsigned int'
implicit conversion changes signedness: 'int' to 'unsigned int'D:\llvm4\unittests\ADT\BitVectorTest.cpp107Clang.diagnostic.diagnostic .implicit conversion changes signedness: 'int' to 'unsigned int'
use of old-style castD:\llvm4\unittests\ADT\DAGDeltaAlgorithmTest.cpp42Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\DAGDeltaAlgorithmTest.cpp44Clang.diagnostic.diagnostic.use of old-style cast
cast from 'va_list' (aka 'char *' ) to 'unsigned int *' increases required alignment from 1 to 4D:\llvm4\unittests\ADT\DAGDeltaAlgorithmTest.cpp44Clang.diagnostic.diagnostic.cast from 'va_list' (aka 'char *' ) to 'unsigned int *' increases required alignment from 1 to 4
use of old-style castD:\llvm4\unittests\ADT\DAGDeltaAlgorithmTest.cpp45Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\DeltaAlgorithmTest.cpp57Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\DeltaAlgorithmTest.cpp59Clang.diagnostic.diagnostic.use of old-style cast
cast from 'va_list' (aka 'char *' ) to 'unsigned int *' increases required alignment from 1 to 4D:\llvm4\unittests\ADT\DeltaAlgorithmTest.cpp59Clang.diagnostic.diagnostic.cast from 'va_list' (aka 'char *' ) to 'unsigned int *' increases required alignment from 1 to 4
use of old-style castD:\llvm4\unittests\ADT\DeltaAlgorithmTest.cpp60Clang.diagnostic.diagnostic.use of old-style cast
implicit conversion changes signedness: 'int' to 'uint32_t' (aka 'unsigned int')D:\llvm4\unittests\ADT\DenseMapTest.cpp19Clang.diagnostic.diagnostic .implicit conversion changes signedness: 'int' to 'uint32_t' (aka 'unsigned int')
implicit conversion changes signedness: 'int' to 'uint32_t' (aka 'unsigned int')D:\llvm4\unittests\ADT\DenseMapTest.cpp20Clang.diagnostic.diagnostic .implicit conversion changes signedness: 'int' to 'uint32_t' (aka 'unsigned int')
implicit conversion changes signedness: 'uint32_t' (aka 'unsigned int' ) to 'int'D:\llvm4\unittests\ADT\DenseMapTest.cpp43Clang.diagnostic.diagnostic .implicit conversion changes signedness: 'uint32_t' (aka 'unsigned int') to 'int'
implicit conversion changes signedness: 'const int' to 'uint32_t' (aka 'unsigned int')D:\llvm4\unittests\ADT\DenseMapTest.cpp52Clang.diagnostic.diagnostic .implicit conversion changes signedness: 'const int' to 'uint32_t' (aka 'unsigned int')
implicit conversion changes signedness: 'int' to 'unsigned int'D:\llvm4\unittests\ADT\DenseMapTest.cpp64Clang.diagnostic.diagnostic .implicit conversion changes signedness: 'int' to 'unsigned int'
implicit conversion changes signedness: 'int' to 'mapped_type' (aka 'unsigned int')D:\llvm4\unittests\ADT\DenseMapTest.cpp298Clang.diagnostic.diagnostic .implicit conversion changes signedness: 'int' to 'mapped_type' (aka 'unsigned int')
implicit conversion changes signedness: 'int' to 'unsigned int'D:\llvm4\unittests\ADT\DenseMapTest.cpp328Clang.diagnostic.diagnostic .implicit conversion changes signedness: 'int' to 'unsigned int'
use of old-style castD:\llvm4\unittests\ADT\DenseMapTest.cpp332Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\DenseMapTest.cpp338Clang.diagnostic.diagnostic.use of old-style cast
implicit conversion changes signedness: 'int' to 'unsigned int'D:\llvm4\unittests\ADT\DenseMapTest.cpp367Clang.diagnostic.diagnostic .implicit conversion changes signedness: 'int' to 'unsigned int'
implicit conversion changes signedness: 'int' to 'const value_type' (aka 'const unsigned int')D:\llvm4\unittests\ADT\HashingTest.cpp193Clang.diagnostic.diagnostic .implicit conversion changes signedness: 'int' to 'const value_type' (aka 'const unsigned int')
use of old-style castD:\llvm4\unittests\ADT\HashingTest.cpp373Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\HashingTest.cpp374Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\HashingTest.cpp375Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\MakeUniqueTest.cpp19Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\MakeUniqueTest.cpp23Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\MakeUniqueTest.cpp27Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\MakeUniqueTest.cpp31Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\MakeUniqueTest.cpp35Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\MakeUniqueTest.cpp39Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\MakeUniqueTest.cpp44Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\MakeUniqueTest.cpp49Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\MakeUniqueTest.cpp54Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\MakeUniqueTest.cpp60Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\MakeUniqueTest.cpp66Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\MakeUniqueTest.cpp72Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\OptionalTest.cpp213Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\OptionalTest.cpp224Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\OptionalTest.cpp225Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\OptionalTest.cpp236Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\OptionalTest.cpp248Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\OptionalTest.cpp249Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\OptionalTest.cpp261Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\OptionalTest.cpp262Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\OptionalTest.cpp273Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\OptionalTest.cpp274Clang.diagnostic.diagnostic.use of old-style cast
implicit conversion changes signedness: 'int' to 'unsigned int'D:\llvm4\unittests\ADT\PackedVectorTest.cpp86Clang.diagnostic.diagnostic .implicit conversion changes signedness: 'int' to 'unsigned int'
use of old-style castD:\llvm4\unittests\ADT\PointerIntPairTest.cpp64Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\PointerIntPairTest.cpp68Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\PointerUnionTest.cpp46Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\PointerUnionTest.cpp47Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\PointerUnionTest.cpp69Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\SmallVectorTest.cpp181Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\SmallVectorTest.cpp183Clang.diagnostic.diagnostic.use of old-style cast
cast from 'va_list' (aka 'char *' ) to 'int *' increases required alignment from 1 to 4D:\llvm4\unittests\ADT\SmallVectorTest.cpp183Clang.diagnostic.diagnostic.cast from 'va_list' (aka 'char *' ) to 'int *' increases required alignment from 1 to 4
use of old-style castD:\llvm4\unittests\ADT\SmallVectorTest.cpp187Clang.diagnostic.diagnostic.use of old-style cast
implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned int')D:\llvm4\unittests\ADT\SmallVectorTest.cpp306Clang.diagnostic.diagnostic .implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned int')
implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned int')D:\llvm4\unittests\ADT\SmallVectorTest.cpp308Clang.diagnostic.diagnostic .implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned int')
implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned int')D:\llvm4\unittests\ADT\SmallVectorTest.cpp310Clang.diagnostic.diagnostic .implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned int')
implicit conversion changes signedness: 'int' to 'unsigned int'D:\llvm4\unittests\ADT\SmallVectorTest.cpp332Clang.diagnostic.diagnostic .implicit conversion changes signedness: 'int' to 'unsigned int'
implicit conversion changes signedness: 'int' to 'unsigned int'D:\llvm4\unittests\ADT\StringMapTest.cpp168Clang.diagnostic.diagnostic .implicit conversion changes signedness: 'int' to 'unsigned int'
use of old-style castD:\llvm4\unittests\ADT\StringRefTest.cpp54Clang.diagnostic.diagnostic.use of old-style cast
implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned int')D:\llvm4\unittests\ADT\StringRefTest.cpp365Clang.diagnostic.diagnostic .implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned int')
implicit conversion changes signedness: 'size_t' (aka 'unsigned int' ) to 'typename iterator_traits<double *const *>::difference_type' (aka 'int')D:\llvm4\unittests\ADT\TinyPtrVectorTest.cpp75Clang.diagnostic.diagnostic .implicit conversion changes signedness: 'size_t' (aka 'unsigned int' ) to 'typename iterator_traits<double *const *>::difference_type' (aka 'int')
implicit conversion changes signedness: 'size_t' (aka 'unsigned int' ) to 'typename iterator_traits<double *const *>::difference_type' (aka 'int')D:\llvm4\unittests\ADT\TinyPtrVectorTest.cpp77Clang.diagnostic.diagnostic .implicit conversion changes signedness: 'size_t' (aka 'unsigned int' ) to 'typename iterator_traits<double *const *>::difference_type' (aka 'int')
use of old-style castD:\llvm4\unittests\ADT\TripleTest.cpp415Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\TripleTest.cpp416Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\TripleTest.cpp417Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\TripleTest.cpp419Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\TripleTest.cpp420Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\TripleTest.cpp421Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\TripleTest.cpp430Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\TripleTest.cpp431Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\TripleTest.cpp432Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\TripleTest.cpp434Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\TripleTest.cpp435Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\TripleTest.cpp436Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\TripleTest.cpp445Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\TripleTest.cpp446Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\TripleTest.cpp447Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\TripleTest.cpp449Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\TripleTest.cpp450Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\TripleTest.cpp451Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\TripleTest.cpp460Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\TripleTest.cpp461Clang.diagnostic.diagnostic.use of old-style cast
use of old-style castD:\llvm4\unittests\ADT\TripleTest.cpp462Clang.diagnostic.diagnostic.use of old-style cast

Statistics

Stat   FilePath   BeginLine
Sum:025 373 580
Average:01 762
Minimum:017
Maximum:023 791
Standard deviation:02 570
Variance:06 608 465
warningCritical    Rule warning: Conversion Issues
// <Name>Conversion Issues</Name>
warnif count > 0
from issue in Issues  where issue.ToolName=="Clang" && issue.Type.Contains("conversion")
select new { issue,issue.FilePath,issue.BeginLine }
        

2 fields matched

fieldsFilePathBeginLineFull Name
explicit conversion functions are incompatible with C++98D:\llvm4\tools\clang\lib\AST\ExprConstant.cpp2 105Clang.diagnostic.diagnostic .explicit conversion functions are incompatible with C++98
explicit conversion functions are incompatible with C++98D:\llvm4\tools\clang\lib\Analysis\CFG.cpp159Clang.diagnostic.diagnostic .explicit conversion functions are incompatible with C++98

Statistics

Stat   FilePath   BeginLine
Sum:02 264
Average:01 132
Minimum:0159
Maximum:02 105
Standard deviation:0973
Variance:0946 729
warningCritical    Rule warning: Deprecated Usage
// <Name>Deprecated Usage</Name>
warnif count > 0
from issue in Issues  where issue.ToolName=="Clang" && issue.Type.Contains("deprecated")
select new { issue,issue.FilePath,issue.BeginLine }
        

11 fields matched

fieldsFilePathBeginLineFull Name
definition of implicit copy assignment operator for 'CtorTester' is de precated because it has a user-declared destructorD:\llvm4\unittests\ADT\DenseMapTest.cpp49Clang.diagnostic.diagnostic .definition of implicit copy assignment operator for 'CtorTester' is d eprecated because it has a user-declared destructor
definition of implicit copy constructor for 'Node' is deprecated becau se it has a user-declared destructorD:\llvm4\unittests\ADT\ilistTest.cpp25Clang.diagnostic.diagnostic .definition of implicit copy constructor for 'Node' is deprecated beca use it has a user-declared destructor
definition of implicit copy constructor for 'FunctionHandle' is deprec ated because it has a user-declared destructorD:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp158Clang.diagnostic.diagnostic .definition of implicit copy constructor for 'FunctionHandle' is depre cated because it has a user-declared destructor
definition of implicit copy constructor for 'CommentVerifier' is depre cated because it has a user-declared destructorD:\llvm4\tools\clang\unittests\Tooling\CommentHandlerTest.cpp100Clang.diagnostic.diagnostic .definition of implicit copy constructor for 'CommentVerifier' is depr ecated because it has a user-declared destructor
definition of implicit copy constructor for 'Job' is deprecated becaus e it has a user-declared destructorD:\llvm4\tools\clang\lib\AST\ExprConstant.cpp6 323Clang.diagnostic.diagnostic .definition of implicit copy constructor for 'Job' is deprecated becau se it has a user-declared destructor
definition of implicit copy constructor for 'ByrefHelpers' is deprecat ed because it has a user-declared destructorD:\llvm4\tools\clang\lib\CodeGen\CGBlocks.cpp43Clang.diagnostic.diagnostic .definition of implicit copy constructor for 'ByrefHelpers' is depreca ted because it has a user-declared destructor
definition of implicit copy constructor for 'SavedInstanceContext' is deprecated because it has a user-declared destructorD:\llvm4\tools\clang\lib\Sema\SemaAccess.cpp185Clang.diagnostic.diagnostic .definition of implicit copy constructor for 'SavedInstanceContext' is deprecated because it has a user-declared destructor
definition of implicit copy constructor for 'SecKeychainBugVisitor' is deprecated because it has a user-declared destructorD:\llvm4\tools\clang\lib\StaticAnalyzer\Checkers\MacOSKeychainAPIChecker.cpp140Clang.diagnostic.diagnostic .definition of implicit copy constructor for 'SecKeychainBugVisitor' i s deprecated because it has a user-declared destructor
definition of implicit copy constructor for 'MallocBugVisitor' is depr ecated because it has a user-declared destructorD:\llvm4\tools\clang\lib\StaticAnalyzer\Checkers\MallocChecker.cpp377Clang.diagnostic.diagnostic .definition of implicit copy constructor for 'MallocBugVisitor' is dep recated because it has a user-declared destructor
definition of implicit copy constructor for 'BugReporterVisitor' is de precated because it has a user-declared destructorD:\llvm4\tools\clang\lib\StaticAnalyzer\Core\BugReporter.cpp49Clang.diagnostic.diagnostic .definition of implicit copy constructor for 'BugReporterVisitor' is d eprecated because it has a user-declared destructor
definition of implicit copy assignment operator for 'PathPieces' is de precated because it has a user-declared destructorD:\llvm4\tools\clang\lib\StaticAnalyzer\Core\PathDiagnostic.cpp65Clang.diagnostic.diagnostic .definition of implicit copy assignment operator for 'PathPieces' is d eprecated because it has a user-declared destructor

Statistics

Stat   FilePath   BeginLine
Sum:07 514
Average:0683.09
Minimum:025
Maximum:06 323
Standard deviation:01 786
Variance:03 189 999
warningCritical    Rule warning: Unused Symbols
// <Name>Unused Symbols</Name>
warnif count > 0
from issue in Issues  where issue.ToolName=="Clang" && issue.Type.Contains("unused")
select new { issue,issue.FilePath,issue.BeginLine }
        

3,772 fields matched

fieldsFilePathBeginLineFull Name
'hasDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp398Clang.diagnostic.diagnostic .'hasDescendant' was marked unused but was used
'hasDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp405Clang.diagnostic.diagnostic .'hasDescendant' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp466Clang.diagnostic.diagnostic.'has' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp471Clang.diagnostic.diagnostic.'has' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp481Clang.diagnostic.diagnostic.'has' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp482Clang.diagnostic.diagnostic.'has' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp483Clang.diagnostic.diagnostic.'has' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp485Clang.diagnostic.diagnostic.'has' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp486Clang.diagnostic.diagnostic.'has' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp487Clang.diagnostic.diagnostic.'has' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp540Clang.diagnostic.diagnostic.'has' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp542Clang.diagnostic.diagnostic.'has' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp544Clang.diagnostic.diagnostic.'has' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp547Clang.diagnostic.diagnostic.'has' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp550Clang.diagnostic.diagnostic.'has' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp552Clang.diagnostic.diagnostic.'has' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp583Clang.diagnostic.diagnostic.'has' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp585Clang.diagnostic.diagnostic.'has' was marked unused but was used
'hasDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp594Clang.diagnostic.diagnostic .'hasDescendant' was marked unused but was used
'hasDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp609Clang.diagnostic.diagnostic .'hasDescendant' was marked unused but was used
'hasDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp632Clang.diagnostic.diagnostic .'hasDescendant' was marked unused but was used
'hasDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp653Clang.diagnostic.diagnostic .'hasDescendant' was marked unused but was used
unused parameter 'Context'D:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp736Clang.diagnostic.diagnostic.unused parameter 'Context'
'hasDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp749Clang.diagnostic.diagnostic .'hasDescendant' was marked unused but was used
'hasDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp751Clang.diagnostic.diagnostic .'hasDescendant' was marked unused but was used
'hasDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp754Clang.diagnostic.diagnostic .'hasDescendant' was marked unused but was used
'hasDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp756Clang.diagnostic.diagnostic .'hasDescendant' was marked unused but was used
'hasDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp759Clang.diagnostic.diagnostic .'hasDescendant' was marked unused but was used
'forEachDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp762Clang.diagnostic.diagnostic .'forEachDescendant' was marked unused but was used
'hasDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp770Clang.diagnostic.diagnostic .'hasDescendant' was marked unused but was used
'hasDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp772Clang.diagnostic.diagnostic .'hasDescendant' was marked unused but was used
'hasDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp775Clang.diagnostic.diagnostic .'hasDescendant' was marked unused but was used
'forEachDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp778Clang.diagnostic.diagnostic .'forEachDescendant' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp785Clang.diagnostic.diagnostic.'has' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp787Clang.diagnostic.diagnostic.'has' was marked unused but was used
'forEach' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp789Clang.diagnostic.diagnostic.'forEach' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp796Clang.diagnostic.diagnostic.'has' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp799Clang.diagnostic.diagnostic.'has' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp822Clang.diagnostic.diagnostic.'has' was marked unused but was used
'hasDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp833Clang.diagnostic.diagnostic .'hasDescendant' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp856Clang.diagnostic.diagnostic.'has' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp863Clang.diagnostic.diagnostic.'has' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp872Clang.diagnostic.diagnostic.'has' was marked unused but was used
'hasDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp907Clang.diagnostic.diagnostic .'hasDescendant' was marked unused but was used
'hasParent' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp1 150Clang.diagnostic.diagnostic.'hasParent' was marked unused but was used
'hasDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp1 155Clang.diagnostic.diagnostic .'hasDescendant' was marked unused but was used
'hasDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp1 402Clang.diagnostic.diagnostic .'hasDescendant' was marked unused but was used
'hasDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp1 604Clang.diagnostic.diagnostic .'hasDescendant' was marked unused but was used
'hasDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp2 369Clang.diagnostic.diagnostic .'hasDescendant' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp2 415Clang.diagnostic.diagnostic.'has' was marked unused but was used
'hasDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 012Clang.diagnostic.diagnostic .'hasDescendant' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 153Clang.diagnostic.diagnostic.'has' was marked unused but was used
'forEach' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 203Clang.diagnostic.diagnostic.'forEach' was marked unused but was used
'forEach' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 209Clang.diagnostic.diagnostic.'forEach' was marked unused but was used
'forEach' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 215Clang.diagnostic.diagnostic.'forEach' was marked unused but was used
'forEachDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 223Clang.diagnostic.diagnostic .'forEachDescendant' was marked unused but was used
'forEachDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 232Clang.diagnostic.diagnostic .'forEachDescendant' was marked unused but was used
'hasDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 240Clang.diagnostic.diagnostic .'hasDescendant' was marked unused but was used
'forEachDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 247Clang.diagnostic.diagnostic .'forEachDescendant' was marked unused but was used
'forEachDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 255Clang.diagnostic.diagnostic .'forEachDescendant' was marked unused but was used
'forEachDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 264Clang.diagnostic.diagnostic .'forEachDescendant' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 273Clang.diagnostic.diagnostic.'has' was marked unused but was used
'forEachDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 298Clang.diagnostic.diagnostic .'forEachDescendant' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 318Clang.diagnostic.diagnostic.'has' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 332Clang.diagnostic.diagnostic.'has' was marked unused but was used
'hasAncestor' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 352Clang.diagnostic.diagnostic .'hasAncestor' was marked unused but was used
'hasAncestor' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 356Clang.diagnostic.diagnostic .'hasAncestor' was marked unused but was used
'forEachDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 375Clang.diagnostic.diagnostic .'forEachDescendant' was marked unused but was used
'forEachDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 379Clang.diagnostic.diagnostic .'forEachDescendant' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 414Clang.diagnostic.diagnostic.'has' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 422Clang.diagnostic.diagnostic.'has' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 427Clang.diagnostic.diagnostic.'has' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 432Clang.diagnostic.diagnostic.'has' was marked unused but was used
'hasDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 446Clang.diagnostic.diagnostic .'hasDescendant' was marked unused but was used
'hasDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 460Clang.diagnostic.diagnostic .'hasDescendant' was marked unused but was used
'hasAncestor' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 613Clang.diagnostic.diagnostic .'hasAncestor' was marked unused but was used
'hasAncestor' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 619Clang.diagnostic.diagnostic .'hasAncestor' was marked unused but was used
'hasAncestor' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 625Clang.diagnostic.diagnostic .'hasAncestor' was marked unused but was used
'hasAncestor' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 632Clang.diagnostic.diagnostic .'hasAncestor' was marked unused but was used
'hasAncestor' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 638Clang.diagnostic.diagnostic .'hasAncestor' was marked unused but was used
'hasAncestor' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 644Clang.diagnostic.diagnostic .'hasAncestor' was marked unused but was used
'hasAncestor' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 651Clang.diagnostic.diagnostic .'hasAncestor' was marked unused but was used
'hasAncestor' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 663Clang.diagnostic.diagnostic .'hasAncestor' was marked unused but was used
'hasAncestor' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 677Clang.diagnostic.diagnostic .'hasAncestor' was marked unused but was used
'hasAncestor' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 685Clang.diagnostic.diagnostic .'hasAncestor' was marked unused but was used
'hasParent' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 693Clang.diagnostic.diagnostic.'hasParent' was marked unused but was used
'hasParent' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 696Clang.diagnostic.diagnostic.'hasParent' was marked unused but was used
'hasParent' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 699Clang.diagnostic.diagnostic.'hasParent' was marked unused but was used
'hasAncestor' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 705Clang.diagnostic.diagnostic .'hasAncestor' was marked unused but was used
'hasParent' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 715Clang.diagnostic.diagnostic.'hasParent' was marked unused but was used
'hasParent' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 722Clang.diagnostic.diagnostic.'hasParent' was marked unused but was used
'hasParent' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 729Clang.diagnostic.diagnostic.'hasParent' was marked unused but was used
'hasParent' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 738Clang.diagnostic.diagnostic.'hasParent' was marked unused but was used
unused parameter 'Nodes'D:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp3 747Clang.diagnostic.diagnostic.unused parameter 'Nodes'
'hasDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp4 164Clang.diagnostic.diagnostic .'hasDescendant' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp4 169Clang.diagnostic.diagnostic.'has' was marked unused but was used
'has' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp4 174Clang.diagnostic.diagnostic.'has' was marked unused but was used
'forEach' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp4 182Clang.diagnostic.diagnostic.'forEach' was marked unused but was used
'hasDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp4 193Clang.diagnostic.diagnostic .'hasDescendant' was marked unused but was used
'forEachDescendant' was marked unused but was usedD:\llvm4\tools\clang\unittests\ASTMatchers\ASTMatchersTest.cpp4 197Clang.diagnostic.diagnostic .'forEachDescendant' was marked unused but was used

Statistics

Stat   FilePath   BeginLine
Sum:05 499 985
Average:01 458
Minimum:014
Maximum:023 073
Standard deviation:02 634
Variance:06 940 029
warningCritical    Rule warning: Switch Issues
// <Name>Switch Issues</Name>
warnif count > 0
from issue in Issues  where issue.ToolName=="Clang" && (issue.Type.Contains("switch") || issue.Type.Contains("case"))
select new { issue,issue.FilePath,issue.BeginLine }
        

1,599 fields matched

fieldsFilePathBeginLineFull Name
enumeration values 'SYM_ENDLOOP' and 'SYM_EOF' not explicitly handled in switchD:\llvm4\examples\BrainF\BrainF.cpp196Clang.diagnostic.diagnostic .enumeration values 'SYM_ENDLOOP' and 'SYM_EOF' not explicitly handled in switch
37 enumeration values not explicitly handled in switch: 'Eof', 'Error' , 'String'...D:\llvm4\lib\Target\AArch64\AsmParser\AArch64AsmParser.cpp2 965Clang.diagnostic.diagnostic .37 enumeration values not explicitly handled in switch: 'Eof' , 'Error', 'String'...
13 enumeration values not explicitly handled in switch: 'MO_Register' , 'MO_Immediate', 'MO_CImmediate'...D:\llvm4\lib\Target\AArch64\AArch64CollectLOH.cpp500Clang.diagnostic.diagnostic .13 enumeration values not explicitly handled in switch: 'MO_Register' , 'MO_Immediate', 'MO_CImmediate'...
16 enumeration values not explicitly handled in switch: 'MO_Register' , 'MO_Immediate', 'MO_CImmediate'...D:\llvm4\lib\Target\AArch64\AArch64CollectLOH.cpp511Clang.diagnostic.diagnostic .16 enumeration values not explicitly handled in switch: 'MO_Register' , 'MO_Immediate', 'MO_CImmediate'...
4 enumeration values not explicitly handled in switch: 'FCMP_FALSE' , 'FCMP_TRUE', 'BAD_FCMP_PREDICATE'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp1 631Clang.diagnostic.diagnostic .4 enumeration values not explicitly handled in switch: 'FCMP_FALSE' , 'FCMP_TRUE', 'BAD_FCMP_PREDICATE'...
13 enumeration values not explicitly handled in switch: 'EQ', 'NE' , 'HS'...D:\llvm4\lib\Target\AArch64\AArch64ConditionOptimizer.cpp188Clang.diagnostic.diagnostic .13 enumeration values not explicitly handled in switch: 'EQ', 'NE' , 'HS'...
15 enumeration values not explicitly handled in switch: 'SETFALSE' , 'SETOEQ', 'SETOGT'...D:\llvm4\lib\Target\AArch64\AArch64ISelLowering.cpp950Clang.diagnostic.diagnostic .15 enumeration values not explicitly handled in switch: 'SETFALSE' , 'SETOEQ', 'SETOGT'...
5 enumeration values not explicitly handled in switch: 'SETFALSE' , 'SETTRUE', 'SETFALSE2'...D:\llvm4\lib\Target\AArch64\AArch64ISelLowering.cpp981Clang.diagnostic.diagnostic .5 enumeration values not explicitly handled in switch: 'SETFALSE' , 'SETTRUE', 'SETFALSE2'...
18 enumeration values not explicitly handled in switch: 'SETFALSE' , 'SETOEQ', 'SETOGT'...D:\llvm4\lib\Target\AArch64\AArch64ISelLowering.cpp1 046Clang.diagnostic.diagnostic .18 enumeration values not explicitly handled in switch: 'SETFALSE' , 'SETOEQ', 'SETOGT'...
17 enumeration values not explicitly handled in switch: 'SETFALSE' , 'SETOEQ', 'SETOGT'...D:\llvm4\lib\Target\AArch64\AArch64ISelLowering.cpp1 127Clang.diagnostic.diagnostic .17 enumeration values not explicitly handled in switch: 'SETFALSE' , 'SETOEQ', 'SETOGT'...
10 enumeration values not explicitly handled in switch: 'HS', 'LO' , 'PL'...D:\llvm4\lib\Target\AArch64\AArch64ISelLowering.cpp6 086Clang.diagnostic.diagnostic .10 enumeration values not explicitly handled in switch: 'HS', 'LO' , 'PL'...
7 enumeration values not explicitly handled in switch: 'MI', 'PL' , 'VS'...D:\llvm4\lib\Target\AArch64\AArch64ISelLowering.cpp6 125Clang.diagnostic.diagnostic .7 enumeration values not explicitly handled in switch: 'MI', 'PL' , 'VS'...
8 enumeration values not explicitly handled in switch: 'MO_CImmediate' , 'MO_FPImmediate', 'MO_FrameIndex'...D:\llvm4\lib\Target\AArch64\AArch64MCInstLower.cpp154Clang.diagnostic.diagnostic .8 enumeration values not explicitly handled in switch: 'MO_CImmediate ', 'MO_FPImmediate', 'MO_FrameIndex'...
11 enumeration values not explicitly handled in switch: 'EQ', 'NE' , 'HS'...D:\llvm4\lib\Target\AArch64\AArch64InstrInfo.cpp918Clang.diagnostic.diagnostic .11 enumeration values not explicitly handled in switch: 'EQ', 'NE' , 'HS'...
enumeration value 'MC_NONE' not explicitly handled in switchD:\llvm4\lib\Target\AArch64\AArch64InstrInfo.cpp2 658Clang.diagnostic.diagnostic .enumeration value 'MC_NONE' not explicitly handled in switch
4001 enumeration values not explicitly handled in switch: 'not_intrins ic', 'AMDGPU_div_fixup', 'AMDGPU_div_fmas'...D:\llvm4\lib\Target\AArch64\AArch64ISelLowering.cpp682Clang.diagnostic.diagnostic .4001 enumeration values not explicitly handled in switch: 'not_intrin sic', 'AMDGPU_div_fixup', 'AMDGPU_div_fmas'...
65 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i1'...D:\llvm4\lib\Target\AArch64\AArch64ISelLowering.cpp6 511Clang.diagnostic.diagnostic .65 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i1'...
enumeration values 'VExt', 'FPExt' , and 'Indirect' not explicitly handled in switchD:\llvm4\lib\Target\AArch64\AArch64ISelLowering.cpp1 892Clang.diagnostic.diagnostic.enumeration values 'VExt', 'FPExt' , and 'Indirect' not explicitly handled in switch
4 enumeration values not explicitly handled in switch: 'Full', 'VExt' , 'FPExt'...D:\llvm4\lib\Target\AArch64\AArch64ISelLowering.cpp1 930Clang.diagnostic.diagnostic .4 enumeration values not explicitly handled in switch: 'Full', 'VExt' , 'FPExt'...
enumeration values 'VExt' and 'Indirect' not explicitly handled in swi tchD:\llvm4\lib\Target\AArch64\AArch64ISelLowering.cpp2 423Clang.diagnostic.diagnostic .enumeration values 'VExt' and 'Indirect' not explicitly handled in sw itch
6 enumeration values not explicitly handled in switch: 'SExt', 'ZExt' , 'AExt'...D:\llvm4\lib\Target\AArch64\AArch64ISelLowering.cpp2 103Clang.diagnostic.diagnostic .6 enumeration values not explicitly handled in switch: 'SExt', 'ZExt' , 'AExt'...
6 enumeration values not explicitly handled in switch: 'SExt', 'ZExt' , 'AExt'...D:\llvm4\lib\Target\AArch64\AArch64ISelLowering.cpp2 675Clang.diagnostic.diagnostic .6 enumeration values not explicitly handled in switch: 'SExt', 'ZExt' , 'AExt'...
13 enumeration values not explicitly handled in switch: 'SETFALSE' , 'SETOEQ', 'SETONE'...D:\llvm4\lib\Target\AArch64\AArch64ISelLowering.cpp3 546Clang.diagnostic.diagnostic .13 enumeration values not explicitly handled in switch: 'SETFALSE' , 'SETOEQ', 'SETONE'...
15 enumeration values not explicitly handled in switch: 'MO_CImmediate ', 'MO_FPImmediate', 'MO_MachineBasicBlock'...D:\llvm4\lib\Target\AArch64\AArch64AsmPrinter.cpp212Clang.diagnostic.diagnostic .15 enumeration values not explicitly handled in switch: 'MO_CImmediat e', 'MO_FPImmediate', 'MO_MachineBasicBlock'...
59 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i128'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp2 119Clang.diagnostic.diagnostic .59 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i128'...
59 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i128'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp2 158Clang.diagnostic.diagnostic .59 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i128'...
4000 enumeration values not explicitly handled in switch: 'not_intrins ic', 'AMDGPU_div_fixup', 'AMDGPU_div_fmas'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp2 658Clang.diagnostic.diagnostic .4000 enumeration values not explicitly handled in switch: 'not_intrin sic', 'AMDGPU_div_fixup', 'AMDGPU_div_fmas'...
3997 enumeration values not explicitly handled in switch: 'not_intrins ic', 'AMDGPU_div_fixup', 'AMDGPU_div_fmas'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp2 742Clang.diagnostic.diagnostic .3997 enumeration values not explicitly handled in switch: 'not_intrin sic', 'AMDGPU_div_fixup', 'AMDGPU_div_fmas'...
3988 enumeration values not explicitly handled in switch: 'not_intrins ic', 'AMDGPU_div_fixup', 'AMDGPU_div_fmas'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp2 559Clang.diagnostic.diagnostic .3988 enumeration values not explicitly handled in switch: 'not_intrin sic', 'AMDGPU_div_fixup', 'AMDGPU_div_fmas'...
26 enumeration values not explicitly handled in switch: 'FCMP_OEQ' , 'FCMP_OGT', 'FCMP_OGE'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp1 847Clang.diagnostic.diagnostic .26 enumeration values not explicitly handled in switch: 'FCMP_OEQ' , 'FCMP_OGT', 'FCMP_OGE'...
26 enumeration values not explicitly handled in switch: 'FCMP_FALSE' , 'FCMP_OEQ', 'FCMP_OGT'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp1 879Clang.diagnostic.diagnostic .26 enumeration values not explicitly handled in switch: 'FCMP_FALSE' , 'FCMP_OEQ', 'FCMP_OGT'...
63 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i1'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp1 935Clang.diagnostic.diagnostic .63 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i1'...
64 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i32'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp2 965Clang.diagnostic.diagnostic .64 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i32'...
63 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i1'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp3 659Clang.diagnostic.diagnostic .63 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i1'...
65 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i1'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp3 685Clang.diagnostic.diagnostic .65 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i1'...
60 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i128'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp711Clang.diagnostic.diagnostic .60 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i128'...
3997 enumeration values not explicitly handled in switch: 'not_intrins ic', 'AMDGPU_div_fixup', 'AMDGPU_div_fmas'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp2 524Clang.diagnostic.diagnostic .3997 enumeration values not explicitly handled in switch: 'not_intrin sic', 'AMDGPU_div_fixup', 'AMDGPU_div_fmas'...
62 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i128'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp857Clang.diagnostic.diagnostic .62 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i128'...
16 enumeration values not explicitly handled in switch: 'BinaryOpsBegi n', 'FAdd', 'Sub'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp938Clang.diagnostic.diagnostic .16 enumeration values not explicitly handled in switch: 'BinaryOpsBeg in', 'FAdd', 'Sub'...
60 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i128'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp1 132Clang.diagnostic.diagnostic .60 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i128'...
60 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i128'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp1 373Clang.diagnostic.diagnostic .60 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i128'...
60 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i128'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp1 413Clang.diagnostic.diagnostic .60 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i128'...
60 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i128'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp1 523Clang.diagnostic.diagnostic .60 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i128'...
60 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i128'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp1 564Clang.diagnostic.diagnostic .60 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i128'...
63 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i64'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp3 383Clang.diagnostic.diagnostic .63 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i64'...
62 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i128'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp1 290Clang.diagnostic.diagnostic .62 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i128'...
62 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i128'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp1 336Clang.diagnostic.diagnostic .62 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i128'...
63 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i1'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp3 032Clang.diagnostic.diagnostic .63 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i1'...
63 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i1'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp3 074Clang.diagnostic.diagnostic .63 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i1'...
63 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i1'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp3 167Clang.diagnostic.diagnostic .63 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i1'...
63 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i1'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp3 275Clang.diagnostic.diagnostic .63 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i1'...
4 enumeration values not explicitly handled in switch: 'BCvt', 'VExt' , 'FPExt'...D:\llvm4\lib\Target\AArch64\AArch64FastISel.cpp2 221Clang.diagnostic.diagnostic .4 enumeration values not explicitly handled in switch: 'BCvt', 'VExt' , 'FPExt'...
63 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i1'...D:\llvm4\lib\Target\AArch64\AArch64ISelDAGToDAG.cpp455Clang.diagnostic.diagnostic .63 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i1'...
65 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i1'...D:\llvm4\lib\Target\AArch64\AArch64ISelDAGToDAG.cpp491Clang.diagnostic.diagnostic .65 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i1'...
65 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i1'...D:\llvm4\lib\Target\AArch64\AArch64ISelDAGToDAG.cpp502Clang.diagnostic.diagnostic .65 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i1'...
3994 enumeration values not explicitly handled in switch: 'not_intrins ic', 'AMDGPU_div_fixup', 'AMDGPU_div_fmas'...D:\llvm4\lib\Target\AArch64\AArch64TargetTransformInfo.cpp261Clang.diagnostic.diagnostic .3994 enumeration values not explicitly handled in switch: 'not_intrin sic', 'AMDGPU_div_fixup', 'AMDGPU_div_fmas'...
51 enumeration values not explicitly handled in switch: 'VK_NONE' , 'VK_ABS', 'VK_SABS'...D:\llvm4\lib\Target\AArch64\MCTargetDesc\AArch64MCExpr.cpp135Clang.diagnostic.diagnostic .51 enumeration values not explicitly handled in switch: 'VK_NONE' , 'VK_ABS', 'VK_SABS'...
11 enumeration values not explicitly handled in switch: 'OpSameValue' , 'OpRememberState', 'OpRestoreState'...D:\llvm4\lib\Target\AArch64\MCTargetDesc\AArch64AsmBackend.cpp369Clang.diagnostic.diagnostic .11 enumeration values not explicitly handled in switch: 'OpSameValue' , 'OpRememberState', 'OpRestoreState'...
48 enumeration values not explicitly handled in switch: 'VK_NONE' , 'VK_ABS', 'VK_SABS'...D:\llvm4\lib\Target\AArch64\MCTargetDesc\AArch64MCCodeEmitter.cpp587Clang.diagnostic.diagnostic .48 enumeration values not explicitly handled in switch: 'VK_NONE' , 'VK_ABS', 'VK_SABS'...
107 enumeration values not explicitly handled in switch: 'VK_None' , 'VK_Invalid', 'VK_GOT'...D:\llvm4\lib\Target\AArch64\MCTargetDesc\AArch64MachObjectWriter.cpp76Clang.diagnostic.diagnostic .107 enumeration values not explicitly handled in switch: 'VK_None' , 'VK_Invalid', 'VK_GOT'...
107 enumeration values not explicitly handled in switch: 'VK_None' , 'VK_Invalid', 'VK_GOT'...D:\llvm4\lib\Target\AArch64\MCTargetDesc\AArch64MachObjectWriter.cpp92Clang.diagnostic.diagnostic .107 enumeration values not explicitly handled in switch: 'VK_None' , 'VK_Invalid', 'VK_GOT'...
33 enumeration values not explicitly handled in switch: 'Eof', 'Error' , 'BigNum'...D:\llvm4\lib\Target\ARM\AsmParser\ARMAsmParser.cpp4 902Clang.diagnostic.diagnostic .33 enumeration values not explicitly handled in switch: 'Eof' , 'Error', 'BigNum'...
enumeration values 'no_shift' and 'rrx' not explicitly handled in swit chD:\llvm4\lib\Target\ARM\AsmParser\ARMAsmParser.cpp7 500Clang.diagnostic.diagnostic .enumeration values 'no_shift' and 'rrx' not explicitly handled in swi tch
enumeration value 'no_shift' not explicitly handled in switchD:\llvm4\lib\Target\ARM\AsmParser\ARMAsmParser.cpp7 534Clang.diagnostic.diagnostic .enumeration value 'no_shift' not explicitly handled in switch
enumeration values 'SymbolRef', 'Unary' , and 'Target' not explicitly handled in switchD:\llvm4\lib\Target\ARM\InstPrinter\ARMInstPrinter.cpp312Clang.diagnostic.diagnostic.enumeration values 'SymbolRef', 'Unary' , and 'Target' not explicitly handled in switch
5 enumeration values not explicitly handled in switch: 'MI', 'PL' , 'VS'...D:\llvm4\lib\Target\ARM\ARMBaseInstrInfo.cpp2 261Clang.diagnostic.diagnostic .5 enumeration values not explicitly handled in switch: 'MI', 'PL' , 'VS'...
4 enumeration values not explicitly handled in switch: 'FCMP_FALSE' , 'FCMP_TRUE', 'BAD_FCMP_PREDICATE'...D:\llvm4\lib\Target\ARM\ARMFastISel.cpp1 209Clang.diagnostic.diagnostic .4 enumeration values not explicitly handled in switch: 'FCMP_FALSE' , 'FCMP_TRUE', 'BAD_FCMP_PREDICATE'...
15 enumeration values not explicitly handled in switch: 'SETFALSE' , 'SETOEQ', 'SETOGT'...D:\llvm4\lib\Target\ARM\ARMISelLowering.cpp1 215Clang.diagnostic.diagnostic .15 enumeration values not explicitly handled in switch: 'SETFALSE' , 'SETOEQ', 'SETOGT'...
5 enumeration values not explicitly handled in switch: 'SETFALSE' , 'SETTRUE', 'SETFALSE2'...D:\llvm4\lib\Target\ARM\ARMISelLowering.cpp1 234Clang.diagnostic.diagnostic .5 enumeration values not explicitly handled in switch: 'SETFALSE' , 'SETTRUE', 'SETFALSE2'...
5 enumeration values not explicitly handled in switch: 'SETFALSE' , 'SETTRUE', 'SETFALSE2'...D:\llvm4\lib\Target\ARM\ARMISelLowering.cpp4 466Clang.diagnostic.diagnostic .5 enumeration values not explicitly handled in switch: 'SETFALSE' , 'SETTRUE', 'SETFALSE2'...
15 enumeration values not explicitly handled in switch: 'SETFALSE' , 'SETOEQ', 'SETOGT'...D:\llvm4\lib\Target\ARM\ARMISelLowering.cpp4 505Clang.diagnostic.diagnostic .15 enumeration values not explicitly handled in switch: 'SETFALSE' , 'SETOEQ', 'SETOGT'...
64 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i1'...D:\llvm4\lib\Target\ARM\ARMISelLowering.cpp5 862Clang.diagnostic.diagnostic .64 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i1'...
64 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i1'...D:\llvm4\lib\Target\ARM\ARMISelLowering.cpp7 948Clang.diagnostic.diagnostic .64 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i1'...
13 enumeration values not explicitly handled in switch: 'SETFALSE' , 'SETOEQ', 'SETONE'...D:\llvm4\lib\Target\ARM\ARMISelLowering.cpp9 685Clang.diagnostic.diagnostic .13 enumeration values not explicitly handled in switch: 'SETFALSE' , 'SETOEQ', 'SETONE'...
63 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i64'...D:\llvm4\lib\Target\ARM\ARMISelLowering.cpp9 986Clang.diagnostic.diagnostic .63 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i64'...
61 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i64'...D:\llvm4\lib\Target\ARM\ARMISelLowering.cpp10 016Clang.diagnostic.diagnostic .61 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i64'...
61 enumeration values not explicitly handled in switch: 'INVALID_SIMPL E_VALUE_TYPE', 'Other', 'i64'...D:\llvm4\lib\Target\ARM\ARMISelLowering.cpp10 057Clang.diagnostic.diagnostic .61 enumeration values not explicitly handled in switch: 'INVALID_SIMP LE_VALUE_TYPE', 'Other', 'i64'...
enumeration value 'bad_am_submode' not explicitly handled in switchD:\llvm4\lib\Target\ARM\ARMLoadStoreOptimizer.cpp148Clang.diagnostic.diagnostic .enumeration value 'bad_am_submode' not explicitly handled in switch
enumeration value 'bad_am_submode' not explicitly handled in switchD:\llvm4\lib\Target\ARM\ARMLoadStoreOptimizer.cpp157Clang.diagnostic.diagnostic .enumeration value 'bad_am_submode' not explicitly handled in switch
4 enumeration values not explicitly handled in switch: 'bad_am_submode ', 'ib', 'da'...D:\llvm4\lib\Target\ARM\ARMLoadStoreOptimizer.cpp168Clang.diagnostic.diagnostic .4 enumeration values not explicitly handled in switch: 'bad_am_submod e', 'ib', 'da'...
4 enumeration values not explicitly handled in switch: 'bad_am_submode ', 'ib', 'da'...D:\llvm4\lib\Target\ARM\ARMLoadStoreOptimizer.cpp175Clang.diagnostic.diagnostic .4 enumeration values not explicitly handled in switch: 'bad_am_submod e', 'ib', 'da'...
enumeration values 'bad_am_submode', 'ib' , and 'da' not explicitly handled in switchD:\llvm4\lib\Target\ARM\ARMLoadStoreOptimizer.cpp182Clang.diagnostic.diagnostic.enumeration values 'bad_am_submode', 'ib' , and 'da' not explicitly handled in switch
enumeration values 'bad_am_submode', 'ib' , and 'da' not explicitly handled in switchD:\llvm4\lib\Target\ARM\ARMLoadStoreOptimizer.cpp190Clang.diagnostic.diagnostic.enumeration values 'bad_am_submode', 'ib' , and 'da' not explicitly handled in switch
enumeration values 'bad_am_submode', 'ib' , and 'da' not explicitly handled in switchD:\llvm4\lib\Target\ARM\ARMLoadStoreOptimizer.cpp197Clang.diagnostic.diagnostic.enumeration values 'bad_am_submode', 'ib' , and 'da' not explicitly handled in switch
enumeration values 'bad_am_submode', 'ib' , and 'da' not explicitly handled in switchD:\llvm4\lib\Target\ARM\ARMLoadStoreOptimizer.cpp204Clang.diagnostic.diagnostic.enumeration values 'bad_am_submode', 'ib' , and 'da' not explicitly handled in switch
enumeration values 'bad_am_submode', 'ib' , and 'da' not explicitly handled in switchD:\llvm4\lib\Target\ARM\ARMLoadStoreOptimizer.cpp211Clang.diagnostic.diagnostic.enumeration values 'bad_am_submode', 'ib' , and 'da' not explicitly handled in switch
enumeration values 'bad_am_submode', 'ib' , and 'da' not explicitly handled in switchD:\llvm4\lib\Target\ARM\ARMLoadStoreOptimizer.cpp218Clang.diagnostic.diagnostic.enumeration values 'bad_am_submode', 'ib' , and 'da' not explicitly handled in switch
enumeration value 'bad_am_submode' not explicitly handled in switchD:\llvm4\lib\Target\ARM\ARMLoadStoreOptimizer.cpp829Clang.diagnostic.diagnostic .enumeration value 'bad_am_submode' not explicitly handled in switch
enumeration value 'bad_am_submode' not explicitly handled in switchD:\llvm4\lib\Target\ARM\ARMLoadStoreOptimizer.cpp840Clang.diagnostic.diagnostic .enumeration value 'bad_am_submode' not explicitly handled in switch
enumeration values 'bad_am_submode', 'ib' , and 'da' not explicitly handled in switchD:\llvm4\lib\Target\ARM\ARMLoadStoreOptimizer.cpp849Clang.diagnostic.diagnostic.enumeration values 'bad_am_submode', 'ib' , and 'da' not explicitly handled in switch
enumeration values 'bad_am_submode', 'ib' , and 'da' not explicitly handled in switchD:\llvm4\lib\Target\ARM\ARMLoadStoreOptimizer.cpp856Clang.diagnostic.diagnostic.enumeration values 'bad_am_submode', 'ib' , and 'da' not explicitly handled in switch
enumeration values 'bad_am_submode', 'ib' , and 'da' not explicitly handled in switchD:\llvm4\lib\Target\ARM\ARMLoadStoreOptimizer.cpp862Clang.diagnostic.diagnostic.enumeration values 'bad_am_submode', 'ib' , and 'da' not explicitly handled in switch
enumeration values 'bad_am_submode', 'ib' , and 'da' not explicitly handled in switchD:\llvm4\lib\Target\ARM\ARMLoadStoreOptimizer.cpp868Clang.diagnostic.diagnostic.enumeration values 'bad_am_submode', 'ib' , and 'da' not explicitly handled in switch
enumeration values 'bad_am_submode', 'ib' , and 'da' not explicitly handled in switchD:\llvm4\lib\Target\ARM\ARMLoadStoreOptimizer.cpp874Clang.diagnostic.diagnostic.enumeration values 'bad_am_submode', 'ib' , and 'da' not explicitly handled in switch
enumeration values 'bad_am_submode', 'ib' , and 'da' not explicitly handled in switchD:\llvm4\lib\Target\ARM\ARMLoadStoreOptimizer.cpp880Clang.diagnostic.diagnostic.enumeration values 'bad_am_submode', 'ib' , and 'da' not explicitly handled in switch
10 enumeration values not explicitly handled in switch: 'EQ', 'NE' , 'LO'...D:\llvm4\lib\Target\ARM\ARMBaseInstrInfo.cpp490Clang.diagnostic.diagnostic .10 enumeration values not explicitly handled in switch: 'EQ', 'NE' , 'LO'...
9 enumeration values not explicitly handled in switch: 'EQ', 'NE' , 'HS'...D:\llvm4\lib\Target\ARM\ARMBaseInstrInfo.cpp2 504Clang.diagnostic.diagnostic .9 enumeration values not explicitly handled in switch: 'EQ', 'NE' , 'HS'...
12 enumeration values not explicitly handled in switch: 'MO_CImmediate ', 'MO_FPImmediate', 'MO_FrameIndex'...D:\llvm4\lib\Target\ARM\ARMAsmPrinter.cpp132Clang.diagnostic.diagnostic .12 enumeration values not explicitly handled in switch: 'MO_CImmediat e', 'MO_FPImmediate', 'MO_FrameIndex'...
7 enumeration values not explicitly handled in switch: 'MO_CImmediate' , 'MO_FrameIndex', 'MO_TargetIndex'...D:\llvm4\lib\Target\ARM\ARMMCInstLower.cpp70Clang.diagnostic.diagnostic .7 enumeration values not explicitly handled in switch: 'MO_CImmediate ', 'MO_FrameIndex', 'MO_TargetIndex'...
enumeration value 'UnknownObjectFormat' not explicitly handled in swit chD:\llvm4\lib\Target\ARM\ARMISelLowering.cpp6 370Clang.diagnostic.diagnostic .enumeration value 'UnknownObjectFormat' not explicitly handled in swi tch

Statistics

Stat   FilePath   BeginLine
Sum:03 058 437
Average:01 912
Minimum:020
Maximum:023 740
Standard deviation:02 668
Variance:07 123 020
warningCritical    Rule warning: Delete Issues
// <Name>Delete Issues</Name>
warnif count > 0
from issue in Issues  where issue.ToolName=="Clang" && issue.Type.Contains("delete")
select new { issue,issue.FilePath,issue.BeginLine }
        

40 fields matched

fieldsFilePathBeginLineFull Name
deleted function definitions are incompatible with C++98D:\llvm4\unittests\ADT\SmallVectorTest.cpp147Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\unittests\ADT\SmallVectorTest.cpp148Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\unittests\ADT\StringMapTest.cpp247Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\unittests\ADT\StringMapTest.cpp269Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\unittests\ADT\StringMapTest.cpp270Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\lib\Target\ARM\MCTargetDesc\ARMMCCodeEmitter.cpp40Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\lib\Target\ARM\MCTargetDesc\ARMMCCodeEmitter.cpp41Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\lib\Bitcode\Reader\BitcodeReader.cpp262Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\lib\IR\AsmWriter.cpp602Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\lib\IR\AsmWriter.cpp603Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\lib\MC\MCParser\AsmParser.cpp114Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\lib\MC\MCParser\AsmParser.cpp115Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\lib\Target\PowerPC\MCTargetDesc\PPCMCCodeEmitter.cpp34Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\lib\Target\PowerPC\MCTargetDesc\PPCMCCodeEmitter.cpp35Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\lib\Target\R600\MCTargetDesc\R600MCCodeEmitter.cpp33Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\lib\Target\R600\MCTargetDesc\R600MCCodeEmitter.cpp34Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\lib\Target\R600\MCTargetDesc\SIMCCodeEmitter.cpp41Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\lib\Target\R600\MCTargetDesc\SIMCCodeEmitter.cpp42Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\lib\Transforms\Scalar\EarlyCSE.cpp326Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\lib\Transforms\Scalar\EarlyCSE.cpp327Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\lib\Transforms\Scalar\EarlyCSE.cpp366Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\lib\Transforms\Scalar\EarlyCSE.cpp367Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\lib\Target\Sparc\MCTargetDesc\SparcMCCodeEmitter.cpp34Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\lib\Target\Sparc\MCTargetDesc\SparcMCCodeEmitter.cpp35Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\lib\Support\StreamableMemoryObject.cpp56Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\lib\Support\StreamableMemoryObject.cpp57Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\lib\Target\X86\MCTargetDesc\X86MCCodeEmitter.cpp33Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\lib\Target\X86\MCTargetDesc\X86MCCodeEmitter.cpp34Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\tools\clang\lib\AST\RecordLayoutBuilder.cpp762Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\tools\clang\lib\AST\RecordLayoutBuilder.cpp763Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\tools\clang\lib\AST\RecordLayoutBuilder.cpp2 141Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\tools\clang\lib\AST\RecordLayoutBuilder.cpp2 142Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\tools\clang\lib\CodeGen\CGRecordLayoutBuilder.cpp201Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\tools\clang\lib\CodeGen\CGRecordLayoutBuilder.cpp202Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\tools\clang\lib\Sema\SemaDeclCXX.cpp9 098Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\tools\clang\lib\Sema\SemaDeclCXX.cpp9 099Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\tools\clang\lib\Serialization\ASTReaderDecl.cpp130Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\tools\clang\lib\Serialization\ASTReaderDecl.cpp174Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\utils\TableGen\FixedLenDecoderEmitter.cpp336Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98
deleted function definitions are incompatible with C++98D:\llvm4\utils\TableGen\FixedLenDecoderEmitter.cpp337Clang.diagnostic.diagnostic .deleted function definitions are incompatible with C++98

Statistics

Stat   FilePath   BeginLine
Sum:030 097
Average:0752.42
Minimum:033
Maximum:09 099
Standard deviation:01 969
Variance:03 879 605
warningCritical    Rule warning: Struct Issues
// <Name>Struct Issues</Name>
warnif count > 0
from issue in Issues  where issue.ToolName=="Clang" && issue.Type.Contains("_struct")
select new { issue,issue.FilePath,issue.BeginLine }
        

1 fields matched

fieldFilePathBeginLineFull Name
'XMLDumper' defined as a struct here but previously declared as a clas sD:\LLVM7\tools\clang\lib\AST\DumpXML.cpp267Clang.diagnostic.diagnostic .'XMLDumper' defined as a struct here but previously declared as a cla ss

Statistics

Stat   FilePath   BeginLine
Sum:0267
Average:0267
Minimum:0267
Maximum:0267
Standard deviation:00
Variance:00
warningCritical    Rule warning: Enum Issues
// <Name>Enum Issues</Name>
warnif count > 0
from issue in Issues  where issue.ToolName=="Clang" && issue.Type.Contains("_enum_")
select new { issue,issue.FilePath,issue.BeginLine }
        

1,129 fields matched

fieldsFilePathBeginLineFull Name
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\tools\clang\unittests\Basic\VirtualFileSystemTest.cpp612Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\tools\clang\unittests\Basic\VirtualFileSystemTest.cpp677Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\tools\clang\unittests\Basic\VirtualFileSystemTest.cpp679Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\tools\clang\unittests\Basic\VirtualFileSystemTest.cpp681Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\tools\clang\unittests\Basic\VirtualFileSystemTest.cpp39Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\tools\clang\unittests\Basic\VirtualFileSystemTest.cpp102Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\tools\clang\unittests\Basic\VirtualFileSystemTest.cpp108Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\tools\clang\unittests\Basic\VirtualFileSystemTest.cpp114Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\unittests\Transforms\DebugIR\DebugIR.cpp62Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\tools\clang\unittests\Format\FormatTest.cpp8 525Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\tools\clang\unittests\Format\FormatTest.cpp8 538Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\tools\clang\unittests\Format\FormatTest.cpp8 598Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\tools\clang\unittests\Format\FormatTest.cpp8 606Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Target\AArch64\AArch64A57FPLoadBalancing.cpp440Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Target\AArch64\AArch64A57FPLoadBalancing.cpp462Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Target\AArch64\AArch64A57FPLoadBalancing.cpp463Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Target\AArch64\AArch64A57FPLoadBalancing.cpp496Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Target\AArch64\AArch64A57FPLoadBalancing.cpp497Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Target\AArch64\AArch64A57FPLoadBalancing.cpp692Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Target\AArch64\AArch64A57FPLoadBalancing.cpp694Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Target\AArch64\AArch64A57FPLoadBalancing.cpp248Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Target\AArch64\MCTargetDesc\AArch64MCAsmInfo.cpp49Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Target\AArch64\MCTargetDesc\AArch64MCAsmInfo.cpp95Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Target\ARM\ARMAsmPrinter.cpp1 093Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Target\ARM\ARMAsmPrinter.cpp1 139Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Target\ARM\ARMTargetObjectFile.cpp49Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Target\ARM\MCTargetDesc\ARMMCAsmInfo.cpp37Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Target\ARM\MCTargetDesc\ARMMCAsmInfo.cpp63Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Target\ARM\MCTargetDesc\ARMMCAsmInfo.cpp66Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Target\ARM\MCTargetDesc\ARMMCAsmInfo.cpp106Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp773Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp774Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp775Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp776Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp777Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp778Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp791Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp792Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp793Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp794Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp795Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp796Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp899Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp902Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp905Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp260Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp267Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp268Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp274Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp280Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp286Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp292Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp294Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp299Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp301Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp303Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp311Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp317Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp330Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp335Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp342Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp410Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp438Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp455Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp470Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp476Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp477Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp484Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp490Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp491Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp496Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp502Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Analysis\CFLAliasAnalysis.cpp503Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\CodeGen\AsmPrinter\EHStreamer.cpp362Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\CodeGen\AsmPrinter\ARMException.cpp59Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\CodeGen\AsmPrinter\ARMException.cpp106Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\CodeGen\AsmPrinter\AsmPrinter.cpp237Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\CodeGen\AsmPrinter\AsmPrinter.cpp239Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\CodeGen\AsmPrinter\AsmPrinter.cpp240Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\CodeGen\AsmPrinter\AsmPrinter.cpp243Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\CodeGen\AsmPrinter\AsmPrinter.cpp246Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\CodeGen\AsmPrinter\AsmPrinter.cpp249Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\CodeGen\AsmPrinter\AsmPrinter.cpp710Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\CodeGen\AsmPrinter\AsmPrinter.cpp711Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\CodeGen\AsmPrinter\AsmPrinter.cpp693Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\CodeGen\AsmPrinter\AsmPrinter.cpp704Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Bitcode\Reader\BitcodeReader.cpp54Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Bitcode\Reader\BitcodeReader.cpp3 376Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Bitcode\Reader\BitcodeReader.cpp2 133Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Bitcode\Reader\BitcodeReader.cpp2 146Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Bitcode\Reader\BitcodeReader.cpp2 154Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Bitcode\Reader\BitcodeReader.cpp2 159Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Bitcode\Reader\BitcodeReader.cpp2 168Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Bitcode\Reader\BitcodeReader.cpp2 183Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Bitcode\Reader\BitcodeReader.cpp2 237Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Bitcode\Reader\BitcodeReader.cpp2 246Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Bitcode\Reader\BitcodeReader.cpp2 256Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Bitcode\Reader\BitcodeReader.cpp667Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Bitcode\Reader\BitcodeReader.cpp1 775Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98
enumeration type in nested name specifier is incompatible with C++98D:\llvm4\lib\Bitcode\Reader\BitcodeReader.cpp1 787Clang.diagnostic.diagnostic .enumeration type in nested name specifier is incompatible with C++98

Statistics

Stat   FilePath   BeginLine
Sum:01 060 842
Average:0939.63
Minimum:016
Maximum:015 138
Standard deviation:01 116
Variance:01 246 114
warningCritical    Rule warning: Template Issues
// <Name>Template Issues</Name>
warnif count > 0
from issue in Issues  where issue.ToolName=="Clang" && issue.Type.Contains("template")
select new { issue,issue.FilePath,issue.BeginLine }
        

156 fields matched

fieldsFilePathBeginLineFull Name
local type '(lambda at D:\llvm4\unittests\ADT\MapVectorTest.cpp:83:16 )' as template argument is incompatible with C++98D:\llvm4\unittests\ADT\MapVectorTest.cpp83Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\unittests\ADT\MapVectorTest.cpp:83:16 )' as template argument is incompatible with C++98
local type 'Fixnum31' as template argument is incompatible with C++98D:\llvm4\unittests\ADT\PointerIntPairTest.cpp63Clang.diagnostic.diagnostic .local type 'Fixnum31' as template argument is incompatible with C++98
unnamed type as template argument is incompatible with C++98D:\llvm4\unittests\ADT\PointerIntPairTest.cpp71Clang.diagnostic.diagnostic .unnamed type as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\unittests\IR\UseTest.cpp:48:17 )' as template argument is incompatible with C++98D:\llvm4\unittests\IR\UseTest.cpp48Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\unittests\IR\UseTest.cpp:48:17 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\unittests\IR\UseTest.cpp:58:17 )' as template argument is incompatible with C++98D:\llvm4\unittests\IR\UseTest.cpp58Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\unittests\IR\UseTest.cpp:58:17 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\unittests\IR\UseTest.cpp:93:17 )' as template argument is incompatible with C++98D:\llvm4\unittests\IR\UseTest.cpp93Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\unittests\IR\UseTest.cpp:93:17 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Target\AArch64\AArch64ISelLowering .cpp:4542:7)' as template argument is incompatible with C++98D:\llvm4\lib\Target\AArch64\AArch64ISelLowering.cpp4 541Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Target\AArch64\AArch64ISelLowering.cpp:4542:7 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Target\AArch64\AArch64ISelLowering .cpp:4551:7)' as template argument is incompatible with C++98D:\llvm4\lib\Target\AArch64\AArch64ISelLowering.cpp4 550Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Target\AArch64\AArch64ISelLowering.cpp:4551:7 )' as template argument is incompatible with C++98
local type 'ShuffleSourceInfo' as template argument is incompatible wi th C++98D:\llvm4\lib\Target\AArch64\AArch64ISelLowering.cpp4 345Clang.diagnostic.diagnostic .local type 'ShuffleSourceInfo' as template argument is incompatible w ith C++98
local type 'ShuffleSourceInfo' as template argument is incompatible wi th C++98D:\llvm4\lib\Target\AArch64\AArch64ISelLowering.cpp4 358Clang.diagnostic.diagnostic .local type 'ShuffleSourceInfo' as template argument is incompatible w ith C++98
local type ' (lambda at D:\llvm4\lib\Target\AArch64\AArch64A57FPLoadBalancing .cpp:361:13)' as template argument is incompatible with C++98D:\llvm4\lib\Target\AArch64\AArch64A57FPLoadBalancing.cpp360Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Target\AArch64\AArch64A57FPLoadBalancing .cpp:361:13)' as template argument is incompatible with C++98
local type ' (lambda at D:\llvm4\lib\Target\AArch64\AArch64A57FPLoadBalancing .cpp:434:35)' as template argument is incompatible with C++98D:\llvm4\lib\Target\AArch64\AArch64A57FPLoadBalancing.cpp434Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Target\AArch64\AArch64A57FPLoadBalancing .cpp:434:35)' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Target\ARM\ARMLoadStoreOptimizer .cpp:1867:13)' as template argument is incompatible with C++98D:\llvm4\lib\Target\ARM\ARMLoadStoreOptimizer.cpp1 866Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Target\ARM\ARMLoadStoreOptimizer.cpp:1867:13 )' as template argument is incompatible with C++98
explicit template instantiation 'RegionInfoBase<llvm::RegionTraits <llvm::Function> >' will emit a vtable in every translation unitD:\llvm4\lib\Analysis\RegionInfo.cpp32Clang.diagnostic.diagnostic .explicit template instantiation 'RegionInfoBase<llvm::RegionTraits <llvm::Function> >' will emit a vtable in every translation unit
local type '(lambda at D:\llvm4\lib\Analysis\BlockFrequencyInfoImpl .cpp:132:13)' as template argument is incompatible with C++98D:\llvm4\lib\Analysis\BlockFrequencyInfoImpl.cpp131Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Analysis\BlockFrequencyInfoImpl.cpp:132:13 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Analysis\ScalarEvolution .cpp:7299:58)' as template argument is incompatible with C++98D:\llvm4\lib\Analysis\ScalarEvolution.cpp7 299Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Analysis\ScalarEvolution.cpp:7299:58 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Analysis\LazyCallGraph.cpp:517:20 )' as template argument is incompatible with C++98D:\llvm4\lib\Analysis\LazyCallGraph.cpp516Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Analysis\LazyCallGraph.cpp:517:20 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Analysis\ScalarEvolution .cpp:7417:41)' as template argument is incompatible with C++98D:\llvm4\lib\Analysis\ScalarEvolution.cpp7 417Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Analysis\ScalarEvolution.cpp:7417:41 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Analysis\ScalarEvolutionExpander .cpp:1696:41)' as template argument is incompatible with C++98D:\llvm4\lib\Analysis\ScalarEvolutionExpander.cpp1 696Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Analysis\ScalarEvolutionExpander.cpp:1696:41 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\AsmParser\LLParser.cpp:4699:18 )' as template argument is incompatible with C++98D:\llvm4\lib\AsmParser\LLParser.cpp4 699Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\AsmParser\LLParser.cpp:4699:18 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\CodeGen\AsmPrinter\EHStreamer .cpp:331:13)' as template argument is incompatible with C++98D:\llvm4\lib\CodeGen\AsmPrinter\EHStreamer.cpp330Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\CodeGen\AsmPrinter\EHStreamer.cpp:331:13 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\CodeGen\AsmPrinter\AsmPrinter .cpp:1378:20)' as template argument is incompatible with C++98D:\llvm4\lib\CodeGen\AsmPrinter\AsmPrinter.cpp1 377Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\CodeGen\AsmPrinter\AsmPrinter.cpp:1378:20 )' as template argument is incompatible with C++98
local type ' (lambda at D:\llvm4\lib\CodeGen\AsmPrinter\DbgValueHistoryCalculator .cpp:185:44)' as template argument is incompatible with C++98D:\llvm4\lib\CodeGen\AsmPrinter\DbgValueHistoryCalculator.cpp185Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\CodeGen\AsmPrinter\DbgValueHistoryCalculator .cpp:185:44)' as template argument is incompatible with C++98
local type ' (lambda at D:\llvm4\lib\CodeGen\AsmPrinter\DbgValueHistoryCalculator .cpp:168:44)' as template argument is incompatible with C++98D:\llvm4\lib\CodeGen\AsmPrinter\DbgValueHistoryCalculator.cpp168Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\CodeGen\AsmPrinter\DbgValueHistoryCalculator .cpp:168:44)' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\CodeGen\AsmPrinter\DwarfDebug .cpp:2280:15)' as template argument is incompatible with C++98D:\llvm4\lib\CodeGen\AsmPrinter\DwarfDebug.cpp2 279Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\CodeGen\AsmPrinter\DwarfDebug.cpp:2280:15 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\CodeGen\AsmPrinter\DwarfDebug .cpp:2332:37)' as template argument is incompatible with C++98D:\llvm4\lib\CodeGen\AsmPrinter\DwarfDebug.cpp2 332Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\CodeGen\AsmPrinter\DwarfDebug.cpp:2332:37 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\CodeGen\AsmPrinter\DwarfDebug .cpp:1267:32)' as template argument is incompatible with C++98D:\llvm4\lib\CodeGen\AsmPrinter\DwarfDebug.cpp1 266Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\CodeGen\AsmPrinter\DwarfDebug.cpp:1267:32 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\CodeGen\AsmPrinter\DwarfDebug .cpp:1587:27)' as template argument is incompatible with C++98D:\llvm4\lib\CodeGen\AsmPrinter\DwarfDebug.cpp1 586Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\CodeGen\AsmPrinter\DwarfDebug.cpp:1587:27 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\CodeGen\AsmPrinter\DwarfDebug .cpp:2066:3)' as template argument is incompatible with C++98D:\llvm4\lib\CodeGen\AsmPrinter\DwarfDebug.cpp2 066Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\CodeGen\AsmPrinter\DwarfDebug.cpp:2066:3 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Bitcode\Reader\BitcodeReader .cpp:1712:22)' as template argument is incompatible with C++98D:\llvm4\lib\Bitcode\Reader\BitcodeReader.cpp1 712Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Bitcode\Reader\BitcodeReader.cpp:1712:22 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Bitcode\Writer\ValueEnumerator .cpp:149:39)' as template argument is incompatible with C++98D:\llvm4\lib\Bitcode\Writer\ValueEnumerator.cpp149Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Bitcode\Writer\ValueEnumerator.cpp:149:39 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Bitcode\Writer\ValueEnumerator .cpp:191:11)' as template argument is incompatible with C++98D:\llvm4\lib\Bitcode\Writer\ValueEnumerator.cpp189Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Bitcode\Writer\ValueEnumerator.cpp:191:11 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Bitcode\Writer\ValueEnumerator .cpp:439:20)' as template argument is incompatible with C++98D:\llvm4\lib\Bitcode\Writer\ValueEnumerator.cpp438Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Bitcode\Writer\ValueEnumerator.cpp:439:20 )' as template argument is incompatible with C++98
explicit template instantiation 'RegionInfoBase<llvm::RegionTraits <llvm::MachineFunction> >' will emit a vtable in every translation unitD:\llvm4\lib\CodeGen\MachineRegionInfo.cpp17Clang.diagnostic.diagnostic .explicit template instantiation 'RegionInfoBase<llvm::RegionTraits <llvm::MachineFunction> >' will emit a vtable in every translation unit
local type '(lambda at D:\llvm4\lib\CodeGen\GlobalMerge.cpp:156:20 )' as template argument is incompatible with C++98D:\llvm4\lib\CodeGen\GlobalMerge.cpp155Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\CodeGen\GlobalMerge.cpp:156:20 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\CodeGen\MachineBlockPlacement .cpp:432:33)' as template argument is incompatible with C++98D:\llvm4\lib\CodeGen\MachineBlockPlacement.cpp431Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\CodeGen\MachineBlockPlacement.cpp:432:33 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\CodeGen\MachineSink.cpp:575:11 )' as template argument is incompatible with C++98D:\llvm4\lib\CodeGen\MachineSink.cpp573Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\CodeGen\MachineSink.cpp:575:11 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\CodeGen\StackColoring.cpp:723:20 )' as template argument is incompatible with C++98D:\llvm4\lib\CodeGen\StackColoring.cpp722Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\CodeGen\StackColoring.cpp:723:20 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\IR\AsmWriter.cpp:144:39 )' as template argument is incompatible with C++98D:\llvm4\lib\IR\AsmWriter.cpp144Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\IR\AsmWriter.cpp:144:39 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\IR\AsmWriter.cpp:177:11 )' as template argument is incompatible with C++98D:\llvm4\lib\IR\AsmWriter.cpp175Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\IR\AsmWriter.cpp:177:11 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\IR\DataLayout.cpp:392:27 )' as template argument is incompatible with C++98D:\llvm4\lib\IR\DataLayout.cpp391Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\IR\DataLayout.cpp:392:27 )' as template argument is incompatible with C++98
local type ' (lambda at D:\llvm4\lib\Transforms\Instrumentation\GCOVProfiling .cpp:272:17)' as template argument is incompatible with C++98D:\llvm4\lib\Transforms\Instrumentation\GCOVProfiling.cpp271Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Transforms\Instrumentation\GCOVProfiling .cpp:272:17)' as template argument is incompatible with C++98
unnamed type as template argument is incompatible with C++98D:\llvm4\lib\MC\MCSectionMachO.cpp211Clang.diagnostic.diagnostic .unnamed type as template argument is incompatible with C++98
unnamed type as template argument is incompatible with C++98D:\llvm4\lib\MC\MCSectionMachO.cpp210Clang.diagnostic.diagnostic .unnamed type as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\MC\MCSectionMachO.cpp:212:7 )' as template argument is incompatible with C++98D:\llvm4\lib\MC\MCSectionMachO.cpp210Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\MC\MCSectionMachO.cpp:212:7 )' as template argument is incompatible with C++98
unnamed type as template argument is incompatible with C++98D:\llvm4\lib\MC\MCSectionMachO.cpp240Clang.diagnostic.diagnostic .unnamed type as template argument is incompatible with C++98
unnamed type as template argument is incompatible with C++98D:\llvm4\lib\MC\MCSectionMachO.cpp239Clang.diagnostic.diagnostic .unnamed type as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\MC\MCSectionMachO.cpp:241:9 )' as template argument is incompatible with C++98D:\llvm4\lib\MC\MCSectionMachO.cpp239Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\MC\MCSectionMachO.cpp:241:9 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Target\Mips\MipsDelaySlotFiller .cpp:665:44)' as template argument is incompatible with C++98D:\llvm4\lib\Target\Mips\MipsDelaySlotFiller.cpp664Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Target\Mips\MipsDelaySlotFiller.cpp:665:44 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Option\ArgList.cpp:45:29 )' as template argument is incompatible with C++98D:\llvm4\lib\Option\ArgList.cpp44Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Option\ArgList.cpp:45:29 )' as template argument is incompatible with C++98
explicit template instantiation 'RawInstrProfReader<unsigned int >' will emit a vtable in every translation unitD:\llvm4\lib\ProfileData\InstrProfReader.cpp280Clang.diagnostic.diagnostic .explicit template instantiation 'RawInstrProfReader<unsigned int >' will emit a vtable in every translation unit
explicit template instantiation 'RawInstrProfReader<unsigned long long >' will emit a vtable in every translation unitD:\llvm4\lib\ProfileData\InstrProfReader.cpp281Clang.diagnostic.diagnostic .explicit template instantiation 'RawInstrProfReader <unsigned long long>' will emit a vtable in every translation unit
local type '(lambda at D:\llvm4\lib\Transforms\Scalar\SROA.cpp:3286:34 )' as template argument is incompatible with C++98D:\llvm4\lib\Transforms\Scalar\SROA.cpp3 285Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Transforms\Scalar\SROA.cpp:3286:34 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Transforms\Scalar\ConstantHoisting .cpp:406:13)' as template argument is incompatible with C++98D:\llvm4\lib\Transforms\Scalar\ConstantHoisting.cpp405Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Transforms\Scalar\ConstantHoisting.cpp:406:13 )' as template argument is incompatible with C++98
local type ' (lambda at D:\llvm4\lib\Transforms\Scalar\DeadStoreElimination .cpp:807:34)' as template argument is incompatible with C++98D:\llvm4\lib\Transforms\Scalar\DeadStoreElimination.cpp807Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Transforms\Scalar\DeadStoreElimination .cpp:807:34)' as template argument is incompatible with C++98
local type ' (lambda at D:\llvm4\lib\Transforms\Scalar\DeadStoreElimination .cpp:875:30)' as template argument is incompatible with C++98D:\llvm4\lib\Transforms\Scalar\DeadStoreElimination.cpp875Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Transforms\Scalar\DeadStoreElimination .cpp:875:30)' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Transforms\Scalar\LoadCombine .cpp:121:15)' as template argument is incompatible with C++98D:\llvm4\lib\Transforms\Scalar\LoadCombine.cpp120Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Transforms\Scalar\LoadCombine.cpp:121:15 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Transforms\Scalar\SROA.cpp:3660:24 )' as template argument is incompatible with C++98D:\llvm4\lib\Transforms\Scalar\SROA.cpp3 663Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Transforms\Scalar\SROA.cpp:3660:24 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Transforms\Scalar\SROA.cpp:3660:24 )' as template argument is incompatible with C++98D:\llvm4\lib\Transforms\Scalar\SROA.cpp3 665Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Transforms\Scalar\SROA.cpp:3660:24 )' as template argument is incompatible with C++98
local type 'VisitType' as template argument is incompatible with C++98D:\llvm4\lib\Transforms\Scalar\TailRecursionElimination.cpp274Clang.diagnostic.diagnostic .local type 'VisitType' as template argument is incompatible with C++9 8
local type '(lambda at D:\llvm4\lib\CodeGen\SelectionDAG\DAGCombiner .cpp:8526:13)' as template argument is incompatible with C++98D:\llvm4\lib\CodeGen\SelectionDAG\DAGCombiner.cpp8 525Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\CodeGen\SelectionDAG\DAGCombiner.cpp:8526:13 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\CodeGen\SelectionDAG\DAGCombiner .cpp:9250:13)' as template argument is incompatible with C++98D:\llvm4\lib\CodeGen\SelectionDAG\DAGCombiner.cpp9 249Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\CodeGen\SelectionDAG\DAGCombiner.cpp:9250:13 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Support\Statistic.cpp:114:20 )' as template argument is incompatible with C++98D:\llvm4\lib\Support\Statistic.cpp113Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Support\Statistic.cpp:114:20 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Support\CommandLine.cpp:130:3 )' as template argument is incompatible with C++98D:\llvm4\lib\Support\CommandLine.cpp130Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Support\CommandLine.cpp:130:3 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Transforms\Vectorize\SLPVectorizer .cpp:2396:20)' as template argument is incompatible with C++98D:\llvm4\lib\Transforms\Vectorize\SLPVectorizer.cpp2 395Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Transforms\Vectorize\SLPVectorizer.cpp:2396:20 )' as template argument is incompatible with C++98
local type 'ScheduleDataCompare' as template argument is incompatible with C++98D:\llvm4\lib\Transforms\Vectorize\SLPVectorizer.cpp2 745Clang.diagnostic.diagnostic .local type 'ScheduleDataCompare' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Target\X86\X86ISelLowering .cpp:7378:47)' as template argument is incompatible with C++98D:\llvm4\lib\Target\X86\X86ISelLowering.cpp7 378Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Target\X86\X86ISelLowering.cpp:7378:47 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Target\X86\X86ISelLowering .cpp:7399:48)' as template argument is incompatible with C++98D:\llvm4\lib\Target\X86\X86ISelLowering.cpp7 399Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Target\X86\X86ISelLowering.cpp:7399:48 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Target\X86\X86ISelLowering .cpp:7518:30)' as template argument is incompatible with C++98D:\llvm4\lib\Target\X86\X86ISelLowering.cpp7 517Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Target\X86\X86ISelLowering.cpp:7518:30 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Target\X86\X86ISelLowering .cpp:7605:47)' as template argument is incompatible with C++98D:\llvm4\lib\Target\X86\X86ISelLowering.cpp7 605Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Target\X86\X86ISelLowering.cpp:7605:47 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Target\X86\X86ISelLowering .cpp:7673:16)' as template argument is incompatible with C++98D:\llvm4\lib\Target\X86\X86ISelLowering.cpp7 672Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Target\X86\X86ISelLowering.cpp:7673:16 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Target\X86\X86ISelLowering .cpp:7678:16)' as template argument is incompatible with C++98D:\llvm4\lib\Target\X86\X86ISelLowering.cpp7 677Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Target\X86\X86ISelLowering.cpp:7678:16 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Target\X86\X86ISelLowering .cpp:8077:3)' as template argument is incompatible with C++98D:\llvm4\lib\Target\X86\X86ISelLowering.cpp8 077Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Target\X86\X86ISelLowering.cpp:8077:3 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Target\X86\X86ISelLowering .cpp:8080:3)' as template argument is incompatible with C++98D:\llvm4\lib\Target\X86\X86ISelLowering.cpp8 080Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Target\X86\X86ISelLowering.cpp:8080:3 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Target\X86\X86ISelLowering .cpp:8211:26)' as template argument is incompatible with C++98D:\llvm4\lib\Target\X86\X86ISelLowering.cpp8 210Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Target\X86\X86ISelLowering.cpp:8211:26 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Target\X86\X86ISelLowering .cpp:8281:15)' as template argument is incompatible with C++98D:\llvm4\lib\Target\X86\X86ISelLowering.cpp8 284Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Target\X86\X86ISelLowering.cpp:8281:15 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Target\X86\X86ISelLowering .cpp:8282:15)' as template argument is incompatible with C++98D:\llvm4\lib\Target\X86\X86ISelLowering.cpp8 285Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Target\X86\X86ISelLowering.cpp:8282:15 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Target\X86\X86ISelLowering .cpp:8442:47)' as template argument is incompatible with C++98D:\llvm4\lib\Target\X86\X86ISelLowering.cpp8 442Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Target\X86\X86ISelLowering.cpp:8442:47 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Target\X86\X86ISelLowering .cpp:8466:20)' as template argument is incompatible with C++98D:\llvm4\lib\Target\X86\X86ISelLowering.cpp8 465Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Target\X86\X86ISelLowering.cpp:8466:20 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Target\X86\X86ISelLowering .cpp:8472:20)' as template argument is incompatible with C++98D:\llvm4\lib\Target\X86\X86ISelLowering.cpp8 471Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Target\X86\X86ISelLowering.cpp:8472:20 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Target\X86\X86ISelLowering .cpp:8665:22)' as template argument is incompatible with C++98D:\llvm4\lib\Target\X86\X86ISelLowering.cpp8 664Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Target\X86\X86ISelLowering.cpp:8665:22 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Target\X86\X86ISelLowering .cpp:8667:22)' as template argument is incompatible with C++98D:\llvm4\lib\Target\X86\X86ISelLowering.cpp8 666Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Target\X86\X86ISelLowering.cpp:8667:22 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Target\X86\X86ISelLowering .cpp:10103:26)' as template argument is incompatible with C++98D:\llvm4\lib\Target\X86\X86ISelLowering.cpp10 105Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Target\X86\X86ISelLowering.cpp:10103:26 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Target\X86\X86ISelLowering .cpp:10103:26)' as template argument is incompatible with C++98D:\llvm4\lib\Target\X86\X86ISelLowering.cpp10 113Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Target\X86\X86ISelLowering.cpp:10103:26 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Target\X86\X86ISelLowering .cpp:10104:26)' as template argument is incompatible with C++98D:\llvm4\lib\Target\X86\X86ISelLowering.cpp10 120Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Target\X86\X86ISelLowering.cpp:10104:26 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Target\X86\X86ISelLowering .cpp:10104:26)' as template argument is incompatible with C++98D:\llvm4\lib\Target\X86\X86ISelLowering.cpp10 127Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Target\X86\X86ISelLowering.cpp:10104:26 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Transforms\IPO\GlobalDCE .cpp:124:42)' as template argument is incompatible with C++98D:\llvm4\lib\Transforms\IPO\GlobalDCE.cpp124Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Transforms\IPO\GlobalDCE.cpp:124:42 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\lib\Transforms\IPO\GlobalDCE .cpp:128:28)' as template argument is incompatible with C++98D:\llvm4\lib\Transforms\IPO\GlobalDCE.cpp128Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\lib\Transforms\IPO\GlobalDCE.cpp:128:28 )' as template argument is incompatible with C++98
unnamed type as template argument is incompatible with C++98D:\llvm4\unittests\Transforms\Utils\Cloning.cpp200Clang.diagnostic.diagnostic .unnamed type as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\tools\clang\tools\driver\driver .cpp:404:32)' as template argument is incompatible with C++98D:\llvm4\tools\clang\tools\driver\driver.cpp403Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\tools\clang\tools\driver\driver.cpp:404:32 )' as template argument is incompatible with C++98
local type ' (lambda at D:\llvm4\tools\extra\clang-query\tool\ClangQuery.cpp:107:25 )' as template argument is incompatible with C++98D:\llvm4\tools\extra\clang-query\tool\ClangQuery.cpp107Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\tools\extra\clang-query\tool\ClangQuery.cpp:107:25 )' as template argument is incompatible with C++98
local type ' (lambda at D:\llvm4\tools\clang\utils\TableGen\ClangDiagnosticsEmitter .cpp:891:13)' as template argument is incompatible with C++98D:\llvm4\tools\clang\utils\TableGen\ClangDiagnosticsEmitter.cpp890Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\tools\clang\utils\TableGen\ClangDiagnosticsEmitter .cpp:891:13)' as template argument is incompatible with C++98
local type 'OverloadInfo' as template argument is incompatible with C+ +98D:\llvm4\tools\clang\utils\TableGen\NeonEmitter.cpp2 000Clang.diagnostic.diagnostic .local type 'OverloadInfo' as template argument is incompatible with C ++98
local type 'OverloadInfo' as template argument is incompatible with C+ +98D:\llvm4\tools\clang\utils\TableGen\NeonEmitter.cpp2 060Clang.diagnostic.diagnostic .local type 'OverloadInfo' as template argument is incompatible with C ++98
local type '(lambda at D:\llvm4\tools\clang\utils\TableGen\NeonEmitter .cpp:2339:7)' as template argument is incompatible with C++98D:\llvm4\tools\clang\utils\TableGen\NeonEmitter.cpp2 337Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\tools\clang\utils\TableGen\NeonEmitter.cpp:2339:7 )' as template argument is incompatible with C++98
local type ' (lambda at D:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain .cpp:306:50)' as template argument is incompatible with C++98D:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain.cpp306Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\tools\extra\clang-tidy\tool\ClangTidyMain .cpp:306:50)' as template argument is incompatible with C++98
local type ' (lambda at D:\llvm4\tools\clang\lib\AST\RecordLayoutBuilder .cpp:3022:20)' as template argument is incompatible with C++98D:\llvm4\tools\clang\lib\AST\RecordLayoutBuilder.cpp3 021Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\tools\clang\lib\AST\RecordLayoutBuilder .cpp:3022:20)' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\tools\clang\lib\AST\VTableBuilder .cpp:3261:13)' as template argument is incompatible with C++98D:\llvm4\tools\clang\lib\AST\VTableBuilder.cpp3 260Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\tools\clang\lib\AST\VTableBuilder.cpp:3261:13 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\tools\clang\lib\AST\VTableBuilder .cpp:2253:13)' as template argument is incompatible with C++98D:\llvm4\tools\clang\lib\AST\VTableBuilder.cpp2 251Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\tools\clang\lib\AST\VTableBuilder.cpp:2253:13 )' as template argument is incompatible with C++98
local type '(lambda at D:\llvm4\tools\clang\lib\AST\VTableBuilder .cpp:3170:16)' as template argument is incompatible with C++98D:\llvm4\tools\clang\lib\AST\VTableBuilder.cpp3 169Clang.diagnostic.diagnostic.local type ' (lambda at D:\llvm4\tools\clang\lib\AST\VTableBuilder.cpp:3170:16 )' as template argument is incompatible with C++98

Statistics

Stat   FilePath   BeginLine
Sum:0364 211
Average:02 334
Minimum:017
Maximum:010 127
Standard deviation:02 903
Variance:08 427 618
warningCritical    Rule warning: Comparison Issues
// <Name>Comparison Issues</Name>
warnif count > 0
from issue in Issues  where issue.ToolName=="Clang" && issue.Type.Contains("comparison")
select new { issue,issue.FilePath,issue.BeginLine }
        

4 fields matched

fieldsFilePathBeginLineFull Name
comparison of integers of different signs: 'int' and 'const size_t' (aka 'const unsigned int')D:\llvm4\tools\clang\lib\Lex\PPDirectives.cpp1 432Clang.diagnostic.diagnostic .comparison of integers of different signs: 'int' and 'const size_t' (aka 'const unsigned int')
comparison of integers of different signs: 'int' and 'const size_t' (aka 'const unsigned int')D:\llvm4\tools\clang\lib\Lex\PPDirectives.cpp1 437Clang.diagnostic.diagnostic .comparison of integers of different signs: 'int' and 'const size_t' (aka 'const unsigned int')
comparison of integers of different signs: 'int' and 'const size_t' (aka 'const unsigned int')D:\llvm4\tools\clang\lib\Lex\PPDirectives.cpp1 439Clang.diagnostic.diagnostic .comparison of integers of different signs: 'int' and 'const size_t' (aka 'const unsigned int')
comparison of integers of different signs: 'int' and 'const size_t' (aka 'const unsigned int')D:\llvm4\tools\clang\lib\Lex\PPDirectives.cpp1 441Clang.diagnostic.diagnostic .comparison of integers of different signs: 'int' and 'const size_t' (aka 'const unsigned int')

Statistics

Stat   FilePath   BeginLine
Sum:05 749
Average:01 437
Minimum:01 432
Maximum:01 441
Standard deviation:03.35
Variance:011.25

030
Dead Code  

warningCritical    Rule warning: Potentially dead Types
// <Name>Potentially dead Types</Name>
warnif count > 0

let tt=Types.UsedByAny(Application.Methods).ToHashSet()
// Select types unused
let typesUnused = 
   
from t in JustMyCode.Types where
   
t.NbTypesUsingMe == 0 && !t.IsGlobal  select t



from t in typesUnused  where !tt.Contains(t)
select new { t }
        
        

2,778 types matched

typesFull Name
MapVectorTest_insert_pop_TestMapVectorTest_insert_pop_Test
MapVectorTest_erase_TestMapVectorTest_erase_Test
MapVectorTest_remove_if_TestMapVectorTest_remove_if_Test
SmallPtrSetTest_Assignment_TestSmallPtrSetTest_Assignment_Test
SmallPtrSetTest_GrowthTest_TestSmallPtrSetTest_GrowthTest_Test
SmallPtrSetTest_CopyAndMoveTest_TestSmallPtrSetTest_CopyAndMoveTest_Test
SmallPtrSetTest_SwapTest_TestSmallPtrSetTest_SwapTest_Test
APFloatTest_isSignaling_Testanonymous_namespace{apfloattest.cpp}.APFloatTest_isSignaling_Test
APFloatTest_next_Testanonymous_namespace{apfloattest.cpp}.APFloatTest_next_Test
APFloatTest_FMA_Testanonymous_namespace{apfloattest.cpp}.APFloatTest_FMA_Test
APFloatTest_Denormal_Testanonymous_namespace{apfloattest.cpp}.APFloatTest_Denormal_Test
APFloatTest_Zero_Testanonymous_namespace{apfloattest.cpp}.APFloatTest_Zero_Test
APFloatTest_DecimalStringsWithoutNullTerminators_Testanonymous_namespace{apfloattest.cpp} .APFloatTest_DecimalStringsWithoutNullTerminators_Test
APFloatTest_fromZeroDecimalString_Testanonymous_namespace{apfloattest.cpp} .APFloatTest_fromZeroDecimalString_Test
APFloatTest_fromZeroDecimalSingleExponentString_Testanonymous_namespace{apfloattest.cpp} .APFloatTest_fromZeroDecimalSingleExponentString_Test
APFloatTest_fromZeroDecimalLargeExponentString_Testanonymous_namespace{apfloattest.cpp} .APFloatTest_fromZeroDecimalLargeExponentString_Test
APFloatTest_fromZeroHexadecimalString_Testanonymous_namespace{apfloattest.cpp} .APFloatTest_fromZeroHexadecimalString_Test
APFloatTest_fromDecimalString_Testanonymous_namespace{apfloattest.cpp} .APFloatTest_fromDecimalString_Test
APFloatTest_fromHexadecimalString_Testanonymous_namespace{apfloattest.cpp} .APFloatTest_fromHexadecimalString_Test
APFloatTest_toString_Testanonymous_namespace{apfloattest.cpp}.APFloatTest_toString_Test
APFloatTest_toInteger_Testanonymous_namespace{apfloattest.cpp}.APFloatTest_toInteger_Test
APFloatTest_makeNaN_Testanonymous_namespace{apfloattest.cpp}.APFloatTest_makeNaN_Test
APFloatTest_SemanticsDeath_Testanonymous_namespace{apfloattest.cpp}.APFloatTest_SemanticsDeath_Test
APFloatTest_StringDecimalDeath_Testanonymous_namespace{apfloattest.cpp} .APFloatTest_StringDecimalDeath_Test
APFloatTest_StringDecimalSignificandDeath_Testanonymous_namespace{apfloattest.cpp} .APFloatTest_StringDecimalSignificandDeath_Test
APFloatTest_StringDecimalExponentDeath_Testanonymous_namespace{apfloattest.cpp} .APFloatTest_StringDecimalExponentDeath_Test
APFloatTest_StringHexadecimalDeath_Testanonymous_namespace{apfloattest.cpp} .APFloatTest_StringHexadecimalDeath_Test
APFloatTest_StringHexadecimalSignificandDeath_Testanonymous_namespace{apfloattest.cpp} .APFloatTest_StringHexadecimalSignificandDeath_Test
APFloatTest_StringHexadecimalExponentDeath_Testanonymous_namespace{apfloattest.cpp} .APFloatTest_StringHexadecimalExponentDeath_Test
APFloatTest_exactInverse_Testanonymous_namespace{apfloattest.cpp}.APFloatTest_exactInverse_Test
APFloatTest_roundToIntegral_Testanonymous_namespace{apfloattest.cpp}.APFloatTest_roundToIntegral_Test
APFloatTest_getLargest_Testanonymous_namespace{apfloattest.cpp}.APFloatTest_getLargest_Test
APFloatTest_getSmallest_Testanonymous_namespace{apfloattest.cpp}.APFloatTest_getSmallest_Test
APFloatTest_getSmallestNormalized_Testanonymous_namespace{apfloattest.cpp} .APFloatTest_getSmallestNormalized_Test
APFloatTest_getZero_Testanonymous_namespace{apfloattest.cpp}.APFloatTest_getZero_Test
APFloatTest_convert_Testanonymous_namespace{apfloattest.cpp}.APFloatTest_convert_Test
APFloatTest_PPCDoubleDouble_Testanonymous_namespace{apfloattest.cpp}.APFloatTest_PPCDoubleDouble_Test
APFloatTest_isNegative_Testanonymous_namespace{apfloattest.cpp}.APFloatTest_isNegative_Test
APFloatTest_isNormal_Testanonymous_namespace{apfloattest.cpp}.APFloatTest_isNormal_Test
APFloatTest_isFinite_Testanonymous_namespace{apfloattest.cpp}.APFloatTest_isFinite_Test
APFloatTest_isInfinity_Testanonymous_namespace{apfloattest.cpp}.APFloatTest_isInfinity_Test
APFloatTest_isNaN_Testanonymous_namespace{apfloattest.cpp}.APFloatTest_isNaN_Test
APFloatTest_isFiniteNonZero_Testanonymous_namespace{apfloattest.cpp}.APFloatTest_isFiniteNonZero_Test
APFloatTest_add_Testanonymous_namespace{apfloattest.cpp}.APFloatTest_add_Test
APFloatTest_subtract_Testanonymous_namespace{apfloattest.cpp}.APFloatTest_subtract_Test
APFloatTest_multiply_Testanonymous_namespace{apfloattest.cpp}.APFloatTest_multiply_Test
APFloatTest_divide_Testanonymous_namespace{apfloattest.cpp}.APFloatTest_divide_Test
APIntTest_ShiftLeftByZero_Testanonymous_namespace{apinttest.cpp}.APIntTest_ShiftLeftByZero_Test
APIntTest_i128_NegativeCount_Testanonymous_namespace{apinttest.cpp}.APIntTest_i128_NegativeCount_Test
APIntTest_i33_Count_Testanonymous_namespace{apinttest.cpp}.APIntTest_i33_Count_Test
APIntTest_i65_Count_Testanonymous_namespace{apinttest.cpp}.APIntTest_i65_Count_Test
APIntTest_i128_PositiveCount_Testanonymous_namespace{apinttest.cpp}.APIntTest_i128_PositiveCount_Test
APIntTest_i1_Testanonymous_namespace{apinttest.cpp}.APIntTest_i1_Test
APIntTest_fromString_Testanonymous_namespace{apinttest.cpp}.APIntTest_fromString_Test
APIntTest_FromArray_Testanonymous_namespace{apinttest.cpp}.APIntTest_FromArray_Test
APIntTest_StringBitsNeeded2_Testanonymous_namespace{apinttest.cpp}.APIntTest_StringBitsNeeded2_Test
APIntTest_StringBitsNeeded8_Testanonymous_namespace{apinttest.cpp}.APIntTest_StringBitsNeeded8_Test
APIntTest_StringBitsNeeded10_Testanonymous_namespace{apinttest.cpp}.APIntTest_StringBitsNeeded10_Test
APIntTest_StringBitsNeeded16_Testanonymous_namespace{apinttest.cpp}.APIntTest_StringBitsNeeded16_Test
APIntTest_toString_Testanonymous_namespace{apinttest.cpp}.APIntTest_toString_Test
APIntTest_Log2_Testanonymous_namespace{apinttest.cpp}.APIntTest_Log2_Test
APIntTest_magic_Testanonymous_namespace{apinttest.cpp}.APIntTest_magic_Test
APIntTest_magicu_Testanonymous_namespace{apinttest.cpp}.APIntTest_magicu_Test
APIntTest_StringDeath_Testanonymous_namespace{apinttest.cpp}.APIntTest_StringDeath_Test
APIntTest_mul_clear_Testanonymous_namespace{apinttest.cpp}.APIntTest_mul_clear_Test
APIntTest_Rotate_Testanonymous_namespace{apinttest.cpp}.APIntTest_Rotate_Test
APIntTest_Splat_Testanonymous_namespace{apinttest.cpp}.APIntTest_Splat_Test
APIntTest_tcDecrement_Testanonymous_namespace{apinttest.cpp}.APIntTest_tcDecrement_Test
APIntTest_arrayAccess_Testanonymous_namespace{apinttest.cpp}.APIntTest_arrayAccess_Test
APIntTest_LargeAPIntConstruction_Testanonymous_namespace{apinttest.cpp} .APIntTest_LargeAPIntConstruction_Test
APIntTest_nearestLogBase2_Testanonymous_namespace{apinttest.cpp}.APIntTest_nearestLogBase2_Test
APIntTest_SelfMoveAssignment_Testanonymous_namespace{apinttest.cpp}.APIntTest_SelfMoveAssignment_Test
APSIntTest_MoveTest_Testanonymous_namespace{apsinttest.cpp}.APSIntTest_MoveTest_Test
ArrayRefTest_AllocatorCopy_Testllvm.ArrayRefTest_AllocatorCopy_Test
ArrayRefTest_DropBack_Testllvm.ArrayRefTest_DropBack_Test
ArrayRefTest_Equals_Testllvm.ArrayRefTest_Equals_Test
ArrayRefTest_EmptyEquals_Testllvm.ArrayRefTest_EmptyEquals_Test
ArrayRefTest_ConstConvert_Testllvm.ArrayRefTest_ConstConvert_Test
IntrusiveRefCntPtr_RefCountedBaseVPTRCopyDoesNotLeak_Testllvm.IntrusiveRefCntPtr_RefCountedBaseVPTRCopyDoesNotLeak_Test
IntrusiveRefCntPtr_RefCountedBaseCopyDoesNotLeak_Testllvm.IntrusiveRefCntPtr_RefCountedBaseCopyDoesNotLeak_Test
IntrusiveRefCntPtrInfo<llvm::InterceptRefCounted>llvm.IntrusiveRefCntPtrInfo<llvm::InterceptRefCounted>
IntrusiveRefCntPtr_UsesTraitsToRetainAndRelease_Testllvm.IntrusiveRefCntPtr_UsesTraitsToRetainAndRelease_Test
GraphTraits<Graph<N>>llvm.GraphTraits<Graph<N>>
SCCIteratorTest_AllSmallGraphs_Testllvm.SCCIteratorTest_AllSmallGraphs_Test
is_hashable_data<llvm::LargeTestInteger>llvm.hashing.detail.is_hashable_data<llvm::LargeTestInteger>
BitVectorTest_TrivialOperation_Test<gtest_TypeParam_>anonymous_namespace{bitvectortest.cpp} .BitVectorTest_TrivialOperation_Test<gtest_TypeParam_>
BitVectorTest_CompoundAssignment_Test<gtest_TypeParam_>anonymous_namespace{bitvectortest.cpp} .BitVectorTest_CompoundAssignment_Test<gtest_TypeParam_>
BitVectorTest_ProxyIndex_Test<gtest_TypeParam_>anonymous_namespace{bitvectortest.cpp}.BitVectorTest_ProxyIndex_Test <gtest_TypeParam_>
BitVectorTest_PortableBitMask_Test<gtest_TypeParam_>anonymous_namespace{bitvectortest.cpp} .BitVectorTest_PortableBitMask_Test<gtest_TypeParam_>
BitVectorTest_BinOps_Test<gtest_TypeParam_>anonymous_namespace{bitvectortest.cpp}.BitVectorTest_BinOps_Test <gtest_TypeParam_>
BitVectorTest_RangeOps_Test<gtest_TypeParam_>anonymous_namespace{bitvectortest.cpp}.BitVectorTest_RangeOps_Test <gtest_TypeParam_>
BitVectorTest_CompoundTestReset_Test<gtest_TypeParam_>anonymous_namespace{bitvectortest.cpp} .BitVectorTest_CompoundTestReset_Test<gtest_TypeParam_>
DAGDeltaAlgorithmTest_Basic_Testanonymous_namespace{dagdeltaalgorithmtest.cpp} .DAGDeltaAlgorithmTest_Basic_Test
DeltaAlgorithmTest_Basic_Testanonymous_namespace{deltaalgorithmtest.cpp} .DeltaAlgorithmTest_Basic_Test
CtorTesterMapInfoanonymous_namespace{densemaptest.cpp}.CtorTesterMapInfo
DenseMapTest_EmptyIntMapTest_Test<gtest_TypeParam_>anonymous_namespace{densemaptest.cpp} .DenseMapTest_EmptyIntMapTest_Test<gtest_TypeParam_>
DenseMapTest_ConstEmptyMapTest_Test<gtest_TypeParam_>anonymous_namespace{densemaptest.cpp} .DenseMapTest_ConstEmptyMapTest_Test<gtest_TypeParam_>
DenseMapTest_SingleEntryMapTest_Test<gtest_TypeParam_>anonymous_namespace{densemaptest.cpp} .DenseMapTest_SingleEntryMapTest_Test<gtest_TypeParam_>
DenseMapTest_ClearTest_Test<gtest_TypeParam_>anonymous_namespace{densemaptest.cpp}.DenseMapTest_ClearTest_Test <gtest_TypeParam_>
DenseMapTest_EraseTest_Test<gtest_TypeParam_>anonymous_namespace{densemaptest.cpp}.DenseMapTest_EraseTest_Test <gtest_TypeParam_>

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
warningCritical    Rule warning: Potentially dead Methods
// <Name>Potentially dead Methods</Name>
warnif count > 0
// Filter procedure for methods that should'nt be considered as dead
let canMethodBeConsideredAsDeadProc = new Func<IMethod, bool>(
    
m => !m.IsPublic &&       // Public methods might be used by client applications of your Projects.
         !m.IsEntryPoint &&            // Main() method is not used by-design.
         !m.IsClassConstructor &&      
         
!m.IsVirtual &&               // Only check for non virtual method that are not seen as used in IL.
         !(m.IsConstructor &&          // Don't take account of protected ctor that might be call by a derived ctors.
           m.IsProtected) &&
         
!m.NameLike (@"^On") &&        //Exclude Events like MFC ones
         !m.IsGeneratedByCompiler
)

// Get methods unused
let methodsUnused = 
   
from m in JustMyCode.Methods where 
   
m.NbMethodsCallingMe == 0 && 
   
canMethodBeConsideredAsDeadProc(m)
   
select m

// Dead methods = methods used only by unused methods (recursive)
let deadMethodsMetric = methodsUnused.FillIterative(
   
methods => // Unique loop, just to let a chance to build the hashset.
              from o in new[] { new object() }
              
// Use a hashet to make Intersect calls much faster!
              let hashset = methods.ToHashSet()
              
from m in codeBase.Application.Methods.UsedByAny(methods).Except(methods)
              
where canMethodBeConsideredAsDeadProc(m) &&
                    
// Select methods called only by methods already considered as dead
                    hashset.Intersect(m.MethodsCallingMe).Count() == m.NbMethodsCallingMe
              
select m)

from m in JustMyCode.Methods.Intersect(deadMethodsMetric.DefinitionDomain)
select new { m, m.MethodsCallingMe, depth = deadMethodsMetric[m] }

7,229 methods matched

methodsMethodsCallingMedepthFull Name
MapVectorTest_insert_pop_Test(constMapVectorTest_insert_pop_Test&)0 method0MapVectorTest_insert_pop_Test.MapVectorTest_insert_pop_Test (constMapVectorTest_insert_pop_Test&)
operator=(constMapVectorTest_insert_pop_Test&)0 method0MapVectorTest_insert_pop_Test.operator= (constMapVectorTest_insert_pop_Test&)
MapVectorTest_erase_Test(constMapVectorTest_erase_Test&)0 method0MapVectorTest_erase_Test.MapVectorTest_erase_Test (constMapVectorTest_erase_Test&)
operator=(constMapVectorTest_erase_Test&)0 method0MapVectorTest_erase_Test.operator=(constMapVectorTest_erase_Test&)
MapVectorTest_remove_if_Test(constMapVectorTest_remove_if_Test&)0 method0MapVectorTest_remove_if_Test.MapVectorTest_remove_if_Test (constMapVectorTest_remove_if_Test&)
operator=(constMapVectorTest_remove_if_Test&)0 method0MapVectorTest_remove_if_Test.operator= (constMapVectorTest_remove_if_Test&)
SmallPtrSetTest_Assignment_Test(constSmallPtrSetTest_Assignment_Test&)0 method0SmallPtrSetTest_Assignment_Test.SmallPtrSetTest_Assignment_Test (constSmallPtrSetTest_Assignment_Test&)
operator=(constSmallPtrSetTest_Assignment_Test&)0 method0SmallPtrSetTest_Assignment_Test.operator= (constSmallPtrSetTest_Assignment_Test&)
SmallPtrSetTest_GrowthTest_Test(constSmallPtrSetTest_GrowthTest_Test&)0 method0SmallPtrSetTest_GrowthTest_Test.SmallPtrSetTest_GrowthTest_Test (constSmallPtrSetTest_GrowthTest_Test&)
operator=(constSmallPtrSetTest_GrowthTest_Test&)0 method0SmallPtrSetTest_GrowthTest_Test.operator= (constSmallPtrSetTest_GrowthTest_Test&)
SmallPtrSetTest_CopyAndMoveTest_Test (constSmallPtrSetTest_CopyAndMoveTest_Test&)0 method0SmallPtrSetTest_CopyAndMoveTest_Test .SmallPtrSetTest_CopyAndMoveTest_Test (constSmallPtrSetTest_CopyAndMoveTest_Test&)
operator=(constSmallPtrSetTest_CopyAndMoveTest_Test&)0 method0SmallPtrSetTest_CopyAndMoveTest_Test.operator= (constSmallPtrSetTest_CopyAndMoveTest_Test&)
SmallPtrSetTest_SwapTest_Test(constSmallPtrSetTest_SwapTest_Test&)0 method0SmallPtrSetTest_SwapTest_Test.SmallPtrSetTest_SwapTest_Test (constSmallPtrSetTest_SwapTest_Test&)
operator=(constSmallPtrSetTest_SwapTest_Test&)0 method0SmallPtrSetTest_SwapTest_Test.operator= (constSmallPtrSetTest_SwapTest_Test&)
APFloatTest_isSignaling_Test(const(anonymousnamespace )::APFloatTest_isSignaling_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_isSignaling_Test .APFloatTest_isSignaling_Test(const(anonymousnamespace )::APFloatTest_isSignaling_Test&)
operator=(const(anonymousnamespace)::APFloatTest_isSignaling_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_isSignaling_Test .operator=(const(anonymousnamespace)::APFloatTest_isSignaling_Test&)
APFloatTest_next_Test(const(anonymousnamespace )::APFloatTest_next_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_next_Test .APFloatTest_next_Test(const(anonymousnamespace )::APFloatTest_next_Test&)
operator=(const(anonymousnamespace)::APFloatTest_next_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_next_Test.operator= (const(anonymousnamespace)::APFloatTest_next_Test&)
APFloatTest_FMA_Test(const(anonymousnamespace)::APFloatTest_FMA_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_FMA_Test .APFloatTest_FMA_Test(const(anonymousnamespace)::APFloatTest_FMA_Test& )
operator=(const(anonymousnamespace)::APFloatTest_FMA_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_FMA_Test.operator= (const(anonymousnamespace)::APFloatTest_FMA_Test&)
APFloatTest_Denormal_Test(const(anonymousnamespace )::APFloatTest_Denormal_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_Denormal_Test .APFloatTest_Denormal_Test(const(anonymousnamespace )::APFloatTest_Denormal_Test&)
operator=(const(anonymousnamespace)::APFloatTest_Denormal_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_Denormal_Test .operator=(const(anonymousnamespace)::APFloatTest_Denormal_Test&)
APFloatTest_Zero_Test(const(anonymousnamespace )::APFloatTest_Zero_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_Zero_Test .APFloatTest_Zero_Test(const(anonymousnamespace )::APFloatTest_Zero_Test&)
operator=(const(anonymousnamespace)::APFloatTest_Zero_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_Zero_Test.operator= (const(anonymousnamespace)::APFloatTest_Zero_Test&)
APFloatTest_DecimalStringsWithoutNullTerminators_Test(const (anonymousnamespace )::APFloatTest_DecimalStringsWithoutNullTerminators_Test&)0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_DecimalStringsWithoutNullTerminators_Test .APFloatTest_DecimalStringsWithoutNullTerminators_Test(const (anonymousnamespace )::APFloatTest_DecimalStringsWithoutNullTerminators_Test&)
operator=(const(anonymousnamespace )::APFloatTest_DecimalStringsWithoutNullTerminators_Test&)0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_DecimalStringsWithoutNullTerminators_Test.operator=(const (anonymousnamespace )::APFloatTest_DecimalStringsWithoutNullTerminators_Test&)
APFloatTest_fromZeroDecimalString_Test(const(anonymousnamespace )::APFloatTest_fromZeroDecimalString_Test&)0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_fromZeroDecimalString_Test .APFloatTest_fromZeroDecimalString_Test(const(anonymousnamespace )::APFloatTest_fromZeroDecimalString_Test&)
operator=(const(anonymousnamespace )::APFloatTest_fromZeroDecimalString_Test&)0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_fromZeroDecimalString_Test.operator=(const (anonymousnamespace)::APFloatTest_fromZeroDecimalString_Test&)
APFloatTest_fromZeroDecimalSingleExponentString_Test(const (anonymousnamespace )::APFloatTest_fromZeroDecimalSingleExponentString_Test&)0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_fromZeroDecimalSingleExponentString_Test .APFloatTest_fromZeroDecimalSingleExponentString_Test(const (anonymousnamespace )::APFloatTest_fromZeroDecimalSingleExponentString_Test&)
operator=(const(anonymousnamespace )::APFloatTest_fromZeroDecimalSingleExponentString_Test&)0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_fromZeroDecimalSingleExponentString_Test.operator=(const (anonymousnamespace )::APFloatTest_fromZeroDecimalSingleExponentString_Test&)
APFloatTest_fromZeroDecimalLargeExponentString_Test(const (anonymousnamespace )::APFloatTest_fromZeroDecimalLargeExponentString_Test&)0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_fromZeroDecimalLargeExponentString_Test .APFloatTest_fromZeroDecimalLargeExponentString_Test(const (anonymousnamespace )::APFloatTest_fromZeroDecimalLargeExponentString_Test&)
operator=(const(anonymousnamespace )::APFloatTest_fromZeroDecimalLargeExponentString_Test&)0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_fromZeroDecimalLargeExponentString_Test.operator=(const (anonymousnamespace )::APFloatTest_fromZeroDecimalLargeExponentString_Test&)
APFloatTest_fromZeroHexadecimalString_Test(const(anonymousnamespace )::APFloatTest_fromZeroHexadecimalString_Test&)0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_fromZeroHexadecimalString_Test .APFloatTest_fromZeroHexadecimalString_Test(const(anonymousnamespace )::APFloatTest_fromZeroHexadecimalString_Test&)
operator=(const(anonymousnamespace )::APFloatTest_fromZeroHexadecimalString_Test&)0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_fromZeroHexadecimalString_Test.operator=(const (anonymousnamespace)::APFloatTest_fromZeroHexadecimalString_Test&)
APFloatTest_fromDecimalString_Test(const(anonymousnamespace )::APFloatTest_fromDecimalString_Test&)0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_fromDecimalString_Test.APFloatTest_fromDecimalString_Test (const(anonymousnamespace)::APFloatTest_fromDecimalString_Test&)
operator=(const(anonymousnamespace )::APFloatTest_fromDecimalString_Test&)0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_fromDecimalString_Test.operator=(const(anonymousnamespace )::APFloatTest_fromDecimalString_Test&)
APFloatTest_fromHexadecimalString_Test(const(anonymousnamespace )::APFloatTest_fromHexadecimalString_Test&)0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_fromHexadecimalString_Test .APFloatTest_fromHexadecimalString_Test(const(anonymousnamespace )::APFloatTest_fromHexadecimalString_Test&)
operator=(const(anonymousnamespace )::APFloatTest_fromHexadecimalString_Test&)0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_fromHexadecimalString_Test.operator=(const (anonymousnamespace)::APFloatTest_fromHexadecimalString_Test&)
APFloatTest_toString_Test(const(anonymousnamespace )::APFloatTest_toString_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_toString_Test .APFloatTest_toString_Test(const(anonymousnamespace )::APFloatTest_toString_Test&)
operator=(const(anonymousnamespace)::APFloatTest_toString_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_toString_Test .operator=(const(anonymousnamespace)::APFloatTest_toString_Test&)
APFloatTest_toInteger_Test(const(anonymousnamespace )::APFloatTest_toInteger_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_toInteger_Test .APFloatTest_toInteger_Test(const(anonymousnamespace )::APFloatTest_toInteger_Test&)
operator=(const(anonymousnamespace)::APFloatTest_toInteger_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_toInteger_Test .operator=(const(anonymousnamespace)::APFloatTest_toInteger_Test&)
APFloatTest_makeNaN_Test(const(anonymousnamespace )::APFloatTest_makeNaN_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_makeNaN_Test .APFloatTest_makeNaN_Test(const(anonymousnamespace )::APFloatTest_makeNaN_Test&)
operator=(const(anonymousnamespace)::APFloatTest_makeNaN_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_makeNaN_Test .operator=(const(anonymousnamespace)::APFloatTest_makeNaN_Test&)
APFloatTest_SemanticsDeath_Test(const(anonymousnamespace )::APFloatTest_SemanticsDeath_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_SemanticsDeath_Test .APFloatTest_SemanticsDeath_Test(const(anonymousnamespace )::APFloatTest_SemanticsDeath_Test&)
operator=(const(anonymousnamespace)::APFloatTest_SemanticsDeath_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_SemanticsDeath_Test .operator=(const(anonymousnamespace)::APFloatTest_SemanticsDeath_Test& )
APFloatTest_StringDecimalDeath_Test(const(anonymousnamespace )::APFloatTest_StringDecimalDeath_Test&)0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_StringDecimalDeath_Test .APFloatTest_StringDecimalDeath_Test(const(anonymousnamespace )::APFloatTest_StringDecimalDeath_Test&)
operator=(const(anonymousnamespace )::APFloatTest_StringDecimalDeath_Test&)0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_StringDecimalDeath_Test.operator=(const (anonymousnamespace)::APFloatTest_StringDecimalDeath_Test&)
APFloatTest_StringDecimalSignificandDeath_Test(const (anonymousnamespace)::APFloatTest_StringDecimalSignificandDeath_Test&)0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_StringDecimalSignificandDeath_Test .APFloatTest_StringDecimalSignificandDeath_Test(const (anonymousnamespace)::APFloatTest_StringDecimalSignificandDeath_Test&)
operator=(const(anonymousnamespace )::APFloatTest_StringDecimalSignificandDeath_Test&)0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_StringDecimalSignificandDeath_Test.operator=(const (anonymousnamespace)::APFloatTest_StringDecimalSignificandDeath_Test&)
APFloatTest_StringDecimalExponentDeath_Test(const(anonymousnamespace )::APFloatTest_StringDecimalExponentDeath_Test&)0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_StringDecimalExponentDeath_Test .APFloatTest_StringDecimalExponentDeath_Test(const(anonymousnamespace )::APFloatTest_StringDecimalExponentDeath_Test&)
operator=(const(anonymousnamespace )::APFloatTest_StringDecimalExponentDeath_Test&)0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_StringDecimalExponentDeath_Test.operator=(const (anonymousnamespace)::APFloatTest_StringDecimalExponentDeath_Test&)
APFloatTest_StringHexadecimalDeath_Test(const(anonymousnamespace )::APFloatTest_StringHexadecimalDeath_Test&)0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_StringHexadecimalDeath_Test .APFloatTest_StringHexadecimalDeath_Test(const(anonymousnamespace )::APFloatTest_StringHexadecimalDeath_Test&)
operator=(const(anonymousnamespace )::APFloatTest_StringHexadecimalDeath_Test&)0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_StringHexadecimalDeath_Test.operator=(const (anonymousnamespace)::APFloatTest_StringHexadecimalDeath_Test&)
APFloatTest_StringHexadecimalSignificandDeath_Test(const (anonymousnamespace )::APFloatTest_StringHexadecimalSignificandDeath_Test&)0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_StringHexadecimalSignificandDeath_Test .APFloatTest_StringHexadecimalSignificandDeath_Test(const (anonymousnamespace )::APFloatTest_StringHexadecimalSignificandDeath_Test&)
operator=(const(anonymousnamespace )::APFloatTest_StringHexadecimalSignificandDeath_Test&)0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_StringHexadecimalSignificandDeath_Test.operator=(const (anonymousnamespace )::APFloatTest_StringHexadecimalSignificandDeath_Test&)
APFloatTest_StringHexadecimalExponentDeath_Test(const (anonymousnamespace)::APFloatTest_StringHexadecimalExponentDeath_Test& )0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_StringHexadecimalExponentDeath_Test .APFloatTest_StringHexadecimalExponentDeath_Test(const (anonymousnamespace)::APFloatTest_StringHexadecimalExponentDeath_Test& )
operator=(const(anonymousnamespace )::APFloatTest_StringHexadecimalExponentDeath_Test&)0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_StringHexadecimalExponentDeath_Test.operator=(const (anonymousnamespace)::APFloatTest_StringHexadecimalExponentDeath_Test& )
APFloatTest_exactInverse_Test(const(anonymousnamespace )::APFloatTest_exactInverse_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_exactInverse_Test .APFloatTest_exactInverse_Test(const(anonymousnamespace )::APFloatTest_exactInverse_Test&)
operator=(const(anonymousnamespace)::APFloatTest_exactInverse_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_exactInverse_Test .operator=(const(anonymousnamespace)::APFloatTest_exactInverse_Test&)
APFloatTest_roundToIntegral_Test(const(anonymousnamespace )::APFloatTest_roundToIntegral_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_roundToIntegral_Test .APFloatTest_roundToIntegral_Test(const(anonymousnamespace )::APFloatTest_roundToIntegral_Test&)
operator=(const(anonymousnamespace)::APFloatTest_roundToIntegral_Test& )0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_roundToIntegral_Test .operator=(const(anonymousnamespace )::APFloatTest_roundToIntegral_Test&)
APFloatTest_getLargest_Test(const(anonymousnamespace )::APFloatTest_getLargest_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_getLargest_Test .APFloatTest_getLargest_Test(const(anonymousnamespace )::APFloatTest_getLargest_Test&)
operator=(const(anonymousnamespace)::APFloatTest_getLargest_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_getLargest_Test .operator=(const(anonymousnamespace)::APFloatTest_getLargest_Test&)
APFloatTest_getSmallest_Test(const(anonymousnamespace )::APFloatTest_getSmallest_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_getSmallest_Test .APFloatTest_getSmallest_Test(const(anonymousnamespace )::APFloatTest_getSmallest_Test&)
operator=(const(anonymousnamespace)::APFloatTest_getSmallest_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_getSmallest_Test .operator=(const(anonymousnamespace)::APFloatTest_getSmallest_Test&)
APFloatTest_getSmallestNormalized_Test(const(anonymousnamespace )::APFloatTest_getSmallestNormalized_Test&)0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_getSmallestNormalized_Test .APFloatTest_getSmallestNormalized_Test(const(anonymousnamespace )::APFloatTest_getSmallestNormalized_Test&)
operator=(const(anonymousnamespace )::APFloatTest_getSmallestNormalized_Test&)0 method0anonymous_namespace{apfloattest.cpp} .APFloatTest_getSmallestNormalized_Test.operator=(const (anonymousnamespace)::APFloatTest_getSmallestNormalized_Test&)
APFloatTest_getZero_Test(const(anonymousnamespace )::APFloatTest_getZero_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_getZero_Test .APFloatTest_getZero_Test(const(anonymousnamespace )::APFloatTest_getZero_Test&)
operator=(const(anonymousnamespace)::APFloatTest_getZero_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_getZero_Test .operator=(const(anonymousnamespace)::APFloatTest_getZero_Test&)
APFloatTest_convert_Test(const(anonymousnamespace )::APFloatTest_convert_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_convert_Test .APFloatTest_convert_Test(const(anonymousnamespace )::APFloatTest_convert_Test&)
operator=(const(anonymousnamespace)::APFloatTest_convert_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_convert_Test .operator=(const(anonymousnamespace)::APFloatTest_convert_Test&)
APFloatTest_PPCDoubleDouble_Test(const(anonymousnamespace )::APFloatTest_PPCDoubleDouble_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_PPCDoubleDouble_Test .APFloatTest_PPCDoubleDouble_Test(const(anonymousnamespace )::APFloatTest_PPCDoubleDouble_Test&)
operator=(const(anonymousnamespace)::APFloatTest_PPCDoubleDouble_Test& )0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_PPCDoubleDouble_Test .operator=(const(anonymousnamespace )::APFloatTest_PPCDoubleDouble_Test&)
APFloatTest_isNegative_Test(const(anonymousnamespace )::APFloatTest_isNegative_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_isNegative_Test .APFloatTest_isNegative_Test(const(anonymousnamespace )::APFloatTest_isNegative_Test&)
operator=(const(anonymousnamespace)::APFloatTest_isNegative_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_isNegative_Test .operator=(const(anonymousnamespace)::APFloatTest_isNegative_Test&)
APFloatTest_isNormal_Test(const(anonymousnamespace )::APFloatTest_isNormal_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_isNormal_Test .APFloatTest_isNormal_Test(const(anonymousnamespace )::APFloatTest_isNormal_Test&)
operator=(const(anonymousnamespace)::APFloatTest_isNormal_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_isNormal_Test .operator=(const(anonymousnamespace)::APFloatTest_isNormal_Test&)
APFloatTest_isFinite_Test(const(anonymousnamespace )::APFloatTest_isFinite_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_isFinite_Test .APFloatTest_isFinite_Test(const(anonymousnamespace )::APFloatTest_isFinite_Test&)
operator=(const(anonymousnamespace)::APFloatTest_isFinite_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_isFinite_Test .operator=(const(anonymousnamespace)::APFloatTest_isFinite_Test&)
APFloatTest_isInfinity_Test(const(anonymousnamespace )::APFloatTest_isInfinity_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_isInfinity_Test .APFloatTest_isInfinity_Test(const(anonymousnamespace )::APFloatTest_isInfinity_Test&)
operator=(const(anonymousnamespace)::APFloatTest_isInfinity_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_isInfinity_Test .operator=(const(anonymousnamespace)::APFloatTest_isInfinity_Test&)
APFloatTest_isNaN_Test(const(anonymousnamespace )::APFloatTest_isNaN_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_isNaN_Test .APFloatTest_isNaN_Test(const(anonymousnamespace )::APFloatTest_isNaN_Test&)
operator=(const(anonymousnamespace)::APFloatTest_isNaN_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_isNaN_Test.operator= (const(anonymousnamespace)::APFloatTest_isNaN_Test&)
APFloatTest_isFiniteNonZero_Test(const(anonymousnamespace )::APFloatTest_isFiniteNonZero_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_isFiniteNonZero_Test .APFloatTest_isFiniteNonZero_Test(const(anonymousnamespace )::APFloatTest_isFiniteNonZero_Test&)
operator=(const(anonymousnamespace)::APFloatTest_isFiniteNonZero_Test& )0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_isFiniteNonZero_Test .operator=(const(anonymousnamespace )::APFloatTest_isFiniteNonZero_Test&)
APFloatTest_add_Test(const(anonymousnamespace)::APFloatTest_add_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_add_Test .APFloatTest_add_Test(const(anonymousnamespace)::APFloatTest_add_Test& )
operator=(const(anonymousnamespace)::APFloatTest_add_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_add_Test.operator= (const(anonymousnamespace)::APFloatTest_add_Test&)
APFloatTest_subtract_Test(const(anonymousnamespace )::APFloatTest_subtract_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_subtract_Test .APFloatTest_subtract_Test(const(anonymousnamespace )::APFloatTest_subtract_Test&)
operator=(const(anonymousnamespace)::APFloatTest_subtract_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_subtract_Test .operator=(const(anonymousnamespace)::APFloatTest_subtract_Test&)
APFloatTest_multiply_Test(const(anonymousnamespace )::APFloatTest_multiply_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_multiply_Test .APFloatTest_multiply_Test(const(anonymousnamespace )::APFloatTest_multiply_Test&)
operator=(const(anonymousnamespace)::APFloatTest_multiply_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_multiply_Test .operator=(const(anonymousnamespace)::APFloatTest_multiply_Test&)
APFloatTest_divide_Test(const(anonymousnamespace )::APFloatTest_divide_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_divide_Test .APFloatTest_divide_Test(const(anonymousnamespace )::APFloatTest_divide_Test&)
operator=(const(anonymousnamespace)::APFloatTest_divide_Test&)0 method0anonymous_namespace{apfloattest.cpp}.APFloatTest_divide_Test.operator= (const(anonymousnamespace)::APFloatTest_divide_Test&)
APIntTest_ShiftLeftByZero_Test(const(anonymousnamespace )::APIntTest_ShiftLeftByZero_Test&)0 method0anonymous_namespace{apinttest.cpp}.APIntTest_ShiftLeftByZero_Test .APIntTest_ShiftLeftByZero_Test(const(anonymousnamespace )::APIntTest_ShiftLeftByZero_Test&)
operator=(const(anonymousnamespace)::APIntTest_ShiftLeftByZero_Test&)0 method0anonymous_namespace{apinttest.cpp}.APIntTest_ShiftLeftByZero_Test .operator=(const(anonymousnamespace)::APIntTest_ShiftLeftByZero_Test&)
APIntTest_i128_NegativeCount_Test(const(anonymousnamespace )::APIntTest_i128_NegativeCount_Test&)0 method0anonymous_namespace{apinttest.cpp}.APIntTest_i128_NegativeCount_Test .APIntTest_i128_NegativeCount_Test(const(anonymousnamespace )::APIntTest_i128_NegativeCount_Test&)
operator=(const(anonymousnamespace )::APIntTest_i128_NegativeCount_Test&)0 method0anonymous_namespace{apinttest.cpp}.APIntTest_i128_NegativeCount_Test .operator=(const(anonymousnamespace )::APIntTest_i128_NegativeCount_Test&)
APIntTest_i33_Count_Test(const(anonymousnamespace )::APIntTest_i33_Count_Test&)0 method0anonymous_namespace{apinttest.cpp}.APIntTest_i33_Count_Test .APIntTest_i33_Count_Test(const(anonymousnamespace )::APIntTest_i33_Count_Test&)
operator=(const(anonymousnamespace)::APIntTest_i33_Count_Test&)0 method0anonymous_namespace{apinttest.cpp}.APIntTest_i33_Count_Test.operator= (const(anonymousnamespace)::APIntTest_i33_Count_Test&)

Statistics

Stat   MethodsCallingMe   depth
Sum:0645
Average:00.089
Minimum:00
Maximum:04
Standard deviation:00.37
Variance:00.14
warningCritical    Rule warning: Potentially dead Fields
// <Name>Potentially dead Fields</Name>
warnif count > 0
from f in JustMyCode.Fields where
   
f.NbMethodsUsingMe == 0 && 
   
!f.IsPublic &&     // Although not recommended, public fields might be used by client applications of your Projects.
   !f.IsEnumValue   
  
   
// If you don't want to link CppDepend.API.dll, you can use your own IsNotDeadCodeAttribute and adapt this rule.
select f

2,052 fields matched

fieldsFull Name
dummy_key_ptr__Globals.dummy_key_ptr
dummy_key_ptr__Globals.dummy_key_ptr
dummy_key_ptr__Globals.dummy_key_ptr
dummy_key_ptr__Globals.dummy_key_ptr
dummy_key_ptr__Globals.dummy_key_ptr
dummy_key_ptr__Globals.dummy_key_ptr
dummy_value_ptr__Globals.dummy_value_ptr
dummy_value_ptr__Globals.dummy_value_ptr
dummy_value_ptr__Globals.dummy_value_ptr
dummy_value_ptr__Globals.dummy_value_ptr
dummy_value_ptr__Globals.dummy_value_ptr
dummy_value_ptr__Globals.dummy_value_ptr
test_info_MapVectorTest_insert_pop_Test.test_info_
test_info_MapVectorTest_erase_Test.test_info_
test_info_MapVectorTest_remove_if_Test.test_info_
test_info_SmallPtrSetTest_Assignment_Test.test_info_
test_info_SmallPtrSetTest_GrowthTest_Test.test_info_
test_info_SmallPtrSetTest_CopyAndMoveTest_Test.test_info_
test_info_SmallPtrSetTest_SwapTest_Test.test_info_
test_info_anonymous_namespace{apfloattest.cpp}.APFloatTest_isSignaling_Test .test_info_
test_info_anonymous_namespace{apfloattest.cpp}.APFloatTest_next_Test.test_info_
test_info_anonymous_namespace{apfloattest.cpp}.APFloatTest_FMA_Test.test_info_
test_info_anonymous_namespace{apfloattest.cpp}.APFloatTest_Denormal_Test .test_info_
test_info_anonymous_namespace{apfloattest.cpp}.APFloatTest_Zero_Test.test_info_
test_info_anonymous_namespace{apfloattest.cpp} .APFloatTest_DecimalStringsWithoutNullTerminators_Test.test_info_
test_info_anonymous_namespace{apfloattest.cpp} .APFloatTest_fromZeroDecimalString_Test.test_info_
test_info_anonymous_namespace{apfloattest.cpp} .APFloatTest_fromZeroDecimalSingleExponentString_Test.test_info_
test_info_anonymous_namespace{apfloattest.cpp} .APFloatTest_fromZeroDecimalLargeExponentString_Test.test_info_
test_info_anonymous_namespace{apfloattest.cpp} .APFloatTest_fromZeroHexadecimalString_Test.test_info_
test_info_anonymous_namespace{apfloattest.cpp} .APFloatTest_fromDecimalString_Test.test_info_
test_info_anonymous_namespace{apfloattest.cpp} .APFloatTest_fromHexadecimalString_Test.test_info_
test_info_anonymous_namespace{apfloattest.cpp}.APFloatTest_toString_Test .test_info_
test_info_anonymous_namespace{apfloattest.cpp}.APFloatTest_toInteger_Test .test_info_
test_info_anonymous_namespace{apfloattest.cpp}.APFloatTest_makeNaN_Test .test_info_
test_info_anonymous_namespace{apfloattest.cpp}.APFloatTest_SemanticsDeath_Test .test_info_
test_info_anonymous_namespace{apfloattest.cpp} .APFloatTest_StringDecimalDeath_Test.test_info_
test_info_anonymous_namespace{apfloattest.cpp} .APFloatTest_StringDecimalSignificandDeath_Test.test_info_
test_info_anonymous_namespace{apfloattest.cpp} .APFloatTest_StringDecimalExponentDeath_Test.test_info_
test_info_anonymous_namespace{apfloattest.cpp} .APFloatTest_StringHexadecimalDeath_Test.test_info_
test_info_anonymous_namespace{apfloattest.cpp} .APFloatTest_StringHexadecimalSignificandDeath_Test.test_info_
test_info_anonymous_namespace{apfloattest.cpp} .APFloatTest_StringHexadecimalExponentDeath_Test.test_info_
test_info_anonymous_namespace{apfloattest.cpp}.APFloatTest_exactInverse_Test .test_info_
test_info_anonymous_namespace{apfloattest.cpp}.APFloatTest_roundToIntegral_Test .test_info_
test_info_anonymous_namespace{apfloattest.cpp}.APFloatTest_getLargest_Test .test_info_
test_info_anonymous_namespace{apfloattest.cpp}.APFloatTest_getSmallest_Test .test_info_
test_info_anonymous_namespace{apfloattest.cpp} .APFloatTest_getSmallestNormalized_Test.test_info_
test_info_anonymous_namespace{apfloattest.cpp}.APFloatTest_getZero_Test .test_info_
test_info_anonymous_namespace{apfloattest.cpp}.APFloatTest_convert_Test .test_info_
test_info_anonymous_namespace{apfloattest.cpp}.APFloatTest_PPCDoubleDouble_Test .test_info_
test_info_anonymous_namespace{apfloattest.cpp}.APFloatTest_isNegative_Test .test_info_
test_info_anonymous_namespace{apfloattest.cpp}.APFloatTest_isNormal_Test .test_info_
test_info_anonymous_namespace{apfloattest.cpp}.APFloatTest_isFinite_Test .test_info_
test_info_anonymous_namespace{apfloattest.cpp}.APFloatTest_isInfinity_Test .test_info_
test_info_anonymous_namespace{apfloattest.cpp}.APFloatTest_isNaN_Test.test_info_
test_info_anonymous_namespace{apfloattest.cpp}.APFloatTest_isFiniteNonZero_Test .test_info_
test_info_anonymous_namespace{apfloattest.cpp}.APFloatTest_add_Test.test_info_
test_info_anonymous_namespace{apfloattest.cpp}.APFloatTest_subtract_Test .test_info_
test_info_anonymous_namespace{apfloattest.cpp}.APFloatTest_multiply_Test .test_info_
test_info_anonymous_namespace{apfloattest.cpp}.APFloatTest_divide_Test .test_info_
test_info_anonymous_namespace{apinttest.cpp}.APIntTest_ShiftLeftByZero_Test .test_info_
test_info_anonymous_namespace{apinttest.cpp}.APIntTest_i128_NegativeCount_Test .test_info_
test_info_anonymous_namespace{apinttest.cpp}.APIntTest_i33_Count_Test.test_info_
test_info_anonymous_namespace{apinttest.cpp}.APIntTest_i65_Count_Test.test_info_
test_info_anonymous_namespace{apinttest.cpp}.APIntTest_i128_PositiveCount_Test .test_info_
test_info_anonymous_namespace{apinttest.cpp}.APIntTest_i1_Test.test_info_
test_info_anonymous_namespace{apinttest.cpp}.APIntTest_fromString_Test .test_info_
test_info_anonymous_namespace{apinttest.cpp}.APIntTest_FromArray_Test.test_info_
test_info_anonymous_namespace{apinttest.cpp}.APIntTest_StringBitsNeeded2_Test .test_info_
test_info_anonymous_namespace{apinttest.cpp}.APIntTest_StringBitsNeeded8_Test .test_info_
test_info_anonymous_namespace{apinttest.cpp}.APIntTest_StringBitsNeeded10_Test .test_info_
test_info_anonymous_namespace{apinttest.cpp}.APIntTest_StringBitsNeeded16_Test .test_info_
test_info_anonymous_namespace{apinttest.cpp}.APIntTest_toString_Test.test_info_
test_info_anonymous_namespace{apinttest.cpp}.APIntTest_Log2_Test.test_info_
test_info_anonymous_namespace{apinttest.cpp}.APIntTest_magic_Test.test_info_
test_info_anonymous_namespace{apinttest.cpp}.APIntTest_magicu_Test.test_info_
test_info_anonymous_namespace{apinttest.cpp}.APIntTest_StringDeath_Test .test_info_
test_info_anonymous_namespace{apinttest.cpp}.APIntTest_mul_clear_Test.test_info_
test_info_anonymous_namespace{apinttest.cpp}.APIntTest_Rotate_Test.test_info_
test_info_anonymous_namespace{apinttest.cpp}.APIntTest_Splat_Test.test_info_
test_info_anonymous_namespace{apinttest.cpp}.APIntTest_tcDecrement_Test .test_info_
test_info_anonymous_namespace{apinttest.cpp}.APIntTest_arrayAccess_Test .test_info_
test_info_anonymous_namespace{apinttest.cpp} .APIntTest_LargeAPIntConstruction_Test.test_info_
test_info_anonymous_namespace{apinttest.cpp}.APIntTest_nearestLogBase2_Test .test_info_
test_info_anonymous_namespace{apinttest.cpp}.APIntTest_SelfMoveAssignment_Test .test_info_
test_info_anonymous_namespace{apsinttest.cpp}.APSIntTest_MoveTest_Test .test_info_
test_info_llvm.ArrayRefTest_AllocatorCopy_Test.test_info_
test_info_llvm.ArrayRefTest_DropBack_Test.test_info_
test_info_llvm.ArrayRefTest_Equals_Test.test_info_
test_info_llvm.ArrayRefTest_EmptyEquals_Test.test_info_
test_info_llvm.ArrayRefTest_ConstConvert_Test.test_info_
test_info_llvm.IntrusiveRefCntPtr_RefCountedBaseVPTRCopyDoesNotLeak_Test .test_info_
test_info_llvm.IntrusiveRefCntPtr_RefCountedBaseCopyDoesNotLeak_Test.test_info_
test_info_llvm.IntrusiveRefCntPtr_UsesTraitsToRetainAndRelease_Test.test_info_
test_info_llvm.SCCIteratorTest_AllSmallGraphs_Test.test_info_
test_info_anonymous_namespace{dagdeltaalgorithmtest.cpp} .DAGDeltaAlgorithmTest_Basic_Test.test_info_
test_info_anonymous_namespace{deltaalgorithmtest.cpp} .DeltaAlgorithmTest_Basic_Test.test_info_
Mapanonymous_namespace{densemaptest.cpp}.DenseMapTest<T>.Map
test_info_anonymous_namespace{densemaptest.cpp} .DenseMapCustomTest_FindAsTest_Test.test_info_
test_info_anonymous_namespace{densemaptest.cpp} .DenseMapCustomTest_SmallDenseMapGrowTest_Test.test_info_
test_info_anonymous_namespace{densesettest.cpp} .DenseSetTest_DoubleEntrySetTest_Test.test_info_

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:

020
Visibility  

warningCritical    Rule warning: Fields should be declared as private
// <Name>Fields should be declared as private</Name>
warnif count > 0 from f in Application.Fields where 
 
!f.IsPrivate && 

 
// These conditions filter cases where fields 
 // doesn't represent state that should be encapsulated. 
 !f.IsGeneratedByCompiler && 
 
!f.IsEnumValue
select new { f }

12,776 fields matched

fieldsFull Name
dummy_key_ptr__Globals.dummy_key_ptr
dummy_key_ptr__Globals.dummy_key_ptr
dummy_key_ptr__Globals.dummy_key_ptr
dummy_key_ptr__Globals.dummy_key_ptr
dummy_key_ptr__Globals.dummy_key_ptr
dummy_key_ptr__Globals.dummy_key_ptr
dummy_value_ptr__Globals.dummy_value_ptr
dummy_value_ptr__Globals.dummy_value_ptr
dummy_value_ptr__Globals.dummy_value_ptr
dummy_value_ptr__Globals.dummy_value_ptr
dummy_value_ptr__Globals.dummy_value_ptr
dummy_value_ptr__Globals.dummy_value_ptr
arrllvm.LargeTestInteger.arr
xllvm.NonPOD.x
yllvm.NonPOD.y
Releasedllvm.InterceptRefCounted.Released
Retainedllvm.InterceptRefCounted.Retained
gtest_BitVectorTest_TrivialOperation_registered_anonymous_namespace{bitvectortest.cpp}.__Globals .gtest_BitVectorTest_TrivialOperation_registered_
gtest_BitVectorTest_CompoundAssignment_registered_anonymous_namespace{bitvectortest.cpp}.__Globals .gtest_BitVectorTest_CompoundAssignment_registered_
gtest_BitVectorTest_ProxyIndex_registered_anonymous_namespace{bitvectortest.cpp}.__Globals .gtest_BitVectorTest_ProxyIndex_registered_
gtest_BitVectorTest_PortableBitMask_registered_anonymous_namespace{bitvectortest.cpp}.__Globals .gtest_BitVectorTest_PortableBitMask_registered_
gtest_BitVectorTest_BinOps_registered_anonymous_namespace{bitvectortest.cpp}.__Globals .gtest_BitVectorTest_BinOps_registered_
gtest_BitVectorTest_RangeOps_registered_anonymous_namespace{bitvectortest.cpp}.__Globals .gtest_BitVectorTest_RangeOps_registered_
gtest_BitVectorTest_CompoundTestReset_registered_anonymous_namespace{bitvectortest.cpp}.__Globals .gtest_BitVectorTest_CompoundTestReset_registered_
gtest_DenseMapTest_EmptyIntMapTest_registered_anonymous_namespace{densemaptest.cpp}.__Globals .gtest_DenseMapTest_EmptyIntMapTest_registered_
gtest_DenseMapTest_ConstEmptyMapTest_registered_anonymous_namespace{densemaptest.cpp}.__Globals .gtest_DenseMapTest_ConstEmptyMapTest_registered_
gtest_DenseMapTest_SingleEntryMapTest_registered_anonymous_namespace{densemaptest.cpp}.__Globals .gtest_DenseMapTest_SingleEntryMapTest_registered_
gtest_DenseMapTest_ClearTest_registered_anonymous_namespace{densemaptest.cpp}.__Globals .gtest_DenseMapTest_ClearTest_registered_
gtest_DenseMapTest_EraseTest_registered_anonymous_namespace{densemaptest.cpp}.__Globals .gtest_DenseMapTest_EraseTest_registered_
gtest_DenseMapTest_EraseTest2_registered_anonymous_namespace{densemaptest.cpp}.__Globals .gtest_DenseMapTest_EraseTest2_registered_
gtest_DenseMapTest_InsertTest_registered_anonymous_namespace{densemaptest.cpp}.__Globals .gtest_DenseMapTest_InsertTest_registered_
gtest_DenseMapTest_CopyConstructorTest_registered_anonymous_namespace{densemaptest.cpp}.__Globals .gtest_DenseMapTest_CopyConstructorTest_registered_
gtest_DenseMapTest_CopyConstructorNotSmallTest_registered_anonymous_namespace{densemaptest.cpp}.__Globals .gtest_DenseMapTest_CopyConstructorNotSmallTest_registered_
gtest_DenseMapTest_CopyConstructorFromDefaultTest_registered_anonymous_namespace{densemaptest.cpp}.__Globals .gtest_DenseMapTest_CopyConstructorFromDefaultTest_registered_
gtest_DenseMapTest_CopyConstructorFromEmptyTest_registered_anonymous_namespace{densemaptest.cpp}.__Globals .gtest_DenseMapTest_CopyConstructorFromEmptyTest_registered_
gtest_DenseMapTest_AssignmentTest_registered_anonymous_namespace{densemaptest.cpp}.__Globals .gtest_DenseMapTest_AssignmentTest_registered_
gtest_DenseMapTest_SwapTest_registered_anonymous_namespace{densemaptest.cpp}.__Globals .gtest_DenseMapTest_SwapTest_registered_
gtest_DenseMapTest_IterationTest_registered_anonymous_namespace{densemaptest.cpp}.__Globals .gtest_DenseMapTest_IterationTest_registered_
gtest_DenseMapTest_ConstIteratorTest_registered_anonymous_namespace{densemaptest.cpp}.__Globals .gtest_DenseMapTest_ConstIteratorTest_registered_
Mapanonymous_namespace{densemaptest.cpp}.DenseMapTest<T>.Map
dummy_key_ptranonymous_namespace{densemaptest.cpp}.DenseMapTest<T>.dummy_key_ptr
dummy_value_ptranonymous_namespace{densemaptest.cpp}.DenseMapTest<T>.dummy_value_ptr
valueanonymous_namespace{hashingtest.cpp}.HashableDummy.value
Valueanonymous_namespace{ilisttest.cpp}.Node.Value
bufferanonymous_namespace{immutablesettest.cpp}.ImmutableSetTest.buffer
counteranonymous_namespace{immutablesettest.cpp}.ImmutableSetTest+MyIter .counter
ptranonymous_namespace{immutablesettest.cpp}.ImmutableSetTest+MyIter.ptr
CopyConstructionsanonymous_namespace{optionaltest.cpp}.NonDefaultConstructible .CopyConstructions
Destructionsanonymous_namespace{optionaltest.cpp}.NonDefaultConstructible .Destructions
CopyAssignmentsanonymous_namespace{optionaltest.cpp}.NonDefaultConstructible .CopyAssignments
MoveConstructionsanonymous_namespace{optionaltest.cpp}.MoveOnly.MoveConstructions
Destructionsanonymous_namespace{optionaltest.cpp}.MoveOnly.Destructions
MoveAssignmentsanonymous_namespace{optionaltest.cpp}.MoveOnly.MoveAssignments
valanonymous_namespace{optionaltest.cpp}.MoveOnly.val
fanonymous_namespace{pointeruniontest.cpp}.PointerUnionTest.f
ianonymous_namespace{pointeruniontest.cpp}.PointerUnionTest.i
aanonymous_namespace{pointeruniontest.cpp}.PointerUnionTest.a
banonymous_namespace{pointeruniontest.cpp}.PointerUnionTest.b
canonymous_namespace{pointeruniontest.cpp}.PointerUnionTest.c
nanonymous_namespace{pointeruniontest.cpp}.PointerUnionTest.n
theStringanonymous_namespace{smallstringtest.cpp}.SmallStringTest.theString
gtest_SmallVectorTest_EmptyVectorTest_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_EmptyVectorTest_registered_
gtest_SmallVectorTest_PushPopTest_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_PushPopTest_registered_
gtest_SmallVectorTest_ClearTest_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_ClearTest_registered_
gtest_SmallVectorTest_ResizeShrinkTest_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_ResizeShrinkTest_registered_
gtest_SmallVectorTest_ResizeGrowTest_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_ResizeGrowTest_registered_
gtest_SmallVectorTest_ResizeWithElementsTest_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_ResizeWithElementsTest_registered_
gtest_SmallVectorTest_ResizeFillTest_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_ResizeFillTest_registered_
gtest_SmallVectorTest_OverflowTest_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_OverflowTest_registered_
gtest_SmallVectorTest_IterationTest_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_IterationTest_registered_
gtest_SmallVectorTest_SwapTest_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_SwapTest_registered_
gtest_SmallVectorTest_AppendTest_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_AppendTest_registered_
gtest_SmallVectorTest_AppendRepeatedTest_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_AppendRepeatedTest_registered_
gtest_SmallVectorTest_AssignTest_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_AssignTest_registered_
gtest_SmallVectorTest_MoveAssignTest_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_MoveAssignTest_registered_
gtest_SmallVectorTest_EraseTest_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_EraseTest_registered_
gtest_SmallVectorTest_EraseRangeTest_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_EraseRangeTest_registered_
gtest_SmallVectorTest_InsertTest_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_InsertTest_registered_
gtest_SmallVectorTest_InsertCopy_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_InsertCopy_registered_
gtest_SmallVectorTest_InsertRepeatedTest_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_InsertRepeatedTest_registered_
gtest_SmallVectorTest_InsertRepeatedAtEndTest_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_InsertRepeatedAtEndTest_registered_
gtest_SmallVectorTest_InsertRepeatedEmptyTest_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_InsertRepeatedEmptyTest_registered_
gtest_SmallVectorTest_InsertRangeTest_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_InsertRangeTest_registered_
gtest_SmallVectorTest_InsertRangeAtEndTest_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_InsertRangeAtEndTest_registered_
gtest_SmallVectorTest_InsertEmptyRangeTest_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_InsertEmptyRangeTest_registered_
gtest_SmallVectorTest_ComparisonTest_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_ComparisonTest_registered_
gtest_SmallVectorTest_ConstVectorTest_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_ConstVectorTest_registered_
gtest_SmallVectorTest_DirectVectorTest_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_DirectVectorTest_registered_
gtest_SmallVectorTest_IteratorTest_registered_anonymous_namespace{smallvectortest.cpp}.__Globals .gtest_SmallVectorTest_IteratorTest_registered_
theVectoranonymous_namespace{smallvectortest.cpp}.SmallVectorTest<VectorT> .theVector
otherVectoranonymous_namespace{smallvectortest.cpp}.SmallVectorTest<VectorT> .otherVector
xanonymous_namespace{smallvectortest.cpp}.notassignable.x
hasValueanonymous_namespace{smallvectortest.cpp}.MovedFrom.hasValue
Valueanonymous_namespace{sparsemultisettest.cpp}.Alt.Value
Valueanonymous_namespace{sparsesettest.cpp}.Alt.Value
testMapanonymous_namespace{stringmaptest.cpp}.StringMapTest.testMap
testKeyanonymous_namespace{stringmaptest.cpp}.StringMapTest.testKey
testValueanonymous_namespace{stringmaptest.cpp}.StringMapTest.testValue
testKeyFirstanonymous_namespace{stringmaptest.cpp}.StringMapTest.testKeyFirst
testKeyLengthanonymous_namespace{stringmaptest.cpp}.StringMapTest.testKeyLength

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
warningCritical    Rule warning: Constructors of abstract classes should be declared as protected or private
// <Name>Constructors of abstract classes should be declared as protected or private</Name>
// Constructors of an abstract class can only be accessed from this class and derived class.
// Declaring such a constructor with another visibility level is useless and potentially misleading.

warnif count > 0
from t in Application.Types where 
  
t.IsClass && 
  
t.IsAbstract
let ctors = t.Constructors.Where(c => !c.IsProtected && !c.IsPrivate)
where ctors.Count() > 0
select new { t, ctors }

// Notice that if a constructor of an abstract class is declared as private,
// it can only be accessed from derived classes nested in the abstract class.

213 types matched

typesctorsFull Name
BoundNodesCallback2 methodsclang.ast_matchers.BoundNodesCallback
ExprAST2 methodsanonymous_namespace{toy.cpp}.ExprAST
ExprAST2 methodsanonymous_namespace{toy.cpp}.ExprAST
ExprAST2 methodsanonymous_namespace{toy.cpp}.ExprAST
ExprAST2 methodsanonymous_namespace{toy.cpp}.ExprAST
ExprAST2 methodsanonymous_namespace{toy.cpp}.ExprAST
ARMBaseInstrInfo2 methodsllvm.ARMBaseInstrInfo
LibCallInfo2 methodsllvm.LibCallInfo
LoopPass3 methodsllvm.LoopPass
RegionPass3 methodsllvm.RegionPass
TargetTransformInfo2 methodsllvm.TargetTransformInfo
AsmPrinterHandler2 methodsllvm.AsmPrinterHandler
DIEValue1 methodllvm.DIEValue
ByteStreamer2 methodsllvm.ByteStreamer
DwarfUnit1 methodllvm.DwarfUnit
AntiDepBreaker2 methodsllvm.AntiDepBreaker
Spiller2 methodsllvm.Spiller
MachineConstantPoolValue2 methodsllvm.MachineConstantPoolValue
MachineFunctionPass1 methodllvm.MachineFunctionPass
MachinePassRegistryListener1 methodllvm.MachinePassRegistryListener
MachineRegisterInfo+Delegate1 methodllvm.MachineRegisterInfo+Delegate
MachineSchedStrategy2 methodsllvm.MachineSchedStrategy
ScheduleDAGMutation2 methodsllvm.ScheduleDAGMutation
MachineTraceMetrics+Ensemble1 methodllvm.MachineTraceMetrics+Ensemble
RegAllocBase1 methodllvm.RegAllocBase
SchedulingPriorityQueue2 methodsllvm.SchedulingPriorityQueue
ScheduleDAG2 methodsllvm.ScheduleDAG
ScheduleDAGInstrs2 methodsllvm.ScheduleDAGInstrs
TargetFrameLowering1 methodllvm.TargetFrameLowering
TargetRegisterInfo1 methodllvm.TargetRegisterInfo
TypePromotionTransaction+TypePromotionAction2 methodsanonymous_namespace{codegenprepare.cpp} .TypePromotionTransaction+TypePromotionAction
DiagnosticInfo2 methodsllvm.DiagnosticInfo
DiagnosticInfoOptimizationBase3 methodsllvm.DiagnosticInfoOptimizationBase
DiagnosticPrinter2 methodsllvm.DiagnosticPrinter
TerminatorInst1 methodllvm.TerminatorInst
Pass1 methodllvm.Pass
ModulePass2 methodsllvm.ModulePass
FunctionPass3 methodsllvm.FunctionPass
BasicBlockPass2 methodsllvm.BasicBlockPass
PMTopLevelManager1 methodllvm.PMTopLevelManager
PMDataManager2 methodsllvm.PMDataManager
PassManagerBase2 methodsllvm.legacy.PassManagerBase
DIContext2 methodsllvm.DIContext
DWARFUnitSectionBase2 methodsllvm.DWARFUnitSectionBase
DWARFContext1 methodllvm.DWARFContext
FrameEntry2 methodsllvm.FrameEntry
ExecutionEngine1 methodllvm.ExecutionEngine
ObjectCache1 methodllvm.ObjectCache
RTDyldMemoryManager1 methodllvm.RTDyldMemoryManager
MCELFObjectTargetWriter1 methodllvm.MCELFObjectTargetWriter
MCEncodedFragment2 methodsllvm.MCEncodedFragment
MCEncodedFragmentWithFixups2 methodsllvm.MCEncodedFragmentWithFixups
MCInstPrinter1 methodllvm.MCInstPrinter
MCMachObjectTargetWriter1 methodllvm.MCMachObjectTargetWriter
MCObjectStreamer1 methodllvm.MCObjectStreamer
MCSymbolizer1 methodllvm.MCSymbolizer
MCWinCOFFObjectTargetWriter1 methodllvm.MCWinCOFFObjectTargetWriter
MCDisassembler2 methodsllvm.MCDisassembler
JITMemoryManager2 methodsllvm.JITMemoryManager
MCParsedAsmOperand2 methodsllvm.MCParsedAsmOperand
MipsRegisterInfo3 methodsllvm.MipsRegisterInfo
MipsInstrInfo3 methodsllvm.MipsInstrInfo
MipsTargetLowering3 methodsllvm.MipsTargetLowering
MipsDAGToDAGISel3 methodsllvm.MipsDAGToDAGISel
InspectMemInstr2 methodsanonymous_namespace{mipsdelayslotfiller.cpp}.InspectMemInstr
MipsOptionRecord2 methodsllvm.MipsOptionRecord
ELFObjectFileBase2 methodsllvm.object.ELFObjectFileBase
SymbolicFile2 methodsllvm.object.SymbolicFile
PPCTargetStreamer2 methodsllvm.PPCTargetStreamer
InstrProfReader2 methodsllvm.InstrProfReader
AMDGPUInstrInfo3 methodsllvm.AMDGPUInstrInfo
JITRegistrar2 methodsllvm.JITRegistrar
ObjectImage1 methodllvm.ObjectImage
RuntimeDyldImpl2 methodsllvm.RuntimeDyldImpl
FastISel1 methodllvm.FastISel
ScheduleDAGSDNodes2 methodsllvm.ScheduleDAGSDNodes
SelectionDAGISel2 methodsllvm.SelectionDAGISel
SparcTargetStreamer3 methodsllvm.SparcTargetStreamer
CrashRecoveryContextCleanup1 methodllvm.CrashRecoveryContextCleanup
DataStreamer2 methodsllvm.DataStreamer
DeltaAlgorithm1 methodllvm.DeltaAlgorithm
DAGDeltaAlgorithm1 methodllvm.DAGDeltaAlgorithm
FoldingSetImpl2 methodsllvm.FoldingSetImpl
MemoryObject1 methodllvm.MemoryObject
PrettyStackTraceEntry1 methodllvm.PrettyStackTraceEntry
StreamableMemoryObject2 methodsllvm.StreamableMemoryObject
raw_ostream1 methodllvm.raw_ostream
format_object_base2 methodsllvm.format_object_base
Option1 methodllvm.cl.Option
generic_parser_base2 methodsllvm.cl.generic_parser_base
StringSaver2 methodsllvm.cl.StringSaver
IO2 methodsllvm.yaml.IO
process2 methodsllvm.sys.process
RecTy2 methodsllvm.RecTy
SetTheory+Operator2 methodsllvm.SetTheory+Operator
SetTheory+Expander2 methodsllvm.SetTheory+Expander
TargetIntrinsicInfo1 methodllvm.TargetIntrinsicInfo
TargetLoweringObjectFile1 methodllvm.TargetLoweringObjectFile
SimplifyFortifiedLibCalls1 methodllvm.SimplifyFortifiedLibCalls
IVVisitor1 methodllvm.IVVisitor

Statistics

Stat   ctors
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0

230
Purity - Immutability - Constness  

warningCritical    Rule warning: Structures should be immutable
// <Name>Structures should be immutable</Name>
warnif count > 0 from t in Application.Types where 
   
t.IsStructure && 
  
!t.IsImmutable

let mutableFields = t.Fields.Where(f => !f.IsImmutable)

select new { t, t.NbLinesOfCode, mutableFields }

// It is deemed as a good practice to make 
// your structure immutable.
// An object is immutable if its state doesn’t 
// change once the object has been created. 
// Consequently, a structure is immutable if 
// its instances are immutable.
// Immutable types naturally simplify code by 
// limiting side-effects.

1,828 types matched

types# lines of code (LOC)mutableFieldsFull Name
LargeTestInteger01 fieldllvm.LargeTestInteger
NonPOD22 fieldsllvm.NonPOD
InterceptRefCounted22 fieldsllvm.InterceptRefCounted
HashableDummy01 fieldanonymous_namespace{hashingtest.cpp}.HashableDummy
Node21 fieldanonymous_namespace{ilisttest.cpp}.Node
ImmutableSetTest+MyIter62 fieldsanonymous_namespace{immutablesettest.cpp}.ImmutableSetTest+MyIter
MoveOnly104 fieldsanonymous_namespace{optionaltest.cpp}.MoveOnly
PointerUnionTest66 fieldsanonymous_namespace{pointeruniontest.cpp}.PointerUnionTest
notassignable11 fieldanonymous_namespace{smallvectortest.cpp}.notassignable
MovedFrom61 fieldanonymous_namespace{smallvectortest.cpp}.MovedFrom
Alt21 fieldanonymous_namespace{sparsemultisettest.cpp}.Alt
Alt21 fieldanonymous_namespace{sparsesettest.cpp}.Alt
StringMapTestStruct11 fieldanonymous_namespace{stringmaptest.cpp}.StringMapTestStruct
MoveOnly41 fieldanonymous_namespace{stringmaptest.cpp}.MoveOnly
Countable132 fieldsanonymous_namespace{stringmaptest.cpp}.Countable
UnsignedPair02 fieldsanonymous_namespace{stringreftest.cpp}.UnsignedPair
SignedPair02 fieldsanonymous_namespace{stringreftest.cpp}.SignedPair
DummyFileSystem+DirIterImpl183 fieldsanonymous_namespace{virtualfilesystemtest.cpp} .DummyFileSystem+DirIterImpl
ScopedDir121 fieldanonymous_namespace{virtualfilesystemtest.cpp}.ScopedDir
MockSema+MatcherInfo04 fieldsclang.ast_matchers.dynamic.anonymous_namespace{parsertest.cpp} .MockSema+MatcherInfo
CheckString835 fieldsCheckString
TestPPCallbacks21 fieldanonymous_namespace{frontendactiontest.cpp}.TestPPCallbacks
DPass1841 fieldllvm.anonymous_namespace{dominatortreetest.cpp}.DPass
ModuleNDNM32 fieldsllvm.anonymous_namespace{legacypassmanagertest.cpp}.ModuleNDNM
ModuleNDM22 fieldsllvm.anonymous_namespace{legacypassmanagertest.cpp}.ModuleNDM
ModuleNDM222 fieldsllvm.anonymous_namespace{legacypassmanagertest.cpp}.ModuleNDM2
ModuleDNM62 fieldsllvm.anonymous_namespace{legacypassmanagertest.cpp}.ModuleDNM
PassTestBase<P>225 fieldsllvm.anonymous_namespace{legacypassmanagertest.cpp}.PassTestBase<P>
PassTest<T,P>70 fieldllvm.anonymous_namespace{legacypassmanagertest.cpp}.PassTest<T,P>
CGPass40 fieldllvm.anonymous_namespace{legacypassmanagertest.cpp}.CGPass
FPass20 fieldllvm.anonymous_namespace{legacypassmanagertest.cpp}.FPass
LPass172 fieldsllvm.anonymous_namespace{legacypassmanagertest.cpp}.LPass
BPass202 fieldsllvm.anonymous_namespace{legacypassmanagertest.cpp}.BPass
OnTheFlyTest81 fieldllvm.anonymous_namespace{legacypassmanagertest.cpp}.OnTheFlyTest
TestFunctionAnalysis+Result11 fieldanonymous_namespace{passmanagertest.cpp}.TestFunctionAnalysis+Result
TestModuleAnalysis+Result11 fieldanonymous_namespace{passmanagertest.cpp}.TestModuleAnalysis+Result
TestModulePass41 fieldanonymous_namespace{passmanagertest.cpp}.TestModulePass
TestFunctionPass184 fieldsanonymous_namespace{passmanagertest.cpp}.TestFunctionPass
TestInvalidationFunctionPass31 fieldanonymous_namespace{passmanagertest.cpp}.TestInvalidationFunctionPass
PatternMatchTest45 fieldsanonymous_namespace{patternmatch.cpp}.PatternMatchTest
MyType03 fieldsanonymous_namespace{typebuildertest.cpp}.MyType
MyPortableType03 fieldsanonymous_namespace{typebuildertest.cpp}.MyPortableType
LockMutex<KeyT,MutexT>50 fieldanonymous_namespace{valuemaptest.cpp}.LockMutex<KeyT,MutexT>
LockMutex<KeyT,MutexT>+ExtraData03 fieldsanonymous_namespace{valuemaptest.cpp}.LockMutex<KeyT,MutexT>+ExtraData
NoFollow<KeyT>00 fieldanonymous_namespace{valuemaptest.cpp}.NoFollow<KeyT>
CountOps<KeyT>20 fieldanonymous_namespace{valuemaptest.cpp}.CountOps<KeyT>
CountOps<KeyT>+ExtraData02 fieldsanonymous_namespace{valuemaptest.cpp}.CountOps<KeyT>+ExtraData
ModifyingConfig<KeyT>20 fieldanonymous_namespace{valuemaptest.cpp}.ModifyingConfig<KeyT>
AArch64Operand+TokOp03 fieldsanonymous_namespace{aarch64asmparser.cpp}.AArch64Operand+TokOp
AArch64Operand+RegOp02 fieldsanonymous_namespace{aarch64asmparser.cpp}.AArch64Operand+RegOp
AArch64Operand+VectorListOp04 fieldsanonymous_namespace{aarch64asmparser.cpp}.AArch64Operand+VectorListOp
AArch64Operand+VectorIndexOp01 fieldanonymous_namespace{aarch64asmparser.cpp}.AArch64Operand+VectorIndexOp
AArch64Operand+ImmOp01 fieldanonymous_namespace{aarch64asmparser.cpp}.AArch64Operand+ImmOp
AArch64Operand+ShiftedImmOp02 fieldsanonymous_namespace{aarch64asmparser.cpp}.AArch64Operand+ShiftedImmOp
AArch64Operand+CondCodeOp01 fieldanonymous_namespace{aarch64asmparser.cpp}.AArch64Operand+CondCodeOp
AArch64Operand+FPImmOp01 fieldanonymous_namespace{aarch64asmparser.cpp}.AArch64Operand+FPImmOp
AArch64Operand+BarrierOp01 fieldanonymous_namespace{aarch64asmparser.cpp}.AArch64Operand+BarrierOp
AArch64Operand+SysRegOp03 fieldsanonymous_namespace{aarch64asmparser.cpp}.AArch64Operand+SysRegOp
AArch64Operand+SysCRImmOp01 fieldanonymous_namespace{aarch64asmparser.cpp}.AArch64Operand+SysCRImmOp
AArch64Operand+PrefetchOp01 fieldanonymous_namespace{aarch64asmparser.cpp}.AArch64Operand+PrefetchOp
AArch64Operand+ShiftExtendOp03 fieldsanonymous_namespace{aarch64asmparser.cpp}.AArch64Operand+ShiftExtendOp
AArch64Operand+ExtendOp01 fieldanonymous_namespace{aarch64asmparser.cpp}.AArch64Operand+ExtendOp
LdStNInstrDesc06 fieldsLdStNInstrDesc
GenericSetCCInfo03 fieldsGenericSetCCInfo
AArch64SetCCInfo02 fieldsAArch64SetCCInfo
SetCCInfoAndKind02 fieldsSetCCInfoAndKind
AArch64RegisterInfo1600 fieldllvm.AArch64RegisterInfo
AArch64BranchRelaxation+BasicBlockInfo52 fieldsanonymous_namespace{aarch64branchrelaxation.cpp} .AArch64BranchRelaxation+BasicBlockInfo
LDTLSCleanup411 fieldanonymous_namespace{aarch64cleanuplocaldynamictlspass.cpp} .LDTLSCleanup
AArch64CollectLOH441 fieldanonymous_namespace{aarch64collectloh.cpp}.AArch64CollectLOH
AArch64LoadStoreOpt3433 fieldsanonymous_namespace{aarch64loadstoreoptimizer.cpp}.AArch64LoadStoreOpt
AArch64MCAsmInfoDarwin160 fieldllvm.AArch64MCAsmInfoDarwin
AArch64MCAsmInfoELF180 fieldllvm.AArch64MCAsmInfoELF
AArch64NamedImmMapper173 fieldsllvm.AArch64NamedImmMapper
AArch64NamedImmMapper+Mapping02 fieldsllvm.AArch64NamedImmMapper+Mapping
ATMapper01 fieldllvm.AArch64AT.ATMapper
DBarrierMapper01 fieldllvm.AArch64DB.DBarrierMapper
DCMapper01 fieldllvm.AArch64DC.DCMapper
ICMapper01 fieldllvm.AArch64IC.ICMapper
ISBMapper01 fieldllvm.AArch64ISB.ISBMapper
PRFMMapper01 fieldllvm.AArch64PRFM.PRFMMapper
PStateMapper01 fieldllvm.AArch64PState.PStateMapper
SysRegMapper535 fieldsllvm.AArch64SysReg.SysRegMapper
MSRMapper21 fieldllvm.AArch64SysReg.MSRMapper
MRSMapper21 fieldllvm.AArch64SysReg.MRSMapper
TLBIMapper01 fieldllvm.AArch64TLBI.TLBIMapper
Anonymous03 fieldsAnonymous
Anonymous03 fieldsAnonymous
ARMAsmParser+Anonymous04 fieldsanonymous_namespace{armasmparser.cpp}.ARMAsmParser+Anonymous
ARMOperand+CCOp01 fieldanonymous_namespace{armasmparser.cpp}.ARMOperand+CCOp
ARMOperand+CopOp01 fieldanonymous_namespace{armasmparser.cpp}.ARMOperand+CopOp
ARMOperand+CoprocOptionOp01 fieldanonymous_namespace{armasmparser.cpp}.ARMOperand+CoprocOptionOp
ARMOperand+ITMaskOp01 fieldanonymous_namespace{armasmparser.cpp}.ARMOperand+ITMaskOp
ARMOperand+MBOptOp01 fieldanonymous_namespace{armasmparser.cpp}.ARMOperand+MBOptOp
ARMOperand+ISBOptOp01 fieldanonymous_namespace{armasmparser.cpp}.ARMOperand+ISBOptOp
ARMOperand+IFlagsOp01 fieldanonymous_namespace{armasmparser.cpp}.ARMOperand+IFlagsOp
ARMOperand+MMaskOp01 fieldanonymous_namespace{armasmparser.cpp}.ARMOperand+MMaskOp
ARMOperand+BankedRegOp01 fieldanonymous_namespace{armasmparser.cpp}.ARMOperand+BankedRegOp
ARMOperand+TokOp02 fieldsanonymous_namespace{armasmparser.cpp}.ARMOperand+TokOp
ARMOperand+RegOp01 fieldanonymous_namespace{armasmparser.cpp}.ARMOperand+RegOp

Statistics

Stat   # lines of code (LOC)   mutableFields
Sum:33 3610
Average:18.250
Minimum:00
Maximum:1 3740
Standard deviation:74.230
Variance:5 5090
warningCritical    Rule warning: Avoid static fields with a mutable field type
// <Name>Avoid static fields with a mutable field type</Name>
warnif count > 0
from f in Application.Fields
where f.IsStatic && !f.IsEnumValue && !f.IsGeneratedByCompiler
let fieldType = f.FieldType
where fieldType != null && 
     
!fieldType.IsThirdParty && 
     
!fieldType.IsInterface && 
     
!fieldType.IsImmutable
select new { f, 
             
mutableFieldType = fieldType , 
             
isFieldImmutable = f.IsImmutable }


1,834 fields matched

fieldsmutableFieldTypeisFieldImmutableFull Name
InputFilenameopt<DataType,ExternalStorage,ParserClass,>False__Globals.InputFilename
OutputFilenameopt<DataType,ExternalStorage,ParserClass,>False__Globals.OutputFilename
Ar