Page MenuHomePhabricator
Feed Advanced Search

Yesterday

rsmith created D61109: Remove incorrect explicit instantiation declarations for valarray.
Wed, Apr 24, 6:33 PM
rsmith added inline comments to D48292: use modern type trait implementations when available.
Wed, Apr 24, 5:53 PM
rsmith updated the diff for D61107: remove checks for old unsupported versions of GCC (<4.9).
Wed, Apr 24, 5:49 PM
rsmith created D61107: remove checks for old unsupported versions of GCC (<4.9).
Wed, Apr 24, 5:49 PM
rsmith committed rL359159: Use modern type trait implementations when available..
Use modern type trait implementations when available.
Wed, Apr 24, 5:33 PM
rsmith committed rCXX359159: Use modern type trait implementations when available..
Use modern type trait implementations when available.
Wed, Apr 24, 5:33 PM
rsmith closed D48292: use modern type trait implementations when available.
Wed, Apr 24, 5:32 PM
rsmith committed rL359158: Fix typo in comment in r312851..
Fix typo in comment in r312851.
Wed, Apr 24, 5:20 PM
rsmith committed rC359158: Fix typo in comment in r312851..
Fix typo in comment in r312851.
Wed, Apr 24, 5:20 PM
rsmith added inline comments to D48292: use modern type trait implementations when available.
Wed, Apr 24, 5:11 PM
rsmith committed rL359155: PR41427: This has apparently been fixed already, just add a regression.
PR41427: This has apparently been fixed already, just add a regression
Wed, Apr 24, 4:44 PM
rsmith committed rC359155: PR41427: This has apparently been fixed already, just add a regression.
PR41427: This has apparently been fixed already, just add a regression
Wed, Apr 24, 4:44 PM

Tue, Apr 23

rsmith committed rL359066: Revert r350917 "[Sema] If CheckPlaceholderExpr rewrites the initializer.
Revert r350917 "[Sema] If CheckPlaceholderExpr rewrites the initializer
Tue, Apr 23, 7:22 PM
rsmith committed rC359066: Revert r350917 "[Sema] If CheckPlaceholderExpr rewrites the initializer.
Revert r350917 "[Sema] If CheckPlaceholderExpr rewrites the initializer
Tue, Apr 23, 7:22 PM
rsmith committed rL359059: Fix interactions between __builtin_constant_p and constexpr to match.
Fix interactions between __builtin_constant_p and constexpr to match
Tue, Apr 23, 6:30 PM
rsmith committed rC359059: Fix interactions between __builtin_constant_p and constexpr to match.
Fix interactions between __builtin_constant_p and constexpr to match
Tue, Apr 23, 6:30 PM
rsmith committed rL359051: Add missing diagnostic for anonymous struct/union definitions that don't.
Add missing diagnostic for anonymous struct/union definitions that don't
Tue, Apr 23, 5:07 PM
rsmith committed rC359051: Add missing diagnostic for anonymous struct/union definitions that don't.
Add missing diagnostic for anonymous struct/union definitions that don't
Tue, Apr 23, 5:07 PM
rsmith committed rL359048: C++ DR2387: a variable template declared wtih (or instantiated with) a.
C++ DR2387: a variable template declared wtih (or instantiated with) a
Tue, Apr 23, 4:47 PM
rsmith committed rC359048: C++ DR2387: a variable template declared wtih (or instantiated with) a.
C++ DR2387: a variable template declared wtih (or instantiated with) a
Tue, Apr 23, 4:46 PM

Mon, Apr 22

rsmith added a comment to D60943: Delay diagnosing "n" constraint until after inlining.

Here's the motivating bug report: https://bugs.llvm.org/show_bug.cgi?id=41027

Mon, Apr 22, 5:47 PM · Restricted Project
rsmith accepted D55500: [Builtins] Implement __builtin_is_constant_evaluated for use in C++2a.

LGTM, thanks!

Mon, Apr 22, 5:30 PM · Restricted Project
rsmith added a comment to D60943: Delay diagnosing "n" constraint until after inlining.

I don't like making the validity of an input depend on optimizations, but I presume this is necessary to build Linux or similar? I'd be more comfortable with this if we still did the eager check if the enclosing function doesn't have the always_inline attribute. Is that sufficient to satisfy the use cases?

