Page MenuHomePhabricator
Feed Advanced Search

Thu, Jan 10

ahatanak committed rC350920: [Sema] Make canPassInRegisters return true if the CXXRecordDecl passed.
[Sema] Make canPassInRegisters return true if the CXXRecordDecl passed
Thu, Jan 10, 11:10 PM
ahatanak committed rL350920: [Sema] Make canPassInRegisters return true if the CXXRecordDecl passed.
[Sema] Make canPassInRegisters return true if the CXXRecordDecl passed
Thu, Jan 10, 11:10 PM
ahatanak committed rL350917: [Sema] If CheckPlaceholderExpr rewrites the initializer of an auto.
[Sema] If CheckPlaceholderExpr rewrites the initializer of an auto
Thu, Jan 10, 9:01 PM
ahatanak committed rC350917: [Sema] If CheckPlaceholderExpr rewrites the initializer of an auto.
[Sema] If CheckPlaceholderExpr rewrites the initializer of an auto
Thu, Jan 10, 9:01 PM
ahatanak committed rC350887: [Sema] Call CheckPlaceholderExpr to resolve typeof or decltype.
[Sema] Call CheckPlaceholderExpr to resolve typeof or decltype
Thu, Jan 10, 12:16 PM
ahatanak committed rL350887: [Sema] Call CheckPlaceholderExpr to resolve typeof or decltype.
[Sema] Call CheckPlaceholderExpr to resolve typeof or decltype
Thu, Jan 10, 12:16 PM
ahatanak closed D55662: [Sema] If CheckPlaceholderExpr rewrites a placeholder expression when the type of an auto variable is being deduced, use the rewritten expression when performing initialization of the variable..
Thu, Jan 10, 12:16 PM · Restricted Project

Wed, Jan 9

ahatanak added a comment to D55662: [Sema] If CheckPlaceholderExpr rewrites a placeholder expression when the type of an auto variable is being deduced, use the rewritten expression when performing initialization of the variable..

Oh, and please update the commit message to primarily talk about the changes to placeholder checking. You can discuss the impact on the repeated-use-of-weak warning in a follow-up paragraph.

Wed, Jan 9, 9:29 PM · Restricted Project
ahatanak updated the diff for D55662: [Sema] If CheckPlaceholderExpr rewrites a placeholder expression when the type of an auto variable is being deduced, use the rewritten expression when performing initialization of the variable..

Pass Init by reference and use the rewritten expression returned in it to perform variable initialization. Add a test case that tests new expression with auto types.

Wed, Jan 9, 9:15 PM · Restricted Project

Tue, Jan 8

ahatanak accepted D56445: [Sema] Teach Clang that aligned allocation is not supported with macosx10.13.

We should probably check that alignedAllocMinVersion returns the correct versions for other OSes too, but this patch is fine.

Tue, Jan 8, 11:32 AM

Mon, Jan 7

ahatanak updated the diff for D55662: [Sema] If CheckPlaceholderExpr rewrites a placeholder expression when the type of an auto variable is being deduced, use the rewritten expression when performing initialization of the variable..

Make deduceVarTypeFromInitializer and DeduceVariableDeclarationType return the new initialization expression and use it in Sema::AddInitializerToDecl. Add a test case that tests lambda capture with an initializer.

Mon, Jan 7, 5:56 PM · Restricted Project
ahatanak added a comment to D55662: [Sema] If CheckPlaceholderExpr rewrites a placeholder expression when the type of an auto variable is being deduced, use the rewritten expression when performing initialization of the variable..

We can make DeduceVariableDeclarationType return the rewritten expression and replace Init in Sema::AddInitializerToDecl with it.

Mon, Jan 7, 12:05 PM · Restricted Project

Fri, Jan 4

ahatanak added a comment to D55662: [Sema] If CheckPlaceholderExpr rewrites a placeholder expression when the type of an auto variable is being deduced, use the rewritten expression when performing initialization of the variable..

