rsmith (Richard Smith - zygoloid)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Today

rsmith committed rL343064: P0859R0: List-initialization is potentially-constant-evaluated and.
P0859R0: List-initialization is potentially-constant-evaluated and
Tue, Sep 25, 9:40 PM
rsmith committed rC343064: P0859R0: List-initialization is potentially-constant-evaluated and.
P0859R0: List-initialization is potentially-constant-evaluated and
Tue, Sep 25, 9:40 PM
rsmith committed rL343040: Don't emit "will be treated as an identifier character" warning for.
Don't emit "will be treated as an identifier character" warning for
Tue, Sep 25, 3:36 PM
rsmith committed rC343040: Don't emit "will be treated as an identifier character" warning for.
Don't emit "will be treated as an identifier character" warning for
Tue, Sep 25, 3:36 PM
rsmith committed rL343036: P0969R0: allow structured binding of accessible members, not only public….
P0969R0: allow structured binding of accessible members, not only public…
Tue, Sep 25, 3:16 PM
rsmith committed rC343036: P0969R0: allow structured binding of accessible members, not only public….
P0969R0: allow structured binding of accessible members, not only public…
Tue, Sep 25, 3:15 PM
rsmith added a comment to D52248: [SEMA] ignore duplicate declaration specifiers from typeof exprs.

The right way to produce diagnostics under pedantic mode is to model them as Extension or ExtWarn in the .td file, not by checking the Pedantic diagnostic option directly. If this is an intentional GNU extension too, that makes things a bit more complex (one approach would be to have two diagnostics, one for "this is ill-formed" and another for "this is a GNU extension").

Tue, Sep 25, 11:44 AM

Yesterday

rsmith accepted D52446: Annotate LookupResult::clear() as LLVM_ATTRIBUTE_REINITIALIZES to silence bugprone-use-after-move after rC342925.
Mon, Sep 24, 11:48 PM
rsmith added a comment to D52446: Annotate LookupResult::clear() as LLVM_ATTRIBUTE_REINITIALIZES to silence bugprone-use-after-move after rC342925.

I think the check is wrong here. We need this clear call to reinitialize the object after moving from it. Maybe that function should be annotated as reinitializing the object instead?

Mon, Sep 24, 9:13 PM
rsmith committed rL342927: [www] Change 'Clang 7' items from yellow to green now Clang 7 is.
[www] Change 'Clang 7' items from yellow to green now Clang 7 is
Mon, Sep 24, 4:22 PM
rsmith committed rC342927: [www] Change 'Clang 7' items from yellow to green now Clang 7 is.
[www] Change 'Clang 7' items from yellow to green now Clang 7 is
Mon, Sep 24, 4:22 PM
rsmith committed rC342926: [www] Update cxx_status to mark P0962R1 as done..
[www] Update cxx_status to mark P0962R1 as done.
Mon, Sep 24, 4:21 PM
rsmith committed rL342926: [www] Update cxx_status to mark P0962R1 as done..
[www] Update cxx_status to mark P0962R1 as done.
Mon, Sep 24, 4:20 PM
rsmith committed rC342925: P0962R1: only use the member form of 'begin' and 'end' in a range-based.
P0962R1: only use the member form of 'begin' and 'end' in a range-based
Mon, Sep 24, 4:20 PM
rsmith committed rL342925: P0962R1: only use the member form of 'begin' and 'end' in a range-based.
P0962R1: only use the member form of 'begin' and 'end' in a range-based
Mon, Sep 24, 4:20 PM

Fri, Sep 21

rsmith added inline comments to D51789: [clang] Add the exclude_from_explicit_instantiation attribute.
Fri, Sep 21, 5:05 PM
rsmith accepted D52321: [CUDA] Fixed parsing of optional template-argument-list..
Fri, Sep 21, 10:08 AM
rsmith accepted D51808: [CUDA] Ignore uncallable functions when we check for usual deallocators..
Fri, Sep 21, 10:06 AM

Tue, Sep 18

