r339135 - [analyzer][UninitializedObjectChecker] New flag to turn off dereferencing

2018-08-07 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Tue Aug 7 05:55:26 2018 New Revision: 339135 URL: http://llvm.org/viewvc/llvm-project?rev=339135&view=rev Log: [analyzer][UninitializedObjectChecker] New flag to turn off dereferencing Even for a checker being in alpha, some reports about pointees held so little value to

r339237 - [analyzer][UninitializedObjectChecker] Fixed a false negative by no longer filtering out certain constructor calls

2018-08-08 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Wed Aug 8 05:23:02 2018 New Revision: 339237 URL: http://llvm.org/viewvc/llvm-project?rev=339237&view=rev Log: [analyzer][UninitializedObjectChecker] Fixed a false negative by no longer filtering out certain constructor calls As of now, all constructor calls are ignored

r339240 - [analyzer][UninitializedObjectChecker] Pointer/reference objects are dereferenced according to dynamic type

2018-08-08 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Wed Aug 8 06:18:53 2018 New Revision: 339240 URL: http://llvm.org/viewvc/llvm-project?rev=339240&view=rev Log: [analyzer][UninitializedObjectChecker] Pointer/reference objects are dereferenced according to dynamic type This patch fixed an issue where the dynamic type of

r339591 - [analyzer][UninitializedObjectChecker] Refactoring p1.: ImmutableList factory is no longer static

2018-08-13 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Mon Aug 13 10:55:52 2018 New Revision: 339591 URL: http://llvm.org/viewvc/llvm-project?rev=339591&view=rev Log: [analyzer][UninitializedObjectChecker] Refactoring p1.: ImmutableList factory is no longer static This patch is the first part of a series of patches to refacto

r339595 - [analyzer][UninitializedObjectChecker] Refactoring p2.: Moving pointer chasing to a separate file

2018-08-13 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Mon Aug 13 11:17:05 2018 New Revision: 339595 URL: http://llvm.org/viewvc/llvm-project?rev=339595&view=rev Log: [analyzer][UninitializedObjectChecker] Refactoring p2.: Moving pointer chasing to a separate file In this patch, the following classes and functions have been m

r339596 - [analyzer][UninitializedObjectChecker] Refactoring p3.: printTail moved out from FieldChainInfo

2018-08-13 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Mon Aug 13 11:22:22 2018 New Revision: 339596 URL: http://llvm.org/viewvc/llvm-project?rev=339596&view=rev Log: [analyzer][UninitializedObjectChecker] Refactoring p3.: printTail moved out from FieldChainInfo This is a standalone part of the effort to reduce FieldChainInfo

r339599 - [analyzer][UninitializedObjectChecker] Refactoring p4.: Wrap FieldRegions and reduce weight on FieldChainInfo

2018-08-13 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Mon Aug 13 11:43:08 2018 New Revision: 339599 URL: http://llvm.org/viewvc/llvm-project?rev=339599&view=rev Log: [analyzer][UninitializedObjectChecker] Refactoring p4.: Wrap FieldRegions and reduce weight on FieldChainInfo Before this patch, FieldChainInfo used a spaghetti

r339601 - [analyzer][UninitializedObjectChecker] Refactoring p5.: Handle pedantic mode in the checker class only

2018-08-13 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Mon Aug 13 11:48:34 2018 New Revision: 339601 URL: http://llvm.org/viewvc/llvm-project?rev=339601&view=rev Log: [analyzer][UninitializedObjectChecker] Refactoring p5.: Handle pedantic mode in the checker class only Differential Revision: https://reviews.llvm.org/D50508 M

r339653 - [analyzer][UninitializedObjectChecker] Void pointers are casted back to their dynamic type in note message

2018-08-14 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Tue Aug 14 01:20:51 2018 New Revision: 339653 URL: http://llvm.org/viewvc/llvm-project?rev=339653&view=rev Log: [analyzer][UninitializedObjectChecker] Void pointers are casted back to their dynamic type in note message Differential Revision: https://reviews.llvm.org/D4922

r339655 - [analyzer] Made a buildbot happy.

2018-08-14 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Tue Aug 14 01:38:35 2018 New Revision: 339655 URL: http://llvm.org/viewvc/llvm-project?rev=339655&view=rev Log: [analyzer] Made a buildbot happy. Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedPointee.cpp Modified: cfe/trunk/lib/Sta

r340265 - [analyzer][UninitializedObjectChecker] Refactoring p6.: Move dereferencing to a function

2018-08-21 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Tue Aug 21 03:45:21 2018 New Revision: 340265 URL: http://llvm.org/viewvc/llvm-project?rev=340265&view=rev Log: [analyzer][UninitializedObjectChecker] Refactoring p6.: Move dereferencing to a function Now that it has it's own file, it makes little sense for isPointerOrRef

r340266 - [analyzer][UninitializedObjectChecker] Added documentation to the checker list

2018-08-21 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Tue Aug 21 03:47:19 2018 New Revision: 340266 URL: http://llvm.org/viewvc/llvm-project?rev=340266&view=rev Log: [analyzer][UninitializedObjectChecker] Added documentation to the checker list Differential Revision: https://reviews.llvm.org/D50904 Modified: cfe/trunk/l

