Page MenuHomePhabricator

riccibruno (Bruno Ricci)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 10 2018, 8:27 AM (41 w, 8 h)

Recent Activity

Today

riccibruno accepted D59752: Un-revert "[coroutines][PR40978] Emit error for co_yield within catch block".

Great! Since this already received one round of reviews I guess this looks okay.

Sun, Mar 24, 4:28 PM · Restricted Project
riccibruno added inline comments to D59752: Un-revert "[coroutines][PR40978] Emit error for co_yield within catch block".
Sun, Mar 24, 4:02 PM · Restricted Project
riccibruno removed a reviewer for D59752: Un-revert "[coroutines][PR40978] Emit error for co_yield within catch block": bricci.
Sun, Mar 24, 3:19 PM · Restricted Project

Yesterday

riccibruno added a comment to D59467: [clang] Adding the Likely Attribute from C++2a to AST.

Before any further review, could you please run clang-format on your patch (but not necessarily on the tests and not on the *.td files), wrap lines to 80 cols, and in general use complete sentences in comments (that is with proper punctuation and capitalization) ? To run clang-format on your patch you can use clang-format-diff. This is the command I use :

Sat, Mar 23, 11:44 AM · Restricted Project

Fri, Mar 22

riccibruno added a comment to D59467: [clang] Adding the Likely Attribute from C++2a to AST.

To expand on the above, if you need to add a few bits to a statement/expression you can use the bit-field classes in Stmt (for example: IfStmtBitfields). You will also need to update the serialization code in Serialization/ASTWriterStmt.cpp and Serialization/ASTReaderStmt.cpp.

Fri, Mar 22, 10:04 AM · Restricted Project
riccibruno added a comment to D59467: [clang] Adding the Likely Attribute from C++2a to AST.

Hmm, it seems that an attribute is not allowed by the grammar in the expression or assignment-expression of a conditional-expression. Was that intended when [[likely]] was added ?

Attributes do not appertain to expressions, so yes, that was intentional when we added likely. (You can have an attribute applied to an expression statement, but that's at a level that doesn't seem too useful for these attributes.)

Fri, Mar 22, 7:08 AM · Restricted Project
riccibruno added a comment to D59467: [clang] Adding the Likely Attribute from C++2a to AST.

Hmm, it seems that an attribute is not allowed by the grammar in the expression or assignment-expression of a conditional-expression. Was that intended when [[likely]] was added ?

Fri, Mar 22, 7:00 AM · Restricted Project
riccibruno added a comment to D59076: [coroutines][PR40978] Emit error for co_yield within catch block.
Fri, Mar 22, 6:42 AM · Restricted Project
riccibruno added inline comments to D59467: [clang] Adding the Likely Attribute from C++2a to AST.
Fri, Mar 22, 6:40 AM · Restricted Project
riccibruno added a comment to D59467: [clang] Adding the Likely Attribute from C++2a to AST.

Additionally I think that you need to:

  • add tests for templates
  • handle the ternary operator
Fri, Mar 22, 6:38 AM · Restricted Project

Thu, Mar 21

riccibruno added a comment to D57660: [Sema] SequenceChecker: Handle references, members and structured bindings..

Friendly ping. One thing I am wondering about is whether MemoryLocation and getMemoryLocation is duplicating something that is already present somewhere else. It feels like something similar should already exist but I can't find anything (but that is not saying much).

Thu, Mar 21, 2:52 PM · Restricted Project
riccibruno added a comment to D59076: [coroutines][PR40978] Emit error for co_yield within catch block.

This is causing https://bugs.llvm.org/show_bug.cgi?id=41171.

Thu, Mar 21, 12:48 PM · Restricted Project

Mon, Mar 18

riccibruno retitled D58827: [Sema][NFCI] Don't allocate storage for the various CorrectionCandidateCallback unless we are going to do some typo correction from [Sema][NFCI] Don't heap-allocate the various CorrectionCandidateCallback unless we are going to do some typo correction to [Sema][NFCI] Don't allocate storage for the various CorrectionCandidateCallback unless we are going to do some typo correction.
Mon, Mar 18, 5:56 AM · Restricted Project

Sat, Mar 16