rsmith added a comment to D50948: lambdas in modules: change storage for LambdaDefinitionData.

We don't want to allocate storage for the lambda fields for non-lambda classes, which is why we use distinct base classes. Is the problem you're trying to solve here that we fake a definition in AST deserialization before we know whether the class is a lambda? If so, that seems solvable by moving the IsLambda flag out of DefinitionData into CXXRecordData (perhaps as a distinct TagTypeKind?).

Tue, Sep 18, 8:06 AM

Mon, Sep 17

rsmith accepted D51910: [Modules] Add platform feature to requires clause.
Mon, Sep 17, 8:26 PM

Sun, Sep 16

rsmith added a comment to D52137: Added warning for unary minus used with unsigned type.

I think we can and should do better about false positives here. If you move this check to SemaChecking, you can produce the warning in a context where you know what the final type is -- I don't think there's any reason to warn if the final type is signed and no wider than the promoted type of the negation.

I share your general concern about false positives, but in the specific case you mentioned—

void use(int16_t x)
uint8_t u8 = 1;
use(-u8);

—I think it'd be surprising to maybe 50% of average programmers that x's received value wasn't int16_t(255) but rather int16_t(-1).

Sun, Sep 16, 1:59 PM

Sat, Sep 15

rsmith added a comment to D52137: Added warning for unary minus used with unsigned type.

I think we can and should do better about false positives here. If you move this check to SemaChecking, you can produce the warning in a context where you know what the final type is -- I don't think there's any reason to warn if the final type is signed and no wider than the promoted type of the negation.

Sat, Sep 15, 12:19 PM

Fri, Sep 14

rsmith committed rL342307: [modules] Don't bother creating a global module fragment when building a.
[modules] Don't bother creating a global module fragment when building a
Fri, Sep 14, 7:01 PM
rsmith committed rC342307: [modules] Don't bother creating a global module fragment when building a.
[modules] Don't bother creating a global module fragment when building a
Fri, Sep 14, 7:01 PM
rsmith committed rC342306: [modules] Support use of -E on modules built from the command line..
[modules] Support use of -E on modules built from the command line.
Fri, Sep 14, 6:23 PM
rsmith committed rC342305: [modules] Driver support for precompiling a collection of files as a single.
[modules] Driver support for precompiling a collection of files as a single
Fri, Sep 14, 6:23 PM
rsmith committed rC342304: [modules] Frontend support for building a header module from a list of.
[modules] Frontend support for building a header module from a list of
Fri, Sep 14, 6:23 PM
rsmith committed rL342306: [modules] Support use of -E on modules built from the command line..
[modules] Support use of -E on modules built from the command line.
Fri, Sep 14, 6:23 PM
rsmith committed rL342305: [modules] Driver support for precompiling a collection of files as a single.
[modules] Driver support for precompiling a collection of files as a single
Fri, Sep 14, 6:22 PM
rsmith committed rL342304: [modules] Frontend support for building a header module from a list of.
[modules] Frontend support for building a header module from a list of
Fri, Sep 14, 6:22 PM
rsmith added a comment to D51789: [clang] Add the exclude_from_explicit_instantiation attribute.

Looks good other than the warning, which I don't yet understand.

Fri, Sep 14, 5:44 PM
rsmith accepted D30882: Add a callback for __has_include and use it for dependency scanning.
Fri, Sep 14, 5:38 PM
rsmith added inline comments to D51910: [Modules] Add platform feature to requires clause.
Fri, Sep 14, 4:52 PM
rsmith added inline comments to D30882: Add a callback for __has_include and use it for dependency scanning.
Fri, Sep 14, 4:49 PM
rsmith added inline comments to D30882: Add a callback for __has_include and use it for dependency scanning.
Fri, Sep 14, 4:45 PM
rsmith added inline comments to D51808: [CUDA] Ignore uncallable functions when we check for usual deallocators..
Fri, Sep 14, 4:19 PM
rsmith added a comment to D51789: [clang] Add the exclude_from_explicit_instantiation attribute.

