llvm-project/clang/lib/StaticAnalyzer/Core
Leonard Chan db01c3adc6 [Fixed Point Arithmetic] Fixed Point Precision Bits and Fixed Point Literals
This diff includes the logic for setting the precision bits for each primary fixed point type in the target info and logic for initializing a fixed point literal.

Fixed point literals are declared using the suffixes

```
hr: short _Fract
uhr: unsigned short _Fract
r: _Fract
ur: unsigned _Fract
lr: long _Fract
ulr: unsigned long _Fract
hk: short _Accum
uhk: unsigned short _Accum
k: _Accum
uk: unsigned _Accum
```
Errors are also thrown for illegal literal values

```
unsigned short _Accum u_short_accum = 256.0uhk;   // expected-error{{the integral part of this literal is too large for this unsigned _Accum type}}
```

Differential Revision: https://reviews.llvm.org/D46915

llvm-svn: 335148
2018-06-20 17:19:40 +00:00
..
APSIntType.cpp
AnalysisManager.cpp [analyzer] Add scope information to CFG 2018-03-12 12:26:15 +00:00
AnalyzerOptions.cpp [analyzer] False positive refutation with Z3 2018-06-04 14:40:44 +00:00
BasicValueFactory.cpp [StaticAnalyzer] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2018-03-02 23:11:49 +00:00
BlockCounter.cpp [analyzer] Apply whitespace cleanups by Honggyu Kim. 2015-09-08 03:50:52 +00:00
BugReporter.cpp [analyzer] Remove accidentally committed lines. 2018-06-18 17:59:03 +00:00
BugReporterVisitors.cpp Remove extraneous semicolon. 2018-06-13 06:33:59 +00:00
CMakeLists.txt Sort source lists in lib/StaticAnalyzer. 2018-04-07 04:25:01 +00:00
CallEvent.cpp [clang] Update uses of DEBUG macro to LLVM_DEBUG. 2018-05-15 13:30:56 +00:00
Checker.cpp [analyzer] Apply whitespace cleanups by Honggyu Kim. 2015-09-08 03:50:52 +00:00
CheckerContext.cpp [analyzer] introduce getSVal(Stmt *) helper on ExplodedNode, make sure the helper is used consistently 2018-01-17 20:27:29 +00:00
CheckerHelpers.cpp [analyzer] Trust _Nonnull annotations for system framework 2018-03-23 00:16:03 +00:00
CheckerManager.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
CheckerRegistry.cpp [StaticAnalyzer] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2018-04-03 21:31:50 +00:00
CommonBugCategories.cpp [analyzer] Fix memory error bug category capitalization. 2017-05-03 11:47:13 +00:00
ConstraintManager.cpp [StaticAnalyzer] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2018-02-28 01:10:04 +00:00
CoreEngine.cpp [analyzer] [NFC] Move worklist implementation to WorkList.cpp 2018-03-23 00:16:01 +00:00
DynamicTypeMap.cpp [StaticAnalyzer] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2018-02-28 01:10:04 +00:00
Environment.cpp [StaticAnalyzer] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2018-02-28 01:10:04 +00:00
ExplodedGraph.cpp [StaticAnalyzer] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2018-02-26 23:15:52 +00:00
ExprEngine.cpp [Fixed Point Arithmetic] Fixed Point Precision Bits and Fixed Point Literals 2018-06-20 17:19:40 +00:00
ExprEngineC.cpp [analyzer] pr37270: Track constructor target region, even if just a variable. 2018-06-14 01:32:46 +00:00
ExprEngineCXX.cpp [analyzer] Re-enable C++17-specific RVO construction contexts. 2018-06-14 01:59:35 +00:00
ExprEngineCallAndReturn.cpp [analyzer] pr37270: Track constructor target region, even if just a variable. 2018-06-14 01:32:46 +00:00
ExprEngineObjC.cpp [analyzer] Correctly model iteration through "nil" objects 2018-03-08 02:53:39 +00:00
FunctionSummary.cpp [StaticAnalyzer] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2018-02-28 01:10:04 +00:00
HTMLDiagnostics.cpp [FileSystem] Split up the OpenFlags enumeration. 2018-06-07 19:58:58 +00:00
IssueHash.cpp [analyzer] Use the signature of the primary template for issue hash calculation 2017-10-30 12:16:07 +00:00
LoopUnrolling.cpp [analyzer] Unroll the loop when it has a unsigned counter. 2018-03-31 12:46:46 +00:00
LoopWidening.cpp [analyzer] Ensure that loop widening does not invalidate references 2018-06-12 22:22:35 +00:00
MemRegion.cpp [analyzer] Fix offset overflow check in MemRegion 2018-06-13 18:32:19 +00:00
PathDiagnostic.cpp [analyzer] [NFC] Move ::dump methods from BugReporter.cpp to PathDiagnostics.cpp 2018-06-12 20:51:01 +00:00
PlistDiagnostics.cpp [analyzer] Add support for the note diagnostic pieces to plist output format. 2018-04-24 20:45:48 +00:00
PrettyStackTraceLocationContext.h [CSA] [NFC] Move AnalysisContext.h to AnalysisDeclContext.h 2017-09-06 21:45:03 +00:00
ProgramState.cpp [analyzer] pr18953: Split C++ zero-initialization from default initialization. 2018-05-04 21:56:51 +00:00
RangeConstraintManager.cpp Moved RangedConstraintManager header to the StaticAnalyser include dir 2018-06-04 00:23:01 +00:00
RangedConstraintManager.cpp Moved RangedConstraintManager header to the StaticAnalyser include dir 2018-06-04 00:23:01 +00:00
RegionStore.cpp [analyzer] const init: handle non-explicit cases more accurately 2018-05-29 14:14:22 +00:00
SValBuilder.cpp [analyzer] Treat more const variables and fields as known contants. 2018-05-04 20:52:39 +00:00
SVals.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
SimpleConstraintManager.cpp [analyzer] Refactor and simplify SimpleConstraintManager 2017-02-25 04:51:31 +00:00
SimpleSValBuilder.cpp [analyzer] Improve performance of the SVal simplification mechanism further. 2018-05-31 17:27:28 +00:00
Store.cpp [analyzer] pr36458: Fix retrieved value cast for symbolic void pointers. 2018-05-04 22:11:12 +00:00
SubEngine.cpp
SymbolManager.cpp [StaticAnalyzer] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2018-03-06 00:47:41 +00:00
WorkList.cpp Make helpers static. NFC. 2018-04-04 11:45:11 +00:00
Z3ConstraintManager.cpp [analyzer] Optimize constraint generation when the range is a concrete value 2018-06-20 11:42:12 +00:00