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 (489 w, 2 d)

Recent Activity

Wed, Nov 17

rsmith committed rG4a9523c55fa1: PR52537: When performing a no-op TreeTransform of a rewritten binary (authored by rsmith).
PR52537: When performing a no-op TreeTransform of a rewritten binary
Wed, Nov 17, 6:20 PM

Fri, Nov 12

rsmith added inline comments to D113393: [c++2b] Implement P0849R8 auto(x).
Fri, Nov 12, 6:04 PM · Restricted Project
rsmith added a comment to D113393: [c++2b] Implement P0849R8 auto(x).

I also wonder whether we should accept decltype(auto)(x) as an extension, but we can discuss that separately.

Fri, Nov 12, 4:34 PM · Restricted Project
rsmith added a comment to D113393: [c++2b] Implement P0849R8 auto(x).

Thanks, this generally looks great.

Fri, Nov 12, 4:33 PM · Restricted Project
rsmith added inline comments to D77598: Integral template argument suffix and cast printing.
Fri, Nov 12, 4:11 PM · Restricted Project, Restricted Project
rsmith accepted D111509: [clang] use getCommonSugar in an assortment of places.
Fri, Nov 12, 2:03 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Thu, Nov 11

rsmith edited reviewers for D113713: Fix a deadlock in __cxa_guard_abort in tsan, added: dvyukov; removed: rsmith.
Thu, Nov 11, 2:19 PM · Restricted Project

Wed, Nov 10

rsmith accepted D110216: [clang] retain type sugar in auto / template argument deduction.

Awesome!

Wed, Nov 10, 7:14 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
rsmith accepted D113517: Correct handling of the 'throw()' exception specifier in C++17..

This change allows those future optimizations to apply to throw() as well, in C++17 mode, which is the desirable outcome.

Wed, Nov 10, 10:55 AM · Restricted Project

Tue, Nov 9

rsmith added a comment to D113517: Correct handling of the 'throw()' exception specifier in C++17..

What's the motivation for this change? I believe the current behavior is still conforming: set_unexpected is no longer (officially) part of the standard library (though it still exists as a zombie name), and the default unexpected handler calls terminate, so calling unexpected rather than terminate should have the same effect, except in non-conforming programs that call std::set_unexpected anyway. Do we generate better code if we call terminate rather than unexpected?

Tue, Nov 9, 3:45 PM · Restricted Project
rsmith accepted D112663: [clang-repl] Allow Interpreter::getSymbolAddress to take a mangled name..
Tue, Nov 9, 2:50 PM
rsmith requested changes to D113391: [Modules] Don't support clang module and c++20 module at the same time.

The ideal situation here would be to have a single semantic model that is a superset of the various combinations of behaviors we want. Further entrenching Clang modules and C++20 modules as being different things would be a backwards step, and would be harmful for users of Clang modules who want to incrementally adopt C++20 modules. We shouldn't have a separate language option flag for "clang modules" -- that should be a different kind of module, not a different compilation mode; if a clang header module needs different treatment from a C++20 header unit, we should base that on the kind of the current clang::Module, not on a language option.

Tue, Nov 9, 11:30 AM · Restricted Project, Restricted Project

Thu, Nov 4

rsmith accepted D112914: Misleading identifier detection.

I don't know how to remove the "Requested changes" from here so I'll just remove myself from reviewer.

Thu, Nov 4, 5:02 PM · Restricted Project

Tue, Nov 2

rsmith added inline comments to D112914: Misleading identifier detection.
Tue, Nov 2, 2:29 PM · Restricted Project
rsmith added inline comments to D112913: Misleading bidirectional detection.
Tue, Nov 2, 2:27 PM · Restricted Project
rsmith added a comment to D112453: [Sema] When dereferencing a pointer of dependent type, infer the result type..

