arphaman (Alex Lorenz)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 25 2014, 4:17 PM (147 w, 5 d)

Recent Activity

Today

arphaman updated the diff for D32424: Add a fix-it for -Wunguarded-availability.

Now the patch takes the following situations into account:

  • Enclose only the statement in a case.
  • If the fixit has to enclose a declaration statement, then the fixit will try to enclose the appropriate uses as well.
Tue, Apr 25, 5:58 AM

Yesterday

arphaman committed rL301180: [index] The relation between the declarations in template specializations.
[index] The relation between the declarations in template specializations
Mon, Apr 24, 7:18 AM
arphaman closed D32020: [indexer] The relationship between the declarations in template specializations that 'override' declarations in the base template should be recorded by committing rL301180: [index] The relation between the declarations in template specializations.
Mon, Apr 24, 7:18 AM
arphaman added a comment to D32389: [libclang] Expose some target information via the C API..

Maybe it would be better to introduce a CXTargetInfo type, and change the API to be:

clang_getTranslationUnitTargetInfo
clang_TargetInfo_getTriple
clang_TargetInfo_getPointerWidth

?
This way the TargetInfo functions will be cleanly separated, so we can extend the API easier in the future.

Mon, Apr 24, 6:23 AM · Restricted Project
arphaman accepted D32348: [libclang] Check for a record declaration before a template specialization..

I see, thanks for explaining. LGTM. Do you need someone to commit it?

Mon, Apr 24, 6:15 AM · Restricted Project
arphaman created D32424: Add a fix-it for -Wunguarded-availability.
Mon, Apr 24, 3:13 AM

Fri, Apr 21

arphaman added inline comments to D32348: [libclang] Check for a record declaration before a template specialization..
Fri, Apr 21, 9:14 AM · Restricted Project
arphaman committed rL300981: [PR32667] -Wdocumentation should allow @param/@returns for fields/variables.
[PR32667] -Wdocumentation should allow @param/@returns for fields/variables
Fri, Apr 21, 7:30 AM
arphaman added a comment to D32348: [libclang] Check for a record declaration before a template specialization..

Please post the diff with full context (git diff -U9999).

Fri, Apr 21, 6:22 AM · Restricted Project
arphaman updated the diff for D25113: [Sema] Don't display an invalid redefinition error when dealing with a redefinition of a function whose previous definition was typo-corrected .

Rebased the patch.

Fri, Apr 21, 4:24 AM
arphaman updated the diff for D25051: Fix PR 10758: Infinite recursion when dealing with copy-initialization.

Rebased the patch.

Fri, Apr 21, 4:07 AM

Thu, Apr 20

arphaman updated the diff for D32020: [indexer] The relationship between the declarations in template specializations that 'override' declarations in the base template should be recorded.

Updated the relationship to be 'overrideOf | specializationOf' to differentiate it from regular 'overrideOf'.

Thu, Apr 20, 5:41 AM
arphaman committed rL300832: [index] Record class template specializations using a new 'SpecializationOf'.
[index] Record class template specializations using a new 'SpecializationOf'
Thu, Apr 20, 3:56 AM
arphaman closed D32010: [indexer] Record class template specializations using a new 'SpecializationOf' relationship by committing rL300832: [index] Record class template specializations using a new 'SpecializationOf'.
Thu, Apr 20, 3:56 AM
arphaman committed rL300826: Add #pragma clang attribute support to the availability attribute.
Add #pragma clang attribute support to the availability attribute
Thu, Apr 20, 2:47 AM

Wed, Apr 19

arphaman committed rL300712: Add #pragma clang attribute support to the external_source_symbol attribute.
Add #pragma clang attribute support to the external_source_symbol attribute
Wed, Apr 19, 9:05 AM
arphaman closed D32176: Add #pragma clang attribute support for the external_source_symbol attribute by committing rL300712: Add #pragma clang attribute support to the external_source_symbol attribute.
Wed, Apr 19, 9:04 AM
arphaman added inline comments to D32176: Add #pragma clang attribute support for the external_source_symbol attribute.
Wed, Apr 19, 8:17 AM
arphaman updated the diff for D32176: Add #pragma clang attribute support for the external_source_symbol attribute.

Addressed Aaron's comments.

