Page MenuHomePhabricator

doug.gregor (Doug Gregor)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 17 2012, 3:26 PM (432 w, 8 h)

Recent Activity

Sep 14 2020

doug.gregor added a comment to D87534: Sema: introduce `__attribute__((__swift_name__))`.

Thank you for doing this!

Sep 14 2020, 9:29 AM · Restricted Project

Jul 24 2020

doug.gregor added a comment to D84005: Introduce ns_error_domain attribute..

@milseman, @doug.gregor, could you please help with the open questions on this review?

Specifically:

  • Is ns_error_domain ever needed for something other than an enum?
Jul 24 2020, 10:18 AM · Restricted Project

Jul 14 2020

GitHub <noreply@github.com> committed rGd110a843c5b0: Merge pull request #1384 from cachemeifyoucan/PR-compiler-rt-apple-silicon (authored by doug.gregor).
Merge pull request #1384 from cachemeifyoucan/PR-compiler-rt-apple-silicon
Jul 14 2020, 4:55 PM

Nov 22 2019

doug.gregor added a comment to D69420: [clang][clang-scan-deps] Add support for extracting full module dependencies..

It was already there from a previous commit. I see it in tree currently.

Nov 22 2019, 11:28 PM · Restricted Project
doug.gregor added a comment to D69420: [clang][clang-scan-deps] Add support for extracting full module dependencies..

It looks like Inputs/modules_cdb.json missing from this patch?

Nov 22 2019, 9:32 PM · Restricted Project

Oct 29 2019