Hmm. Are we resolving the placeholder expression twice here? That might be the basic problem.

Fri, Jan 4, 6:38 PM · Restricted Project
ahatanak added a comment to rL344207: Distinguish between library and language support for aligned allocation..

I'm not sure whether this is something libc++ (as opposed to the compiler) should handle or not. I just wanted to understand what the expected behavior is first.

Fri, Jan 4, 4:46 PM
ahatanak updated subscribers of rL344207: Distinguish between library and language support for aligned allocation..

It seems like this patch causes clang to accept the following code when compiled with -std=c++11. Is this the expected behavior? Shouldn't the compiler reject the code if it's not compiled with -std=c++17 or newer?

Fri, Jan 4, 4:20 PM

Thu, Jan 3

ahatanak added a comment to D55662: [Sema] If CheckPlaceholderExpr rewrites a placeholder expression when the type of an auto variable is being deduced, use the rewritten expression when performing initialization of the variable..

I think you could just disable the diagnostic in an unevaluated context.

Thu, Jan 3, 9:49 PM · Restricted Project
ahatanak updated the diff for D55662: [Sema] If CheckPlaceholderExpr rewrites a placeholder expression when the type of an auto variable is being deduced, use the rewritten expression when performing initialization of the variable..

Do not record use of weak variables when the type of an auto variable is being deduced.

Thu, Jan 3, 6:10 PM · Restricted Project

Wed, Jan 2

ahatanak accepted D56235: Teach ObjCARC optimizer about equivalent PHIs when eliminating autoreleaseRV/retainRV pairs.
Wed, Jan 2, 5:33 PM
ahatanak added a comment to D56235: Teach ObjCARC optimizer about equivalent PHIs when eliminating autoreleaseRV/retainRV pairs.

LGTM

Wed, Jan 2, 5:33 PM

Sat, Dec 29

ahatanak committed rC350157: [CodeGen] Replace '@' characters in block descriptors' symbol names with.
[CodeGen] Replace '@' characters in block descriptors' symbol names with
Sat, Dec 29, 9:33 AM
ahatanak committed rL350157: [CodeGen] Replace '@' characters in block descriptors' symbol names with.
[CodeGen] Replace '@' characters in block descriptors' symbol names with
Sat, Dec 29, 9:32 AM
ahatanak closed D54539: [CodeGen] Replace '@' characters in block descriptors' symbol names with '\1' on ELF targets..
Sat, Dec 29, 9:32 AM · Restricted Project
ahatanak updated the diff for D54539: [CodeGen] Replace '@' characters in block descriptors' symbol names with '\1' on ELF targets..

Sorry for the delay. The updated patch replaces '@' with '\1' on all targets.

Sat, Dec 29, 7:13 AM · Restricted Project

Thu, Dec 20

ahatanak committed rC349890: [Sema] Produce diagnostics when C++17 aligned allocation/deallocation.
[Sema] Produce diagnostics when C++17 aligned allocation/deallocation
Thu, Dec 20, 11:09 PM
ahatanak committed rL349890: [Sema] Produce diagnostics when C++17 aligned allocation/deallocation.
[Sema] Produce diagnostics when C++17 aligned allocation/deallocation
Thu, Dec 20, 11:09 PM
ahatanak closed D47757: [Sema] Produce diagnostics when unavailable aligned allocation/deallocation functions are called.
Thu, Dec 20, 11:09 PM
ahatanak added a comment to D55662: [Sema] If CheckPlaceholderExpr rewrites a placeholder expression when the type of an auto variable is being deduced, use the rewritten expression when performing initialization of the variable..

Okay. You may need to push an unevaluated context when doing that.

Since I'm just moving the call to CheckPlaceholderExpr to the call site, I don't think I have to push an unevaluated context there?