Mon, Apr 22, 5:14 PM · Restricted Project
rsmith committed rL358932: [c++2a] Implement semantic restrictions for 'export' declarations..
[c++2a] Implement semantic restrictions for 'export' declarations.
Mon, Apr 22, 3:49 PM
rsmith committed rC358932: [c++2a] Implement semantic restrictions for 'export' declarations..
[c++2a] Implement semantic restrictions for 'export' declarations.
Mon, Apr 22, 3:49 PM

Sun, Apr 21

rsmith accepted D59711: PR41183: Don't emit Wstrict-prototypes warning for an implicit function declaration..

LGTM

Sun, Apr 21, 12:12 PM · Restricted Project

Fri, Apr 19

rsmith added a comment to D60872: Add new warning knob for unknown attribute namespaces.

Hmm. So there are a few different situations where we might meet an unknown attribute (I'm sure I missed some):

Fri, Apr 19, 3:44 PM
rsmith accepted D60892: Modules: Search for a visible definition of the decl context when computing visibility of a default template parameter.

LGTM, with a possible optimization. Thank you! I know this bug was incredibly hard to track down. =)

Fri, Apr 19, 3:21 PM · Restricted Project, Restricted Project

Thu, Apr 18

rsmith committed rL358733: Fix overly-long line after r358731..
Fix overly-long line after r358731.
Thu, Apr 18, 7:45 PM
rsmith committed rC358733: Fix overly-long line after r358731..
Fix overly-long line after r358731.
Thu, Apr 18, 7:45 PM
rsmith added inline comments to D41284: [Concepts] Associated constraints infrastructure..
Thu, Apr 18, 5:08 PM · Restricted Project
rsmith requested changes to D44352: [Concepts] Constrained template parameters.

This needs revision to reflect changes between the Concepts TS and C++20. In particular, only the name of a type-concept can be used to declare a template-parameter in the new rules:

Thu, Apr 18, 4:59 PM · Restricted Project
rsmith committed rL358713: [c++2a] Add semantic support for private module fragments..
[c++2a] Add semantic support for private module fragments.
Thu, Apr 18, 2:11 PM
rsmith committed rC358713: [c++2a] Add semantic support for private module fragments..
[c++2a] Add semantic support for private module fragments.
Thu, Apr 18, 2:11 PM
rsmith added a comment to D60845: [VerifyDiagnosticConsumer] Document -verify=<prefixes> in doxygen.

I've seen a few projects outside of clang use -verify mode for their own testing of various things.

Interesting. What's an example?

Thu, Apr 18, 2:09 PM · Restricted Project

Wed, Apr 17

rsmith committed rL358633: Split out modules-specific declaration handling from SemaDecl.cpp into a.
Split out modules-specific declaration handling from SemaDecl.cpp into a
Wed, Apr 17, 5:56 PM
rsmith committed rL358632: Add '#pragma clang __debug module_map module.name' to dump the module.
Add '#pragma clang __debug module_map module.name' to dump the module
Wed, Apr 17, 5:56 PM
rsmith committed rL358631: [c++2a] Improve diagnostic for use of declaration from another TU's.
[c++2a] Improve diagnostic for use of declaration from another TU's
Wed, Apr 17, 5:56 PM
rsmith committed rC358633: Split out modules-specific declaration handling from SemaDecl.cpp into a.
Split out modules-specific declaration handling from SemaDecl.cpp into a
Wed, Apr 17, 5:56 PM
rsmith committed rC358632: Add '#pragma clang __debug module_map module.name' to dump the module.
Add '#pragma clang __debug module_map module.name' to dump the module
Wed, Apr 17, 5:56 PM
rsmith committed rC358631: [c++2a] Improve diagnostic for use of declaration from another TU's.
[c++2a] Improve diagnostic for use of declaration from another TU's
Wed, Apr 17, 5:56 PM
rsmith added a comment to D60845: [VerifyDiagnosticConsumer] Document -verify=<prefixes> in doxygen.
In D60845#1470986, @NoQ wrote:

Yup, i confirm that this improves discoverability of this feature :) Maybe it deserves its own .rst doc, like FileCheck, but for now doxygen seems to be the best source of truth on how to use -verify and i consult it regularly.

Wed, Apr 17, 5:27 PM · Restricted Project
rsmith requested changes to D60826: Clarify -Winfinite-recursion message.
Wed, Apr 17, 4:44 PM · Restricted Project
rsmith added a comment to D59754: [Sema] Add c++2a designated initializer warnings.