GitHub <noreply@github.com> committed rG25515dfc107f: Merge pull request #185 from DougGregor/swift-bridged-typedef-upstream-fix (authored by doug.gregor).
Merge pull request #185 from DougGregor/swift-bridged-typedef-upstream-fix
Oct 29 2019, 4:14 PM
doug.gregor committed rGf04d1436b1ef: Fix addition of swift_bridged_typedef attribute. (authored by doug.gregor).
Fix addition of swift_bridged_typedef attribute.
Oct 29 2019, 4:14 PM
GitHub <noreply@github.com> committed rGfa192ed4f921: Merge pull request #183 from DougGregor/swift-bridged-typedef-upstream (authored by doug.gregor).
Merge pull request #183 from DougGregor/swift-bridged-typedef-upstream
Oct 29 2019, 4:14 PM
doug.gregor committed rGbca07f06d339: Add a new attribute swift_bridged_typedef for typedef bridging. (authored by doug.gregor).
Add a new attribute swift_bridged_typedef for typedef bridging.
Oct 29 2019, 4:13 PM
GitHub <noreply@github.com> committed rGe8fe4750443b: Merge pull request #87 from DougGregor/tuple-hashing-fix-upstream (authored by doug.gregor).
Merge pull request #87 from DougGregor/tuple-hashing-fix-upstream
Oct 29 2019, 4:12 PM
doug.gregor committed rG845f3829b915: [Hashing] Forward-declare hash_value for tuples. (authored by doug.gregor).
[Hashing] Forward-declare hash_value for tuples.
Oct 29 2019, 4:12 PM
doug.gregor committed rG3234acd64991: [Swift SE-0160] Add swift_objc_members attribute for Objective-C classes. (authored by doug.gregor).
[Swift SE-0160] Add swift_objc_members attribute for Objective-C classes.
Oct 29 2019, 2:34 PM
doug.gregor committed rG8a4d5cc26490: [API Notes] Add support for swift_objc_members attribute as SwiftObjCMembers. (authored by doug.gregor).
[API Notes] Add support for swift_objc_members attribute as SwiftObjCMembers.
Oct 29 2019, 2:34 PM
GitHub <noreply@github.com> committed rG0b668ac4bc4f: Merge pull request #62 from apple/apinotes-implicit-accessors (authored by doug.gregor).
Merge pull request #62 from apple/apinotes-implicit-accessors
Oct 29 2019, 2:20 PM
doug.gregor committed rG847e8814275d: [API Notes] Consult API notes for implicitly-declared property getter/setter. (authored by doug.gregor).
[API Notes] Consult API notes for implicitly-declared property getter/setter.
Oct 29 2019, 2:20 PM
GitHub <noreply@github.com> committed rG657ae91c97e5: Merge pull request #41 from apple/apinotes-override-types (authored by doug.gregor).
Merge pull request #41 from apple/apinotes-override-types
Oct 29 2019, 2:02 PM
doug.gregor committed rG239c40199eb1: [API Notes] Enable support for overriding the types of declarations. (authored by doug.gregor).
[API Notes] Enable support for overriding the types of declarations.
Oct 29 2019, 2:02 PM
doug.gregor committed rG09cdee995b9c: [API Notes] Add support for expressing the types of entities. (authored by doug.gregor).
[API Notes] Add support for expressing the types of entities.
Oct 29 2019, 2:02 PM
GitHub <noreply@github.com> committed rGc1a43972df8e: Merge pull request #35 from modocache/fix-trivial-whitespace-diff (authored by doug.gregor).
Merge pull request #35 from modocache/fix-trivial-whitespace-diff
Oct 29 2019, 1:59 PM
doug.gregor committed rG78bf8a182725: [API Notes] Remove comment for nonexistent parameter 'swiftVersion'. NFC (authored by doug.gregor).
[API Notes] Remove comment for nonexistent parameter 'swiftVersion'. NFC
Oct 29 2019, 1:53 PM
doug.gregor committed rGa29637f0515d: [API Notes] Add support for SwiftWrapper via API notes (authored by doug.gregor).
[API Notes] Add support for SwiftWrapper via API notes
Oct 29 2019, 1:53 PM
doug.gregor committed rGb930314f24e7: Fix a bad merge; swift_newtype doesn't imply xray_always_instrument (authored by doug.gregor).
Fix a bad merge; swift_newtype doesn't imply xray_always_instrument
Oct 29 2019, 1:53 PM
doug.gregor committed rG3ee59bc91b8a: [API Notes] Allow removal of SwiftPrivate via versioned API notes. (authored by doug.gregor).
[API Notes] Allow removal of SwiftPrivate via versioned API notes.
Oct 29 2019, 1:53 PM
doug.gregor committed rG7a9a24ecd8ed: [API Notes] Suppress an unused-variable warning when assertions are disabled. (authored by doug.gregor).
[API Notes] Suppress an unused-variable warning when assertions are disabled.
Oct 29 2019, 1:53 PM
doug.gregor committed rG31441f4eb943: [Driver] Propagate -fapinotes-swift-version=XX.YY to -cc1. (authored by doug.gregor).
[Driver] Propagate -fapinotes-swift-version=XX.YY to -cc1.
Oct 29 2019, 1:53 PM
doug.gregor committed rG679b3f556568: [API Notes] Allow removal of explicit attributes via versioned API notes. (authored by doug.gregor).
[API Notes] Allow removal of explicit attributes via versioned API notes.
Oct 29 2019, 1:53 PM
doug.gregor committed rG1e92684e88ab: [API Notes] Allow versioned API notes to override information in headers. (authored by doug.gregor).
[API Notes] Allow versioned API notes to override information in headers.
Oct 29 2019, 1:53 PM
doug.gregor committed rGe1edc62ef482: [API Notes] Fix serialization of FactoryAsInit data. (authored by doug.gregor).
[API Notes] Fix serialization of FactoryAsInit data.
Oct 29 2019, 1:52 PM
GitHub <noreply@github.com> committed rGa5b9da3737fb: Merge pull request #28 from DougGregor/upstream-versioned-apinotes (authored by doug.gregor).
Merge pull request #28 from DougGregor/upstream-versioned-apinotes
Oct 29 2019, 1:52 PM
doug.gregor committed rG49e71de6b635: [API Notes] Look for framework API notes in Headers/PrivateHeaders. (authored by doug.gregor).
[API Notes] Look for framework API notes in Headers/PrivateHeaders.
Oct 29 2019, 1:52 PM
doug.gregor committed rG11403d1119df: [API Notes] Add a command-line option for Swift version selection. (authored by doug.gregor).
[API Notes] Add a command-line option for Swift version selection.
Oct 29 2019, 1:52 PM
doug.gregor committed rG940124f4ac92: [Modules] Fix module hash computation when module file extensions are involved. (authored by doug.gregor).
[Modules] Fix module hash computation when module file extensions are involved.
Oct 29 2019, 1:52 PM
doug.gregor committed rG14fb7a6aef93: [API Notes] Add Swift versioning to API notes files (authored by doug.gregor).
[API Notes] Add Swift versioning to API notes files
Oct 29 2019, 1:52 PM
doug.gregor committed rG682653710c02: [API Notes] Ensure that modules get rebuilt when binary API notes change. (authored by doug.gregor).
[API Notes] Ensure that modules get rebuilt when binary API notes change.
Oct 29 2019, 1:51 PM
doug.gregor committed rG16a0f3116a96: [API Notes] Ensure that modules get rebuilt when API notes change. (authored by doug.gregor).
[API Notes] Ensure that modules get rebuilt when API notes change.
Oct 29 2019, 1:51 PM
doug.gregor committed rG10630737443b: [API Notes] Load both public and private API notes when they are present. (authored by doug.gregor).
[API Notes] Load both public and private API notes when they are present.
Oct 29 2019, 1:51 PM
doug.gregor committed rGb772be2c2a9e: [API Notes] Load API notes from framework/header search paths. (authored by doug.gregor).
[API Notes] Load API notes from framework/header search paths.
Oct 29 2019, 1:51 PM
doug.gregor committed rG22fe14c242f8: [API Notes] Use std::make_tuple to unbreak libstdc++ build. (authored by doug.gregor).
[API Notes] Use std::make_tuple to unbreak libstdc++ build.
Oct 29 2019, 1:50 PM
doug.gregor committed rG16ca907a8533: Fix bad code-motion (authored by doug.gregor).
Fix bad code-motion
Oct 29 2019, 1:50 PM
GitHub <noreply@github.com> committed rG4df85351cc0b: Merge pull request #25 from DougGregor/apinotes-class-properties (authored by doug.gregor).
Merge pull request #25 from DougGregor/apinotes-class-properties
Oct 29 2019, 1:50 PM
doug.gregor committed rG098bcad53ea7: [APINotes] Add support for distinguishing class vs. instance properties. (authored by doug.gregor).
[APINotes] Add support for distinguishing class vs. instance properties.
Oct 29 2019, 1:50 PM
GitHub <noreply@github.com> committed rG0beb0888cb81: Merge pull request #23 from DougGregor/tuple-hashing (authored by doug.gregor).
Merge pull request #23 from DougGregor/tuple-hashing
Oct 29 2019, 1:50 PM
doug.gregor committed rG4a1b4edbe1d1: Add hash_value support for tuples. (authored by doug.gregor).
Add hash_value support for tuples.
Oct 29 2019, 1:50 PM
doug.gregor committed rG8a3d10919b3b: [API Notes] Add support for parameters, 'noescape' attribute <rdar… (authored by doug.gregor).
[API Notes] Add support for parameters, 'noescape' attribute <rdar…
Oct 29 2019, 1:33 PM
doug.gregor committed rG9798ae228129: [API Notes] Add support for the ns_error_domain attribute. (authored by doug.gregor).
[API Notes] Add support for the ns_error_domain attribute.
Oct 29 2019, 1:32 PM
doug.gregor added a comment to D69354: Make coding standards document more inclusive.

