Page MenuHomePhabricator

rsmith (Richard Smith - zygoloid)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 12 2012, 2:19 PM (444 w, 5 d)

Recent Activity

Today

rsmith added inline comments to D94732: [CUDA] Normalize handling of defauled dtor..
Tue, Jan 19, 5:50 PM · Restricted Project
rsmith added inline comments to D93095: Introduce -Wreserved-identifier.
Tue, Jan 19, 4:08 PM
rsmith added a comment to rG4b574008aef5: [c++20] P1907R1: Support for generalized non-type template arguments of scalar….

Should be fixed in 18e093faf726d15f210ab4917142beec51848258. Sorry I
overlooked your comment on the previous landing of this change.

Tue, Jan 19, 2:39 PM
rsmith committed rG18e093faf726: [msabi] Mangle a template argument referring to array-to-pointer decay (authored by rsmith).
[msabi] Mangle a template argument referring to array-to-pointer decay
Tue, Jan 19, 2:38 PM
rsmith added a comment to rG4b574008aef5: [c++20] P1907R1: Support for generalized non-type template arguments of scalar….

Thanks, looking.

Tue, Jan 19, 2:05 PM
rsmith added a reverting change for rGe3065ce23847: DR2064: decltype(E) is only a dependent type if E is type-dependent, not: rGda986511fb9d: Revert "DR2064: decltype(E) is only a dependent type if E is type-dependent, not.
Tue, Jan 19, 12:49 PM
rsmith committed rGda986511fb9d: Revert "DR2064: decltype(E) is only a dependent type if E is type-dependent, not (authored by rsmith).
Revert "DR2064: decltype(E) is only a dependent type if E is type-dependent, not
Tue, Jan 19, 12:49 PM
rsmith committed rG5a684b70dc74: Ensure we don't strip the ConstantExpr carrying a non-type template (authored by rsmith).
Ensure we don't strip the ConstantExpr carrying a non-type template
Tue, Jan 19, 12:49 PM
rsmith committed rG987760b463c1: [www] Fix background color in table cell. (authored by rsmith).
[www] Fix background color in table cell.
Tue, Jan 19, 11:04 AM
rsmith requested review of D94987: DR39: Perform ambiguous subobject checks for class member access as part of object argument conversion, not as part of name lookup..
Tue, Jan 19, 10:52 AM · Restricted Project

Yesterday

rsmith committed rG4b574008aef5: [c++20] P1907R1: Support for generalized non-type template arguments of scalar… (authored by rsmith).
[c++20] P1907R1: Support for generalized non-type template arguments of scalar…
Mon, Jan 18, 9:06 PM
rsmith committed rG5a391d38ac6c: Following up on PR48517, fix handling of template arguments that refer (authored by rsmith).
Following up on PR48517, fix handling of template arguments that refer
Mon, Jan 18, 9:06 PM
rsmith committed rGfbb83f18b548: PR24076, PR33655, C++ CWG 1558: Consider the instantiation-dependence of (authored by rsmith).
PR24076, PR33655, C++ CWG 1558: Consider the instantiation-dependence of
Mon, Jan 18, 9:06 PM
rsmith committed rGe3065ce23847: DR2064: decltype(E) is only a dependent type if E is type-dependent, not (authored by rsmith).
DR2064: decltype(E) is only a dependent type if E is type-dependent, not
Mon, Jan 18, 9:06 PM
rsmith added inline comments to D90448: [clang] Add type check for explicit instantiation of static data members.
Mon, Jan 18, 7:31 PM · Restricted Project
rsmith committed rGbc713f6a0047: PR48763: Better handling for classes that inherit a default constructor. (authored by rsmith).
PR48763: Better handling for classes that inherit a default constructor.
Mon, Jan 18, 6:54 PM

Thu, Jan 14

rsmith added inline comments to D92037: clang: Pass -platform-version to new MachO LLD.
Thu, Jan 14, 6:28 PM · Restricted Project
rsmith edited reviewers for D94732: [CUDA] Normalize handling of defauled dtor., added: rsmith; removed: HAPPY.
Thu, Jan 14, 5:03 PM · Restricted Project

