faisalv (Faisal Vali)
Faisal Vali

Projects

User does not belong to any projects.

User Details

User Since
Nov 12 2012, 12:47 PM (313 w, 6 d)

Recent Activity

Apr 25 2018

faisalv committed rC330889: Fix a merge conflict that was inadvertently introduced in r330888 .
Fix a merge conflict that was inadvertently introduced in r330888
Apr 25 2018, 6:08 PM
faisalv committed rL330889: Fix a merge conflict that was inadvertently introduced in r330888 .
Fix a merge conflict that was inadvertently introduced in r330888
Apr 25 2018, 6:08 PM
faisalv committed rL330888: Revert rC330794 and some dependent tiny bug fixes .
Revert rC330794 and some dependent tiny bug fixes
Apr 25 2018, 5:46 PM
faisalv committed rC330888: Revert rC330794 and some dependent tiny bug fixes .
Revert rC330794 and some dependent tiny bug fixes
Apr 25 2018, 5:46 PM
faisalv added a reverting commit for rC330794: [c++2a] [concepts] Add rudimentary parsing support for template concept…: rC330888: Revert rC330794 and some dependent tiny bug fixes .
Apr 25 2018, 5:46 PM

Apr 24 2018

faisalv committed rC330798: [NFC] Make dependent parameter non-deducible, so that we are forced to use the….
[NFC] Make dependent parameter non-deducible, so that we are forced to use the…
Apr 24 2018, 8:57 PM
faisalv committed rL330798: [NFC] Make dependent parameter non-deducible, so that we are forced to use the….
[NFC] Make dependent parameter non-deducible, so that we are forced to use the…
Apr 24 2018, 8:57 PM
faisalv committed rC330796: Fix rC330794 - a parameter that should have been dependent was inadvertently….
Fix rC330794 - a parameter that should have been dependent was inadvertently…
Apr 24 2018, 8:32 PM
faisalv committed rL330796: Fix rC330794 - a parameter that should have been dependent was inadvertently….
Fix rC330794 - a parameter that should have been dependent was inadvertently…
Apr 24 2018, 8:31 PM
faisalv committed rC330794: [c++2a] [concepts] Add rudimentary parsing support for template concept….
[c++2a] [concepts] Add rudimentary parsing support for template concept…
Apr 24 2018, 7:46 PM
faisalv committed rL330794: [c++2a] [concepts] Add rudimentary parsing support for template concept….
[c++2a] [concepts] Add rudimentary parsing support for template concept…
Apr 24 2018, 7:46 PM

Apr 4 2018

faisalv added a comment to D45194: [Sema] Defer checking constexpr lambda until after we've finished the lambda class..

LGTM - can you commit?
Thank you!

Apr 4 2018, 2:03 PM
faisalv added a comment to D45194: [Sema] Defer checking constexpr lambda until after we've finished the lambda class..

Thanks Erik!

Apr 4 2018, 11:54 AM

Apr 3 2018

faisalv added a comment to D45194: [Sema] Defer checking constexpr lambda until after we've finished the lambda class..