Hmm. Right, for the auto inference specifically it's fine because the expression is in fact evaluated: we're not just eliminating placeholders in order to resolve decltype, we're eliminating placeholders to actually figure out what's going on with the initialization.

Thu, Dec 20, 9:39 PM · Restricted Project
ahatanak updated the diff for D47757: [Sema] Produce diagnostics when unavailable aligned allocation/deallocation functions are called.

Check whether the declaration passed to Sema::CanUseDecl is an aligned allocation/deallocation function that is unavailable.

Thu, Dec 20, 4:11 PM

Wed, Dec 19

ahatanak added a comment to D55662: [Sema] If CheckPlaceholderExpr rewrites a placeholder expression when the type of an auto variable is being deduced, use the rewritten expression when performing initialization of the variable..

Okay. You may need to push an unevaluated context when doing that.

Wed, Dec 19, 1:53 PM · Restricted Project
ahatanak updated the diff for D55662: [Sema] If CheckPlaceholderExpr rewrites a placeholder expression when the type of an auto variable is being deduced, use the rewritten expression when performing initialization of the variable..

Remove the call to CheckPlaceholderExpr in Sema::BuildDecltypeType and move it to Sema::DeduceAutoType. Assert that the expression that is passed to Sema::BuildDecltypeType isn't a placeholder.

Wed, Dec 19, 1:49 PM · Restricted Project

Tue, Dec 18

ahatanak added a comment to D55662: [Sema] If CheckPlaceholderExpr rewrites a placeholder expression when the type of an auto variable is being deduced, use the rewritten expression when performing initialization of the variable..

Sorry, please ignore my previous comment. I was looking at the wrong place.

Tue, Dec 18, 3:15 PM · Restricted Project
ahatanak added a comment to D55662: [Sema] If CheckPlaceholderExpr rewrites a placeholder expression when the type of an auto variable is being deduced, use the rewritten expression when performing initialization of the variable..

Here are a couple of examples I found running the regression tests:

Tue, Dec 18, 12:52 PM · Restricted Project

Dec 14 2018

ahatanak added inline comments to D55662: [Sema] If CheckPlaceholderExpr rewrites a placeholder expression when the type of an auto variable is being deduced, use the rewritten expression when performing initialization of the variable..
Dec 14 2018, 10:56 PM · Restricted Project
ahatanak updated the diff for D55662: [Sema] If CheckPlaceholderExpr rewrites a placeholder expression when the type of an auto variable is being deduced, use the rewritten expression when performing initialization of the variable..

Call CheckPlaceholderExpr instead of pushing an unevaluated evaluation context.

Dec 14 2018, 10:49 PM · Restricted Project
ahatanak added a comment to D55544: Warning: objc-encodings-larger-than=.

The patch looks largely fine to me.

Dec 14 2018, 4:41 PM · Restricted Project

Dec 13 2018

ahatanak created D55662: [Sema] If CheckPlaceholderExpr rewrites a placeholder expression when the type of an auto variable is being deduced, use the rewritten expression when performing initialization of the variable..
Dec 13 2018, 11:20 AM · Restricted Project
ahatanak added a comment to D55659: [Sema][ObjC] Disallow non-trivial C struct fields in unions.

Just to clarify, this patch doesn't change clang's handling of C++ unions that have non-static data members with non-trivial special member functions.

Dec 13 2018, 9:51 AM · Restricted Project
ahatanak created D55659: [Sema][ObjC] Disallow non-trivial C struct fields in unions.
Dec 13 2018, 9:33 AM · Restricted Project

Dec 10 2018

ahatanak added a comment to D47757: [Sema] Produce diagnostics when unavailable aligned allocation/deallocation functions are called.

ping

Dec 10 2018, 8:50 AM

Dec 9 2018

ahatanak accepted D55348: Change the objc ARC optimizer to use the new objc.* intrinsics.

LGTM

Dec 9 2018, 11:19 PM

Dec 4 2018

ahatanak accepted D55233: Add objc_retain and objc_release intrinsics and codegen them to their runtime methods.