Wed, Jan 13

rsmith committed rGcd4c55c97402: Fix grammar in diagnostic for wrong arity in a structured binding. (authored by rsmith).
Fix grammar in diagnostic for wrong arity in a structured binding.
Wed, Jan 13, 5:41 PM
rsmith added inline comments to D93101: [Clang][Codegen] Truncate initializers of union bitfield members.
Wed, Jan 13, 10:54 AM · Restricted Project

Mon, Jan 11

rsmith committed rG9b222b108a2e: [c++20] Don't consider string literal operator templates for numeric (authored by rsmith).
[c++20] Don't consider string literal operator templates for numeric
Mon, Jan 11, 1:19 PM

Fri, Jan 8

rsmith committed rGaab25fa7d853: Never call a destroying operator delete when cleaning up from an (authored by rsmith).
Never call a destroying operator delete when cleaning up from an
Fri, Jan 8, 4:52 PM
rsmith committed rG2bf6e443e546: Attempt to complete an incomplete expression type when considering a (authored by rsmith).
Attempt to complete an incomplete expression type when considering a
Fri, Jan 8, 3:20 PM
rsmith added a comment to D77056: [Sema] Allow non-member operators for sizeless SVE types.

Either way, I realise this isn't great style. It just seems like a practical compromise between the rock of classes having a constant size and the hard place of vectors having a variable length.

Fri, Jan 8, 1:27 PM · Restricted Project

Tue, Jan 5

rsmith committed rGb12e4735317e: Allow dependent alias template specializations in the preferred_name (authored by rsmith).
Allow dependent alias template specializations in the preferred_name
Tue, Jan 5, 3:34 PM
rsmith added inline comments to D77598: Integral template argument suffix and cast printing.
Tue, Jan 5, 12:59 PM · Restricted Project

Dec 18 2020

rsmith committed rGf5cef870d116: [www] Remove '$Date$' marker from cxx_dr_status. (authored by rsmith).
[www] Remove '$Date$' marker from cxx_dr_status.
Dec 18 2020, 2:15 PM
rsmith added a comment to D77056: [Sema] Allow non-member operators for sizeless SVE types.

The implementation looks fine to me.

Dec 18 2020, 2:10 PM · Restricted Project
rsmith committed rGed13d8c66781: Fix memory leak complicated non-type template arguments. (authored by rsmith).
Fix memory leak complicated non-type template arguments.
Dec 18 2020, 1:43 PM
rsmith committed rG72d8f79f0c31: [c++2b] Add tests for feature test macros. (authored by rsmith).
[c++2b] Add tests for feature test macros.
Dec 18 2020, 1:43 PM
rsmith committed rG939ba0b501b2: Add tests for the absence of feature test macros for features we don't (authored by rsmith).
Add tests for the absence of feature test macros for features we don't
Dec 18 2020, 1:43 PM
rsmith committed rGb4c63ef6dd90: [c++20] Mark class type NTTPs as done and start defining the feature test macro. (authored by rsmith).
[c++20] Mark class type NTTPs as done and start defining the feature test macro.
Dec 18 2020, 1:43 PM
rsmith committed rG9e08e51a20d0: [c++20] P1907R1: Support for generalized non-type template arguments of scalar… (authored by rsmith).
[c++20] P1907R1: Support for generalized non-type template arguments of scalar…
Dec 18 2020, 1:09 AM
rsmith committed rG569676c05725: Make Expr::HasSideEffect more precise for instantiation-dependent (authored by rsmith).
Make Expr::HasSideEffect more precise for instantiation-dependent
Dec 18 2020, 1:09 AM

Dec 17 2020