r340272 - [analyzer][UninitializedObjectChecker] Explicit namespace resolution for inherited data members

2018-08-21 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Tue Aug 21 05:16:59 2018 New Revision: 340272 URL: http://llvm.org/viewvc/llvm-project?rev=340272&view=rev Log: [analyzer][UninitializedObjectChecker] Explicit namespace resolution for inherited data members For the following example: struct Base { int x; }; /

r340280 - [analyzer] Correctly marked a virtual function 'override'

2018-08-21 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Tue Aug 21 08:09:22 2018 New Revision: 340280 URL: http://llvm.org/viewvc/llvm-project?rev=340280&view=rev Log: [analyzer] Correctly marked a virtual function 'override' Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp

r333080 - Test commit

2018-05-23 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Wed May 23 05:48:55 2018 New Revision: 333080 URL: http://llvm.org/viewvc/llvm-project?rev=333080&view=rev Log: Test commit Modified: cfe/trunk/examples/PrintFunctionNames/CMakeLists.txt Modified: cfe/trunk/examples/PrintFunctionNames/CMakeLists.txt URL: http://llvm.

r333275 - [analyzer] Added template argument lists to the Pathdiagnostic output

2018-05-25 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Fri May 25 06:18:38 2018 New Revision: 333275 URL: http://llvm.org/viewvc/llvm-project?rev=333275&view=rev Log: [analyzer] Added template argument lists to the Pathdiagnostic output Because template parameter lists were not displayed in the plist output, it was difficult t

r333278 - [analyzer] Added a getLValue method to ProgramState for bases

2018-05-25 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Fri May 25 07:48:33 2018 New Revision: 333278 URL: http://llvm.org/viewvc/llvm-project?rev=333278&view=rev Log: [analyzer] Added a getLValue method to ProgramState for bases Differential Revision: https://reviews.llvm.org/D46891 Modified: cfe/trunk/include/clang/Stat

r342213 - [analyzer][UninitializedObjectChecker] Fixed dereferencing

2018-09-14 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Fri Sep 14 01:58:21 2018 New Revision: 342213 URL: http://llvm.org/viewvc/llvm-project?rev=342213&view=rev Log: [analyzer][UninitializedObjectChecker] Fixed dereferencing iThis patch aims to fix derefencing, which has been debated for months now. Instead of working with S

r342215 - [analyzer][UninitializedObjectChecker] Updated comments

2018-09-14 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Fri Sep 14 02:07:40 2018 New Revision: 342215 URL: http://llvm.org/viewvc/llvm-project?rev=342215&view=rev Log: [analyzer][UninitializedObjectChecker] Updated comments Some of the comments are incorrect, imprecise, or simply nonexistent. Since I have a better grasp on how

r342217 - [analyzer][UninitializedObjectChecker] Correct dynamic type is acquired for record pointees

2018-09-14 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Fri Sep 14 02:13:36 2018 New Revision: 342217 URL: http://llvm.org/viewvc/llvm-project?rev=342217&view=rev Log: [analyzer][UninitializedObjectChecker] Correct dynamic type is acquired for record pointees Differential Revision: https://reviews.llvm.org/D50892 Modified:

r342219 - [analyzer][UninitializedObjectChecker] Refactored checker options

2018-09-14 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Fri Sep 14 02:39:26 2018 New Revision: 342219 URL: http://llvm.org/viewvc/llvm-project?rev=342219&view=rev Log: [analyzer][UninitializedObjectChecker] Refactored checker options Since I plan to add a number of new flags, it made sense to encapsulate them in a new struct, i

r342220 - [analyzer][UninitializedObjectChecker] New flag to ignore records based on it's fields

2018-09-14 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Fri Sep 14 03:10:09 2018 New Revision: 342220 URL: http://llvm.org/viewvc/llvm-project?rev=342220&view=rev Log: [analyzer][UninitializedObjectChecker] New flag to ignore records based on it's fields Based on a suggestion from @george.karpenkov. In some cases, structs are

r342221 - [analyzer][UninitializedObjectChecker] Support for nonloc::LocAsInteger

2018-09-14 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Fri Sep 14 03:18:26 2018 New Revision: 342221 URL: http://llvm.org/viewvc/llvm-project?rev=342221&view=rev Log: [analyzer][UninitializedObjectChecker] Support for nonloc::LocAsInteger Differential Revision: https://reviews.llvm.org/D49437 Modified: cfe/trunk/lib/Stat

r342223 - [analyzer] Attempt to make a windows buildbot happy.

2018-09-14 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Fri Sep 14 04:20:16 2018 New Revision: 342223 URL: http://llvm.org/viewvc/llvm-project?rev=342223&view=rev Log: [analyzer] Attempt to make a windows buildbot happy. Got an error that a cast is happening from a pointer type to long, which is smaller. Modified: cfe/trun

r334935 - [analyzer] Checker for uninitialized C++ objects

2018-06-18 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Mon Jun 18 04:50:17 2018 New Revision: 334935 URL: http://llvm.org/viewvc/llvm-project?rev=334935&view=rev Log: [analyzer] Checker for uninitialized C++ objects This checker analyzes C++ constructor calls, and reports uninitialized fields. Due to the nature of this proble