I think you're missing the enforcement of the rule that the same field name cannot be designated multiple times in a single designated-initializer-list. I'm fine with that being done separately (not as part of this patch), though.

Wed, Apr 17, 4:15 PM · Restricted Project

Mon, Apr 15

rsmith added inline comments to D59754: [Sema] Add c++2a designated initializer warnings.
Mon, Apr 15, 6:56 PM · Restricted Project
rsmith committed rL358470: Tweak test to pass when using a non-integrated assembler..
Tweak test to pass when using a non-integrated assembler.
Mon, Apr 15, 6:48 PM
rsmith committed rC358470: Tweak test to pass when using a non-integrated assembler..
Tweak test to pass when using a non-integrated assembler.
Mon, Apr 15, 6:48 PM
rsmith committed rC358467: PR41192: fix cases where "missing ';' after class" error would.
PR41192: fix cases where "missing ';' after class" error would
Mon, Apr 15, 5:51 PM
rsmith committed rL358467: PR41192: fix cases where "missing ';' after class" error would.
PR41192: fix cases where "missing ';' after class" error would
Mon, Apr 15, 5:51 PM
rsmith committed rC358463: Simplify diagnosis of misplaced attributes in module-declarations..
Simplify diagnosis of misplaced attributes in module-declarations.
Mon, Apr 15, 4:54 PM
rsmith committed rL358463: Simplify diagnosis of misplaced attributes in module-declarations..
Simplify diagnosis of misplaced attributes in module-declarations.
Mon, Apr 15, 4:54 PM
rsmith added a comment to D40381: Parse concept definition.

Please revert the (presumably unintended) mode changes to the ptxas executables.

Mon, Apr 15, 3:45 PM · Restricted Project
rsmith accepted D60730: Only use argv[0] as the main executable name if it exists..

LGTM

Mon, Apr 15, 2:01 PM · Restricted Project

Sun, Apr 14

rsmith committed rC358355: [c++20] Enable driver and frontend support for building and using.
[c++20] Enable driver and frontend support for building and using
Sun, Apr 14, 4:10 AM
rsmith committed rL358355: [c++20] Enable driver and frontend support for building and using.
[c++20] Enable driver and frontend support for building and using
Sun, Apr 14, 4:10 AM
rsmith committed rC358353: [c++20] Parsing support for module-declarations, import-declarations,.
[c++20] Parsing support for module-declarations, import-declarations,
Sun, Apr 14, 1:09 AM
rsmith committed rL358353: [c++20] Parsing support for module-declarations, import-declarations,.
[c++20] Parsing support for module-declarations, import-declarations,
Sun, Apr 14, 1:09 AM

Fri, Apr 12

rsmith added a comment to D60539: Add -std=c++14 language standard option to tests that require C++14 default.

Adding -std=c++14 doesn't work in general as it has side-effects: clang -std=c++14 foo.c is a warning, clang -std=c++14 -x c-header foo.h is an error. It would be nice if clang had a flag to specify the default c++ language version without also forcing the file to be parsed as C++, but AFAIK it does not.

Fri, Apr 12, 10:34 PM · Restricted Project, Restricted Project
rsmith committed rL358326: [verify] Add support for location markers in directives..
[verify] Add support for location markers in directives.
Fri, Apr 12, 9:32 PM
rsmith committed rC358326: [verify] Add support for location markers in directives..
[verify] Add support for location markers in directives.
Fri, Apr 12, 9:32 PM

Thu, Apr 11

rsmith accepted D60573: [Sema] ADL: Associated namespaces for class types and enumeration types (CWG 1691).

I have applied the fix to all language versions, even though I think that the DR only applies to C++14

Thu, Apr 11, 4:11 PM · Restricted Project
rsmith committed rL358231: [C++20] Implement context-sensitive header-name lexing and pp-import parsing in….
[C++20] Implement context-sensitive header-name lexing and pp-import parsing in…
Thu, Apr 11, 2:17 PM
rsmith committed rL358230: Remove use of lookahead from _Pragma handling and from all other.
Remove use of lookahead from _Pragma handling and from all other
Thu, Apr 11, 2:16 PM
rsmith committed rC358231: [C++20] Implement context-sensitive header-name lexing and pp-import parsing in….
[C++20] Implement context-sensitive header-name lexing and pp-import parsing in…
Thu, Apr 11, 2:16 PM
rsmith committed rC358230: Remove use of lookahead from _Pragma handling and from all other.
Remove use of lookahead from _Pragma handling and from all other
Thu, Apr 11, 2:16 PM
rsmith added a comment to D60561: [clang] fixing diagnostics of constexpr callstack.

