teemperor (Raphael Isemann)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 23 2016, 8:38 AM (56 w, 5 d)

Recent Activity

Today

teemperor created D32486: Cleanup pragma handlers after DoPrintPreprocessedInput.
Tue, Apr 25, 7:05 AM

Sun, Apr 23

teemperor requested changes to D32341: Fix a bug that warnings generated with -M or -MM flags.

This also disables warnings for -MD and -MMD which shouldn't happen as we're actually compiling code here and are probably compiling a project. E.g. for people that use this mode to create dependency files while initially building (to figure out when to rebuild each object), this will effectively force -w to the whole build process which is not good.

Sun, Apr 23, 2:47 PM

Fri, Apr 21

teemperor added a comment to D32342: Changed llvm/CMakeLists.txt and added relative path to llvm doxygen.

I think most of the changes are just necessary because we replaced LLVM_MAIN_SRC_DIR with CMAKE_SOURCE_DIR (all the added ../ and removed docs). On the other hand this is now in sync with the way the the clang doxygen.cfg is structured and it fixes the include paths, so I think this looks reasonable.

Fri, Apr 21, 4:52 AM

Wed, Apr 19

teemperor closed D31591: Fix a bug which access nullptr and cause segmentation fault.
Wed, Apr 19, 2:59 AM
teemperor accepted D31591: Fix a bug which access nullptr and cause segmentation fault.
Wed, Apr 19, 2:59 AM

Mon, Apr 17

teemperor added inline comments to D32113: Add path from clang to doxygen document include header.
Mon, Apr 17, 6:33 AM
teemperor added a comment to D32113: Add path from clang to doxygen document include header.

Woops, my bad, seems like I tested just before you fixed it.

Mon, Apr 17, 3:17 AM

Sun, Apr 16

teemperor added a comment to D32113: Add path from clang to doxygen document include header.

@yamaguchi Did you test the latest revision of this patch and get the desired output paths? I just tested it and it seems on my system doxygen can't handle the @abs_srcdir@/../.

Sun, Apr 16, 11:51 AM
teemperor updated subscribers of D32113: Add path from clang to doxygen document include header.
Sun, Apr 16, 11:47 AM

Tue, Apr 11

teemperor updated the diff for D30793: [modules] Delay calling DeclMustBeEmitted until it's safe.
  • Readded the missing tests to get the final diff.
Tue, Apr 11, 11:09 AM

Mon, Apr 10

teemperor updated the diff for D30793: [modules] Delay calling DeclMustBeEmitted until it's safe.
  • Fixed compilation error in the cleaned up version (removed two lines too much...)
Mon, Apr 10, 2:14 AM

Thu, Apr 6

teemperor added a comment to D23418: [analyzer] Added a reusable constraint system to the CloneDetector.

I think for range loops work differently:

Thu, Apr 6, 4:51 AM
teemperor added inline comments to D31320: [analyzer] Teach CloneDetection about Qt Meta-Object Compiler.
Thu, Apr 6, 3:23 AM
teemperor added inline comments to D23418: [analyzer] Added a reusable constraint system to the CloneDetector.
Thu, Apr 6, 2:47 AM
teemperor updated the diff for D23418: [analyzer] Added a reusable constraint system to the CloneDetector.
  • Renamed variable from 'S' to 'Child' to make the buildbots happy (and because it's more expressive)
  • Fixed the name of the unit test.
Thu, Apr 6, 2:44 AM

Tue, Apr 4

teemperor added a comment to D23418: [analyzer] Added a reusable constraint system to the CloneDetector.

Change it to a namespace when merging if you prefer that :). Thanks for the review!

Tue, Apr 4, 8:46 AM

Mon, Apr 3

teemperor updated subscribers of D31591: Fix a bug which access nullptr and cause segmentation fault.
Mon, Apr 3, 7:50 AM

Sun, Apr 2

teemperor requested changes to D31591: Fix a bug which access nullptr and cause segmentation fault.

Please fix these things:

Sun, Apr 2, 10:51 PM

Thu, Mar 30

teemperor updated the diff for D23418: [analyzer] Added a reusable constraint system to the CloneDetector.
  • Remove the mysterious unicode-character at the start of CloneDetection.cpp
  • Fixed formatting of the comment in CloneDetectionTest.cpp
  • Fixed comment in StmtSequence::contains that was still talking about checking for translation units even though we compared declarations.
Thu, Mar 30, 11:02 AM

Tue, Mar 28

teemperor updated the diff for D23418: [analyzer] Added a reusable constraint system to the CloneDetector.
  • auto to const auto to be more consistent with LLVM style.