rsmith committed rG8c1f2d15b826: Following up on PR48517, fix handling of template arguments that refer (authored by rsmith).
Following up on PR48517, fix handling of template arguments that refer
Dec 17 2020, 11:55 PM
rsmith committed rG4b388859f527: Ensure that we transform types into the current instantiation even if (authored by rsmith).
Ensure that we transform types into the current instantiation even if
Dec 17 2020, 11:23 PM
rsmith committed rG71886c56f336: Where possible, don't try to ask whether a template argument is (authored by rsmith).
Where possible, don't try to ask whether a template argument is
Dec 17 2020, 11:23 PM
rsmith committed rG638867afd4bc: DR2064: decltype(E) is only a dependent type if E is type-dependent, not (authored by rsmith).
DR2064: decltype(E) is only a dependent type if E is type-dependent, not
Dec 17 2020, 11:23 PM
rsmith committed rGd3bf0bb18952: PR24076, PR33655, C++ CWG 1558: Consider the instantiation-dependence of (authored by rsmith).
PR24076, PR33655, C++ CWG 1558: Consider the instantiation-dependence of
Dec 17 2020, 9:32 PM

Dec 16 2020

rsmith added a comment to D91659: Allow enum typedefs to be referenced with the 'enum' specifier under MSVC compat mode.
In D91659#2458872, @rnk wrote:

What is the issue with the current structure, ActOnTag produces the wrong AST node, an ElaboratedType, but we want to produce a TypedefType?

Dec 16 2020, 2:41 PM · Restricted Project
rsmith committed rGe53b9f733a7c: Print source location in the error message when parens are missing around… (authored by shivanshu3).
Print source location in the error message when parens are missing around…
Dec 16 2020, 12:14 PM
rsmith closed D91129: Print source location in the error message when parens are missing around sizeof typename and the expression is inside macro expansion.
Dec 16 2020, 12:14 PM · Restricted Project
rsmith committed rG735ab86b811e: PR47474: Add test for Clang's current behavior. (authored by rsmith).
PR47474: Add test for Clang's current behavior.
Dec 16 2020, 12:01 PM
rsmith added inline comments to D91659: Allow enum typedefs to be referenced with the 'enum' specifier under MSVC compat mode.
Dec 16 2020, 11:58 AM · Restricted Project
rsmith added a comment to D91659: Allow enum typedefs to be referenced with the 'enum' specifier under MSVC compat mode.

@rnk Your thoughts on this would be appreciated.

Dec 16 2020, 11:51 AM · Restricted Project
rsmith accepted D91129: Print source location in the error message when parens are missing around sizeof typename and the expression is inside macro expansion.
Dec 16 2020, 11:49 AM · Restricted Project

Dec 15 2020

rsmith committed rG7e7f38f853fb: DR1413 and part of P1815R2: Minor improvements to Clang's determination (authored by rsmith).
DR1413 and part of P1815R2: Minor improvements to Clang's determination
Dec 15 2020, 2:54 PM
rsmith committed rG6b760a50f521: DR2100: &expr is value-dependent if expr constant-evaluates to a (authored by rsmith).
DR2100: &expr is value-dependent if expr constant-evaluates to a
Dec 15 2020, 2:54 PM
rsmith committed rGc4736b91f87e: Don't memcpy from an empty ArrayRef; the base pointer could be null, and (authored by rsmith).
Don't memcpy from an empty ArrayRef; the base pointer could be null, and
Dec 15 2020, 2:38 PM
rsmith added inline comments to D91129: Print source location in the error message when parens are missing around sizeof typename and the expression is inside macro expansion.
Dec 15 2020, 2:37 PM · Restricted Project
rsmith committed rG76edf98b27c4: Set decl on DeclRefExpr directly during deserialization rather than (authored by rsmith).
Set decl on DeclRefExpr directly during deserialization rather than
Dec 15 2020, 12:01 PM
rsmith committed rG6c365cd31e32: Consider reference, pointer, and pointer-to-member TemplateArguments to be… (authored by rsmith).
Consider reference, pointer, and pointer-to-member TemplateArguments to be…
Dec 15 2020, 12:01 PM

Dec 14 2020

rsmith accepted D92248: Inform the consumer on invalid template instantiations..