Wed, Apr 19, 8:17 AM
arphaman committed rL300667: Add support for editor placeholders to Clang.
Add support for editor placeholders to Clang
Wed, Apr 19, 2:12 AM
arphaman closed D32081: Add support for editor placeholders to Clang's lexer by committing rL300667: Add support for editor placeholders to Clang.
Wed, Apr 19, 2:12 AM

Tue, Apr 18

arphaman added a comment to D32178: Delete unstable integration tests.

Thanks for working on this!

Tue, Apr 18, 11:52 PM
arphaman committed rL300591: The SubjectMatchRule enum should not be used as a DenseMap key to avoid.
The SubjectMatchRule enum should not be used as a DenseMap key to avoid
Tue, Apr 18, 2:07 PM
arphaman updated the diff for D32081: Add support for editor placeholders to Clang's lexer.

Add comments and remove -fno-allow-editor-placeholders from CC1 options.

Tue, Apr 18, 10:10 AM
arphaman updated the diff for D32176: Add #pragma clang attribute support for the external_source_symbol attribute.

Avoid a vector copy by using a reference variable.

Tue, Apr 18, 9:42 AM
arphaman created D32176: Add #pragma clang attribute support for the external_source_symbol attribute.
Tue, Apr 18, 9:39 AM
arphaman committed rL300560: [ASTPrinter] Print template parameter lists for out-of-line functions.
[ASTPrinter] Print template parameter lists for out-of-line functions
Tue, Apr 18, 8:29 AM
arphaman committed rL300556: Add #pragma clang attribute.
Add #pragma clang attribute
Tue, Apr 18, 8:07 AM
arphaman committed rL300543: Revert r300539 - Add #pragma clang attribute.
Revert r300539 - Add #pragma clang attribute
Tue, Apr 18, 4:00 AM
arphaman committed rL300542: Fix one more 'not all control paths return a value' MSVC warning.
Fix one more 'not all control paths return a value' MSVC warning
Tue, Apr 18, 3:30 AM
arphaman committed rL300540: [TableGen] Fix MSVC warning that occurs in TableGen generated function.
[TableGen] Fix MSVC warning that occurs in TableGen generated function
Tue, Apr 18, 3:12 AM
arphaman committed rL300539: Add #pragma clang attribute.
Add #pragma clang attribute
Tue, Apr 18, 2:55 AM
arphaman closed D30009: Add support for '#pragma clang attribute' by committing rL300539: Add #pragma clang attribute.
Tue, Apr 18, 2:54 AM
arphaman added inline comments to D31739: Add markup for libc++ dylib availability.
Tue, Apr 18, 2:43 AM
arphaman accepted D32144: [Coverage] Don't emit mappings for functions in dependent contexts (fixes PR32679).

I agree with Adam, the old check is now redundant.

Tue, Apr 18, 1:46 AM

Fri, Apr 14

arphaman updated the diff for D32081: Add support for editor placeholders to Clang's lexer.

Check if IdentifierInfo is nil in ActOnIdExpression to prevent crash.

Fri, Apr 14, 2:51 PM
arphaman updated the diff for D32081: Add support for editor placeholders to Clang's lexer.
  • Don't use the diagnostic engine suppression ranges, but rely on changes to parser/sema for diagnostic suppression.
  • Rename the compiler flag to '-fallow-editor-placeholders'.
Fri, Apr 14, 2:42 PM
arphaman added a comment to D32081: Add support for editor placeholders to Clang's lexer.

It's more about handling all of the cases, e.g. the completion results for declaration patterns with placeholders, as those can't be caught with a check at an expression/typename level.

Fri, Apr 14, 2:00 PM
arphaman added a comment to D32081: Add support for editor placeholders to Clang's lexer.

Rather than stick ranges into the diagnostic engine, I think it would be cleaner to have the identifier have a method like isEditorPlaceholder() that can be used to avoid situations like this in a principled way, or to customize behaviour for placeholders in the parser, etc. That's how we are handling it in Swift. Using an API on the placeholder is also better for handling errors that could be caused by the placeholder but not have it as the primary location.

What do you think?

I thought about this as well. I'm not sure which way is better though. The current way is simple in the sense that we automatically suppress all diagnostics in the placeholder, so we don't have to modify the parser at all. Clang generates placeholders in a bunch of different places so I reckon there'll have to be a lot of modifications to suppress all problematic cases. Although I suppose that if we teach the parser about the most common places where placeholders could occur (e.g. expressions), that would probably suppress the majority of diagnostics that we care about. I'll try out the parser changes right now.