LGTM

Dec 4 2018, 10:04 AM

Dec 3 2018

ahatanak added inline comments to D55233: Add objc_retain and objc_release intrinsics and codegen them to their runtime methods.
Dec 3 2018, 4:37 PM

Nov 30 2018

ahatanak updated the diff for D47757: [Sema] Produce diagnostics when unavailable aligned allocation/deallocation functions are called.

I've reverted the changes I made to test/SemaCUDA/call-host-fn-from-device.cu since r342749 fixed the overload resolution bug.

Nov 30 2018, 3:19 PM

Nov 14 2018

ahatanak added a comment to D54539: [CodeGen] Replace '@' characters in block descriptors' symbol names with '\1' on ELF targets..

This should not be changing the actual @-encoding value. If we want to use the @-encoding in the symbol name, we can change it when naming the symbol, provided that \1 is not legal in the @encoding.

Nov 14 2018, 2:37 PM · Restricted Project
ahatanak created D54539: [CodeGen] Replace '@' characters in block descriptors' symbol names with '\1' on ELF targets..
Nov 14 2018, 12:53 PM · Restricted Project

Nov 5 2018

ahatanak committed rL346212: Cast to uint64_t instead of to unsigned..
Cast to uint64_t instead of to unsigned.
Nov 5 2018, 11:15 PM
ahatanak committed rC346212: Cast to uint64_t instead of to unsigned..
Cast to uint64_t instead of to unsigned.
Nov 5 2018, 11:15 PM
ahatanak committed rL346211: os_log: Allow specifying mask type in format string..
os_log: Allow specifying mask type in format string.
Nov 5 2018, 11:07 PM
ahatanak committed rC346211: os_log: Allow specifying mask type in format string..
os_log: Allow specifying mask type in format string.
Nov 5 2018, 11:07 PM
ahatanak committed rL346210: os_log: Add a new privacy annotation "sensitive"..
os_log: Add a new privacy annotation "sensitive".
Nov 5 2018, 10:28 PM
ahatanak committed rC346210: os_log: Add a new privacy annotation "sensitive"..
os_log: Add a new privacy annotation "sensitive".
Nov 5 2018, 10:28 PM
ahatanak committed rC346209: os_log: Minor code cleanups. NFC..
os_log: Minor code cleanups. NFC.
Nov 5 2018, 9:43 PM
ahatanak committed rL346209: os_log: Minor code cleanups. NFC..
os_log: Minor code cleanups. NFC.
Nov 5 2018, 9:43 PM

Oct 30 2018

ahatanak added a comment to D53860: [SemaCXX] Don't check base's dtor is accessible.

http://wg21.link/p0968r0#2227 says:

Oct 30 2018, 11:19 AM

Oct 20 2018

ahatanak committed rCTE344856: Check that __MAC_OS_X_VERSION_MIN_REQUIRED is defined before checking.
Check that __MAC_OS_X_VERSION_MIN_REQUIRED is defined before checking
Oct 20 2018, 10:38 AM
ahatanak committed rL344856: Check that __MAC_OS_X_VERSION_MIN_REQUIRED is defined before checking.
Check that __MAC_OS_X_VERSION_MIN_REQUIRED is defined before checking
Oct 20 2018, 10:37 AM

Oct 19 2018

ahatanak committed rC344833: [CodeGen] Use the mangle context owned by CodeGenModule to correctly.
[CodeGen] Use the mangle context owned by CodeGenModule to correctly
Oct 19 2018, 10:47 PM
ahatanak committed rL344833: [CodeGen] Use the mangle context owned by CodeGenModule to correctly.
[CodeGen] Use the mangle context owned by CodeGenModule to correctly
Oct 19 2018, 10:47 PM
ahatanak committed rCTE344827: Disable unittests/clangd/JSONTransportTests.cpp on versions of macosx.
Disable unittests/clangd/JSONTransportTests.cpp on versions of macosx
Oct 19 2018, 7:14 PM
ahatanak committed rL344827: Disable unittests/clangd/JSONTransportTests.cpp on versions of macosx.
Disable unittests/clangd/JSONTransportTests.cpp on versions of macosx
Oct 19 2018, 7:13 PM