r335030 - [analyzer] Made a buildbot happy.

2018-06-19 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Tue Jun 19 01:35:02 2018 New Revision: 335030 URL: http://llvm.org/viewvc/llvm-project?rev=335030&view=rev Log: [analyzer] Made a buildbot happy. Since `isPrimitiveType` was only used in an assert, a builbot with `-Werror` and no asserts enabled failed to build it as it wa

r344242 - [analyzer][UninitializedObjectChecker] Reports Loc fields pointing to themselves

2018-10-11 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Thu Oct 11 04:58:53 2018 New Revision: 344242 URL: http://llvm.org/viewvc/llvm-project?rev=344242&view=rev Log: [analyzer][UninitializedObjectChecker] Reports Loc fields pointing to themselves I've added a new functionality, the checker is now able to detect and report fie

r344870 - [analyzer][NFC] Fix inconsistencies in AnalyzerOptions

2018-10-21 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Sun Oct 21 11:19:32 2018 New Revision: 344870 URL: http://llvm.org/viewvc/llvm-project?rev=344870&view=rev Log: [analyzer][NFC] Fix inconsistencies in AnalyzerOptions I'm in the process of refactoring AnalyzerOptions. The main motivation behind here is to emit warnings if

r344878 - [analyzer][www] Update alpha_checks.html

2018-10-21 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Sun Oct 21 15:10:15 2018 New Revision: 344878 URL: http://llvm.org/viewvc/llvm-project?rev=344878&view=rev Log: [analyzer][www] Update alpha_checks.html I added some missing doc. I have not developed any of these checkers, it might worth really inspecting whether I wrote

r344879 - [analyzer][UninitializedObjectChecker] No longer using nonloc::LazyCompoundVal

2018-10-21 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Sun Oct 21 16:30:01 2018 New Revision: 344879 URL: http://llvm.org/viewvc/llvm-project?rev=344879&view=rev Log: [analyzer][UninitializedObjectChecker] No longer using nonloc::LazyCompoundVal As rightly pointed out by @NoQ, nonloc::LazyCompoundVals were only used to acquir

r345531 - [analyzer][NFC] Refactor PlistDiagnostics to use a class instead of passing 9 parameters around

2018-10-29 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Mon Oct 29 13:06:30 2018 New Revision: 345531 URL: http://llvm.org/viewvc/llvm-project?rev=345531&view=rev Log: [analyzer][NFC] Refactor PlistDiagnostics to use a class instead of passing 9 parameters around This has been a long time coming. Note the usage of AnalyzerOpti

r352277 - [analyzer] Supply all checkers with a shouldRegister function

2019-01-26 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Sat Jan 26 06:23:08 2019 New Revision: 352277 URL: http://llvm.org/viewvc/llvm-project?rev=352277&view=rev Log: [analyzer] Supply all checkers with a shouldRegister function Introduce the boolean ento::shouldRegister##CHECKERNAME(const LangOptions &LO) function very simila

r352278 - [analyzer] Split unix.API up to UnixAPIMisuseChecker and UnixAPIPortabilityChecker

2019-01-26 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Sat Jan 26 07:56:40 2019 New Revision: 352278 URL: http://llvm.org/viewvc/llvm-project?rev=352278&view=rev Log: [analyzer] Split unix.API up to UnixAPIMisuseChecker and UnixAPIPortabilityChecker The actual implementation of unix.API features a dual-checker: two checkers i

r352279 - [analyzer][NFC] Supply CheckerRegistry with AnalyzerOptions

2019-01-26 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Sat Jan 26 07:59:21 2019 New Revision: 352279 URL: http://llvm.org/viewvc/llvm-project?rev=352279&view=rev Log: [analyzer][NFC] Supply CheckerRegistry with AnalyzerOptions Since pretty much all methods of CheckerRegistry has AnalyzerOptions as an argument, it makes sense t

r352282 - [analyzer][NFC] Keep track of whether enabling a checker was explictly specified in command line arguments

2019-01-26 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Sat Jan 26 08:35:33 2019 New Revision: 352282 URL: http://llvm.org/viewvc/llvm-project?rev=352282&view=rev Log: [analyzer][NFC] Keep track of whether enabling a checker was explictly specified in command line arguments I added a new enum to CheckerInfo, so we can easily t

r352284 - [analyzer] Fix an bug where statically linked, but not registered checkers weren't recognized

2019-01-26 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Sat Jan 26 09:27:40 2019 New Revision: 352284 URL: http://llvm.org/viewvc/llvm-project?rev=352284&view=rev Log: [analyzer] Fix an bug where statically linked, but not registered checkers weren't recognized My last patch, D56989, moved the validation of whether a checker e

[clang-tools-extra] r352290 - Fix a lit test failure after D54438

2019-01-26 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Sat Jan 26 13:22:58 2019 New Revision: 352290 URL: http://llvm.org/viewvc/llvm-project?rev=352290&view=rev Log: Fix a lit test failure after D54438 Modified: clang-tools-extra/trunk/test/clang-tidy/static-analyzer-config.cpp Modified: clang-tools-extra/trunk/test/clan

r352292 - [analyzer] Add CheckerManager::getChecker, make sure that a registry function registers no more than 1 checker