This seems liable to be moderately expensive, especially for large argument values, and it's a cost that is unnecessary in the common case where evaluation succeeds.

Thu, Apr 11, 1:22 PM · Restricted Project

Wed, Apr 10

rsmith accepted D60539: Add -std=c++14 language standard option to tests that require C++14 default.

Generally it's a good thing for our test suite to be robust against changes to Clang's default language mode.

Wed, Apr 10, 2:23 PM · Restricted Project, Restricted Project
rsmith added a comment to D58920: [Modules][PR39287] Consolidate multiple std's.

I expect that we get this wrong in the same way for all the SemaDeclRefs declarations (StdNamespace, StdBadAlloc, and StdAlignValT).

Wed, Apr 10, 12:52 PM · Restricted Project
rsmith accepted D60055: Check i < FD->getNumParams() before querying.
Wed, Apr 10, 12:23 PM · Restricted Project

Mar 22 2019

rsmith added a comment to D43576: Solution to fix PR27066 - Redefinition with same mangled name as another definition (dllexport and uuid).

Thanks, this looks like a good broad direction.

Mar 22 2019, 3:01 PM

Mar 21 2019

rsmith committed rC356712: Improve the diagnostic for #include_next occurring in a file not found.
Improve the diagnostic for #include_next occurring in a file not found
Mar 21 2019, 1:42 PM
rsmith committed rL356712: Improve the diagnostic for #include_next occurring in a file not found.
Improve the diagnostic for #include_next occurring in a file not found
Mar 21 2019, 1:42 PM
rsmith committed rL356704: Refactor handling of #include directives to cleanly separate the.
Refactor handling of #include directives to cleanly separate the
Mar 21 2019, 12:43 PM
rsmith committed rC356704: Refactor handling of #include directives to cleanly separate the.
Refactor handling of #include directives to cleanly separate the
Mar 21 2019, 12:43 PM

Mar 19 2019

rsmith accepted D59573: [analyzer] C++17: PR41142: Ignore transparent InitListExprs when finding construction contexts..

LGTM

Mar 19 2019, 7:17 PM · Restricted Project, Restricted Project
rsmith committed rL356530: Replace tok::angle_string_literal with new tok::header_name..
Replace tok::angle_string_literal with new tok::header_name.
Mar 19 2019, 3:09 PM
rsmith committed rC356530: Replace tok::angle_string_literal with new tok::header_name..
Replace tok::angle_string_literal with new tok::header_name.
Mar 19 2019, 3:09 PM

Mar 18 2019

rsmith committed rC356433: Factor out repeated code parsing and concatenating header-names from.
Factor out repeated code parsing and concatenating header-names from
Mar 18 2019, 6:52 PM
rsmith committed rC356432: Don't apply the include depth limit until we actually decide to enter.
Don't apply the include depth limit until we actually decide to enter
Mar 18 2019, 6:52 PM
rsmith committed rL356433: Factor out repeated code parsing and concatenating header-names from.
Factor out repeated code parsing and concatenating header-names from
Mar 18 2019, 6:52 PM
rsmith committed rL356432: Don't apply the include depth limit until we actually decide to enter.
Don't apply the include depth limit until we actually decide to enter
Mar 18 2019, 6:52 PM

Mar 12 2019

rsmith accepted D59282: [Parse] Parse '#pragma clang attribute' as an external-declaration.
Mar 12 2019, 9:25 PM · Restricted Project, Restricted Project
rsmith added a reviewer for D59254: [RFC] Implementation of Clang randstruct: kcc.
Mar 12 2019, 1:29 PM · Restricted Project

Mar 8 2019

rsmith added a comment to D59038: [8.0 Regression] Fix handling of `__builtin_constant_p` inside template arguments, enumerators, case statements, and the enable_if attribute..

LGTM, and I think this is safe enough to take for Clang 8.

Do you think the severity is high enough to spin another release candidate?