Can this get merged now?

Oct 29 2019, 1:21 PM · Restricted Project
doug.gregor committed rG0a395e26f527: [API Notes] Add support for SwiftPrivate -> swift_private (authored by doug.gregor).
[API Notes] Add support for SwiftPrivate -> swift_private
Oct 29 2019, 1:13 PM
doug.gregor committed rG4be3aa4419ed: [API notes] Process API notes for enumerators. (authored by doug.gregor).
[API notes] Process API notes for enumerators.
Oct 29 2019, 1:07 PM
doug.gregor committed rGedef80528ccb: [API notes] Make sure to remove our module caches before running tests. (authored by doug.gregor).
[API notes] Make sure to remove our module caches before running tests.
Oct 29 2019, 1:06 PM
doug.gregor committed rGe780b78883bb: Ignore redundant, implicit swift_name attributes. (authored by doug.gregor).
Ignore redundant, implicit swift_name attributes.
Oct 29 2019, 1:06 PM
doug.gregor committed rGffe0b11e1fc9: [Objective-C] Introduce objc_runtime_visible attribute. (authored by doug.gregor).
[Objective-C] Introduce objc_runtime_visible attribute.
Oct 29 2019, 1:05 PM
doug.gregor committed rGc9b36058aa7c: [API notes] Allow tags and typedefs to have the same name. (authored by doug.gregor).
[API notes] Allow tags and typedefs to have the same name.
Oct 29 2019, 1:03 PM
doug.gregor committed rGee44727d08e9: [API Notes] Document enumerators. NFC (authored by doug.gregor).
[API Notes] Document enumerators. NFC
Oct 29 2019, 1:03 PM
doug.gregor committed rG28251dbad197: [API Notes] Add support for enumerators. (authored by doug.gregor).
[API Notes] Add support for enumerators.
Oct 29 2019, 1:03 PM
doug.gregor committed rG12023f3bbf7d: [API Notes] Add support for tags (struct/union/enum/C++ class) and typedefs. (authored by doug.gregor).
[API Notes] Add support for tags (struct/union/enum/C++ class) and typedefs.
Oct 29 2019, 1:03 PM
doug.gregor committed rG44deacba2206: [API Notes] Fix compilation error reported in rdar://problem/25219276. (authored by doug.gregor).
[API Notes] Fix compilation error reported in rdar://problem/25219276.
Oct 29 2019, 1:00 PM
doug.gregor committed rGd2239ed7116a: [Swift] swift_bridge can apply to ObjCInterfaceDecls, of course. (authored by doug.gregor).
[Swift] swift_bridge can apply to ObjCInterfaceDecls, of course.
Oct 29 2019, 1:00 PM
doug.gregor committed rG1da22bceff45: [Swift] Add swift_bridge attribute for bridging Objective-C types to Swift. (authored by doug.gregor).
[Swift] Add swift_bridge attribute for bridging Objective-C types to Swift.
Oct 29 2019, 12:58 PM
doug.gregor committed rG51e294ac7343: [Swift] Extend swift_name to support getters and setters. (authored by doug.gregor).
[Swift] Extend swift_name to support getters and setters.
Oct 29 2019, 12:55 PM
doug.gregor committed rG3d7dd666a38e: [Swift] Extend swift_name attribute to describe members. (authored by doug.gregor).
[Swift] Extend swift_name attribute to describe members.
Oct 29 2019, 12:55 PM
doug.gregor committed rG91b20c157854: [API Notes] Add support for SwiftName on anything, which maps to the swift_name… (authored by doug.gregor).
[API Notes] Add support for SwiftName on anything, which maps to the swift_name…
Oct 29 2019, 12:52 PM
doug.gregor committed rG38ca04ce3ef9: Add "nonswift" availability mapping to Swift unavailability. (authored by doug.gregor).
Add "nonswift" availability mapping to Swift unavailability.
Oct 29 2019, 12:50 PM
doug.gregor committed rG68da16cdc07e: Map FactoryAsInit: C to a hidden attribute. (authored by doug.gregor).
Map FactoryAsInit: C to a hidden attribute.
Oct 29 2019, 12:50 PM
doug.gregor committed rG0ea15e7d7749: Add -iapinotes-modules search path option. (authored by doug.gregor).
Add -iapinotes-modules search path option.
Oct 29 2019, 12:50 PM
doug.gregor committed rG163144e01437: Fix for compiling with MSVC, from @vitalyster (authored by doug.gregor).
Fix for compiling with MSVC, from @vitalyster
Oct 29 2019, 12:50 PM
doug.gregor committed rGcbd2ddc7239f: Add __has_feature(generalized_swift_name). (authored by doug.gregor).
Add __has_feature(generalized_swift_name).
Oct 29 2019, 12:27 PM
doug.gregor committed rGa638ca108f80: Merge remote-tracking branch 'upstream/master' into upstream-with-swift (authored by doug.gregor).
Merge remote-tracking branch 'upstream/master' into upstream-with-swift
Oct 29 2019, 12:26 PM