Oct 11 2018

ahatanak added a comment to D53154: [CodeGen] Handle extern references to OBJC_CLASS_$_*.

LGTM

Oct 11 2018, 11:24 PM

Oct 1 2018

ahatanak committed rC343556: [CodeGen] Before entering the loop that copies a non-trivial array field.
[CodeGen] Before entering the loop that copies a non-trivial array field
Oct 1 2018, 6:02 PM
ahatanak committed rL343556: [CodeGen] Before entering the loop that copies a non-trivial array field.
[CodeGen] Before entering the loop that copies a non-trivial array field
Oct 1 2018, 6:02 PM
ahatanak committed rL343542: Distinguish `__block` variables that are captured by escaping blocks.
Distinguish `__block` variables that are captured by escaping blocks
Oct 1 2018, 2:54 PM
ahatanak committed rC343542: Distinguish `__block` variables that are captured by escaping blocks.
Distinguish `__block` variables that are captured by escaping blocks
Oct 1 2018, 2:54 PM
ahatanak committed rL343531: Revert r343518..
Revert r343518.
Oct 1 2018, 1:31 PM
ahatanak committed rC343531: Revert r343518..
Revert r343518.
Oct 1 2018, 1:31 PM
ahatanak committed rL343518: Distinguish `__block` variables that are captured by escaping blocks.
Distinguish `__block` variables that are captured by escaping blocks
Oct 1 2018, 11:52 AM
ahatanak committed rC343518: Distinguish `__block` variables that are captured by escaping blocks.
Distinguish `__block` variables that are captured by escaping blocks
Oct 1 2018, 11:52 AM

Sep 8 2018

ahatanak committed rL341757: Revert r341754..
Revert r341754.
Sep 8 2018, 10:24 PM
ahatanak committed rC341757: Revert r341754..
Revert r341754.
Sep 8 2018, 10:24 PM
ahatanak committed rC341754: Distinguish `__block` variables that are captured by escaping blocks.
Distinguish `__block` variables that are captured by escaping blocks
Sep 8 2018, 1:06 PM
ahatanak committed rL341754: Distinguish `__block` variables that are captured by escaping blocks.
Distinguish `__block` variables that are captured by escaping blocks
Sep 8 2018, 1:06 PM
ahatanak closed D51564: Distinguish `__block` variables that are captured by escaping blocks from those that aren't.
Sep 8 2018, 1:06 PM

Sep 6 2018

ahatanak committed rL341629: [Sema] Check that the destructor for each element of class type is.
[Sema] Check that the destructor for each element of class type is
Sep 6 2018, 7:39 PM
ahatanak committed rC341629: [Sema] Check that the destructor for each element of class type is.
[Sema] Check that the destructor for each element of class type is
Sep 6 2018, 7:39 PM
ahatanak closed D45898: [SemaCXX] Mark destructor as referenced .
Sep 6 2018, 7:39 PM

Sep 5 2018

ahatanak added inline comments to D51564: Distinguish `__block` variables that are captured by escaping blocks from those that aren't.
Sep 5 2018, 10:32 AM
ahatanak updated the diff for D51564: Distinguish `__block` variables that are captured by escaping blocks from those that aren't.

Address review comments. Fix bugs in the handling of __block variables that have reference types.

Sep 5 2018, 10:32 AM

Sep 4 2018

ahatanak added inline comments to D45898: [SemaCXX] Mark destructor as referenced .
Sep 4 2018, 11:07 AM
ahatanak updated the diff for D45898: [SemaCXX] Mark destructor as referenced .