Thanks for working on this fairly embarrassing bug (let's fix this before the week is over :)

Apr 3 2018, 8:56 PM

Mar 14 2018

faisalv added a comment to D40381: Parse concept definition.

I discussed this briefly w Hubert - and i'm planning on modifying this patch slightly so that it flows through ParseDeclSpecifier and handles attributes and other invalid decl-specifiers such as static etc. more gracefully on a concept decl. I have this partially implemented - my hope is to get this done v soonish so feel free to ping me if you don't hear anything about this in a week or so ...

Mar 14 2018, 6:27 PM
faisalv added inline comments to D41217: [Concepts] Concept Specialization Expressions.
Mar 14 2018, 10:32 AM
faisalv added a reviewer for D41217: [Concepts] Concept Specialization Expressions: faisalv.
Mar 14 2018, 9:31 AM
faisalv added a reviewer for D41284: [Concepts] Associated constraints infrastructure.: faisalv.
Mar 14 2018, 9:30 AM

Jan 1 2018

faisalv committed rL321628: Again reverting an attempt to convert the DeclSpec enums into scoped enums..
Again reverting an attempt to convert the DeclSpec enums into scoped enums.
Jan 1 2018, 10:24 AM
faisalv committed rC321628: Again reverting an attempt to convert the DeclSpec enums into scoped enums..
Again reverting an attempt to convert the DeclSpec enums into scoped enums.
Jan 1 2018, 10:24 AM
faisalv committed rC321625: Use 'unsigned int' instead of enum bit-fields to silence some warnings from….
Use 'unsigned int' instead of enum bit-fields to silence some warnings from…
Jan 1 2018, 8:38 AM
faisalv committed rL321625: Use 'unsigned int' instead of enum bit-fields to silence some warnings from….
Use 'unsigned int' instead of enum bit-fields to silence some warnings from…
Jan 1 2018, 8:38 AM
faisalv committed rL321622: [NFC] Modernize enums TypeSpecifierWidth, TypeSpecifierSign & TypeSpecifierType….
[NFC] Modernize enums TypeSpecifierWidth, TypeSpecifierSign & TypeSpecifierType…
Jan 1 2018, 7:43 AM
faisalv committed rC321622: [NFC] Modernize enums TypeSpecifierWidth, TypeSpecifierSign & TypeSpecifierType….
[NFC] Modernize enums TypeSpecifierWidth, TypeSpecifierSign & TypeSpecifierType…
Jan 1 2018, 7:43 AM

Dec 31 2017

faisalv committed rC321616: Revert r321614 and r321615.
Revert r321614 and r321615
Dec 31 2017, 6:50 PM
faisalv committed rL321616: Revert r321614 and r321615.
Revert r321614 and r321615
Dec 31 2017, 6:50 PM
faisalv committed rC321615: Add scope specifiers to updated scoped-enums (that I somehow missed in r321614).
Add scope specifiers to updated scoped-enums (that I somehow missed in r321614)
Dec 31 2017, 6:37 PM
faisalv committed rL321615: Add scope specifiers to updated scoped-enums (that I somehow missed in r321614).
Add scope specifiers to updated scoped-enums (that I somehow missed in r321614)
Dec 31 2017, 6:36 PM
faisalv committed rC321614: [NFC] Modernize enums TypeSpecifierWidth, TypeSpecifierSign & TypeSpecifierType….
[NFC] Modernize enums TypeSpecifierWidth, TypeSpecifierSign & TypeSpecifierType…
Dec 31 2017, 6:21 PM
faisalv committed rL321614: [NFC] Modernize enums TypeSpecifierWidth, TypeSpecifierSign & TypeSpecifierType….
[NFC] Modernize enums TypeSpecifierWidth, TypeSpecifierSign & TypeSpecifierType…
Dec 31 2017, 6:21 PM

Dec 30 2017

faisalv committed rL321590: [NFC] Modernize enum DeclSpecContext into a scoped enum..
[NFC] Modernize enum DeclSpecContext into a scoped enum.
Dec 30 2017, 4:08 PM
faisalv committed rC321590: [NFC] Modernize enum DeclSpecContext into a scoped enum..
[NFC] Modernize enum DeclSpecContext into a scoped enum.
Dec 30 2017, 4:08 PM

Dec 29 2017

faisalv committed rC321574: [NFC] Modernize enum 'UnqualifiedId::IdKind' into a scoped enum….
[NFC] Modernize enum 'UnqualifiedId::IdKind' into a scoped enum…
Dec 29 2017, 8:16 PM
faisalv committed rL321574: [NFC] Modernize enum 'UnqualifiedId::IdKind' into a scoped enum….
[NFC] Modernize enum 'UnqualifiedId::IdKind' into a scoped enum…
Dec 29 2017, 8:16 PM

Dec 28 2017

faisalv committed rL321546: [NFC] Modernize enum Declarator::TheContext to a type-safe scoped enum..
[NFC] Modernize enum Declarator::TheContext to a type-safe scoped enum.
Dec 28 2017, 9:42 PM
faisalv committed rC321546: [NFC] Modernize enum Declarator::TheContext to a type-safe scoped enum..
[NFC] Modernize enum Declarator::TheContext to a type-safe scoped enum.
Dec 28 2017, 9:42 PM

Dec 27 2017

faisalv added a comment to D41179: [Sema] Diagnose template specializations with C linkage.
Classes do not have language linkage according to 10.5p1, just as templates, so this code is valid.

It looks like defining templates inside extern "C" blocks is OK.

Currently both Clang and GCC diagnose class templates declared inside an 'extern "C"' block. I'm not sure how to proceed about this.

Dec 27 2017, 7:25 AM

Dec 25 2017

faisalv committed rC321449: Add a fixit for attributes incorrectly placed prior to 'struct/class/enum'….
Add a fixit for attributes incorrectly placed prior to 'struct/class/enum'…
Dec 25 2017, 2:25 PM
faisalv committed rL321449: Add a fixit for attributes incorrectly placed prior to 'struct/class/enum'….
Add a fixit for attributes incorrectly placed prior to 'struct/class/enum'…
Dec 25 2017, 2:24 PM

Dec 24 2017

faisalv added inline comments to D40381: Parse concept definition.
Dec 24 2017, 11:23 AM
faisalv added a comment to D40381: Parse concept definition.

I think this looks good enough to commit - do you have commit privileges - or do you need one of us to commit it for you?
thank you!

Dec 24 2017, 10:00 AM

Dec 23 2017

faisalv committed rL321410: [NFC] Remove a cast rendered unnecessary by r321409.
[NFC] Remove a cast rendered unnecessary by r321409
Dec 23 2017, 11:28 AM
faisalv committed rC321410: [NFC] Remove a cast rendered unnecessary by r321409.
[NFC] Remove a cast rendered unnecessary by r321409
Dec 23 2017, 11:28 AM
faisalv committed rC321409: [NFC] Update the template-parameter parsers and analyzers to return NamedDecl….
[NFC] Update the template-parameter parsers and analyzers to return NamedDecl…
Dec 23 2017, 10:58 AM
faisalv committed rL321409: [NFC] Update the template-parameter parsers and analyzers to return NamedDecl….
[NFC] Update the template-parameter parsers and analyzers to return NamedDecl…
Dec 23 2017, 10:57 AM
faisalv added inline comments to D40381: Parse concept definition.
Dec 23 2017, 9:10 AM

Dec 21 2017

faisalv closed D40705: Diagnose invalid decl-specifiers in non-type template parameter declarations (original author miyuki!).

Added via https://reviews.llvm.org/rC321339

Dec 21 2017, 7:54 PM · Restricted Project, Restricted Project
faisalv committed rC321339: Diagnose the various invalid decl-specifiers on nontype template parameters..
Diagnose the various invalid decl-specifiers on nontype template parameters.
Dec 21 2017, 7:51 PM
faisalv committed rL321339: Diagnose the various invalid decl-specifiers on nontype template parameters..
Diagnose the various invalid decl-specifiers on nontype template parameters.
Dec 21 2017, 7:51 PM

Dec 20 2017

faisalv updated the diff for D40705: Diagnose invalid decl-specifiers in non-type template parameter declarations (original author miyuki!).

Miyuki - please take a look at the patch and let me know if you agree with the changes - or have any concerns...

Dec 20 2017, 8:55 PM · Restricted Project, Restricted Project
faisalv commandeered D40705: Diagnose invalid decl-specifiers in non-type template parameter declarations (original author miyuki!).
Dec 20 2017, 8:46 PM · Restricted Project, Restricted Project
faisalv added a comment to D40705: Diagnose invalid decl-specifiers in non-type template parameter declarations (original author miyuki!).

Sounds good - if I don't get this done over the next seven days - would you mind just pinging me!

Dec 20 2017, 10:12 AM · Restricted Project, Restricted Project

Dec 19 2017

faisalv requested changes to D40705: Diagnose invalid decl-specifiers in non-type template parameter declarations (original author miyuki!).

Hmm - I think i might make some tweaks to this patch (to be largely symmetric with the similar handling of invalid decl-specifiers on function parameters in Sema::Actions.ActOnParamDeclarator)...

Dec 19 2017, 8:33 PM · Restricted Project, Restricted Project

Dec 17 2017

faisalv added inline comments to D41179: [Sema] Diagnose template specializations with C linkage.
Dec 17 2017, 7:58 PM
faisalv requested changes to D40381: Parse concept definition.
Dec 17 2017, 3:17 PM
faisalv accepted D40705: Diagnose invalid decl-specifiers in non-type template parameter declarations (original author miyuki!).

Otherwise, I think this looks good enough to commit.

Dec 17 2017, 1:11 PM · Restricted Project, Restricted Project
faisalv requested changes to D40381: Parse concept definition.
Dec 17 2017, 8:57 AM
faisalv added a comment to D40381: Parse concept definition.

Thanks for working on this! :)