Jan 23 2019

doug.gregor accepted D57076: [ObjC generics] Fix applying `__kindof` to the type parameter..

One minor request about regarding a dyn_cast, but this looks like the right approach. Thank you!

Jan 23 2019, 9:56 PM · Restricted Project

Apr 18 2018

doug.gregor accepted D44670: [CXX] Templates specialization visibility can be wrong.

LGTM, thanks

Apr 18 2018, 10:24 PM

Apr 17 2018

doug.gregor added inline comments to D44670: [CXX] Templates specialization visibility can be wrong.
Apr 17 2018, 3:44 PM

Feb 13 2018

doug.gregor accepted D43239: Improve internal StringSwitch code gen with Optional<T>.

Heh, I was probably thinking that one might want to produce references, but I don’t anyone does. I do think it would be valuable to make the parameters “T value” instead of “const T value”, and std::move them into place when we find a match.

Feb 13 2018, 12:06 PM

Oct 24 2017

doug.gregor added a comment to D36790: [ObjC] Messages to 'self' in class methods that return 'instancetype' should use the pointer to the class as the result type of the message.

Yes, I think it's reasonable to treat instancetype as an inherited requirement. I guess the only exception would be if we had some notion of final classes or methods in Objective-C, in which case they'd be able to return a concrete type.