2019-01-26 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Sat Jan 26 13:41:50 2019 New Revision: 352292 URL: http://llvm.org/viewvc/llvm-project?rev=352292&view=rev Log: [analyzer] Add CheckerManager::getChecker, make sure that a registry function registers no more than 1 checker This patch effectively fixes the almost decade ol

r352693 - [analyzer] Make NullReturnedFromNonnullChecker depend on NullabilityBase

2019-01-30 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Wed Jan 30 15:48:37 2019 New Revision: 352693 URL: http://llvm.org/viewvc/llvm-project?rev=352693&view=rev Log: [analyzer] Make NullReturnedFromNonnullChecker depend on NullabilityBase Accidentally left this dependency out after D54438. Added: cfe/trunk/test/Analysis/

r345724 - [analyzer][PlistMacroExpansion] Part 1.: New expand-macros flag

2018-10-31 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Wed Oct 31 07:54:27 2018 New Revision: 345724 URL: http://llvm.org/viewvc/llvm-project?rev=345724&view=rev Log: [analyzer][PlistMacroExpansion] Part 1.: New expand-macros flag This is the first part of the implementation of the inclusion of macro expansions into the plist

r345741 - [Lex] Make MacroDirective::findDirectiveAtLoc take const SourceManager

2018-10-31 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Wed Oct 31 10:19:20 2018 New Revision: 345741 URL: http://llvm.org/viewvc/llvm-project?rev=345741&view=rev Log: [Lex] Make MacroDirective::findDirectiveAtLoc take const SourceManager I'm currently working on including macro expansions in the Static Analyzer's plist output,

r345985 - [analyzer][NFC] Fix some incorrect uses of -analyzer-config options

2018-11-02 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Fri Nov 2 08:48:10 2018 New Revision: 345985 URL: http://llvm.org/viewvc/llvm-project?rev=345985&view=rev Log: [analyzer][NFC] Fix some incorrect uses of -analyzer-config options I'm in the process of refactoring AnalyzerOptions. The main motivation behind here is to emit

r345986 - [analyzer][NFC] Collect all -analyzer-config options in a .def file

2018-11-02 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Fri Nov 2 08:50:44 2018 New Revision: 345986 URL: http://llvm.org/viewvc/llvm-project?rev=345986&view=rev Log: [analyzer][NFC] Collect all -analyzer-config options in a .def file I'm in the process of refactoring AnalyzerOptions. The main motivation behind here is to emit

r345989 - [analyzer] New flag to print all -analyzer-config options

2018-11-02 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Fri Nov 2 08:59:37 2018 New Revision: 345989 URL: http://llvm.org/viewvc/llvm-project?rev=345989&view=rev Log: [analyzer] New flag to print all -analyzer-config options A new -cc1 flag is avaible for the said purpose: -analyzer-config-help Differential Revision: https://

r345990 - [analyzer] Put llvm.Conventions back in alpha

2018-11-02 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Fri Nov 2 09:02:10 2018 New Revision: 345990 URL: http://llvm.org/viewvc/llvm-project?rev=345990&view=rev Log: [analyzer] Put llvm.Conventions back in alpha Interestingly, this many year old (when I last looked I remember 2010ish) checker was committed without any tests,

r345993 - Didn't -> didnt, because #errors complains about untermianted '

2018-11-02 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Fri Nov 2 09:32:15 2018 New Revision: 345993 URL: http://llvm.org/viewvc/llvm-project?rev=345993&view=rev Log: Didn't -> didnt, because #errors complains about untermianted ' Modified: cfe/trunk/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def Modified: cfe/trun

r345997 - Remove the duplicated definition of size_t

2018-11-02 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Fri Nov 2 10:00:07 2018 New Revision: 345997 URL: http://llvm.org/viewvc/llvm-project?rev=345997&view=rev Log: Remove the duplicated definition of size_t So hopefully windows won't complain. Modified: cfe/trunk/test/Analysis/llvm-conventions.cpp Modified: cfe/trunk/

r346033 - Attempt to fix 'logical operation on address of string constant'

2018-11-02 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Fri Nov 2 12:48:56 2018 New Revision: 346033 URL: http://llvm.org/viewvc/llvm-project?rev=346033&view=rev Log: Attempt to fix 'logical operation on address of string constant' Caused a lot of warnings for Windows: http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-sc

r346095 - [analyzer][PlistMacroExpansion] Part 2.: Retrieving the macro name and primitive expansion

2018-11-04 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Sun Nov 4 05:59:44 2018 New Revision: 346095 URL: http://llvm.org/viewvc/llvm-project?rev=346095&view=rev Log: [analyzer][PlistMacroExpansion] Part 2.: Retrieving the macro name and primitive expansion This patch adds a couple new functions to acquire the macro's name, a

r346096 - Revert '[analyzer][PlistMacroExpansion] Part 2.: Retrieving the macro name and primitive expansion'

2018-11-04 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Sun Nov 4 06:18:37 2018 New Revision: 346096 URL: http://llvm.org/viewvc/llvm-project?rev=346096&view=rev Log: Revert '[analyzer][PlistMacroExpansion] Part 2.: Retrieving the macro name and primitive expansion' Modified: cfe/trunk/lib/StaticAnalyzer/Core/PlistDiagnos