Tue, Mar 28, 2:32 PM
teemperor updated the diff for D23418: [analyzer] Added a reusable constraint system to the CloneDetector.
  • Remove the assert(ChildHash) which is obviously wrong code that just rarely fails.
Tue, Mar 28, 12:29 PM
teemperor added a comment to D23418: [analyzer] Added a reusable constraint system to the CloneDetector.

Well this patch won't change a lot with the false-positives or performance (it's more refactoring) :)

Tue, Mar 28, 2:55 AM

Mon, Mar 27

teemperor added a comment to D23418: [analyzer] Added a reusable constraint system to the CloneDetector.

Hey Leslie,

Mon, Mar 27, 3:16 PM
teemperor updated the diff for D23418: [analyzer] Added a reusable constraint system to the CloneDetector.

Thanks for the review Artem!

Mon, Mar 27, 2:59 PM

Mar 25 2017

teemperor updated subscribers of D23418: [analyzer] Added a reusable constraint system to the CloneDetector.
Mar 25 2017, 3:46 AM
teemperor requested changes to D31320: [analyzer] Teach CloneDetection about Qt Meta-Object Compiler.

The constraints should be able to do the same filtering with the same performance in a cleaner way. So once D23418 is merged, we can put this code into a constraint and just prepend it to the list of constraints we use in the checker.

Mar 25 2017, 3:45 AM

Mar 23 2017

teemperor updated the diff for D30793: [modules] Delay calling DeclMustBeEmitted until it's safe.
  • Removed the work-in-progress changes to: loadDeclUpdateRecords
  • Added FIXME that this function should be patched too.
Mar 23 2017, 8:02 AM

Mar 10 2017

teemperor updated the diff for D30793: [modules] Delay calling DeclMustBeEmitted until it's safe.
  • Prefixed PR31863.cpp with something meaningful.
  • Added comment to delaly-emit-check.cpp to explain what we test there.
Mar 10 2017, 2:14 PM
teemperor added inline comments to D30793: [modules] Delay calling DeclMustBeEmitted until it's safe.
Mar 10 2017, 1:40 PM
teemperor updated the diff for D30793: [modules] Delay calling DeclMustBeEmitted until it's safe.
  • Renamed InterestingDecls to PotentiallyInterestingDecls to better reflect its purpose.
  • Ran patch through clang-format (now even with the correct code-style) and did the other requested style fixes.
  • Added test from PR32186.
Mar 10 2017, 1:32 PM

Mar 9 2017

teemperor added a reviewer for D30793: [modules] Delay calling DeclMustBeEmitted until it's safe: rsmith.
Mar 9 2017, 2:31 PM
teemperor created D30793: [modules] Delay calling DeclMustBeEmitted until it's safe.
Mar 9 2017, 2:31 PM

Mar 1 2017

teemperor created D30496: [modules] Make GNUMode a normal language option to fix module compilation.
Mar 1 2017, 5:07 AM

Feb 22 2017

teemperor added a comment to D25604: Add support for Mageia Linux .

I just tested this on Mageia and this patch is superseded by now (it was originally written in 2013). The latest clang release is already able to correctly handle Mageia.

Feb 22 2017, 8:09 AM

Feb 20 2017

teemperor updated the diff for D23418: [analyzer] Added a reusable constraint system to the CloneDetector.
  • Removed all the deprecated \briefs
Feb 20 2017, 1:04 AM

Jan 24 2017

teemperor added a comment to D21675: New ODR checker for modules.

I feel like we have a really similar use case in the Analysis/CloneDetection{.h/.cpp} with the hashing of statements. I tried substituting the call to the statement hashing with a call to the CloneDetection API and it seems that most tests pass and the remaining fails are just minor fixable differences (like ::foo() and foo() having different hash codes).

Jan 24 2017, 3:10 AM

Nov 16 2016

teemperor added a reviewer for D26742: [RecursiveASTVisitor] Fix post-order traversal of UnaryOperator: rsmith.

Looks good to me. I'll add Richard because he also merged/approved the original post-order patch.

Nov 16 2016, 11:13 AM

Nov 13 2016

teemperor planned changes to D23418: [analyzer] Added a reusable constraint system to the CloneDetector.
  • I ran all real-world tests (sqlite, etc.) before rebasing to trunk. I'm not 100% confident that I correctly merged everything, so I'll rerun them just in case. The normal clang test-suite passes, so it looks good.