Oct 24 2017, 9:49 AM

Sep 14 2017

doug.gregor accepted D37089: [Sema] Error out early for tags defined inside an enumeration..

Looks good to me; sorry for the delay.

Sep 14 2017, 3:19 PM

Aug 10 2017

doug.gregor added a comment to D36530: [Parse] Document PrintStats, SkipFunctionBodies.

LGTM, thank you!

Aug 10 2017, 8:53 AM

Jul 26 2017

doug.gregor added a comment to D35923: Fix PR32332 - PCM nondeterminism with builtins caused by global module index .

I am *very* concerned about this. The optimization that avoids doing lookups within module files where we "know" we won't find anything was very important at the time it was introduced, so I'd like to understand better why it didn't make a significant difference in your benchmarks before we disable it. (Especially because of built-ins; those are Very Weird and probably modeled wrong).

Jul 26 2017, 4:56 PM

Jul 5 2017

doug.gregor closed D34996: Customize the SFINAE diagnostics for enable_if to provide the failed condition..

Committed as r307196 and r307197

Jul 5 2017, 1:22 PM · Restricted Project
doug.gregor added a comment to D34996: Customize the SFINAE diagnostics for enable_if to provide the failed condition..

Yes, digging into a static_assert to determine which condition caused it to fail would be quite useful QoI, and it should be fairly easy to use this mechanism to do that. We might want to dig one level deeper to give more information, e.g., static_assert(Comparable<T>) could look into the definition of Comparable<T> to see which piece of it failed.

Jul 5 2017, 9:29 AM · Restricted Project
doug.gregor added inline comments to D34996: Customize the SFINAE diagnostics for enable_if to provide the failed condition..
Jul 5 2017, 9:16 AM · Restricted Project

Jul 4 2017

doug.gregor created D34996: Customize the SFINAE diagnostics for enable_if to provide the failed condition..
Jul 4 2017, 11:26 PM · Restricted Project

Jun 28 2017

doug.gregor accepted D34741: [ASTReader] Treat multiple defns of ObjC protocols the same as interfaces..

Looks great!

Jun 28 2017, 10:12 AM

Mar 29 2017

doug.gregor accepted D31378: [PCH] Attach instance's dependency collectors to PCH external AST sources..

LGTM!

Mar 29 2017, 9:50 AM

Jan 5 2017

doug.gregor added a comment to D28349: [Frontend] The macro that describes the Objective-C bool type should be defined in C as well.

The "!LangOpts.CPlusPlus" doesn't make sense to me. You're presumably defining this macro in C because the Objective-C runtime is usable from C, but that same logic applies to C++ code. It seems like we should be defining this macro unconditionally.