Looks like the in-tree consumers are fine with being called on invalid declarations (CodeGen bails out if any errors have occurred). I don't think there's any easy way to find if out-of-tree consumers will be OK with this, but it does seem reasonable to ensure that we pass all the tag definitions to the consumer, even if they're invalid.

Dec 14 2020, 4:12 PM · Restricted Project
rsmith added a comment to D91488: Consider reference, pointer, and pointer-to-membber TemplateArguments to be different if they have different types..

I believe rsmith is in GMT-8, so I assume this won't get a fix soon and I went ahead and reverted in 22ccdb787024e954318e35fcf904fd4fa36f5679

Dec 14 2020, 3:21 PM · Restricted Project

Dec 13 2020

rsmith committed rG7de9c61f3111: Fix test expectation to cope with custom version namespaces. (authored by rsmith).
Fix test expectation to cope with custom version namespaces.
Dec 13 2020, 10:43 PM
rsmith committed rG05cdf4acf42a: Consider reference, pointer, and pointer-to-member TemplateArguments to be… (authored by rsmith).
Consider reference, pointer, and pointer-to-member TemplateArguments to be…
Dec 13 2020, 10:43 PM
rsmith committed rGabbd57e558b9: Factor out and centralize repeated 'getExpandedPackSize'. (authored by rsmith).
Factor out and centralize repeated 'getExpandedPackSize'.
Dec 13 2020, 10:43 PM

Dec 12 2020

rsmith added a comment to D92409: [AST][NFC] Silence GCC warning about multiline comments.

Is there a way to disable it from the header? I've noticed this warning when compiling an application using libclang with g++. So I'm looking for a fix outside clang's build system which is not used in that case.

Ping?

Dec 12 2020, 11:56 PM · Restricted Project

Dec 11 2020

rsmith committed rG7b3470baf8ba: Consider reference, pointer, and pointer-to-member TemplateArguments to be… (authored by rsmith).
Consider reference, pointer, and pointer-to-member TemplateArguments to be…
Dec 11 2020, 1:33 PM
rsmith closed D91488: Consider reference, pointer, and pointer-to-membber TemplateArguments to be different if they have different types..
Dec 11 2020, 1:33 PM · Restricted Project

Dec 10 2020

rsmith updated the diff for D80977: Diagnose cases where the name of a class member is used within a class definition before the member name is declared..

Rebase and fix test failure.

Dec 10 2020, 6:24 PM · Restricted Project
rsmith added inline comments to D91488: Consider reference, pointer, and pointer-to-membber TemplateArguments to be different if they have different types..
Dec 10 2020, 6:22 PM · Restricted Project
rsmith added inline comments to D91311: Add new 'preferred_name' attribute..
Dec 10 2020, 6:11 PM · Restricted Project, Restricted Project
rsmith committed rGa3fe12dc58aa: Ensure that we don't leave behind "InstantiatingSpecialization" entries (authored by rsmith).
Ensure that we don't leave behind "InstantiatingSpecialization" entries
Dec 10 2020, 5:02 PM
rsmith accepted D93072: Fix PR35902: incorrect alignment used for ubsan check..
Dec 10 2020, 3:17 PM · Restricted Project
rsmith added a comment to D93031: Enable fexec-charset option .

I'm overall pretty happy about how clean and non-invasive the changes required here are. But please make sure you don't change the encodings of u8"..." / u"..." / U"..." literals; those need to stay as UTF-8 / UTF-16 / UTF-32. Also, we should have a story for how the wide execution character set is controlled -- is it derived from the narrow execution character set, or can the two be changed independently, or ...?

Dec 10 2020, 3:11 PM · Restricted Project, Restricted Project
rsmith added inline comments to D91488: Consider reference, pointer, and pointer-to-membber TemplateArguments to be different if they have different types..
Dec 10 2020, 1:30 PM · Restricted Project
rsmith updated the diff for D91488: Consider reference, pointer, and pointer-to-membber TemplateArguments to be different if they have different types..
  • Handle @rjmccall's review feedback.
  • Properly handle the case of a pack expansion into a non-pack and add tests for that.