OK, so the semantics of this attribute are "explicit instantiation declarations or definitions applied to the enclosing class do not apply to this member", right? So it opts the member out of both extern template and (non-extern) template, but only when applied to an enclosing class.

Yes, but it also (obviously) opts the member out when applied to the member itself, not only to an enclosing class.

Fri, Sep 14, 10:26 AM
rsmith added a comment to D51789: [clang] Add the exclude_from_explicit_instantiation attribute.

I think now's a good time to bikeshed the name of the attribute if you have other suggestions.

Fri, Sep 14, 10:07 AM

Thu, Sep 13

rsmith accepted D51997: [clang] Make sure attributes on member classes are applied properly.
Thu, Sep 13, 9:31 PM
rsmith added inline comments to D51905: Front-end of the implementation of the interleaving algorithm.
Thu, Sep 13, 5:58 PM
rsmith added inline comments to D52064: [Sema] Add a note pointing to the first use of an implicit capture.
Thu, Sep 13, 4:49 PM
rsmith committed rL342192: Fix crash on call to __builtin_memcpy with a null pointer to an.
Fix crash on call to __builtin_memcpy with a null pointer to an
Thu, Sep 13, 3:49 PM
rsmith committed rC342192: Fix crash on call to __builtin_memcpy with a null pointer to an.
Fix crash on call to __builtin_memcpy with a null pointer to an
Thu, Sep 13, 3:49 PM
rsmith added a comment to D51855: [constexpr] Fix ICE when memcpy() is given a pointer to an incomplete array.

Thank you!

Thu, Sep 13, 2:27 PM
rsmith committed rL342178: Add dependency on new llvm-cxxmap tool to check-llvm..
Add dependency on new llvm-cxxmap tool to check-llvm.
Thu, Sep 13, 2:17 PM
rsmith committed rC342177: Diagnose likely typos in #include directives..
Diagnose likely typos in #include directives.
Thu, Sep 13, 2:11 PM
rsmith committed rL342177: Diagnose likely typos in #include directives..
Diagnose likely typos in #include directives.
Thu, Sep 13, 2:11 PM
rsmith closed D51333: Diagnose likely typos in include statements.
Thu, Sep 13, 2:11 PM
rsmith committed rL342168: Add flag to llvm-profdata to allow symbols in profile data to be remapped, and.
Add flag to llvm-profdata to allow symbols in profile data to be remapped, and
Thu, Sep 13, 1:23 PM
rsmith closed D51470: Add flag to llvm-profdata to allow symbols in profile data to be remapped, andadd a tool to generate symbol remapping files..
Thu, Sep 13, 1:23 PM
rsmith committed rL342166: Fix a couple of mangling canonicalizer corner case bugs..
Fix a couple of mangling canonicalizer corner case bugs.
Thu, Sep 13, 1:03 PM
rsmith closed D51463: Fix a couple of mangling canonicalizer corner case bugs..
Thu, Sep 13, 1:03 PM
rsmith added a comment to D51463: Fix a couple of mangling canonicalizer corner case bugs..

I think there may be some more (many?) similar bugs to this. Possible testcase: _Z1fI1SEiS0_T_ and _Z1fI1SEiS0_S0_. I think these will be considered equivalent to the canonicalizer because their representation is structurally equivalent, but they are in fact distinct.

Thu, Sep 13, 1:03 PM
rsmith accepted D51333: Diagnose likely typos in include statements.

Looks good (with a couple of minor code style adjustments). Do you need someone to commit this for you?

Thu, Sep 13, 11:59 AM
rsmith committed rL342161: Common infrastructure for reading a profile remapping file and building.
Common infrastructure for reading a profile remapping file and building
Thu, Sep 13, 11:53 AM
rsmith closed D51246: Common infrastructure for reading a profile remapping file and building a mangling remapper from it..
Thu, Sep 13, 11:53 AM
rsmith added inline comments to D51997: [clang] Make sure attributes on member classes are applied properly.
Thu, Sep 13, 11:48 AM