Dec 17 2017, 8:55 AM

Dec 16 2017

faisalv added inline comments to D41217: [Concepts] Concept Specialization Expressions.
Dec 16 2017, 6:48 PM

Dec 1 2017

faisalv added inline comments to D40705: Diagnose invalid decl-specifiers in non-type template parameter declarations (original author miyuki!).
Dec 1 2017, 3:41 AM · Restricted Project, Restricted Project

Nov 11 2017

faisalv abandoned D39166: [NFC] Add some assertions to placate my paranoia about sharing a variant bit across FunctionDecl and CXXDeductionGuideDecl - should I do this?.

Just added an additional bit-field to FunctionDecl in https://reviews.llvm.org/rL317984

Nov 11 2017, 10:11 AM · Restricted Project
faisalv committed rL317984: Adjust r316292 - remove the anonymous union for sharing a bitfield in….
Adjust r316292 - remove the anonymous union for sharing a bitfield in…
Nov 11 2017, 10:04 AM

Oct 25 2017

faisalv updated the diff for D39166: [NFC] Add some assertions to placate my paranoia about sharing a variant bit across FunctionDecl and CXXDeductionGuideDecl - should I do this?.

Incorporated Aaron's feedback (although not sure if I caugh tall the white space issues).

Oct 25 2017, 6:27 PM · Restricted Project