riccibruno added inline comments to D59462: [WebAssembly] Optimize the number of routing blocks in FixIrreducibleCFG.
Sat, Mar 16, 11:34 AM · Restricted Project
riccibruno added inline comments to D59214: [clang][OpeMP] Model OpenMP structured-block in AST (PR40563).
Sat, Mar 16, 7:28 AM · Restricted Project, Restricted Project, Restricted Project
riccibruno added inline comments to D59214: [clang][OpeMP] Model OpenMP structured-block in AST (PR40563).
Sat, Mar 16, 7:14 AM · Restricted Project, Restricted Project, Restricted Project
riccibruno added inline comments to D59214: [clang][OpeMP] Model OpenMP structured-block in AST (PR40563).
Sat, Mar 16, 6:28 AM · Restricted Project, Restricted Project, Restricted Project

Fri, Mar 15

riccibruno added inline comments to D59214: [clang][OpeMP] Model OpenMP structured-block in AST (PR40563).
Fri, Mar 15, 3:04 PM · Restricted Project, Restricted Project, Restricted Project
riccibruno added a comment to D59196: [NFC][clang][PCH] ASTStmtReader::VisitStmt(): fixup faulty assert..

I am not an expert in the serialization code (just did some modifications), but this seems reasonable to me.

That's my thoughts too..
Unless of course it is also testing that NumStmtFields is zero.
Anyone with more knowledged opinion?

Fri, Mar 15, 2:57 PM · Restricted Project

Thu, Mar 14

riccibruno updated the diff for D58579: [Sema] SequenceChecker: C++17 sequencing rule for call expression..

Don't visit the pre-argument expression(s). A pre-argument expression is only present for CUDAKernelCallExpr, and it is just a CallExpr for the configuration call, which I don't think we need to visit. This makes the usage of CallExpr::arguments() possible and results in cleaner code.

Thu, Mar 14, 11:02 AM · Restricted Project
riccibruno added a comment to D57660: [Sema] SequenceChecker: Handle references, members and structured bindings..

Added some context in the description of the patch. Ping !

Thu, Mar 14, 10:39 AM · Restricted Project
riccibruno updated the summary of D57660: [Sema] SequenceChecker: Handle references, members and structured bindings..
Thu, Mar 14, 10:38 AM · Restricted Project
riccibruno added a comment to D59214: [clang][OpeMP] Model OpenMP structured-block in AST (PR40563).

IIRC, last time I looked only 4 statement/expression classes currently have some abbreviation defined.

Yep, that is what i'm seeing in this diff.

It would probably be useful to have someone go systematically through the list of classes and fix this.

Yeah, i suspect that might be really beneficial.

Thu, Mar 14, 9:26 AM · Restricted Project, Restricted Project, Restricted Project
riccibruno added a comment to D59196: [NFC][clang][PCH] ASTStmtReader::VisitStmt(): fixup faulty assert..

I am not an expert in the serialization code (just did some modifications), but this seems reasonable to me.

Thu, Mar 14, 9:20 AM · Restricted Project
riccibruno added a comment to D59214: [clang][OpeMP] Model OpenMP structured-block in AST (PR40563).

IIRC, last time I looked only 4 statement/expression classes currently have some abbreviation defined. It would probably be useful to have someone go systematically through the list of classes and fix this.

Thu, Mar 14, 9:15 AM · Restricted Project, Restricted Project, Restricted Project

Mon, Mar 4

riccibruno added a comment to D57914: [Driver] Allow enum SanitizerOrdinal to represent more than 64 different sanitizer checks, NFC..

The intricate initialization-order workarounds apparently don't work in all build modes, so I've updated this code to have constexpr functions and initializations in rL355278.

Mon, Mar 4, 5:20 AM · Restricted Project, Restricted Project

Fri, Mar 1

riccibruno added a comment to D58321: [WIP] Support for relative vtables.

I think that you need to update the serialization code in Serialization/ASTReaderDecl.cpp and Serialization/ASTWriterDecl.cpp to account for the new flag.

Fri, Mar 1, 3:56 PM · Restricted Project, Restricted Project
riccibruno added a comment to D58818: [clang-tidy] added cppcoreguidelines-use-raii-locks check.