Wed, Sep 12

rsmith added a comment to D51333: Diagnose likely typos in include statements.

Thanks, some comments but the approach here looks great.

Wed, Sep 12, 5:55 PM
rsmith committed rC342098: Remove dead code made unnecessary by r342018..
Remove dead code made unnecessary by r342018.
Wed, Sep 12, 4:40 PM
rsmith committed rL342098: Remove dead code made unnecessary by r342018..
Remove dead code made unnecessary by r342018.
Wed, Sep 12, 4:40 PM
rsmith committed rC342097: Track definition merging on the canonical declaration even when local.
Track definition merging on the canonical declaration even when local
Wed, Sep 12, 4:40 PM
rsmith committed rL342097: Track definition merging on the canonical declaration even when local.
Track definition merging on the canonical declaration even when local
Wed, Sep 12, 4:40 PM
rsmith committed rC342096: When we leave a module header, make that header visible in its.
When we leave a module header, make that header visible in its
Wed, Sep 12, 4:10 PM
rsmith committed rL342096: When we leave a module header, make that header visible in its.
When we leave a module header, make that header visible in its
Wed, Sep 12, 4:10 PM

Tue, Sep 11

rsmith committed rC342020: Revert r342019, "Track definition merging on the canonical declaration.
Revert r342019, "Track definition merging on the canonical declaration
Tue, Sep 11, 7:31 PM
rsmith committed rL342020: Revert r342019, "Track definition merging on the canonical declaration.
Revert r342019, "Track definition merging on the canonical declaration
Tue, Sep 11, 7:31 PM
rsmith committed rC342019: Track definition merging on the canonical declaration even when local.
Track definition merging on the canonical declaration even when local
Tue, Sep 11, 7:15 PM
rsmith committed rC342018: Consistently create a new declaration when merging a pre-existing but.
Consistently create a new declaration when merging a pre-existing but
Tue, Sep 11, 7:15 PM
rsmith committed rC342017: Fix tracking of merged definitions when the merge target is also merged.
Fix tracking of merged definitions when the merge target is also merged
Tue, Sep 11, 7:15 PM
rsmith committed rL342019: Track definition merging on the canonical declaration even when local.
Track definition merging on the canonical declaration even when local
Tue, Sep 11, 7:15 PM
rsmith committed rL342018: Consistently create a new declaration when merging a pre-existing but.
Consistently create a new declaration when merging a pre-existing but
Tue, Sep 11, 7:15 PM
rsmith committed rL342017: Fix tracking of merged definitions when the merge target is also merged.
Fix tracking of merged definitions when the merge target is also merged
Tue, Sep 11, 7:14 PM

Mon, Sep 10

rsmith added inline comments to D51650: Implement target_clones multiversioning.
Mon, Sep 10, 1:32 PM
rsmith committed rL341858: Enhance -Wc++14-compat for class template argument deduction to list the.
Enhance -Wc++14-compat for class template argument deduction to list the
Mon, Sep 10, 1:32 PM
rsmith committed rC341858: Enhance -Wc++14-compat for class template argument deduction to list the.
Enhance -Wc++14-compat for class template argument deduction to list the
Mon, Sep 10, 1:32 PM
rsmith added inline comments to D51650: Implement target_clones multiversioning.
Mon, Sep 10, 11:14 AM

Sun, Sep 9

rsmith committed rC341778: PR33222: Require the declared return type not the actual return type to.
PR33222: Require the declared return type not the actual return type to
Sun, Sep 9, 11:36 PM
rsmith committed rL341778: PR33222: Require the declared return type not the actual return type to.
PR33222: Require the declared return type not the actual return type to
Sun, Sep 9, 11:36 PM
rsmith committed rC341775: Part of PR33222: defer enforcing return type mismatch for dependent.
Part of PR33222: defer enforcing return type mismatch for dependent
Sun, Sep 9, 10:36 PM
rsmith committed rL341775: Part of PR33222: defer enforcing return type mismatch for dependent.
Part of PR33222: defer enforcing return type mismatch for dependent
Sun, Sep 9, 10:36 PM