r346111 - Reland '[analyzer][PlistMacroExpansion] Part 2.: Retrieving the macro name and primitive expansion'

2018-11-04 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Sun Nov 4 18:14:36 2018 New Revision: 346111 URL: http://llvm.org/viewvc/llvm-project?rev=346111&view=rev Log: Reland '[analyzer][PlistMacroExpansion] Part 2.: Retrieving the macro name and primitive expansion' Modified: cfe/trunk/lib/StaticAnalyzer/Core/PlistDiagnos

r346112 - Ensure the correct order of evaluation in part 2. of PlistMacroExpansion

2018-11-04 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Sun Nov 4 18:37:29 2018 New Revision: 346112 URL: http://llvm.org/viewvc/llvm-project?rev=346112&view=rev Log: Ensure the correct order of evaluation in part 2. of PlistMacroExpansion Windows buildbots break with the previous commit '[analyzer][PlistMacroExpansion] Part

r346113 - [analyzer] Restrict AnalyzerOptions' interface so that non-checker objects have to be registered

2018-11-04 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Sun Nov 4 19:50:37 2018 New Revision: 346113 URL: http://llvm.org/viewvc/llvm-project?rev=346113&view=rev Log: [analyzer] Restrict AnalyzerOptions' interface so that non-checker objects have to be registered One of the reasons why AnalyzerOptions is so chaotic is that op

r346680 - [analyzer] Drastically simplify the tblgen files used for checkers

2018-11-12 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Mon Nov 12 09:49:51 2018 New Revision: 346680 URL: http://llvm.org/viewvc/llvm-project?rev=346680&view=rev Log: [analyzer] Drastically simplify the tblgen files used for checkers Interestingly, only about the quarter of the emitter file is used, the DescFile entry hasn't e

r347006 - [analyzer] ConversionChecker: handle floating point

2018-11-15 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Thu Nov 15 17:00:55 2018 New Revision: 347006 URL: http://llvm.org/viewvc/llvm-project?rev=347006&view=rev Log: [analyzer] ConversionChecker: handle floating point Extend the alpha.core.Conversion checker to handle implicit converions where a too large integer value is con

r347153 - [analyzer][UninitializedObjectChecker] Uninit regions are only reported once

2018-11-18 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Sun Nov 18 03:34:10 2018 New Revision: 347153 URL: http://llvm.org/viewvc/llvm-project?rev=347153&view=rev Log: [analyzer][UninitializedObjectChecker] Uninit regions are only reported once Especially with pointees, a lot of meaningless reports came from uninitialized regio

r347157 - [analyzer][NFC] Move CheckerOptInfo to CheckerRegistry.cpp, and make it local

2018-11-18 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Sun Nov 18 04:47:03 2018 New Revision: 347157 URL: http://llvm.org/viewvc/llvm-project?rev=347157&view=rev Log: [analyzer][NFC] Move CheckerOptInfo to CheckerRegistry.cpp, and make it local CheckerOptInfo feels very much out of place in CheckerRegistration.cpp, so I moved

r347513 - [analyzer] INT50-CPP. Do not cast to an out-of-range enumeration checker

2018-11-24 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Sat Nov 24 04:24:27 2018 New Revision: 347513 URL: http://llvm.org/viewvc/llvm-project?rev=347513&view=rev Log: [analyzer] INT50-CPP. Do not cast to an out-of-range enumeration checker This checker implements a solution to the "INT50-CPP. Do not cast to an out-of-range enu

r347888 - [analyzer][PlistMacroExpansion] Part 4.: Support for __VA_ARGS__

2018-11-29 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Thu Nov 29 09:09:41 2018 New Revision: 347888 URL: http://llvm.org/viewvc/llvm-project?rev=347888&view=rev Log: [analyzer][PlistMacroExpansion] Part 4.: Support for __VA_ARGS__ Differential Revision: https://reviews.llvm.org/D52986 Modified: cfe/trunk/lib/StaticAnalyz

r348025 - [analyzer][PlistMacroExpansion] Part 5.: Support for # and ##

2018-11-30 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Fri Nov 30 11:21:35 2018 New Revision: 348025 URL: http://llvm.org/viewvc/llvm-project?rev=348025&view=rev Log: [analyzer][PlistMacroExpansion] Part 5.: Support for # and ## From what I can see, this should be the last patch needed to replicate macro argument expansions.

r348031 - [analyzer] Evaluate all non-checker config options before analysis

2018-11-30 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Fri Nov 30 12:44:00 2018 New Revision: 348031 URL: http://llvm.org/viewvc/llvm-project?rev=348031&view=rev Log: [analyzer] Evaluate all non-checker config options before analysis In earlier patches regarding AnalyzerOptions, a lot of effort went into gathering all config o

r348038 - [analyzer] Emit an error for invalid -analyzer-config inputs

2018-11-30 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Fri Nov 30 13:24:31 2018 New Revision: 348038 URL: http://llvm.org/viewvc/llvm-project?rev=348038&view=rev Log: [analyzer] Emit an error for invalid -analyzer-config inputs Differential Revision: https://reviews.llvm.org/D53280 Added: cfe/trunk/test/Analysis/invalid-a

r348044 - [analyzer] Deleting unnecessary test file