Mar 8 2019, 3:18 PM · Restricted Project
rsmith accepted D59038: [8.0 Regression] Fix handling of `__builtin_constant_p` inside template arguments, enumerators, case statements, and the enable_if attribute..

LGTM, and I think this is safe enough to take for Clang 8.

Mar 8 2019, 10:00 AM · Restricted Project

Mar 7 2019

rsmith added a comment to D59105: [RFC] Create an Arbitrary Precision Integer Type..

In principle, I think an extension in this space seems reasonable and useful. Considering the points in http://clang.llvm.org/get_involved.html, I'm happy to assume you meet points 2, 5, and 6, but I'd like to see a written-up rationale for the other points. (In particular, you do not yet meet the bar for points 3 and 7, and if you're not proposing this to WG14 or WG21 or similar, some amount of rationale justifying that is necessary.)

Mar 7 2019, 2:05 PM

Mar 6 2019

rsmith abandoned D58154: Add support for -fpermissive..

If we go with a different name for the flag, then the user has to update their build scripts to get code to compile with Clang, which means it shouldn't be too onerous for them to spell out the specific diagnostics they need disabled (and it sort of forces them into somewhat better code hygiene by not disabling all diagnostics). I'm kind of leaning towards not providing a flag at all.

Mar 6 2019, 4:22 PM · Restricted Project
rsmith added a comment to D58154: Add support for -fpermissive..

I also can't really tell what the intent is behind classifying some diagnostics in Clang as ExtWarn,DefaultError and others Warning,DefaultError -- or if there even is any useful purpose there at all. I note with special-puzzlement the existence of both ext_return_missing_expr and warn_return_missing_expr.

Mar 6 2019, 12:47 PM · Restricted Project

Mar 5 2019

rsmith added a comment to D58154: Add support for -fpermissive..

The errors disabled by this feature are default-error warnings -- you can already get the same effect by using -Wno-<lots-of-things>.

Mar 5 2019, 4:01 PM · Restricted Project

Mar 4 2019

rsmith added a comment to D58154: Add support for -fpermissive..

I'm not super keen on supporting -fpermissive -- what is the impetus for supporting this? Is it just for GCC compatibility?

Mar 4 2019, 2:48 PM · Restricted Project

Feb 23 2019

rsmith committed rL354736: Enable coroutines under -std=c++2a..
Enable coroutines under -std=c++2a.
Feb 23 2019, 1:09 PM
rsmith committed rL354735: [cxx_status] Update to match Kona motions..
[cxx_status] Update to match Kona motions.
Feb 23 2019, 1:09 PM
rsmith committed rC354736: Enable coroutines under -std=c++2a..
Enable coroutines under -std=c++2a.
Feb 23 2019, 1:09 PM
rsmith committed rC354735: [cxx_status] Update to match Kona motions..
[cxx_status] Update to match Kona motions.
Feb 23 2019, 1:09 PM

Feb 21 2019

rsmith committed rC354633: Use _Q as MS ABI mangling for char8_t..
Use _Q as MS ABI mangling for char8_t.
Feb 21 2019, 3:04 PM
rsmith committed rL354633: Use _Q as MS ABI mangling for char8_t..
Use _Q as MS ABI mangling for char8_t.
Feb 21 2019, 3:04 PM

Feb 15 2019

Herald added a reviewer for D56571: [RFC prototype] Implementation of asm-goto support in clang: martong.
Feb 15 2019, 5:35 PM
Herald added a project to D56336: [Support] unflake TempFileCollisions test: Restricted Project.

This seems fine to me, but I think we can do better if we want to. How about: call TryCreateTempFile() N times, and check that it succeeds exactly 16 times. Pick N such that the probability of it failing to find all 16 possible file names (given that it has 128 retries for each call) is astronomically small. (Right now the test should fail somewhere around 0.03% of the time; if we made, say, 32 calls, the probability of a flake would be significantly lower than the probability of a flake due to spontaneous hardware failure (in order to flake, we must find only 15 of the 16 filenames with at least 17 * 128 + 15 guesses, the probability of which is 1 in 3.9x10^62).

Feb 15 2019, 5:17 PM · Restricted Project
rsmith committed rLLDB354185: Temporarily disable test:.
Temporarily disable test:
Feb 15 2019, 4:16 PM
rsmith committed rL354185: Temporarily disable test:.
Temporarily disable test:
Feb 15 2019, 4:16 PM