Point the diagnostic at either the relevant init list element or at the close brace.

Sep 4 2018, 11:07 AM

Aug 31 2018

ahatanak created D51564: Distinguish `__block` variables that are captured by escaping blocks from those that aren't.
Aug 31 2018, 6:11 PM
ahatanak updated the diff for D45898: [SemaCXX] Mark destructor as referenced .

Move the call that checks the element's destructor into InitListChecker::CheckStructUnionTypes.

Aug 31 2018, 5:36 PM
ahatanak added a comment to D50783: [CodeGen] Merge identical block descriptor global variables.

The GNUstep documentation I found replaces '@' with '\1'. Would that fix the problem?

Aug 31 2018, 11:36 AM

Aug 30 2018

ahatanak added a comment to D45898: [SemaCXX] Mark destructor as referenced .

ping

Aug 30 2018, 6:45 PM

Aug 28 2018

ahatanak committed rC340854: Define variables in test case rather than using values from functions.
Define variables in test case rather than using values from functions
Aug 28 2018, 11:19 AM
ahatanak committed rL340854: Define variables in test case rather than using values from functions.
Define variables in test case rather than using values from functions
Aug 28 2018, 11:19 AM

Aug 23 2018

ahatanak added a comment to D47757: [Sema] Produce diagnostics when unavailable aligned allocation/deallocation functions are called.
In D47757#1211276, @tra wrote:

I've confirmed that the patch does not break anything in our CUDA code, so it's good to go as far as CUDA is concerned.

Aug 23 2018, 4:05 PM

Aug 22 2018

ahatanak committed rC340408: [CodeGen] Look at the type of a block capture field rather than the type.
[CodeGen] Look at the type of a block capture field rather than the type
Aug 22 2018, 6:42 AM
ahatanak committed rL340408: [CodeGen] Look at the type of a block capture field rather than the type.
[CodeGen] Look at the type of a block capture field rather than the type
Aug 22 2018, 6:42 AM
ahatanak closed D51025: [CodeGen] Fix handling of variables captured by a block that is nested inside a lambda.
Aug 22 2018, 6:42 AM

Aug 21 2018

ahatanak accepted D51043: [clang][NFC] Fix typo in the name of a note.

Thanks. Yes, it's a typo.

Aug 21 2018, 8:52 AM

Aug 20 2018

ahatanak created D51025: [CodeGen] Fix handling of variables captured by a block that is nested inside a lambda.
Aug 20 2018, 11:53 PM

Aug 17 2018

ahatanak added a comment to D47757: [Sema] Produce diagnostics when unavailable aligned allocation/deallocation functions are called.

The code you showed does compile with or without -fcuda-is-device after applying my patch.

Aug 17 2018, 2:08 PM
ahatanak added a comment to D47757: [Sema] Produce diagnostics when unavailable aligned allocation/deallocation functions are called.
In D47757#1204561, @tra wrote:

It's a regression. There's a decent chance it breaks someone and this patch, if committed by itself, will end up being rolled back.

Aug 17 2018, 12:57 PM
ahatanak added a comment to D47757: [Sema] Produce diagnostics when unavailable aligned allocation/deallocation functions are called.

@tra and @rsmith: Can we move forward and fix the incorrect cuda diagnostics in a separate patch?

Aug 17 2018, 11:46 AM
ahatanak committed rC340041: [CodeGen] Merge identical block descriptor global variables..
[CodeGen] Merge identical block descriptor global variables.
Aug 17 2018, 8:47 AM
ahatanak committed rL340041: [CodeGen] Merge identical block descriptor global variables..
[CodeGen] Merge identical block descriptor global variables.
Aug 17 2018, 8:47 AM
ahatanak closed D50783: [CodeGen] Merge identical block descriptor global variables.
Aug 17 2018, 8:47 AM
ahatanak closed D50783: [CodeGen] Merge identical block descriptor global variables.
Aug 17 2018, 8:47 AM