2018-11-30 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Fri Nov 30 14:32:17 2018 New Revision: 348044 URL: http://llvm.org/viewvc/llvm-project?rev=348044&view=rev Log: [analyzer] Deleting unnecessary test file That I really should've done in rC348031. Removed: cfe/trunk/test/Analysis/analyzer-config.cpp Removed: cfe/trunk

r355297 - [analyzer] Enable subcheckers to possess checker options

2019-03-03 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Sun Mar 3 16:28:16 2019 New Revision: 355297 URL: http://llvm.org/viewvc/llvm-project?rev=355297&view=rev Log: [analyzer] Enable subcheckers to possess checker options Under the term "subchecker", I mean checkers that do not have a checker class on their own, like unix.Ma

r355396 - [analyzer] Fix taint propagation in GenericTaintChecker

2019-03-05 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Tue Mar 5 04:42:59 2019 New Revision: 355396 URL: http://llvm.org/viewvc/llvm-project?rev=355396&view=rev Log: [analyzer] Fix taint propagation in GenericTaintChecker The gets function has no SrcArgs. Because the default value for isTainted was false, it didn't mark its D

r355703 - [analyzer] Use the new infrastructure of expressing taint propagation, NFC

2019-03-08 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Fri Mar 8 07:47:56 2019 New Revision: 355703 URL: http://llvm.org/viewvc/llvm-project?rev=355703&view=rev Log: [analyzer] Use the new infrastructure of expressing taint propagation, NFC In D55734, we implemented a far more general way of describing taint propagation rules

r355704 - [analyzer] Emit an error rather than assert on invalid checker option input

2019-03-08 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Fri Mar 8 08:00:42 2019 New Revision: 355704 URL: http://llvm.org/viewvc/llvm-project?rev=355704&view=rev Log: [analyzer] Emit an error rather than assert on invalid checker option input Asserting on invalid input isn't very nice, hence the patch to emit an error instead.

r355705 - [analyzer] Fix infinite recursion in printing macros

2019-03-08 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Fri Mar 8 08:26:29 2019 New Revision: 355705 URL: http://llvm.org/viewvc/llvm-project?rev=355705&view=rev Log: [analyzer] Fix infinite recursion in printing macros In the commited testfile, macro expansion (the one implemented for the plist output) runs into an infinite r

r355903 - [analyzer] Fix function macro crash

2019-03-12 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Tue Mar 12 03:03:32 2019 New Revision: 355903 URL: http://llvm.org/viewvc/llvm-project?rev=355903&view=rev Log: [analyzer] Fix function macro crash When there is a functor-like macro which is passed as parameter to another "function" macro then its parameters are not liste

r355911 - Revert "[analyzer] Fix function macro crash"

2019-03-12 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Tue Mar 12 04:22:30 2019 New Revision: 355911 URL: http://llvm.org/viewvc/llvm-project?rev=355911&view=rev Log: Revert "[analyzer] Fix function macro crash" Buildbot breaks when LLVm is compiled with memory sanitizer. WARNING: MemorySanitizer: use-of-uninitialized-value

r356142 - [analyzer] Fix function macro crash

2019-03-14 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Thu Mar 14 06:38:16 2019 New Revision: 356142 URL: http://llvm.org/viewvc/llvm-project?rev=356142&view=rev Log: [analyzer] Fix function macro crash Re-commit D57893. Differential Revision: https://reviews.llvm.org/D57893 Modified: cfe/trunk/lib/StaticAnalyzer/Core/Pl

r356161 - [analyzer] Fix an assertation failure for invalid sourcelocation, add a new debug checker

2019-03-14 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Thu Mar 14 09:10:29 2019 New Revision: 356161 URL: http://llvm.org/viewvc/llvm-project?rev=356161&view=rev Log: [analyzer] Fix an assertation failure for invalid sourcelocation, add a new debug checker For a rather short code snippet, if debug.ReportStmts (added in this p

r358609 - [analyzer] PR41185: Fix regression where __builtin_* functions weren't recognized

2019-04-17 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Wed Apr 17 12:56:40 2019 New Revision: 358609 URL: http://llvm.org/viewvc/llvm-project?rev=358609&view=rev Log: [analyzer] PR41185: Fix regression where __builtin_* functions weren't recognized For the following code snippet: void builtin_function_call_crash_fixes(char *

r358676 - [analyzer][NFC] Use capital variable names, move methods out-of-line, rename some in CheckerRegistry

2019-04-18 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Thu Apr 18 08:19:16 2019 New Revision: 358676 URL: http://llvm.org/viewvc/llvm-project?rev=358676&view=rev Log: [analyzer][NFC] Use capital variable names, move methods out-of-line, rename some in CheckerRegistry There are barely any lines I haven't changed in these files

r358695 - [analyzer][NFC] Prefer binary searches in CheckerRegistry

2019-04-18 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Thu Apr 18 10:34:45 2019 New Revision: 358695 URL: http://llvm.org/viewvc/llvm-project?rev=358695&view=rev Log: [analyzer][NFC] Prefer binary searches in CheckerRegistry Differential Revision: https://reviews.llvm.org/D59459 Modified: cfe/trunk/include/clang/StaticAna