Ugh, could you please avoid doing lots a tiny changes every 5 minutes ? This causes spam on cfe-commits /:

Fri, Mar 1, 7:53 AM · Restricted Project
riccibruno created D58827: [Sema][NFCI] Don't allocate storage for the various CorrectionCandidateCallback unless we are going to do some typo correction.
Fri, Mar 1, 6:33 AM · Restricted Project
riccibruno added a reviewer for D57660: [Sema] SequenceChecker: Handle references, members and structured bindings.: erik.pilkington.
Fri, Mar 1, 4:34 AM · Restricted Project

Thu, Feb 28

riccibruno accepted D57914: [Driver] Allow enum SanitizerOrdinal to represent more than 64 different sanitizer checks, NFC..

Looks good, hopefully this time it will stick. thanks!

Thu, Feb 28, 10:16 AM · Restricted Project, Restricted Project
riccibruno added inline comments to D57914: [Driver] Allow enum SanitizerOrdinal to represent more than 64 different sanitizer checks, NFC..
Thu, Feb 28, 8:45 AM · Restricted Project, Restricted Project
riccibruno abandoned D36932: Remove code duplication from StringLiteral::setString method.
Thu, Feb 28, 8:01 AM · Restricted Project, Restricted Project
riccibruno commandeered D36932: Remove code duplication from StringLiteral::setString method.
Thu, Feb 28, 8:01 AM · Restricted Project, Restricted Project
riccibruno requested changes to D57914: [Driver] Allow enum SanitizerOrdinal to represent more than 64 different sanitizer checks, NFC..
Thu, Feb 28, 6:52 AM · Restricted Project, Restricted Project

Tue, Feb 26

riccibruno accepted D57914: [Driver] Allow enum SanitizerOrdinal to represent more than 64 different sanitizer checks, NFC..

I think this looks good now. Thanks !

Tue, Feb 26, 4:32 AM · Restricted Project, Restricted Project

Mon, Feb 25

riccibruno retitled D58612: Make the static counters in ASTContext non-static from Use std::atomic<> for static counters. to Make the static counters in ASTContext non-static.
Mon, Feb 25, 9:03 AM · Restricted Project
riccibruno added a comment to D58612: Make the static counters in ASTContext non-static.

...
For example in DeclBase.cpp

#define DECL(DERIVED, BASE) static int n##DERIVED##s = 0;
#define ABSTRACT_DECL(DECL)
#include "clang/AST/DeclNodes.inc"

...

These are probably easier to convert to std::atomic<int>, but I'd do this separately.

Just converting these to std::atomic<> will mute TSan, but won't fix the underlying issue: the stats should be collected per-compiler instance. Initialization will require a bit more locking as well. Not sure what would be a good solution here.

Mon, Feb 25, 8:50 AM · Restricted Project
riccibruno added a comment to D58612: Make the static counters in ASTContext non-static.

(With a commit message which actually reflect the change of course)

Mon, Feb 25, 8:11 AM · Restricted Project
riccibruno accepted D58612: Make the static counters in ASTContext non-static.

Sounds good. LGTM.

Mon, Feb 25, 7:58 AM · Restricted Project
riccibruno added a comment to D58612: Make the static counters in ASTContext non-static.

Okay, but what about the other similar uses of static members which have the same problem ?

Do you have any example in mind? I've only seen TSan warnings for these counters, nothing else so far.

Mon, Feb 25, 7:28 AM · Restricted Project
riccibruno added inline comments to D58035: [clang/DIVar] Emit flag for params that have unchanged values.
Mon, Feb 25, 7:05 AM · debug-info
riccibruno added a comment to D58612: Make the static counters in ASTContext non-static.

Okay, but what about the other similar uses of static members which have the same problem ?

Mon, Feb 25, 7:04 AM · Restricted Project
riccibruno added a comment to D57914: [Driver] Allow enum SanitizerOrdinal to represent more than 64 different sanitizer checks, NFC..

It looks better now as far as I can see. I like the idea of aliasing SanitizerKind to SanitizerMasks<>;.

Mon, Feb 25, 6:12 AM · Restricted Project, Restricted Project
riccibruno added a comment to D58612: Make the static counters in ASTContext non-static.