Fri, Apr 14, 1:34 PM
arphaman added a comment to D32081: Add support for editor placeholders to Clang's lexer.

Rather than stick ranges into the diagnostic engine, I think it would be cleaner to have the identifier have a method like isEditorPlaceholder() that can be used to avoid situations like this in a principled way, or to customize behaviour for placeholders in the parser, etc. That's how we are handling it in Swift. Using an API on the placeholder is also better for handling errors that could be caused by the placeholder but not have it as the primary location.

What do you think?

Fri, Apr 14, 12:15 PM
arphaman updated the diff for D32081: Add support for editor placeholders to Clang's lexer.

I've decided to treat each placeholder as an identifier token (like Swift) instead of just lexing the contents. This will prevent spurious errors for declaration name placeholders that have spaces or hyphens inside.

Fri, Apr 14, 7:41 AM
arphaman created D32081: Add support for editor placeholders to Clang's lexer.
Fri, Apr 14, 6:46 AM

Thu, Apr 13

arphaman created D32020: [indexer] The relationship between the declarations in template specializations that 'override' declarations in the base template should be recorded.
Thu, Apr 13, 8:34 AM
arphaman created D32010: [indexer] Record class template specializations using a new 'SpecializationOf' relationship.
Thu, Apr 13, 6:01 AM
arphaman updated the diff for D28670: [ObjC] Disallow vector parameters and return values in Objective-C methods on older X86 targets.

Add an assertion as requested by Bruno.

Thu, Apr 13, 4:09 AM

Wed, Apr 12

arphaman added a comment to D28670: [ObjC] Disallow vector parameters and return values in Objective-C methods on older X86 targets.

Ping

Wed, Apr 12, 5:45 AM
arphaman committed rL300049: Add support for __builtin_available to __has_builtin.
Add support for __builtin_available to __has_builtin
Wed, Apr 12, 4:16 AM

Tue, Apr 11

arphaman committed rL299962: [ASTPrinter] Print nested name specifiers for out-of-line functions.
[ASTPrinter] Print nested name specifiers for out-of-line functions
Tue, Apr 11, 9:58 AM
arphaman committed rL299951: Fix PR13910: Don't warn that __builtin_unreachable() is unreachable.
Fix PR13910: Don't warn that __builtin_unreachable() is unreachable
Tue, Apr 11, 8:49 AM
arphaman closed D25321: Fix PR13910: Don't warn that __builtin_unreachable() is unreachable by committing rL299951: Fix PR13910: Don't warn that __builtin_unreachable() is unreachable.
Tue, Apr 11, 8:48 AM
arphaman committed rL299950: [Parser][ObjC++] Improve diagnostics and recovery when C++ keywords are used.
[Parser][ObjC++] Improve diagnostics and recovery when C++ keywords are used
Tue, Apr 11, 8:14 AM
arphaman closed D26503: [Parser][ObjC] Improve diagnostics and recovery when C++ keywords are used as identifiers in Objective-C++ by committing rL299950: [Parser][ObjC++] Improve diagnostics and recovery when C++ keywords are used.
Tue, Apr 11, 8:14 AM
arphaman added a comment to D29877: Warn about unused static file scope function template declarations..

Ah, I see. I guess if static is removed the warning will go away. Thanks!

Tue, Apr 11, 6:59 AM
arphaman added a comment to D29877: Warn about unused static file scope function template declarations..

The operators in PointerUnion seem useful. I don't think they should be removed even if they're not used in tree, since they might be used by some out-of-tree code.

Tue, Apr 11, 6:55 AM

Thu, Apr 6

arphaman committed rL299650: Avoid the -Wdocumentation-unknown-command warning in Clang's C API docs.
Avoid the -Wdocumentation-unknown-command warning in Clang's C API docs
Thu, Apr 6, 7:16 AM
arphaman updated the diff for D30009: Add support for '#pragma clang attribute'.

Addressed Aaron's comments.