Oct 22 2017

faisalv committed rL316304: [c++2a] Update cxx_status w __VA_OPT__ marked as completed in SVN..
[c++2a] Update cxx_status w __VA_OPT__ marked as completed in SVN.
Oct 22 2017, 3:30 PM
faisalv added a comment to D39166: [NFC] Add some assertions to placate my paranoia about sharing a variant bit across FunctionDecl and CXXDeductionGuideDecl - should I do this?.

Isn't it already an UB if someone set WillHaveBody and but later IsCopyDeductionCandidate being read, vice versa?

Oct 22 2017, 1:38 PM · Restricted Project
faisalv created D39166: [NFC] Add some assertions to placate my paranoia about sharing a variant bit across FunctionDecl and CXXDeductionGuideDecl - should I do this?.
Oct 22 2017, 12:47 PM · Restricted Project
faisalv committed rL316292: [C++17] Fix PR34970 - tweak overload resolution for class template deduction….
[C++17] Fix PR34970 - tweak overload resolution for class template deduction…
Oct 22 2017, 7:47 AM

Oct 15 2017

faisalv abandoned D35782: [C++2a][Preprocessor] Implement p0306 __VA_OPT__ (Comma omission and comma deletion).

committed as r315840.
https://reviews.llvm.org/rL315840