I don't know how hard it would be to do this, but I would like to argue that this should be done even if it require some refactoring. These static variables used for stats are kind of ugly imho; they conceptually belong to the AST context.

I agree, OTOH if refactoring would take more time than one can spare, moving them to atomics is better than what we have now.
For example, AFAIK that's the only thing that keeps clang from being tsan-clean.

Mon, Feb 25, 6:08 AM · Restricted Project
riccibruno added a comment to D58612: Make the static counters in ASTContext non-static.

Hmm. These are not the only static variables which are used for statistics (eg: in DeclBase.cpp). Would it make sense instead to keep all of the statistics in the AST context (without making them atomic) ?

+1, the only reason to use atomics here instead is if getting hold of an actual ASTContext is hard where the statistics are used (for legacy reasons?).

Mon, Feb 25, 5:52 AM · Restricted Project
riccibruno added a comment to D58612: Make the static counters in ASTContext non-static.

Hmm. These are not the only static variables which are used for statistics (eg: in DeclBase.cpp). Would it make sense instead to keep all of the statistics in the AST context (without making them atomic) ?

Mon, Feb 25, 5:40 AM · Restricted Project

Sat, Feb 23

riccibruno added a parent revision for D58579: [Sema] SequenceChecker: C++17 sequencing rule for call expression.: D58297: [Sema] SequenceChecker: C++17 sequencing rules for built-in operators <<, >>, .*, ->*, =, op=.
Sat, Feb 23, 9:46 AM · Restricted Project
riccibruno added a child revision for D58297: [Sema] SequenceChecker: C++17 sequencing rules for built-in operators <<, >>, .*, ->*, =, op=: D58579: [Sema] SequenceChecker: C++17 sequencing rule for call expression..
Sat, Feb 23, 9:46 AM · Restricted Project
riccibruno committed rGd9381ae4f46e: [NFC] Fix Wdocumentation warning in OMPToClause (authored by riccibruno).
[NFC] Fix Wdocumentation warning in OMPToClause
Sat, Feb 23, 8:44 AM
riccibruno committed rG17e65b428fd7: [Sema][NFC] SequenceChecker: More tests in preparation for D57660 (authored by riccibruno).
[Sema][NFC] SequenceChecker: More tests in preparation for D57660
Sat, Feb 23, 8:25 AM
riccibruno added a comment to D58035: [clang/DIVar] Emit flag for params that have unchanged values.

I'm not quite sure what this differential is about, but i feel like mentioning ExprMutationAnalyzer lib in clang-tidy / clang-tools-extra.

Sat, Feb 23, 7:22 AM · debug-info
riccibruno created D58579: [Sema] SequenceChecker: C++17 sequencing rule for call expression..
Sat, Feb 23, 6:48 AM · Restricted Project
riccibruno updated the diff for D57659: [Sema] SequenceChecker: Add some comments + related small NFCs in preparation of the following patches.

Rebased.

Sat, Feb 23, 6:44 AM · Restricted Project
riccibruno updated the diff for D58297: [Sema] SequenceChecker: C++17 sequencing rules for built-in operators <<, >>, .*, ->*, =, op=.

Rebased on D57660. No need to look at it.

Sat, Feb 23, 6:36 AM · Restricted Project
riccibruno updated the diff for D57747: [Sema] SequenceChecker: Fix handling of operator ||, && and ?:.

Rebased on D57660. No need to look at it.

Sat, Feb 23, 6:35 AM · Restricted Project
riccibruno updated the diff for D57660: [Sema] SequenceChecker: Handle references, members and structured bindings..
Sat, Feb 23, 6:31 AM · Restricted Project

Feb 22 2019

riccibruno added inline comments to D58035: [clang/DIVar] Emit flag for params that have unchanged values.
Feb 22 2019, 6:51 AM · debug-info
riccibruno added inline comments to D57914: [Driver] Allow enum SanitizerOrdinal to represent more than 64 different sanitizer checks, NFC..
Feb 22 2019, 4:22 AM · Restricted Project, Restricted Project
riccibruno added a comment to D58035: [clang/DIVar] Emit flag for params that have unchanged values.

I am wondering about the semantics of this bit. I don't think that you can know for sure within clang whether a variable has been modified. The best you can do is know for sure that some variable has been modified, but I don't think you can prove that it has not been modified.