Nov 13 2016, 3:12 PM
teemperor updated the diff for D23418: [analyzer] Added a reusable constraint system to the CloneDetector.
  • Rebased patch to the current trunk state.
  • Replaced runtime polymorphism with templates.
  • Constraint interface now only has one method signature.
Nov 13 2016, 3:10 PM

Aug 22 2016

teemperor retitled D23780: [analyzer] Fixed crash in StmtDataCollector when analyzing methods of template classes. from to [analyzer] Fixed crash in StmtDataCollector when analyzing methods of template classes..
Aug 22 2016, 11:10 AM

Aug 20 2016

teemperor added a comment to D22515: [analyzer] Added custom hashing to the CloneDetector..
Aug 20 2016, 5:49 AM
teemperor updated the diff for D22515: [analyzer] Added custom hashing to the CloneDetector..
  • Replaced hash_stream with MD5 in the sub-sequence code.
Aug 20 2016, 5:49 AM

Aug 19 2016

teemperor updated the diff for D23316: [analyzer] Fixed the false-positives caused by macro generated code..
  • Fixed typo.
Aug 19 2016, 7:20 AM
teemperor updated the diff for D23555: [analyzer] CloneDetector now checks template arguments of function calls..
Aug 19 2016, 7:18 AM
teemperor added inline comments to D23555: [analyzer] CloneDetector now checks template arguments of function calls..
Aug 19 2016, 7:18 AM
teemperor updated the diff for D23418: [analyzer] Added a reusable constraint system to the CloneDetector.
  • Rebased patch.
  • Renamed passes to constraints.
Aug 19 2016, 6:47 AM

Aug 18 2016

teemperor abandoned D22512: Added hash_stream class for producing hash codes from data streams..

Thanks for the tips and the review!

Aug 18 2016, 4:52 PM
teemperor removed a dependency for D22515: [analyzer] Added custom hashing to the CloneDetector.: D22512: Added hash_stream class for producing hash codes from data streams..
Aug 18 2016, 4:15 PM
teemperor removed a dependent revision for D22512: Added hash_stream class for producing hash codes from data streams.: D22515: [analyzer] Added custom hashing to the CloneDetector..
Aug 18 2016, 4:15 PM
teemperor updated the diff for D22515: [analyzer] Added custom hashing to the CloneDetector..
  • Moved from hash_stream to LLVM's MD5 implementation.
Aug 18 2016, 4:15 PM
teemperor updated D23316: [analyzer] Fixed the false-positives caused by macro generated code..
Aug 18 2016, 10:36 AM
teemperor updated the diff for D23316: [analyzer] Fixed the false-positives caused by macro generated code..
  • Added false-positives note for empty macros to the test suite.
Aug 18 2016, 10:35 AM
teemperor added inline comments to D23316: [analyzer] Fixed the false-positives caused by macro generated code..
Aug 18 2016, 10:34 AM
teemperor updated the diff for D23316: [analyzer] Fixed the false-positives caused by macro generated code..
  • Added more documentation to the CloneSignature::Complexity field.
  • Macros now have a complexity value of 1 + sum(ChildComplexityValues).
  • Tests should be less cryptic now.
Aug 18 2016, 10:25 AM

Aug 17 2016

teemperor added a comment to D22512: Added hash_stream class for producing hash codes from data streams..

The immediate motivation is that in D22515 we need to generate a hash code for data that isn't in a container but implicitly stored in the properties of some AST nodes. This hash code needs to be generated for every single node in the AST so we try to avoid calling any heavy code during that. But to generate a hash code with the current API we first need to forward our data stream that we get from the visitor to a container like FoldingSetNodeID (which could even allocate memory) and then forward that container to the hashing function which handles it again like a stream of data.

Aug 17 2016, 4:59 PM
teemperor added a comment to D22512: Added hash_stream class for producing hash codes from data streams..

This intention of this patch wasn't to extend the proposed API in any way; the only reason why the hash_stream class landed here is because LLVM's CityHash implementation is in this file's ::detail:: namespace and implementing hash_stream somewhere else would mean depending on the implementation details in different source files. Sorry about the confusion.

Aug 17 2016, 3:40 PM
teemperor added inline comments to D23314: [analyzer] CloneDetector allows comparing clones for suspicious variable pattern errors..
Aug 17 2016, 2:23 PM
teemperor updated the diff for D23314: [analyzer] CloneDetector allows comparing clones for suspicious variable pattern errors..
  • Made warning messages more 'clangish' as pointed out by Vassil (Thanks!)
  • Improved the class/variable names as pointed out by Artem (Thanks a lot!)
  • CloneChecker's functions are now out-of-line.