Oct 15 2017, 7:04 PM · Restricted Project

Oct 14 2017

faisalv committed rL315842: [c++2a] Fix failing regression test related to not adding the extension warning….
[c++2a] Fix failing regression test related to not adding the extension warning…
Oct 14 2017, 7:13 PM
faisalv committed rL315840: [c++2a] Implement P0306 __VA_OPT__ (Comma omission and comma deletion).
[c++2a] Implement P0306 __VA_OPT__ (Comma omission and comma deletion)
Oct 14 2017, 6:26 PM

Oct 2 2017

faisalv committed rL314753: Add parens around the boolean condition of one of the added asserts in r314747 ..
Add parens around the boolean condition of one of the added asserts in r314747 .
Oct 2 2017, 6:35 PM
faisalv committed rL314748: Remove an assertion I added from the refactoring of pasteTokens (https….
Remove an assertion I added from the refactoring of pasteTokens (https…
Oct 2 2017, 6:22 PM
faisalv committed rL314747: [NFC] Refactor PasteTokens so that it can be passed the Token Stream and Index….
[NFC] Refactor PasteTokens so that it can be passed the Token Stream and Index…
Oct 2 2017, 5:54 PM

Sep 30 2017

faisalv committed rL314600: [NFC] Add assertion that we assume a valid macro argument index..
[NFC] Add assertion that we assume a valid macro argument index.
Sep 30 2017, 12:36 PM
faisalv committed rL314595: [NFC] Sync function call with changes to interface made in r314593..
[NFC] Sync function call with changes to interface made in r314593.
Sep 30 2017, 7:37 AM
faisalv committed rL314593: [NFC] Remove superfluous parameter .
[NFC] Remove superfluous parameter
Sep 30 2017, 7:00 AM

Sep 28 2017

faisalv committed rL314484: [NFC] Replace 'arguments' with 'parameters' in comments relating to lexing a….
[NFC] Replace 'arguments' with 'parameters' in comments relating to lexing a…
Sep 28 2017, 7:45 PM
faisalv committed rL314483: [NFC] Rename variable 'Arguments' to 'Parameters' when lexing the Macro….
[NFC] Rename variable 'Arguments' to 'Parameters' when lexing the Macro…
Sep 28 2017, 7:19 PM
faisalv added a comment to rL314391: Use std::is_trivial instead of is_trivially_copyable..

Sorry about the break - But thank you for the fix :)

Sep 28 2017, 4:28 PM

Sep 27 2017

faisalv committed rL314373: [NFC] Don't use C++17 standard lib variable template helper traits, instead use….
[NFC] Don't use C++17 standard lib variable template helper traits, instead use…
Sep 27 2017, 7:02 PM
faisalv committed rL314372: [NFC] Modernize MacroArgs using TrailingObjects.
[NFC] Modernize MacroArgs using TrailingObjects
Sep 27 2017, 6:52 PM

Sep 17 2017

faisalv committed rL313487: Fix the second half of PR34266: Don't implicitly capture '*this' if the….
Fix the second half of PR34266: Don't implicitly capture '*this' if the…
Sep 17 2017, 8:39 AM
faisalv added a comment to rL313407: Resubmit "[lit] Force site configs to run before source-tree configs".

OK. It appears to be something along these lines:

Sep 17 2017, 7:20 AM
faisalv added a comment to rL313407: Resubmit "[lit] Force site configs to run before source-tree configs".

Could you please update the documentation (and let me know) here (http://clang.llvm.org/hacking.html) on how to use the updated configuration to run the tests.

Sep 17 2017, 7:08 AM

Aug 28 2017

faisalv committed rL311975: revert r311839 (ongoing cwg discussion).
revert r311839 (ongoing cwg discussion)
Aug 28 2017, 8:05 PM
faisalv added a comment to D36527: Implemented P0428R2 - Familiar template syntax for generic lambdas.
Aug 28 2017, 6:08 PM
faisalv added a comment to D36527: Implemented P0428R2 - Familiar template syntax for generic lambdas.

This patch appears to be missing some necessary changes in the following places:

  • lib/Serialization -- round-trip the new information through PCH / modules
Aug 28 2017, 5:57 PM
faisalv added a comment to D36915: [Sema] Diagnose local variables and parameters captured by lambda and block expressions in a default argument.

I don't think this approach is entirely correct for at least the following reasons:

  1. in the lambda case the machinery that diagnoses capture failures should be the machinery erroring on the lambda (when the parameter is odr-used)

Does this mean that it is OK to have a parameter or local variable appear in a potentially-evaluated expression as long as it is not odr-used? I think this is slightly different from the standard, which says a parameter or local variable cannot appear as a potentially-evaluated expression in a default argument.

For example:

void foo2(int);

void func() {
  const int a = 1;
  void foo1(S s = [](){ foo2(a); }); // "a" is not in an unevaluated context and is not odr-used.
}

I think I need clarification as it will affect how or where we detect this error.

Aug 28 2017, 1:00 PM

Aug 27 2017

faisalv committed rL311855: revert changes from r311851..
revert changes from r311851.
Aug 27 2017, 12:01 PM
faisalv committed rL311851: Don't see through 'using member-declarations' when determining the relation of….
Don't see through 'using member-declarations' when determining the relation of…
Aug 27 2017, 9:51 AM

Aug 26 2017

faisalv committed rL311839: Pass the correct object argument when a member call to an 'unrelated' class is….
Pass the correct object argument when a member call to an 'unrelated' class is…
Aug 26 2017, 7:25 PM

Aug 25 2017

faisalv added inline comments to D36527: Implemented P0428R2 - Familiar template syntax for generic lambdas.
Aug 25 2017, 6:21 PM
faisalv added a comment to D36527: Implemented P0428R2 - Familiar template syntax for generic lambdas.

OK - I'll commit this on sunday if no one blocks it by then. (I'll add the fixme's).

Aug 25 2017, 2:19 PM
faisalv committed rL311788: [NFC] Remove a cstyle cast and replace some uses of Decl with NamedDecl during….
[NFC] Remove a cstyle cast and replace some uses of Decl with NamedDecl during…
Aug 25 2017, 11:25 AM
faisalv added inline comments to D36527: Implemented P0428R2 - Familiar template syntax for generic lambdas.
Aug 25 2017, 4:11 AM

Aug 22 2017

faisalv added a comment to D36915: [Sema] Diagnose local variables and parameters captured by lambda and block expressions in a default argument.

I don't think this approach is entirely correct for at least the following reasons:

  1. in the lambda case the machinery that diagnoses capture failures should be the machinery erroring on the lambda (when the parameter is odr-used)
  2. in the unevaluated case, once you disable the error, the instantiation machinery will fail to find the corresponding instantiated parmvardecl.
Aug 22 2017, 6:22 PM

Aug 21 2017

faisalv added inline comments to D36527: Implemented P0428R2 - Familiar template syntax for generic lambdas.
Aug 21 2017, 8:34 AM
faisalv added inline comments to D36527: Implemented P0428R2 - Familiar template syntax for generic lambdas.
Aug 21 2017, 8:32 AM
faisalv added inline comments to D36527: Implemented P0428R2 - Familiar template syntax for generic lambdas.
Aug 21 2017, 5:32 AM
faisalv added a comment to D36527: Implemented P0428R2 - Familiar template syntax for generic lambdas.

In regards to representing this in the AST - I think (based on precedence) that the number of explicit template parameters should be stored in LambdaDefinitionData - and the interface exposed through LambdaExpr (where the source information of the template parameter list should be stored too i think - Richard you agree?).

Aug 21 2017, 3:52 AM