Feb 22 2019, 4:04 AM · debug-info
riccibruno added inline comments to D57914: [Driver] Allow enum SanitizerOrdinal to represent more than 64 different sanitizer checks, NFC..
Feb 22 2019, 3:58 AM · Restricted Project, Restricted Project

Feb 21 2019

riccibruno added a comment to D58035: [clang/DIVar] Emit flag for params that have unchanged values.

Oh and I think that you will also have to update the serialization code/de-serialization code in ASTReaderDecl.cpp / ASTWriterDecl.cpp. You might also have to update TreeTransform but I am less familiar with this.

Feb 21 2019, 1:40 PM · debug-info
riccibruno added a comment to D58035: [clang/DIVar] Emit flag for params that have unchanged values.

If this bit is relevant to function parameters, why is getIsArgumentModified in VarDecl and not in ParamVarDecl ? What you can do is move the relevant methods to ParamVarDecl, and stash the bit in ParmVarDeclBitfields.

Feb 21 2019, 1:12 PM · debug-info
riccibruno edited reviewers for D58035: [clang/DIVar] Emit flag for params that have unchanged values, added: riccibruno; removed: bricci.
Feb 21 2019, 1:04 PM · debug-info
riccibruno added a comment to D57914: [Driver] Allow enum SanitizerOrdinal to represent more than 64 different sanitizer checks, NFC..

More explicitly something like:

Feb 21 2019, 9:04 AM · Restricted Project, Restricted Project
riccibruno added a comment to D57914: [Driver] Allow enum SanitizerOrdinal to represent more than 64 different sanitizer checks, NFC..

To define the masks as constexpr variables you will have to make at least bitPosToMask, operator|, operator& and operator~. Unfortunately constexpr functions in c++11 are rather restricted. It seems to me however that you could do the following:

  1. Wait until we can use C++14 in llvm (soon hopefully) to mark the masks contexpr (and leave a FIXME for now).
  2. Solve the odr-violation issue by using one of the work-around in n4424. In particular I like the second work-around consisting of putting the static members in a class template.
Feb 21 2019, 8:46 AM · Restricted Project, Restricted Project
riccibruno added a comment to D57914: [Driver] Allow enum SanitizerOrdinal to represent more than 64 different sanitizer checks, NFC..

I think what you would really want to do is mark the masks as inline constexpr, but sadly inline variables are C++17 only. I have seen some ways to emulate inline variables but I am not sure whether it is worth doing so in this case.

Yes thanks for the advice.
I have tried moving the definitions to the cpp file but ran into initialization order fiasco issue because of SanitizerArgs.cpp global definitions.
If using a constexpr SanitizerMask ctor then that would work around the initialization fiasco issue hopefully?
Although I am not having much luck using constexpr ctor in VS2015 because of the array member, so might have to revert back to lo/hi mask members?

Feb 21 2019, 7:20 AM · Restricted Project, Restricted Project
riccibruno added a comment to D57914: [Driver] Allow enum SanitizerOrdinal to represent more than 64 different sanitizer checks, NFC..

I think what you would really want to do is mark the masks as inline constexpr, but sadly inline variables are C++17 only. I have seen some ways to emulate inline variables but I am not sure whether it is worth doing so in this case.

Feb 21 2019, 5:06 AM · Restricted Project, Restricted Project

Feb 20 2019

riccibruno requested changes to D57914: [Driver] Allow enum SanitizerOrdinal to represent more than 64 different sanitizer checks, NFC..

Wait no, can you really define the SanitizerMasks in the header ? Isn't that an odr violation ?

Feb 20 2019, 6:46 AM · Restricted Project, Restricted Project
riccibruno accepted D57914: [Driver] Allow enum SanitizerOrdinal to represent more than 64 different sanitizer checks, NFC..

LGTM with an additional comment.

Feb 20 2019, 6:35 AM · Restricted Project, Restricted Project

Feb 19 2019

riccibruno added a comment to D57914: [Driver] Allow enum SanitizerOrdinal to represent more than 64 different sanitizer checks, NFC..

Looks mostly fine to me. I have added a few inline comments but they are all little nits.