Thu, Apr 6, 7:06 AM
arphaman committed rL299648: [ObjC++] Conversions from specialized to non-specialized Objective-C generic.
[ObjC++] Conversions from specialized to non-specialized Objective-C generic
Thu, Apr 6, 6:19 AM
arphaman closed D31597: [ObjC++] Conversions from specialized to non-specialized objective-c object type should be preferred over conversions to other object pointers by committing rL299648: [ObjC++] Conversions from specialized to non-specialized Objective-C generic.
Thu, Apr 6, 6:19 AM
arphaman committed rL299646: Fix lambda to block conversion in C++17 by avoiding copy elision for the.
Fix lambda to block conversion in C++17 by avoiding copy elision for the
Thu, Apr 6, 6:06 AM
arphaman closed D31669: Fix lambda to block conversion in C++17 by avoiding copy elision for the lambda capture used by the created block by committing rL299646: Fix lambda to block conversion in C++17 by avoiding copy elision for the.
Thu, Apr 6, 6:06 AM
arphaman added inline comments to D31652: [clang-format] Recognize Java logical shift assignment operator.
Thu, Apr 6, 4:24 AM
arphaman added a comment to D31652: [clang-format] Recognize Java logical shift assignment operator.

Are the <<< and >>> operators handled correctly?

Thu, Apr 6, 4:22 AM

Wed, Apr 5

arphaman added a comment to D15994: Allow for unfinished #if blocks in preambles..

Thanks for working on this! I have some comments below:

Wed, Apr 5, 9:07 AM
arphaman committed rL299541: -Wunreachable-code: 'true' and 'false' should not be treated as configuration.
-Wunreachable-code: 'true' and 'false' should not be treated as configuration
Wed, Apr 5, 7:19 AM
arphaman updated the diff for D30009: Add support for '#pragma clang attribute'.

The unterminated '#pragma clang attribute push' at end of file diagnostic is now an error.

Wed, Apr 5, 5:49 AM
arphaman added inline comments to D30009: Add support for '#pragma clang attribute'.
Wed, Apr 5, 4:49 AM
arphaman updated the diff for D30009: Add support for '#pragma clang attribute'.

Rebase and address Aaron's comments.

Wed, Apr 5, 4:49 AM
arphaman updated the diff for D31669: Fix lambda to block conversion in C++17 by avoiding copy elision for the lambda capture used by the created block.

Use a new EntityKind and improve test.

Wed, Apr 5, 2:29 AM

Tue, Apr 4

arphaman created D31669: Fix lambda to block conversion in C++17 by avoiding copy elision for the lambda capture used by the created block.
Tue, Apr 4, 6:46 AM
arphaman added a comment to D29768: [TargetInfo] Set 'UseSignedCharForObjCBool' to false by default.

Ping.

Tue, Apr 4, 2:09 AM

Mon, Apr 3

arphaman committed rL299363: Enhance -Wshadow to warn when shadowing typedefs or type aliases.
Enhance -Wshadow to warn when shadowing typedefs or type aliases
Mon, Apr 3, 9:56 AM
arphaman closed D31235: Enhance -Wshadow to warn when shadowing typedefs or type aliases by committing rL299363: Enhance -Wshadow to warn when shadowing typedefs or type aliases.
Mon, Apr 3, 9:55 AM
arphaman added a comment to D31235: Enhance -Wshadow to warn when shadowing typedefs or type aliases.

I'll commit it for you right now.

Mon, Apr 3, 9:19 AM
arphaman created D31597: [ObjC++] Conversions from specialized to non-specialized objective-c object type should be preferred over conversions to other object pointers.
Mon, Apr 3, 5:28 AM

Fri, Mar 31

arphaman committed rL299226: [Modules][PCH] Serialize #pragma pack.
[Modules][PCH] Serialize #pragma pack
Fri, Mar 31, 8:49 AM
arphaman closed D31241: [Modules][PCH] Serialize #pragma pack by committing rL299226: [Modules][PCH] Serialize #pragma pack.
Fri, Mar 31, 8:49 AM

Thu, Mar 30

arphaman committed rL299080: [ARC][ObjC++] Use ObjC semantic rules for comparisons between a pointer and.
[ARC][ObjC++] Use ObjC semantic rules for comparisons between a pointer and
Thu, Mar 30, 7:01 AM
arphaman closed D31177: [ARC][ObjC++] Use ObjC semantic rules for comparisons between a pointer and objective-c object pointer by committing rL299080: [ARC][ObjC++] Use ObjC semantic rules for comparisons between a pointer and.
Thu, Mar 30, 7:01 AM
arphaman committed rL299078: [Sema][ObjC] Avoid the "type of property does not match type of accessor".
[Sema][ObjC] Avoid the "type of property does not match type of accessor"
Thu, Mar 30, 6:46 AM
arphaman added inline comments to D30009: Add support for '#pragma clang attribute'.
Thu, Mar 30, 5:39 AM
arphaman updated the diff for D30009: Add support for '#pragma clang attribute'.