Aug 17 2016, 2:23 PM

Aug 16 2016

teemperor planned changes to D22515: [analyzer] Added custom hashing to the CloneDetector..
  • As the hash_stream patch will take a while to land upstream, we will change this to use FoldingSetNodeID and change it to hash_stream once that landed.
Aug 16 2016, 7:34 AM
teemperor retitled D23555: [analyzer] CloneDetector now checks template arguments of function calls. from to [analyzer] CloneDetector now checks template arguments of function calls..
Aug 16 2016, 6:58 AM
teemperor updated the diff for D22515: [analyzer] Added custom hashing to the CloneDetector..
  • Renamed FoldingSetWrapper to FoldingSetNodeIDWrapper
  • Added missing // end anonymous namespace
Aug 16 2016, 6:15 AM
teemperor added a comment to D22515: [analyzer] Added custom hashing to the CloneDetector..
Aug 16 2016, 6:13 AM

Aug 12 2016

teemperor added a dependent revision for D23314: [analyzer] CloneDetector allows comparing clones for suspicious variable pattern errors.: D23418: [analyzer] Added a reusable constraint system to the CloneDetector.
Aug 12 2016, 7:43 AM
teemperor added a dependency for D23418: [analyzer] Added a reusable constraint system to the CloneDetector: D23314: [analyzer] CloneDetector allows comparing clones for suspicious variable pattern errors..
Aug 12 2016, 7:43 AM
teemperor added a dependency for D23418: [analyzer] Added a reusable constraint system to the CloneDetector: D22515: [analyzer] Added custom hashing to the CloneDetector..
Aug 12 2016, 7:40 AM
teemperor added a dependent revision for D22515: [analyzer] Added custom hashing to the CloneDetector.: D23418: [analyzer] Added a reusable constraint system to the CloneDetector.
Aug 12 2016, 7:40 AM
teemperor added a dependency for D22515: [analyzer] Added custom hashing to the CloneDetector.: D22512: Added hash_stream class for producing hash codes from data streams..
Aug 12 2016, 7:40 AM
teemperor added a dependent revision for D22512: Added hash_stream class for producing hash codes from data streams.: D22515: [analyzer] Added custom hashing to the CloneDetector..
Aug 12 2016, 7:40 AM

Aug 11 2016

teemperor planned changes to D23418: [analyzer] Added a reusable constraint system to the CloneDetector.
  • Add description
  • Make sure functions in CloneDetection.cpp are in a more logical order.
Aug 11 2016, 12:50 PM
teemperor retitled D23418: [analyzer] Added a reusable constraint system to the CloneDetector from to [analyzer] Added a pass architecture to the CloneDetector.
Aug 11 2016, 12:50 PM
teemperor updated the diff for D22515: [analyzer] Added custom hashing to the CloneDetector..
  • Fixed some formatting problems.
  • Updated Title/Summary
Aug 11 2016, 11:29 AM
teemperor updated the diff for D22515: [analyzer] Added custom hashing to the CloneDetector..
  • Rebased the patch to the newest code base.
Aug 11 2016, 8:13 AM
teemperor added reviewers for D22512: Added hash_stream class for producing hash codes from data streams.: v.g.vassilev, NoQ.
Aug 11 2016, 8:07 AM
teemperor updated the diff for D22512: Added hash_stream class for producing hash codes from data streams..
Aug 11 2016, 8:06 AM

Aug 9 2016

teemperor retitled D23320: [analyzer] Fixed crash in CloneDetector in function calls. from to [analyzer] Fixed crash in CloneDetector in function calls..
Aug 9 2016, 7:34 AM
teemperor retitled D23316: [analyzer] Fixed the false-positives caused by macro generated code. from to [analyzer] Fixed the false-positives caused by macro generated code..
Aug 9 2016, 7:03 AM
teemperor retitled D23314: [analyzer] CloneDetector allows comparing clones for suspicious variable pattern errors. from to [analyzer] CloneDetector allows comparing clones for suspicious variable pattern errors..
Aug 9 2016, 6:45 AM

Aug 4 2016

teemperor added a comment to D22982: [CloneDetector] No longer reporting clones that don't have a common referenced variable pattern..

I think the updated patch should no longer have the problems mentioned in the inline comments :)

Aug 4 2016, 12:34 PM
teemperor updated the diff for D22982: [CloneDetector] No longer reporting clones that don't have a common referenced variable pattern..
  • Patch should no longer cause merge conflicts.
  • Improved comments and tests in functions.cpp.
Aug 4 2016, 12:32 PM

Aug 1 2016