Feb 19 2019, 11:56 AM · Restricted Project, Restricted Project
riccibruno planned changes to D57660: [Sema] SequenceChecker: Handle references, members and structured bindings..

This needs more work.

Feb 19 2019, 8:28 AM · Restricted Project
riccibruno added a comment to D51470: Add flag to llvm-profdata to allow symbols in profile data to be remapped, andadd a tool to generate symbol remapping files..

This commit made the reverse-iteration bot (http://lab.llvm.org:8011/builders/reverse-iteration) red (red since 6 months now) :

It's a pity that nobody cared. I've submitted D58385 to fix this, PTAL.

Feb 19 2019, 7:32 AM · Restricted Project

Feb 18 2019

riccibruno added inline comments to D57914: [Driver] Allow enum SanitizerOrdinal to represent more than 64 different sanitizer checks, NFC..
Feb 18 2019, 10:03 AM · Restricted Project, Restricted Project
riccibruno added a comment to D57914: [Driver] Allow enum SanitizerOrdinal to represent more than 64 different sanitizer checks, NFC..

Updated patch to not use APInt for representing the mask as it feels like a hammer solution.

Feb 18 2019, 10:00 AM · Restricted Project, Restricted Project

Feb 17 2019

riccibruno committed rG41d4e56d5b02: [NFC] Add a llvm_unreachable to silence a warning in SubstObjCTypeArgsVisitor (authored by riccibruno).
[NFC] Add a llvm_unreachable to silence a warning in SubstObjCTypeArgsVisitor
Feb 17 2019, 11:20 AM
riccibruno committed rG46148f2053c0: Recommit "[AST] Factor out the logic of the various Expr::Ignore*" (authored by riccibruno).
Recommit "[AST] Factor out the logic of the various Expr::Ignore*"
Feb 17 2019, 10:51 AM
riccibruno committed rGb73b5cda620a: [clang-tidy][NFCI] DanglingHandleCheck: Remove a superflous IgnoreParenImpCasts (authored by riccibruno).
[clang-tidy][NFCI] DanglingHandleCheck: Remove a superflous IgnoreParenImpCasts
Feb 17 2019, 10:22 AM
riccibruno committed rGd403800959a9: Revert "[AST] Factor out the logic of the various Expr::Ignore*" (authored by riccibruno).
Revert "[AST] Factor out the logic of the various Expr::Ignore*"
Feb 17 2019, 5:47 AM
riccibruno committed rG3985172b4f19: [AST] Factor out the logic of the various Expr::Ignore* (authored by riccibruno).
[AST] Factor out the logic of the various Expr::Ignore*
Feb 17 2019, 5:33 AM

Feb 15 2019

riccibruno updated the diff for D57659: [Sema] SequenceChecker: Add some comments + related small NFCs in preparation of the following patches.

Rebased and fixed a comment.

Feb 15 2019, 2:25 PM · Restricted Project
riccibruno updated the diff for D58297: [Sema] SequenceChecker: C++17 sequencing rules for built-in operators <<, >>, .*, ->*, =, op=.
  1. Only call note{Pre,Post}{Use, Mod} if we have a valid memory location.
  2. Fixed 2 tests in CXX/drs which I initially missed.
Feb 15 2019, 2:25 PM · Restricted Project
riccibruno abandoned D57661: [Sema] SequenceChecker: Add tests for references and members..
Feb 15 2019, 11:48 AM · Restricted Project
riccibruno updated the diff for D57747: [Sema] SequenceChecker: Fix handling of operator ||, && and ?:.

Rebased

Feb 15 2019, 11:47 AM · Restricted Project
riccibruno added a parent revision for D58297: [Sema] SequenceChecker: C++17 sequencing rules for built-in operators <<, >>, .*, ->*, =, op=: D57747: [Sema] SequenceChecker: Fix handling of operator ||, && and ?:.
Feb 15 2019, 11:42 AM · Restricted Project
riccibruno added a child revision for D57747: [Sema] SequenceChecker: Fix handling of operator ||, && and ?:: D58297: [Sema] SequenceChecker: C++17 sequencing rules for built-in operators <<, >>, .*, ->*, =, op=.
Feb 15 2019, 11:42 AM · Restricted Project
riccibruno created D58297: [Sema] SequenceChecker: C++17 sequencing rules for built-in operators <<, >>, .*, ->*, =, op=.
Feb 15 2019, 11:41 AM · Restricted Project
riccibruno added a comment to D57948: [Sema] Fix a regression introduced in "[AST][Sema] Remove CallExpr::setNumArgs".

Done, thanks!

Feb 15 2019, 10:55 AM · Restricted Project
riccibruno updated the diff for D57660: [Sema] SequenceChecker: Handle references, members and structured bindings..

Rebased. Does this implementation make sense ?

Feb 15 2019, 10:26 AM · Restricted Project
riccibruno committed rG4569e4a3ef14: [Sema][NFC] SequenceChecker: Add tests for references/members, and prepare for… (authored by riccibruno).
[Sema][NFC] SequenceChecker: Add tests for references/members, and prepare for…
Feb 15 2019, 10:13 AM
riccibruno updated subscribers of D57948: [Sema] Fix a regression introduced in "[AST][Sema] Remove CallExpr::setNumArgs".

(Following up on a discussion on IRC) I have looked at what would be needed to revert the set of patches which introduced this change, but this results in a >1k lines diff which do not apply cleanly. I think it might be safer to just merge this fix. Unless @aaron.ballman disagree, @hans could you please merge this into the release branch ?

Feb 15 2019, 7:14 AM · Restricted Project

Feb 14 2019

Herald updated subscribers of D57914: [Driver] Allow enum SanitizerOrdinal to represent more than 64 different sanitizer checks, NFC..
Feb 14 2019, 1:54 PM · Restricted Project, Restricted Project
riccibruno committed rGc39f8dfa7317: [Sema] Fix a regression introduced in "[AST][Sema] Remove CallExpr::setNumArgs" (authored by riccibruno).
[Sema] Fix a regression introduced in "[AST][Sema] Remove CallExpr::setNumArgs"
Feb 14 2019, 7:43 AM

Feb 12 2019

riccibruno updated the diff for D57948: [Sema] Fix a regression introduced in "[AST][Sema] Remove CallExpr::setNumArgs".

Rewrote the patch to make it local to BuildResolvedCallExpr. It is still a hack though.

Feb 12 2019, 6:16 AM · Restricted Project

Feb 8 2019

riccibruno added a comment to D57267: [AST] Factor out the logic of the various Expr::Ignore*.

FWIW, I was rather disappointed in a recent review to learn that IgnoreParens() means "ignore parens... and a whole bunch of other stuff like generic selection expressions".

Feb 8 2019, 1:03 PM · Restricted Project, Restricted Project
riccibruno added a comment to D57267: [AST] Factor out the logic of the various Expr::Ignore*.

I don't think there was an explicit reason beyond "I didn't need to do it at the time". So probably just an oversight on my part. I don't know the code nearly as well as @rnk, so I could be wrong, but I think the existing tests should tell you if something went haywire if you skip FullExprs.

Feb 8 2019, 12:54 PM · Restricted Project, Restricted Project
Herald added a project to D40720: No -fsanitize=function warning when calling noexcept function through non-noexcept pointer in C++17: Restricted Project.

It seems to be causing https://bugs.llvm.org/show_bug.cgi?id=40658.

Feb 8 2019, 8:04 AM · Restricted Project
riccibruno added a reviewer for D57660: [Sema] SequenceChecker: Handle references, members and structured bindings.: Rakete1111.
Feb 8 2019, 7:50 AM · Restricted Project
riccibruno updated subscribers of D57267: [AST] Factor out the logic of the various Expr::Ignore*.

@void @rnk Perhaps you can comment on this: currently Expr::IgnoreImpCasts skips FullExprs, but Expr::IgnoreParenImpCasts only skips (via IgnoreParens) ConstantExprs. Is there any reason for this inconsistency ? I would like to add FullExpr to the nodes skipped by IgnoreParenImpCasts for consistency but I am worried about unexpected issues even though all tests pass.

Feb 8 2019, 6:12 AM · Restricted Project, Restricted Project
riccibruno created D57948: [Sema] Fix a regression introduced in "[AST][Sema] Remove CallExpr::setNumArgs".
Feb 8 2019, 5:59 AM · Restricted Project