I think the idea of this change is OK. The key is that the dereference expression will still be type-dependent, even if we happen to actually know its type. (For an Expr that isTypeDependent(), the type produced by getType() isn't something the standard knows or cares about and is only used for our own type-checking-of-templates purposes.) The property we need to guarantee is that, if the Expr is valid, then the type is correct, and I think that holds here. However, I wouldn't want to guarantee that all parts of Clang get this right, and we might find some lurking bugs are exposed by this change.

Tue, Nov 2, 10:19 AM · Restricted Project

Mon, Nov 1

rsmith accepted D112914: Misleading identifier detection.

Looks good as far as it goes (though I've not checked your classification functions are correct).

Mon, Nov 1, 3:44 PM · Restricted Project
rsmith accepted D112913: Misleading bidirectional detection.

Nits and a suggested approach for invalid code sequences that's probably important to handle better. Please fix the clang-tidy findings too. Otherwise, LGTM.

Mon, Nov 1, 3:27 PM · Restricted Project
rsmith added a reviewer for D112916: Confusable identifiers detection: rsmith.
Mon, Nov 1, 3:14 PM · Restricted Project
rsmith added inline comments to D112916: Confusable identifiers detection.
Mon, Nov 1, 3:14 PM · Restricted Project
rsmith accepted D112883: [bazel] Re-introduce `copts` hacks for lib/AST includes..

:( LGTM

Mon, Nov 1, 2:41 PM · Restricted Project

Fri, Oct 29

rsmith committed rG68ffcd521347: Properly determine the end location of an ObjCObjectPointerType. (authored by rsmith).
Properly determine the end location of an ObjCObjectPointerType.
Fri, Oct 29, 1:16 PM
rsmith added a comment to D112101: [AST] Fix the EndLoc calculation for ObjCObjectPointer.

I think this is still not quite right

Fri, Oct 29, 1:16 PM · Restricted Project
rsmith added a comment to D112101: [AST] Fix the EndLoc calculation for ObjCObjectPointer.

I think this is still not quite right: if the ObjCObjectPointerType has a valid star location, we should use that. We should only be falling back on the inner location's end when there is no star. For example:

Fri, Oct 29, 12:07 PM · Restricted Project

Oct 27 2021

rsmith added inline comments to D112663: [clang-repl] Allow Interpreter::getSymbolAddress to take a mangled name..
Oct 27 2021, 2:45 PM
rsmith added a comment to D112659: Add a limit to __make_integer_seq builtin..

I wonder if more generally we should have a limit on either the size of a pack or the number of template arguments in a template specialization, rather than limiting only __make_integer_seq? I think a hand-rolled make_integer_sequence implementation should also be limited in the same way. Eg: https://godbolt.org/z/Yhb6E4vTG

Oct 27 2021, 2:10 PM
rsmith accepted D110210: [clang] NFC: include non friendly types and missing sugar in test expectations.
Oct 27 2021, 1:47 PM · Restricted Project
rsmith accepted D112372: [clang] NFC: remove carriage return from AST tests.
Oct 27 2021, 1:46 PM · Restricted Project
rsmith added inline comments to D110216: [clang] retain type sugar in auto / template argument deduction.
Oct 27 2021, 1:46 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
rsmith accepted D109496: [clang] deprecate frelaxed-template-template-args, make it on by default.

Thanks, let's land this and see how it goes.

Oct 27 2021, 11:47 AM · Restricted Project

Oct 21 2021

rsmith added a comment to D101192: Add support for #elifdef and #elifndef.

In this version of the patch, I am supporting the feature in all C and C++ modes. This seems like more useful functionality than diagnosing an unknown preprocessor directive in older language modes, and is a conforming extension in those modes anyway as use of an unknown directive is undefined behavior.

Oct 21 2021, 11:40 AM · Restricted Project

Oct 19 2021

rsmith accepted D110287: [modules] While merging ObjCInterfaceDecl definitions, merge them as decl contexts too..
Oct 19 2021, 6:44 PM · Restricted Project
rsmith accepted D110453: [modules] Update visibility for merged ObjCInterfaceDecl definitions..
Oct 19 2021, 6:42 PM · Restricted Project
rsmith accepted D110452: [modules] Fix tracking ObjCInterfaceType decl when there are multiple definitions..
Oct 19 2021, 6:41 PM · Restricted Project
rsmith added inline comments to D110287: [modules] While merging ObjCInterfaceDecl definitions, merge them as decl contexts too..
Oct 19 2021, 5:16 PM · Restricted Project
rsmith accepted D112089: consteval if does not form a discarded statement.
Oct 19 2021, 2:10 PM · Restricted Project
rsmith added inline comments to D112089: consteval if does not form a discarded statement.
Oct 19 2021, 2:05 PM · Restricted Project

Oct 15 2021

rsmith added a comment to D111543: [clang][modules] Delay creating `IdentifierInfo` for names of explicit modules.

I've stepped through this in a debugger. The problem is that the CompilerInstance is setting up an ASTReaderListener that is informed whenever a module is loaded, and that listener is called when the AST file has been added to the module manager but hasn't had its header read yet. That listener then then attempts to create an IdentifierInfo, which won't work, because the ASTReader is in a weird state, with modules that are loaded but not yet set up properly. Here's a backtrace:

Oct 15 2021, 2:42 PM · Restricted Project
rsmith added a comment to D111543: [clang][modules] Delay creating `IdentifierInfo` for names of explicit modules.

My understanding is that Preprocessor::getIdentifierInfo may trigger AST deserialization. The problem here seems to be that we're calling getIdentifierInfo before the preprocessor's IdentifierTable is set up with "external identifier info lookup" (aka ASTReader). So the call to IdentifierTable::get creates new IdentifierInfo for "Interface" instead of looking it up in the AST. Further calls to getIdentifierInfo resolve to this new IdentifierInfo and the ObjCInterfaceDecl never gets deserialized.

Interesting, that could explain what we're seeing. If that's it, then this is an invalidation bug: changing the presence or behavior of the external identifier resolver should trigger invalidation of all existing identifiers so that we will properly query the external source.

But I'm missing something from that explanation: the IdentifierTable::ExternalLookup is set in the constructor and never changed from that point onwards,

Oct 15 2021, 2:08 PM · Restricted Project
rsmith added a comment to D111543: [clang][modules] Delay creating `IdentifierInfo` for names of explicit modules.

My understanding is that Preprocessor::getIdentifierInfo may trigger AST deserialization. The problem here seems to be that we're calling getIdentifierInfo before the preprocessor's IdentifierTable is set up with "external identifier info lookup" (aka ASTReader). So the call to IdentifierTable::get creates new IdentifierInfo for "Interface" instead of looking it up in the AST. Further calls to getIdentifierInfo resolve to this new IdentifierInfo and the ObjCInterfaceDecl never gets deserialized.

Oct 15 2021, 1:37 PM · Restricted Project
rsmith accepted D111830: [clang] fix typo correction not looking for candidates in base classes..
Oct 15 2021, 11:38 AM · Restricted Project

Oct 14 2021

rsmith committed rGeffbf0bdd039: PR52183: Don't emit code for a void-typed constant expression. (authored by rsmith).
PR52183: Don't emit code for a void-typed constant expression.
Oct 14 2021, 8:56 PM
rsmith accepted D111817: Fix a rejects-valid with consteval on overloaded operators.

Looks good to me.

Oct 14 2021, 10:11 AM · Restricted Project

Oct 13 2021

rsmith added a comment to D110576: [Demangle] Add support for D programming language.

This is a port of libiberty's D demangler as some comments mention, which was written by Iain Buclaw, the maintainer of GDC (GCC-based D compiler).
We have been in frequent communication with him before the project started and he has no issue with this code being used (and re-licensed) by LLVM. If any document / proof is needed on that side, please let us know.

Oct 13 2021, 12:59 PM · Restricted Project
rsmith added a comment to D111543: [clang][modules] Delay creating `IdentifierInfo` for names of explicit modules.

I'm concerned that this is adding complexity to paper over a bug elsewhere. Creating an IdentifierInfo should never cause unrelated uses of that identifier to change their meaning or behavior. My guess is that there's a bug in how we resolve or merge identifier information in the AST reader.

Oct 13 2021, 10:34 AM · Restricted Project

Oct 11 2021

rsmith added inline comments to D111283: [clang] template / auto deduction deduces common sugar.
Oct 11 2021, 6:29 PM · Restricted Project, Restricted Project
rsmith added a comment to D111283: [clang] template / auto deduction deduces common sugar.

Do you have examples showing what this does in practice for errors in real-world code? I'm concerned that stripping back to the common type sugar may produce an unintuitive result in some cases, although it certainly does seem at least theoretically nice to use a commutative and associative function to combine deductions like this. The kind of thing I'd be worried about would be (eg) a container where the iterator and const_iterator are the same, but where the common sugar of T::iterator and T::const_iterator are some internal type that the user has never heard of. In general it seems like this sugar stripping could result in types that are distant from the user's code. As an extreme example, in the case where one of the types is canonical and the other is not, it seems like stripping all the way back to the canonical type would be worse than ignoring the canonical version of the type and keeping the sugared version.

Oct 11 2021, 6:11 PM · Restricted Project, Restricted Project
rsmith committed rG25b3370ff25f: PR52139: Properly handle more kinds of declaration when checking for (authored by rsmith).
PR52139: Properly handle more kinds of declaration when checking for
Oct 11 2021, 4:38 PM
rsmith added a comment to D110215: [C++2a] [Module] Support extern C/C++ semantics.

Instead of moving functions and classes/enums into the global module after creating them, it would be better to push a module scope for the global module when entering a C or C++ language linkage specification and pop the module scope when leaving the linkage specification. There are lots of other kinds of declaration that can appear inside a linkage specification (for example, variables), and doing it that way would properly handle all of them, not only functions and classes.

Oct 11 2021, 2:38 PM · Restricted Project

Oct 8 2021

rsmith committed rG7eae8c6e62b2: Don't update the vptr at the start of the destructor of a final class. (authored by rsmith).
Don't update the vptr at the start of the destructor of a final class.
Oct 8 2021, 8:00 PM
rsmith committed rG222305d6ff6f: PR51079: Treat thread_local variables with an incomplete class type as (authored by rsmith).
PR51079: Treat thread_local variables with an incomplete class type as
Oct 8 2021, 6:46 PM
rsmith committed rG64e9044ea43d: Fix unintended fall-through. (authored by rsmith).
Fix unintended fall-through.
Oct 8 2021, 2:25 PM
rsmith committed rG7ac308fb8f28: PR52073: Fix equivalence computation for lambda-expressions. (authored by rsmith).
PR52073: Fix equivalence computation for lambda-expressions.
Oct 8 2021, 1:54 PM

Oct 6 2021

rsmith committed rG141df7445648: Add missing diagnostic for use of _reserved name in extern "C" (authored by rsmith).
Add missing diagnostic for use of _reserved name in extern "C"
Oct 6 2021, 3:14 PM
rsmith committed rG7063b76b0248: PR50644: Do not warn on a declaration of `operator"" _foo`. (authored by rsmith).
PR50644: Do not warn on a declaration of `operator"" _foo`.
Oct 6 2021, 3:14 PM
rsmith committed rG7ebcb7ce78f6: PR50641: Properly handle AttributedStmts when checking for a valid (authored by rsmith).
PR50641: Properly handle AttributedStmts when checking for a valid
Oct 6 2021, 3:14 PM
rsmith added inline comments to D111175: [Clang] Extend init-statement to allow alias-declaration.
Oct 6 2021, 12:11 PM · Restricted Project

Oct 5 2021

rsmith accepted D111184: [clang] Allow printing 64 bit ints in diagnostics.
Oct 5 2021, 2:39 PM · Restricted Project

Oct 4 2021

rsmith added a comment to D110484: [clang-repl] Allow loading of plugins in clang-repl..

LGTM modulo existing comments.

Oct 4 2021, 1:35 PM · Restricted Project

Sep 29 2021

rsmith accepted D110780: [clang] do not emit note for bad conversion when destination type qualifiers don't compatibly include source type qualifiers.

Thanks! Would it be worth also including a testcase where the from and to types are different classes but the qualifications are incompatible, to ensure we're handling that case too?

Sep 29 2021, 4:59 PM · Restricted Project
rsmith added inline comments to D109496: [clang] deprecate frelaxed-template-template-args, make it on by default.
Sep 29 2021, 1:12 PM · Restricted Project
rsmith accepted D110726: [clang] NFC: remove duplicated code around type constraint and templ arg subst.

Nice!

Sep 29 2021, 1:01 PM · Restricted Project
rsmith accepted D110727: [clang] don't instantiate templates with injected arguments.

I think it's almost always true that we don't substitute into a template unless we've already substituted into all enclosing templates. The only exception I can think of is alias templates, which are substituted early, even in dependent contexts. So a case like:

Sep 29 2021, 12:59 PM · Restricted Project
rsmith added a comment to D110216: [clang] retain type sugar in auto / template argument deduction.

Thanks, this is very exciting, and the diagnostic changes in the test suite look great!

Sep 29 2021, 12:46 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
rsmith added a comment to D85390: [Clang] Add note for bad conversion error when expression is of forward-declared type.

Please see llvm.org/PR52014 -- this patch is not properly handling cv-qualifiers. We should not produce the new note if the destination type has qualifiers that the source type does not possess, because in that case inheritance makes no difference to whether the conversion is valid.

Sep 29 2021, 11:09 AM · Restricted Project

Sep 24 2021

rsmith accepted D110460: [clang] set templates as invalid when any of the parameters are invalid.
Sep 24 2021, 6:51 PM · Restricted Project

Sep 21 2021

rsmith accepted D109800: [clang] don't mark as Elidable CXXConstruct expressions used in NRVO.
Sep 21 2021, 12:10 PM · Restricted Project

Sep 17 2021

rsmith added a comment to D109066: [libc++] Implement P1951, default arguments for pair's forwarding constructor.

Another example of valid C++20-and-before code (reduced from real code) that libc++ now rejects after this change:

void f() {
    const int n = 5;
    [] { std::pair<int, long>({1}, n); };
}

Here, n doesn't need to be captured if we call the pair(const int&, const long&) constructor, because the lvalue-to-rvalue conversion happens in the lambda. But if we call the pair(U&&, V&&) constructor (deducing V = int), then n does need to be captured and the build breaks.

Sep 17 2021, 1:04 PM · Restricted Project
rsmith added a comment to D109066: [libc++] Implement P1951, default arguments for pair's forwarding constructor.

This is a breaking change. For example, this is valid code in C++20 and earlier but is now rejected by libc++:

Sep 17 2021, 12:57 PM · Restricted Project

Sep 15 2021

rsmith added a comment to D109800: [clang] don't mark as Elidable CXXConstruct expressions used in NRVO.

There might be some tooling out there that cares about CXXConstructExprs that might be elided due to NRVO being marked as elidable. But it's probably OK to lose that marking if nothing in-tree is relying on it, and use isElidable only for copy elision from rvalues and not for NRVO.

Sep 15 2021, 5:28 PM · Restricted Project
rsmith committed rG699da98739b0: PR51874: Fix diagnostics for defaulted, implicitly deleted 'operator!='. (authored by rsmith).
PR51874: Fix diagnostics for defaulted, implicitly deleted 'operator!='.
Sep 15 2021, 3:43 PM

Sep 14 2021

rsmith accepted D106876: Remove non-affecting module maps from PCM files..

Please apply the lint suggestions; otherwise, looks good.

Sep 14 2021, 2:40 PM · Restricted Project

Sep 7 2021

rsmith accepted D109406: [clang] fix transformation of template arguments of 'auto' type constraints.
Sep 7 2021, 6:08 PM · Restricted Project

Sep 3 2021

rsmith committed rG02fe58d628ea: DebugInfo: additional fix missed in bc066e2. (authored by rsmith).
DebugInfo: additional fix missed in bc066e2.
Sep 3 2021, 3:28 PM

Sep 1 2021

rsmith committed rG6eda66b0a9f7: PR50294: Fix a performance regression from 2c9dbcd. (authored by rsmith).
PR50294: Fix a performance regression from 2c9dbcd.
Sep 1 2021, 6:21 PM
rsmith added a comment to D104344: [modules] Track how headers are included by different submodules..

I wonder if perhaps we're tracking this state in the wrong way. The "has been included" information for #pragma once / #import should behave exactly like macro definition visibility: it should be reset whenever we enter a new "clean slate" state and should be saved and restored suitably when switching visibility states. If we track, for each header file, a map from module to include information, then we'll be paying a fairly high cost: each time we see a #include we'll need to look up every currently-visible module in the map to see if the header was included in that module. It might be better to track an up-to-date list of the headers that have been either #imported in the current preprocessor state (including via imported modules) or that have been both #included and contain #pragma once. You could stash that in the Preprocessor::SubmoduleState so that it's suitably swapped out when we switch to a new preprocessing state.

Sep 1 2021, 5:31 PM · Restricted Project

Aug 31 2021

rsmith added a comment to D108905: [ItaniumCXXABI] Make __cxa_end_catch calls unconditionally nounwind.

No decision as yet, but so far it looks very likely that we'll settle on the rule that exceptions cannot have potentially-throwing destructors, and that we should reject throws of such types. I don't think that should be applied retroactively to C++98, though, because destructors were not implicitly non-throwing back then.

Aug 31 2021, 2:52 PM · Restricted Project
rsmith accepted D107049: [clang-repl] Re-implement clang-interpreter as a test case..
Aug 31 2021, 10:16 AM · Restricted Project

Aug 30 2021

rsmith accepted D108919: [clan-repl] Install clang-repl.
Aug 30 2021, 4:43 PM · Restricted Project
rsmith added inline comments to D107049: [clang-repl] Re-implement clang-interpreter as a test case..
Aug 30 2021, 4:42 PM · Restricted Project
rsmith added a comment to D108905: [ItaniumCXXABI] Make __cxa_end_catch calls unconditionally nounwind.

I've forwarded the question here onto CWG, with Arthur's example and the suggestion that maybe we shouldn't allow throwing an exception with a non-noexcept destructor.

Aug 30 2021, 3:04 PM · Restricted Project
rsmith accepted D106994: [modules] Fix miscompilation when using two RecordDecl definitions with the same name..

LGTM

Aug 30 2021, 12:39 PM · Restricted Project
rsmith added a comment to D106876: Remove non-affecting module maps from PCM files..

This should have a testcase. I would imagine you can test this by constructing a situation where you build a module twice with different sets of module map files being considered and checking that you get bit-for-bit identical outputs. (For example: set up a temporary area for the test case files, build a module there, then copy in an irrelevant module map file into a directory named by a -I and build the module again.)

Aug 30 2021, 12:32 PM · Restricted Project
rsmith added a reviewer for D108901: [Sparc] Create an error when `__builtin_longjmp` is used: dcederman.
Aug 30 2021, 11:38 AM

Aug 27 2021

rsmith added a comment to D108742: [WIP] Reclassify form-feed and vertical tab as vertical WS for the purposes of lexing..

Drive-by observation: under P2348, Clang's behavior of treating \n\r as a single new-line would be "non-standard" (requiring special phase 1 mapping). Is that intentional? \n\r is used as a new-line character on old Mac systems.

Somewhat. \n\r is not described by Unicode so we could either mandate that all implementation support that or leave it as implementation-defined mapping. Correct me if I am wrong, but as the line number is itself implementation-defined, whether there are one or 2 line breaks would not materially affect the standard, either way.

Aug 27 2021, 5:12 PM · Restricted Project
rsmith added a comment to D108742: [WIP] Reclassify form-feed and vertical tab as vertical WS for the purposes of lexing..

I assume this is intended to form part of the implementation of https://wg21.link/p2348 and so shouldn't be considered for review right now?

Aug 27 2021, 4:37 PM · Restricted Project

Aug 25 2021

rsmith committed rGea1c01dde03b: PR51105: look through ConstantExpr when looking for a braced string literal… (authored by rsmith).
PR51105: look through ConstantExpr when looking for a braced string literal…
Aug 25 2021, 11:36 AM

Aug 24 2021

rsmith committed rGcd4d6d718b2e: PR48030: Fix COMDAT-related linking problem with C++ thread_local static data… (authored by rsmith).
PR48030: Fix COMDAT-related linking problem with C++ thread_local static data…
Aug 24 2021, 7:54 PM
rsmith closed D108680: PR48030: Fix COMDAT-related linking problem with C++ thread_local static data members..
Aug 24 2021, 7:54 PM · Restricted Project
rsmith added a comment to D108680: PR48030: Fix COMDAT-related linking problem with C++ thread_local static data members..

Note that there's a potential ABI impact here: because we accidentally put the __cxx_global_init function into a COMDAT with the variable, that meant that the _ZTH symbol (which is an alias to __cxx_global_init) also pointed into that same COMDAT. I'm not sure how much that matters given that the old behavior was broken.

Aug 24 2021, 7:05 PM · Restricted Project
rsmith added a comment to D67429: Improve code generation for thread_local variables:.

https://reviews.llvm.org/D108680

Aug 24 2021, 6:43 PM · Restricted Project, Restricted Project
rsmith requested review of D108680: PR48030: Fix COMDAT-related linking problem with C++ thread_local static data members..
Aug 24 2021, 6:40 PM · Restricted Project
rsmith committed rGdf7b6b91422d: Extend diagnostic for out of date AST input file. (authored by rsmith).
Extend diagnostic for out of date AST input file.
Aug 24 2021, 5:03 PM
rsmith added a comment to D67429: Improve code generation for thread_local variables:.

@rsmith, can you fix or revert?

Aug 24 2021, 2:56 PM · Restricted Project, Restricted Project

Aug 13 2021

rsmith added inline comments to D104975: Implement P1949.
Aug 13 2021, 5:00 PM · Restricted Project, Restricted Project
rsmith added a comment to D104975: Implement P1949.

@rsmith: I modified the script locally to support dxx: dup PXXXX - let me know if you think that's a good solution

Aug 13 2021, 4:44 PM · Restricted Project, Restricted Project
rsmith added inline comments to D104975: Implement P1949.
Aug 13 2021, 4:40 PM · Restricted Project, Restricted Project

Aug 11 2021

rsmith added a comment to D107843: [X86] Add parentheses around casts in some of the X86 intrinsic headers..

I found a few more macro hygiene issues in these headers.

Aug 11 2021, 11:51 AM · Restricted Project

Aug 5 2021

rsmith added inline comments to D106302: Implement P1937 consteval in unevaluated contexts.
Aug 5 2021, 12:46 PM · Restricted Project

Aug 3 2021

rsmith accepted D107399: [clang] fix crash on template instantiation of invalid requires expressions.
Aug 3 2021, 2:02 PM · Restricted Project