r358694 - [analyzer][NFC] Clang-format CheckerRegistry

2019-04-18 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Thu Apr 18 10:32:51 2019 New Revision: 358694 URL: http://llvm.org/viewvc/llvm-project?rev=358694&view=rev Log: [analyzer][NFC] Clang-format CheckerRegistry Differential Revision: https://reviews.llvm.org/D59458 Modified: cfe/trunk/include/clang/StaticAnalyzer/Fronten

r358750 - [analyzer] Fix an assertion failure if plugins added dependencies

2019-04-19 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Fri Apr 19 04:01:35 2019 New Revision: 358750 URL: http://llvm.org/viewvc/llvm-project?rev=358750&view=rev Log: [analyzer] Fix an assertion failure if plugins added dependencies Ideally, there is no reason behind not being able to depend on checkers that come from a differ

r358752 - [analyzer][NFC] Reimplement checker options

2019-04-19 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Fri Apr 19 05:32:10 2019 New Revision: 358752 URL: http://llvm.org/viewvc/llvm-project?rev=358752&view=rev Log: [analyzer][NFC] Reimplement checker options TL;DR: * Add checker and package options to the TableGen files * Added a new class called CmdLineOption, and both Pa

r358797 - [analyzer] Move UninitializedObjectChecker out of alpha

2019-04-19 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Fri Apr 19 16:33:50 2019 New Revision: 358797 URL: http://llvm.org/viewvc/llvm-project?rev=358797&view=rev Log: [analyzer] Move UninitializedObjectChecker out of alpha Moved UninitializedObjectChecker from the 'alpha.cplusplus' to the 'optin.cplusplus' package. Differenti

r358877 - [analyzer][www] Moving MoveChecker out of alpha is no longer an open project.

2019-04-22 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Mon Apr 22 02:20:23 2019 New Revision: 358877 URL: http://llvm.org/viewvc/llvm-project?rev=358877&view=rev Log: [analyzer][www] Moving MoveChecker out of alpha is no longer an open project. Modified: cfe/trunk/www/analyzer/open_projects.html Modified: cfe/trunk/www/an

r359230 - [analyzer][UninitializedObjectChecker] PR41590: Regard _Atomic types as primitive

2019-04-25 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Thu Apr 25 13:00:51 2019 New Revision: 359230 URL: http://llvm.org/viewvc/llvm-project?rev=359230&view=rev Log: [analyzer][UninitializedObjectChecker] PR41590: Regard _Atomic types as primitive https://bugs.llvm.org/show_bug.cgi?id=41590 For the following code snippet, U

r359539 - [analyzer][UninitializedObjectChecker] PR41611: Regard vector types as primitive

2019-04-30 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Tue Apr 30 01:47:56 2019 New Revision: 359539 URL: http://llvm.org/viewvc/llvm-project?rev=359539&view=rev Log: [analyzer][UninitializedObjectChecker] PR41611: Regard vector types as primitive https://bugs.llvm.org/show_bug.cgi?id=41611 Similarly to D61106, the checker ra

r359720 - [analyzer] Don't display implementation checkers under -analyzer-checker-help, but do under the new flag -analyzer-checker-help-hidden

2019-05-01 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Wed May 1 12:56:47 2019 New Revision: 359720 URL: http://llvm.org/viewvc/llvm-project?rev=359720&view=rev Log: [analyzer] Don't display implementation checkers under -analyzer-checker-help, but do under the new flag -analyzer-checker-help-hidden During my work on analyze

r359727 - [analyzer] Fix buildbot failures caused by a forgotten initialization

2019-05-01 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Wed May 1 14:09:32 2019 New Revision: 359727 URL: http://llvm.org/viewvc/llvm-project?rev=359727&view=rev Log: [analyzer] Fix buildbot failures caused by a forgotten initialization Modified: cfe/trunk/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h Modified: cfe/

r359998 - [analyzer][UninitializedObjectChecker] PR41741: Regard all scalar types as primitive.

2019-05-05 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Sun May 5 12:42:33 2019 New Revision: 359998 URL: http://llvm.org/viewvc/llvm-project?rev=359998&view=rev Log: [analyzer][UninitializedObjectChecker] PR41741: Regard all scalar types as primitive. https://bugs.llvm.org/show_bug.cgi?id=41741 Pretty much the same as D6124

r342834 - [analyzer][UninitializedObjectChecker] Using the new const methods of ImmutableList

2018-09-23 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Sun Sep 23 02:16:27 2018 New Revision: 342834 URL: http://llvm.org/viewvc/llvm-project?rev=342834&view=rev Log: [analyzer][UninitializedObjectChecker] Using the new const methods of ImmutableList Differential Revision: https://reviews.llvm.org/D51886 Modified: cfe/t

r343204 - [Lex] TokenConcatenation now takes const Preprocessor

2018-09-27 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Thu Sep 27 05:40:16 2018 New Revision: 343204 URL: http://llvm.org/viewvc/llvm-project?rev=343204&view=rev Log: [Lex] TokenConcatenation now takes const Preprocessor Differential Revision: https://reviews.llvm.org/D52502 Modified: cfe/trunk/include/clang/Lex/TokenConc

r343205 - Revert untintentionally commited changes