Fri, Sep 7

rsmith committed rL341736: Switch to using a reserved identifier for this internal compiler-rt function..
Switch to using a reserved identifier for this internal compiler-rt function.
Fri, Sep 7, 5:18 PM
rsmith committed rCRT341736: Switch to using a reserved identifier for this internal compiler-rt function..
Switch to using a reserved identifier for this internal compiler-rt function.
Fri, Sep 7, 5:18 PM
rsmith committed rL341734: Do not use optimized atomic libcalls for misaligned atomics..
Do not use optimized atomic libcalls for misaligned atomics.
Fri, Sep 7, 4:59 PM
rsmith committed rC341734: Do not use optimized atomic libcalls for misaligned atomics..
Do not use optimized atomic libcalls for misaligned atomics.
Fri, Sep 7, 4:59 PM
rsmith closed D51817: Do not use optimized atomic libcalls for misaligned atomics..
Fri, Sep 7, 4:59 PM
rsmith closed D51817: Do not use optimized atomic libcalls for misaligned atomics..
Fri, Sep 7, 4:59 PM
rsmith added inline comments to D51817: Do not use optimized atomic libcalls for misaligned atomics..
Fri, Sep 7, 4:20 PM
rsmith added a comment to D51246: Common infrastructure for reading a profile remapping file and building a mangling remapper from it..

Perhaps add some test cases for the parser and reader?

Fri, Sep 7, 4:09 PM
rsmith updated the diff for D51246: Common infrastructure for reading a profile remapping file and building a mangling remapper from it..

Add tests and extend file comment to give an example of <encoding>.

Fri, Sep 7, 4:09 PM
rsmith accepted D51814: Set cost of invariant group intrinsics to 0.
Fri, Sep 7, 3:24 PM
rsmith added a comment to D51812: Simplify CheckFallThroughForBody.

I'm not a fan of the duplication introduced here, but the new code is definitely more obvious. On balance, this seems like a small improvement, so let's go for it.

Fri, Sep 7, 2:53 PM
rsmith created D51817: Do not use optimized atomic libcalls for misaligned atomics..
Fri, Sep 7, 2:28 PM
rsmith committed rL341710: Make -Watomic-alignment say whether the atomic operation was oversized.
Make -Watomic-alignment say whether the atomic operation was oversized
Fri, Sep 7, 2:28 PM
rsmith committed rC341710: Make -Watomic-alignment say whether the atomic operation was oversized.
Make -Watomic-alignment say whether the atomic operation was oversized
Fri, Sep 7, 2:28 PM
rsmith added a comment to D51789: [clang] Add the exclude_from_explicit_instantiation attribute.

It'd be good to test that [[no_extern_template]] affects instantiation, not just code generation (eg, put something in the body of the entity that will trigger an error if instantiated, and check that the diagnostic is produced at the right times).

Fri, Sep 7, 12:54 PM
rsmith committed rL341700: PR38870: Add warning for zero-width unicode characters appearing in.
PR38870: Add warning for zero-width unicode characters appearing in
Fri, Sep 7, 12:30 PM
rsmith committed rC341700: PR38870: Add warning for zero-width unicode characters appearing in.
PR38870: Add warning for zero-width unicode characters appearing in
Fri, Sep 7, 12:30 PM

Wed, Sep 5

rsmith committed rC341499: PR38627: Fix handling of exception specification adjustment for.
PR38627: Fix handling of exception specification adjustment for
Wed, Sep 5, 3:32 PM
rsmith committed rL341499: PR38627: Fix handling of exception specification adjustment for.
PR38627: Fix handling of exception specification adjustment for
Wed, Sep 5, 3:32 PM
rsmith added a comment to D51608: [modules] when deserializing method, ensure it has correct exception spec.

Fixed in r341499.

Wed, Sep 5, 3:31 PM