teemperor updated D22514: CloneDetection now respects statement specific data when searching for clones..
Aug 1 2016, 8:12 AM
teemperor updated the diff for D22514: CloneDetection now respects statement specific data when searching for clones..
  • s/super class/base class/g
Aug 1 2016, 6:08 AM
teemperor updated the diff for D22514: CloneDetection now respects statement specific data when searching for clones..
  • No longer re-initialize memory created from resize().
  • Added test for checking that StmtDataCollector visits all parent classes.
Aug 1 2016, 5:59 AM

Jul 31 2016

teemperor added a comment to D22982: [CloneDetector] No longer reporting clones that don't have a common referenced variable pattern..

I've deleted false-positives.cpp because all false-positives in there are now resolved and the test did no longer serve a purpose. We could leave the test file in there, but I think new false-positives either belong to an existing test category or deserve their own named test file (e.g. macros.cpp would contain tests for macros and related false-positives with a FIXME remark). Opinions?

Jul 31 2016, 6:39 PM
teemperor added a comment to D22982: [CloneDetector] No longer reporting clones that don't have a common referenced variable pattern..
Jul 31 2016, 6:34 PM
teemperor updated the diff for D22982: [CloneDetector] No longer reporting clones that don't have a common referenced variable pattern..
  • Fixed a few typos in the comments.
  • Removed unnecessary std::.
  • Added the new tests to functions.cpp instead of their own file.
Jul 31 2016, 6:33 PM
teemperor updated the diff for D22514: CloneDetection now respects statement specific data when searching for clones..
  • Added typedef for the contents of the data vector.
  • Fixed that StmtDataCollector isn't visiting all parent classes of a statement.
  • Removed 'test-' prefix from test files.
  • Fixed the other problems as pointed out by Artem (Thanks!)
  • Added performance remark to the qualified name strings in the data vectors.
Jul 31 2016, 6:25 PM

Jul 30 2016

teemperor abandoned D22515: [analyzer] Added custom hashing to the CloneDetector..
Jul 30 2016, 10:11 AM

Jul 29 2016

teemperor retitled D22982: [CloneDetector] No longer reporting clones that don't have a common referenced variable pattern. from to [CloneDetector] No longer reporting clones that don't have a common referenced variable pattern..
Jul 29 2016, 5:12 PM

Jul 28 2016

teemperor added inline comments to D22514: CloneDetection now respects statement specific data when searching for clones..
Jul 28 2016, 5:40 PM
teemperor updated the diff for D22514: CloneDetection now respects statement specific data when searching for clones..
  • Actually removed the duplicate test now.
Jul 28 2016, 5:27 AM

Jul 27 2016

teemperor added a comment to D22514: CloneDetection now respects statement specific data when searching for clones..

Is there a specific situation/bug we want to test against with these tests? I looks to me as if they would mainly test against non-determinism (i.e. same statements have different data due to non-determinism).

Jul 27 2016, 7:44 PM
teemperor updated the diff for D22514: CloneDetection now respects statement specific data when searching for clones..
  • Removed duplicate test case.
Jul 27 2016, 7:06 PM
teemperor updated the diff for D22514: CloneDetection now respects statement specific data when searching for clones..
  • Rebased patch.
  • Fixed code style (const type instead of type const).
  • Fixed missing const on some variables in StmtDataCollector.
  • Rewrote a few comments/variable names.
Jul 27 2016, 6:59 PM

Jul 26 2016

teemperor updated the diff for D20795: Added basic capabilities to detect source code clones..
  • Now passing ChildSignatures by const reference.
Jul 26 2016, 6:48 AM

Jul 25 2016

teemperor updated D22514: CloneDetection now respects statement specific data when searching for clones..
Jul 25 2016, 5:03 PM
teemperor added a comment to D22515: [analyzer] Added custom hashing to the CloneDetector..

This patch is no longer needed because the CloneDetector from patch https://reviews.llvm.org/D20795 no longer uses custom hashing.

Jul 25 2016, 5:03 PM
teemperor updated subscribers of D22515: [analyzer] Added custom hashing to the CloneDetector..
Jul 25 2016, 5:02 PM
teemperor added a comment to D20795: Added basic capabilities to detect source code clones..
Jul 25 2016, 4:59 PM
teemperor added inline comments to D20795: Added basic capabilities to detect source code clones..
Jul 25 2016, 4:58 PM
teemperor updated the diff for D20795: Added basic capabilities to detect source code clones..
  • The CloneGroup values in StringMap no longer store a copy of their own key.
Jul 25 2016, 4:55 PM