2018-09-27 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Thu Sep 27 05:46:37 2018 New Revision: 343205 URL: http://llvm.org/viewvc/llvm-project?rev=343205&view=rev Log: Revert untintentionally commited changes Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h Modified: cfe/trunk/lib

r343511 - [analyzer][NFC] Refactor functions in PlistDiagnostics to take Preproc as parameter

2018-10-01 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Mon Oct 1 11:11:51 2018 New Revision: 343511 URL: http://llvm.org/viewvc/llvm-project?rev=343511&view=rev Log: [analyzer][NFC] Refactor functions in PlistDiagnostics to take Preproc as parameter This is patch is a preparation for the proposed inclusion of macro expansion

r343620 - [analyzer][NFC] Refactor functions in PlistDiagnostics to take AnalyzerOptions as parameter

2018-10-02 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Tue Oct 2 12:27:34 2018 New Revision: 343620 URL: http://llvm.org/viewvc/llvm-project?rev=343620&view=rev Log: [analyzer][NFC] Refactor functions in PlistDiagnostics to take AnalyzerOptions as parameter I intend to add a new flag macro-expnasions-as-events, and unfortuna

r344031 - [analyzer][www] Add more useful links

2018-10-09 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Tue Oct 9 03:05:08 2018 New Revision: 344031 URL: http://llvm.org/viewvc/llvm-project?rev=344031&view=rev Log: [analyzer][www] Add more useful links Differential Revision: https://reviews.llvm.org/D52993 Modified: cfe/trunk/www/analyzer/checker_dev_manual.html Modif

r352959 - [analyzer][UninitializedObjectChecker] New flag to ignore guarded uninitialized fields

2019-02-02 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Sat Feb 2 06:50:04 2019 New Revision: 352959 URL: http://llvm.org/viewvc/llvm-project?rev=352959&view=rev Log: [analyzer][UninitializedObjectChecker] New flag to ignore guarded uninitialized fields This patch is an implementation of the ideas discussed on the mailing lis

r353150 - Fix the sphinx buildbot after D54429

2019-02-05 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Tue Feb 5 02:19:39 2019 New Revision: 353150 URL: http://llvm.org/viewvc/llvm-project?rev=353150&view=rev Log: Fix the sphinx buildbot after D54429 Modified: cfe/trunk/docs/analyzer/checkers.rst Modified: cfe/trunk/docs/analyzer/checkers.rst URL: http://llvm.org/vie

r353698 - [analyzer] New checker for detecting usages of unsafe I/O functions

2019-02-11 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Mon Feb 11 05:46:43 2019 New Revision: 353698 URL: http://llvm.org/viewvc/llvm-project?rev=353698&view=rev Log: [analyzer] New checker for detecting usages of unsafe I/O functions There are certain unsafe or deprecated (since C11) buffer handling functions which should be

r354235 - [analyzer] Make valist.Uninitialized depend on ValistBase

2019-02-17 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Sun Feb 17 11:51:42 2019 New Revision: 354235 URL: http://llvm.org/viewvc/llvm-project?rev=354235&view=rev Log: [analyzer] Make valist.Uninitialized depend on ValistBase Accidentally left this dependency out, resulting in an assert failure if only valist.Uninitialized is e

r354806 - [analyzer] Fix infinite recursion in printing macros

2019-02-25 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Mon Feb 25 10:49:42 2019 New Revision: 354806 URL: http://llvm.org/viewvc/llvm-project?rev=354806&view=rev Log: [analyzer] Fix infinite recursion in printing macros #define f(y) x #define x f(x) int main() { x; } This example results a compilation error since "x" in the f

r362887 - [analyzer][NFC] Add dividers to BugReporterVisitors.cpp

2019-06-08 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Sat Jun 8 13:25:39 2019 New Revision: 362887 URL: http://llvm.org/viewvc/llvm-project?rev=362887&view=rev Log: [analyzer][NFC] Add dividers to BugReporterVisitors.cpp Some minor formatting to make the file more readable. Added //===--===// around the implementatio

r363509 - [analyzer][NFC] Tease apart and clang-format NoStoreFuncVisitor

2019-06-16 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Sun Jun 16 07:09:11 2019 New Revision: 363509 URL: http://llvm.org/viewvc/llvm-project?rev=363509&view=rev Log: [analyzer][NFC] Tease apart and clang-format NoStoreFuncVisitor Make several methods static functions Move non-trivial methods out-of-line Add a divider Turn non

r363510 - [analyzer] Track indices of arrays

2019-06-16 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Sun Jun 16 07:52:56 2019 New Revision: 363510 URL: http://llvm.org/viewvc/llvm-project?rev=363510&view=rev Log: [analyzer] Track indices of arrays Often times, when an ArraySubscriptExpr was reported as null or undefined, the bug report was difficult to understand, because

r363512 - [analyzer] Push correct version of 'Track indices of arrays'

2019-06-16 Thread Kristof Umann via cfe-commits
Author: szelethus Date: Sun Jun 16 08:41:25 2019 New Revision: 363512 URL: http://llvm.org/viewvc/llvm-project?rev=363512&view=rev Log: [analyzer] Push correct version of 'Track indices of arrays' Messed up the commit, oops. Modified: cfe/trunk/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp

  1   2   >