Dec 10 2020, 1:30 PM · Restricted Project

Dec 9 2020

rsmith updated the diff for D91488: Consider reference, pointer, and pointer-to-membber TemplateArguments to be different if they have different types..

Rebase.

Dec 9 2020, 6:26 PM · Restricted Project
rsmith committed rG7127fd1786e6: MSABI: Basic mangling for access to member subobjects in a class (authored by rsmith).
MSABI: Basic mangling for access to member subobjects in a class
Dec 9 2020, 6:09 PM
rsmith accepted D92915: [Driver] Add -f[no-]legacy-pass-manager to supersede -f[no-]experimental-new-pass-manager.
Dec 9 2020, 4:45 PM · Restricted Project
rsmith added a comment to D92915: [Driver] Add -f[no-]legacy-pass-manager to supersede -f[no-]experimental-new-pass-manager.

I don't like having new in the name of the flag; I think that's going to age badly (and I would argue it already has done; the "new pass manager" isn't really all that new any more).

Dec 9 2020, 1:51 PM · Restricted Project
rsmith added inline comments to D77598: Integral template argument suffix and cast printing.
Dec 9 2020, 1:36 PM · Restricted Project
rsmith committed rG4ae8651c5924: Add another test for PR48434. (authored by rsmith).
Add another test for PR48434.
Dec 9 2020, 12:23 PM
rsmith committed rG2a2c228c7ada: Add new 'preferred_name' attribute. (authored by rsmith).
Add new 'preferred_name' attribute.
Dec 9 2020, 12:23 PM
rsmith committed rG997a719d5a70: PR48434: Work around crashes due to deserialization cycles via typedefs. (authored by rsmith).
PR48434: Work around crashes due to deserialization cycles via typedefs.
Dec 9 2020, 12:23 PM

Dec 8 2020

rsmith added inline comments to D91524: Make iteration over the DeclContext::lookup_result safe..
Dec 8 2020, 10:41 AM
rsmith added a reverting change for rG98f76adf4e94: Add new 'preferred_name' attribute.: rGa1344779ab01: Revert "Add new 'preferred_name' attribute.".
Dec 8 2020, 12:56 AM
rsmith committed rGa1344779ab01: Revert "Add new 'preferred_name' attribute." (authored by rsmith).
Revert "Add new 'preferred_name' attribute."
Dec 8 2020, 12:56 AM
rsmith added a reverting change for D91311: Add new 'preferred_name' attribute.: rGa1344779ab01: Revert "Add new 'preferred_name' attribute.".
Dec 8 2020, 12:56 AM · Restricted Project, Restricted Project

Dec 7 2020

rsmith committed rG590e14653252: Fix assertion failure due to incorrect dependence bits on a DeclRefExpr (authored by rsmith).
Fix assertion failure due to incorrect dependence bits on a DeclRefExpr
Dec 7 2020, 6:49 PM
rsmith committed rGa64c26a47a81: Fix deserialization cycle in preferred_name attribute. (authored by rsmith).
Fix deserialization cycle in preferred_name attribute.
Dec 7 2020, 4:02 PM
rsmith committed rG98f76adf4e94: Add new 'preferred_name' attribute. (authored by rsmith).
Add new 'preferred_name' attribute.
Dec 7 2020, 12:55 PM
rsmith closed D91311: Add new 'preferred_name' attribute..
Dec 7 2020, 12:55 PM · Restricted Project, Restricted Project

Dec 3 2020

rsmith committed rGeccc734a69c0: P0857R0: Parse a requires-clause after an explicit (authored by rsmith).
P0857R0: Parse a requires-clause after an explicit
Dec 3 2020, 3:56 PM
rsmith committed rGbe162f4c0e85: PR45699: Fix crash if an unexpanded parameter pack appears in a (authored by rsmith).
PR45699: Fix crash if an unexpanded parameter pack appears in a
Dec 3 2020, 3:26 PM
rsmith added a comment to D92547: [c++2b] Add option -std=c++2b to enable support for potential C++2b features..

There are some mechanical changes we should make to our documentation too, particularly www/cxx_status.html.

Dec 3 2020, 12:46 AM · Restricted Project
rsmith accepted D92547: [c++2b] Add option -std=c++2b to enable support for potential C++2b features..
Dec 3 2020, 12:46 AM · Restricted Project

Dec 2 2020

rsmith accepted D92101: [Clang][Sema] Attempt to fix CTAD faulty copy of non-local typedefs.

Looks good with a minor cleanup. Thanks!

Dec 2 2020, 6:35 PM · Restricted Project
rsmith committed rGc4fb7720ceb3: PR48339: Improve diagnostics for invalid dependent unqualified function calls. (authored by rsmith).
PR48339: Improve diagnostics for invalid dependent unqualified function calls.
Dec 2 2020, 5:55 PM
rsmith committed rG2ac58801873a: Update MS ABI mangling for union constants based on new information from (authored by rsmith).
Update MS ABI mangling for union constants based on new information from
Dec 2 2020, 12:18 PM

Dec 1 2020

rsmith committed rG1f40d60a3b7f: Remove CXXBasePaths::found_decls and simplify and modernize its only (authored by rsmith).
Remove CXXBasePaths::found_decls and simplify and modernize its only
Dec 1 2020, 4:38 PM
rsmith added a comment to D92409: [AST][NFC] Silence GCC warning about multiline comments.

Let's just disable this broken GCC warning. IIRC, the corresponding clang warning covers the actual bugs caused by line continuation in comments, and doesn't warn if the next line begins with a //.

Dec 1 2020, 10:46 AM · Restricted Project

Nov 30 2020

rsmith added inline comments to D92101: [Clang][Sema] Attempt to fix CTAD faulty copy of non-local typedefs.
Nov 30 2020, 1:11 PM · Restricted Project
rsmith added a comment to D91311: Add new 'preferred_name' attribute..

LGTM from the libc++ point of view. The CI is passing -- those failures are flaky modules tests that we need to fix.

Perhaps we need to specify -fmodules-validate-system-headers in the test so Clang doesn't assume that system headers are unchanged?

Oh, would that be it? We're not including libc++ headers as system headers when running the tests, though (and we're disabling the system header pragma). Do you think that might still be the issue?