Jan 5 2017, 8:54 AM

Dec 8 2016

doug.gregor accepted D27580: [modules] Add optional out-param to ASTReader::ReadAST for imported submodules..

LGTM!

Dec 8 2016, 10:21 AM

Nov 10 2016

doug.gregor accepted rL286542: Don't require nullability on 'va_list', even when it's a pointer..

Yeah, LGTM.

Nov 10 2016, 9:23 PM

Nov 9 2016

doug.gregor accepted D26227: Don't require nullability on 'va_list'..

I don't see a better way to do this. Nice meta programming hack.

Nov 9 2016, 1:17 PM
doug.gregor accepted D26109: Warn when 'assume_nonnull' infers nullability within an array..

LGTM!

Nov 9 2016, 1:15 PM
doug.gregor accepted D26108: Add -Wnullability-completeness-on-arrays..

Looks good! I appreciate the refactoring of recordNullabilitySeen

Nov 9 2016, 1:07 PM
doug.gregor accepted D25850: Accept nullability annotations (_Nullable) on array parameters.

This is looking great, Jordan.

Nov 9 2016, 11:49 AM

Nov 1 2016

doug.gregor accepted D26226: Don't require nullability on template parameters in typedefs..

Seem fine; I'd rename the "FIXME" to a "Note" unless you're going to pass a flag to Type::canHaveNullability to say how to classify dependent types.

Nov 1 2016, 10:57 PM

Oct 19 2016

doug.gregor added a comment to D24902: A couple small inconsequential fixes.

Do any of the regression tests make use of this diagnostic? They might have to change their "expected-error" checks to look for the corrected wording.

Oct 19 2016, 9:39 AM

Sep 12 2016

doug.gregor accepted D24059: NFC: refactor applyObjCProtocolQualifiers from SemaType.cpp to ASTContext so it can be shared..

Yep, this refactor looks good!

Sep 12 2016, 4:07 PM
doug.gregor accepted D23080: ObjC: Use a new type for ObjC type parameter (patch 3 out of 3).

Ahhh, much cleaner. Thanks!

Sep 12 2016, 4:06 PM
doug.gregor accepted D23079: ObjC: Use a new type for ObjC type parameter (patch 2 out of 3).

This looks great, thank you!

Sep 12 2016, 4:05 PM
doug.gregor accepted D23852: [SemaObjC] Fix crash while parsing type arguments and protocols.

I don't love the fact that it makes callers fragile, but having to do tentative parsing for these otherwise-unambiguous cases is expensive (in compile time). We should only use tentative parsing when we have an actual ambiguity to resolve.

Sep 12 2016, 3:49 PM

Aug 25 2016

doug.gregor added a comment to D23852: [SemaObjC] Fix crash while parsing type arguments and protocols.

This will work, but it's *really* unfortunate to put tentative parsing into this code path because tentative parsing is far from free, and specialized Objective-C types are getting pretty common in Objective-C headers. Why can't the callers be taught to handle EOF and bail out?

Aug 25 2016, 9:16 AM

Aug 23 2016

doug.gregor added inline comments to D23079: ObjC: Use a new type for ObjC type parameter (patch 2 out of 3).
Aug 23 2016, 3:46 PM

Aug 19 2016

doug.gregor requested changes to D23080: ObjC: Use a new type for ObjC type parameter (patch 3 out of 3).

I think most of the complexity here will fold away when ObjCTypeParamType becomes sugar for the underlying ObjCObjectPointerType.

Aug 19 2016, 4:39 PM
doug.gregor requested changes to D23079: ObjC: Use a new type for ObjC type parameter (patch 2 out of 3).

A couple of comments above, but this is looking very good.

Aug 19 2016, 3:50 PM
doug.gregor accepted D23078: ObjC: Use a new type for ObjC type parameter (Patch 1 out of 3).

This refactor LGTM.

Aug 19 2016, 3:31 PM

Jul 19 2016

doug.gregor accepted D22392: [Sema] Fix an invalid nullability warning for binary conditional operators.

LGTM!

Jul 19 2016, 3:50 PM