The rebased patch includes the following changes:

Thu, Mar 30, 5:39 AM

Mar 23 2017

arphaman updated the diff for D31177: [ARC][ObjC++] Use ObjC semantic rules for comparisons between a pointer and objective-c object pointer.

The condition in the if is now more clear.

Mar 23 2017, 5:07 AM
arphaman added inline comments to D31177: [ARC][ObjC++] Use ObjC semantic rules for comparisons between a pointer and objective-c object pointer.
Mar 23 2017, 5:06 AM
arphaman committed rL298589: Support attributes for Objective-C categories.
Support attributes for Objective-C categories
Mar 23 2017, 4:56 AM
arphaman closed D31179: Objective-C categories should support attributes by committing rL298589: Support attributes for Objective-C categories.
Mar 23 2017, 4:56 AM
arphaman committed rL298588: [CodeGen] Emit a CoreFoundation link guard when @available is used.
[CodeGen] Emit a CoreFoundation link guard when @available is used
Mar 23 2017, 4:27 AM
arphaman closed D30977: [CodeGen] Emit a CoreFoundation link guard when @available is used by committing rL298588: [CodeGen] Emit a CoreFoundation link guard when @available is used.
Mar 23 2017, 4:26 AM
arphaman added inline comments to D31235: Enhance -Wshadow to warn when shadowing typedefs or type aliases.
Mar 23 2017, 4:23 AM
arphaman committed rL298587: [ObjC][ARC] Avoid -Warc-performSelector-leaks for performSelector variations.
[ObjC][ARC] Avoid -Warc-performSelector-leaks for performSelector variations
Mar 23 2017, 3:58 AM

Mar 22 2017

arphaman added inline comments to D31235: Enhance -Wshadow to warn when shadowing typedefs or type aliases.
Mar 22 2017, 11:20 AM
arphaman created D31241: [Modules][PCH] Serialize #pragma pack.
Mar 22 2017, 7:43 AM
arphaman committed rL298493: [Serialization] Serialize DependentSizedExtVectorType.
[Serialization] Serialize DependentSizedExtVectorType
Mar 22 2017, 3:17 AM
arphaman closed D31134: [Serialization] Serialize DependentSizedExtVectorType by committing rL298493: [Serialization] Serialize DependentSizedExtVectorType.
Mar 22 2017, 3:17 AM
arphaman added a comment to D31235: Enhance -Wshadow to warn when shadowing typedefs or type aliases.

Please update the patch to include the full context (git diff -U999999).

Mar 22 2017, 3:01 AM

Mar 21 2017

arphaman added inline comments to D31179: Objective-C categories should support attributes.
Mar 21 2017, 11:09 AM
arphaman added a comment to D30009: Add support for '#pragma clang attribute'.

I would be ok with that. We could merge apply_to and apply_only_to into a single apply_to matching rule set specifier (it would behave like apply_only_to).

That sounds sensible to me.

I guess one downside would be is that it will become harder to fill out all the match rules if one wants to apply an attribute to all possible declarations. I suppose the attribute documentation generator can be updated to include the full match rule set for each attribute instead of just yes/no in the #pragma clang attribute documentation column.

Okay, so here's a possibly crazy idea (and it may be way too magical): what if #pragma clang attribute push(foo) generated the fix-it hint to suggest all of the targets the attribute can apply to? Alternatively, what if any malformed parsing of #pragma clang attribute push(foo) automatically do this? We know the user is trying to apply attributes to declarations, and we know which attribute they're trying for, so it somewhat stands to reason that the rest of the syntax can be supplied for them... and we need *something* in apply_to, so why not default to everything?

Mar 21 2017, 10:23 AM
arphaman added a comment to D31187: Fix removal of out-of-line definitions..

Is it possible to test this change?

Mar 21 2017, 7:20 AM
arphaman added a comment to D31179: Objective-C categories should support attributes.

Sorry about an empty body, I had a keyboard malfunction. I have updated the patch now.

Mar 21 2017, 4:42 AM
arphaman retitled D31179: Objective-C categories should support attributes from Objective-C categ to Objective-C categories should support attributes.
Mar 21 2017, 4:41 AM
arphaman created D31179: Objective-C categories should support attributes.
Mar 21 2017, 4:39 AM