Nov 30 2020, 12:38 PM · Restricted Project, Restricted Project
rsmith accepted D92297: [CodeGen] -fno-delete-null-pointer-checks: change dereferenceable to dereferenceable_or_null.

Looks good. There are a few other places where we unconditionally insert dereferenceable attributes (for reference parameters / return types, and for C99's T [static] array parameters). We should presumably apply the same workaround everywhere we add dereferenceable.

Nov 30 2020, 12:33 PM · Restricted Project
rsmith added inline comments to D92101: [Clang][Sema] Attempt to fix CTAD faulty copy of non-local typedefs.
Nov 30 2020, 1:01 AM · Restricted Project

Nov 29 2020

rsmith accepted D90871: [Sema] Fold VLAs to constant arrays in a few more contexts.

Thanks, that's very clean.

Nov 29 2020, 11:51 PM · Restricted Project
rsmith added a comment to D92297: [CodeGen] -fno-delete-null-pointer-checks: change dereferenceable to dereferenceable_or_null.

This was discussed on the original patch (https://reviews.llvm.org/D17993#inline-830995) and @jdoerfert argued that dereferenceable is correct even in NullPointerIsValid mode. Does this indicate a bug in the middle-end? If so, we should add a FIXME here to remove the workaround once the underlying bug is fixed.

Nov 29 2020, 11:41 PM · Restricted Project
rsmith committed rG1db60c1307ac: Remove redundant check for access in the conversion from the naming (authored by rsmith).
Remove redundant check for access in the conversion from the naming
Nov 29 2020, 7:22 PM