Page MenuHomePhabricator
Feed Advanced Search

Yesterday

rsmith added inline comments to D77374: Fix -fsanitize=array-bounds with comma operator.
Wed, Apr 8, 7:01 PM · Restricted Project
rsmith added a comment to D77697: libc++: adjust modulemap for non-modular C.

This fixes the module build of clang for me.

Wed, Apr 8, 5:56 PM · Restricted Project
rsmith added a comment to D73306: llvm-addr2line: assume addresses on the command line are hexadecimal rather than attempting to guess the base based on the form of the number..

So I think the design for Phabricator is intended to be one review per commit. I vaguely recall someone saying this was also the preferred style for reviews in LLVM in general, in one of the Github PRs versus Phabricator threads. Certainly, I find it easiest to work in that way. I don't know if arcanist has any way of linking things like this (I don't use it), but if you put "Depends on DXXXX" in your patch description, it will create a commit "Stack" tab which shows the commit thread (see D77308 for an example of the Stack tab). You can also do it manually using the "Edit Related Revisions" UI option.

Wed, Apr 8, 2:41 PM · Restricted Project
rsmith created D77753: Change deprecated -fsanitize-recover flag to apply to all sanitizers, not just UBSan..
Wed, Apr 8, 2:08 PM · Restricted Project
rsmith committed rG878d96011acc: [clang][CodeGen] Handle throw expression in conditional operator constant… (authored by tambre).
[clang][CodeGen] Handle throw expression in conditional operator constant…
Wed, Apr 8, 1:03 PM
rsmith closed D77502: [clang][CodeGen] Handle throw expression in conditional operator constant folding.
Wed, Apr 8, 1:03 PM · Restricted Project

Tue, Apr 7

rsmith added inline comments to D73306: llvm-addr2line: assume addresses on the command line are hexadecimal rather than attempting to guess the base based on the form of the number..
Tue, Apr 7, 4:22 PM · Restricted Project
rsmith updated the diff for D73306: llvm-addr2line: assume addresses on the command line are hexadecimal rather than attempting to guess the base based on the form of the number..

Remove separately-committed cleanup commits.

Tue, Apr 7, 3:49 PM · Restricted Project
rsmith added inline comments to D75726: [ConstExprPreter] Updated constant interpreter documentation.
Tue, Apr 7, 3:49 PM · Restricted Project
rsmith accepted D77586: Allow parameter names to be elided in a function definition in C.
Tue, Apr 7, 11:23 AM

Mon, Apr 6

rsmith committed rGc56975e299e1: Fix template instantiation of a non-dependent call to an inherited constructor… (authored by rsmith).
Fix template instantiation of a non-dependent call to an inherited constructor…
Mon, Apr 6, 7:39 PM
rsmith committed rG8f2d2a7cb465: For PR45333: Move AnalyzeImplicitConversions to using data recursion instead of… (authored by rsmith).
For PR45333: Move AnalyzeImplicitConversions to using data recursion instead of…
Mon, Apr 6, 4:57 PM
rsmith added a comment to D77505: [libc++] Implement <numbers>.

Should we have some kind of test coverage that the values of these constants are correct?

Mon, Apr 6, 2:43 PM · Restricted Project
rsmith accepted D77502: [clang][CodeGen] Handle throw expression in conditional operator constant folding.

Looks good (with the comment suitably tweaked). Thanks!

Mon, Apr 6, 2:12 PM · Restricted Project

Sun, Apr 5

rsmith committed rG6163aa96799c: PR45239: Don't deallocate TemplateIdAnnotations if they might still be in the… (authored by rsmith).
PR45239: Don't deallocate TemplateIdAnnotations if they might still be in the…
Sun, Apr 5, 11:25 PM
rsmith added inline comments to D77502: [clang][CodeGen] Handle throw expression in conditional operator constant folding.
Sun, Apr 5, 10:56 PM · Restricted Project
rsmith added a comment to D68115: Zero initialize padding in unions.
In D68115#1962863, @jfb wrote:

I think the majority opinion expressed on this review at this point favors not guaranteeing zero-initialization except where required by the relevant standard. That'd also be consistent with our stance on trivial auto variable initialization in general.

Sorry, I didn't express myself well: if trivial auto-var init is on, then I want initialization of union padding to also be on. I think this is exactly compatible with what you want, as is says nothing of the behavior when trivial auto-var init is not on.

I'm not yet sure about whether we want separate controls for this and for -ftrivial-auto-init, or whether from a user's perspective there's really only one question: should bits left uninitialized be undef, guaranteed zero, or guaranteed to be filled with a pattern -- independent of whether they're padding bits? (And related, do we actually want control over zeroing union padding in all cases or only for trivial automatic variables? And do we want control over zeroing or pattern-filling objects allocated with new with trivial initialization?)

Trivial auto-var init should always initialize all stack padding, and should not also initialize heap padding. There should be separate controls for heap padding, in part because this interacts with the allocator (whereas stack initialization does not).

Sun, Apr 5, 6:10 PM · Restricted Project
rsmith committed rG944db8a433f5: Permit constant evaluation of mixed __builtin_memcmp between char and char8_t. (authored by rsmith).
Permit constant evaluation of mixed __builtin_memcmp between char and char8_t.
Sun, Apr 5, 4:02 PM
rsmith added a comment to D68115: Zero initialize padding in unions.
In D68115#1946990, @jfb wrote:

It sounds like we are looking for -fzero-union-padding. That's been where the discussion has left off twice for months.

I believe the state of Clang prior to this patch is actually wrong.

That's my understanding as well. I'd like it if this patch (or a follow-up) got us back to standard behavior. In either case, I'd like the proposed behavior to bee on-by-default when doing initialization of stack variables.

Sun, Apr 5, 4:02 PM · Restricted Project
rsmith committed rG7f24db01751d: Add documentation and testing for 2c88a485c71155c19e512f22c54e63ee337282a3. (authored by rsmith).
Add documentation and testing for 2c88a485c71155c19e512f22c54e63ee337282a3.
Sun, Apr 5, 3:30 PM

Sat, Apr 4

rsmith added a comment to D77184: Make it possible for lit.site.cfg to contain relative paths, and use it for llvm and clang.

This has broken my ability to run the check-clang target on Linux. There are symlinks in the path from which I run my builds, and this patch is computing incorrect relative paths in that situation.

This patch appears to fix the problem:

Turns out that's only a partial fix (it fixes ninja clang-check but not the general problem). Running lit from inside the source directory is still broken. Eg, this used to work:

clang/test$ $BUILDDIR/bin/llvm-lit SemaCXX/constant-expression.cpp

... and doesn't work any more because the relative paths in lit.site.cfg.py don't seem to resolve to the right places. Please can you fix or revert?

Can you describe your symlink setup in enough detail that I can recreate it locally please?

Sat, Apr 4, 9:50 PM · Restricted Project

Fri, Apr 3

rsmith committed rG179f4baba067: Don't treat a CXXScopeSpec with a nested name specifier but no location as… (authored by rsmith).
Don't treat a CXXScopeSpec with a nested name specifier but no location as…
Fri, Apr 3, 8:35 PM
rsmith added a comment to D77184: Make it possible for lit.site.cfg to contain relative paths, and use it for llvm and clang.

This has broken my ability to run the check-clang target on Linux. There are symlinks in the path from which I run my builds, and this patch is computing incorrect relative paths in that situation.

This patch appears to fix the problem:

Fri, Apr 3, 8:34 PM · Restricted Project
rsmith added a comment to D77184: Make it possible for lit.site.cfg to contain relative paths, and use it for llvm and clang.

This has broken my ability to run the check-clang target on Linux. There are symlinks in the path from which I run my builds, and this patch is computing incorrect relative paths in that situation.

Fri, Apr 3, 8:02 PM · Restricted Project
rsmith added a comment to D77184: Make it possible for lit.site.cfg to contain relative paths, and use it for llvm and clang.

This has broken my ability to run the check-clang target on Linux. There are symlinks in the path from which I run my builds, and this patch is computing incorrect relative paths in that situation.

Fri, Apr 3, 8:02 PM · Restricted Project
rsmith committed rG4ede8879924c: PR45402: Make the restrictions on constant evaluation of memcmp and memchr… (authored by rsmith).
PR45402: Make the restrictions on constant evaluation of memcmp and memchr…
Fri, Apr 3, 6:27 PM

Thu, Apr 2

rsmith added a comment to D77342: Sema: check for null TInfo in ActOnBaseSpecifier.

I think the problem this aims to address was fixed by rG330873230071ffc2aebc0fe74db55e7a530c2f1b.

Thu, Apr 2, 6:27 PM · Restricted Project
rsmith requested changes to D77246: Instead of scream, why not roll?.

I'm sorry, but I can't accept this patch as-is because it removes the u suffix from the literal. We're never gonna give u up.

Thu, Apr 2, 5:22 PM · Restricted Project

Tue, Mar 31

rsmith committed rG9dcb16bc9aff: Switch this function to the LLVM variable naming convention, to match the rest… (authored by rsmith).
Switch this function to the LLVM variable naming convention, to match the rest…
Tue, Mar 31, 1:48 PM
rsmith committed rG11ccad6e8795: [docs] Make llvm-addr2line documentation more explicit about which behavior is… (authored by rsmith).
[docs] Make llvm-addr2line documentation more explicit about which behavior is…
Tue, Mar 31, 1:09 PM
rsmith added inline comments to D77041: [AST] Fix a crash on invalid constexpr Ctorinitializer when building RecoveryExpr..
Tue, Mar 31, 1:07 PM · Restricted Project
rsmith added inline comments to D77041: [AST] Fix a crash on invalid constexpr Ctorinitializer when building RecoveryExpr..
Tue, Mar 31, 1:07 PM · Restricted Project
rsmith updated the diff for D73306: llvm-addr2line: assume addresses on the command line are hexadecimal rather than attempting to guess the base based on the form of the number..
  • Explicitly check for failed lookup in tests to differentiate between success and errors.
  • Fix test expectations for 0O prefix, which is not supported by llvm-symbolizer nor llvm-addr2line.
Tue, Mar 31, 1:07 PM · Restricted Project

Mon, Mar 30

rsmith added inline comments to D73306: llvm-addr2line: assume addresses on the command line are hexadecimal rather than attempting to guess the base based on the form of the number..
Mon, Mar 30, 8:46 PM · Restricted Project
rsmith updated the diff for D73306: llvm-addr2line: assume addresses on the command line are hexadecimal rather than attempting to guess the base based on the form of the number..
  • Switch this function to the LLVM variable naming convention, to match the rest of the file.
Mon, Mar 30, 8:46 PM · Restricted Project
rsmith added inline comments to D77081: [MS] Mark vbase dtors ref'd when ref'ing dtor.
Mon, Mar 30, 7:08 PM · Restricted Project
rsmith committed rG330873230071: Fix crash if base specifier parsing hits an invalid type annotation. (authored by rsmith).
Fix crash if base specifier parsing hits an invalid type annotation.
Mon, Mar 30, 5:30 PM
rsmith added inline comments to D77081: [MS] Mark vbase dtors ref'd when ref'ing dtor.
Mon, Mar 30, 3:51 PM · Restricted Project

Sun, Mar 29

rsmith committed rG9a7eda1bece8: PR45350: Handle unsized array CXXConstructExprs in constant evaluation of array… (authored by rsmith).
PR45350: Handle unsized array CXXConstructExprs in constant evaluation of array…
Sun, Mar 29, 7:48 PM
rsmith committed rGa5458bb0d6b1: Don't claim template names that name non-templates are undeclared. (authored by rsmith).
Don't claim template names that name non-templates are undeclared.
Sun, Mar 29, 1:24 PM

Fri, Mar 27

rsmith committed rG499b2a8d63ca: PR45294: Fix handling of assumed template names looked up in the lexical scope. (authored by rsmith).
PR45294: Fix handling of assumed template names looked up in the lexical scope.
Fri, Mar 27, 9:28 PM
rsmith committed rG88c7ffaf9476: Form invalid template-id annotations when parsing a construct that is required… (authored by rsmith).
Form invalid template-id annotations when parsing a construct that is required…
Fri, Mar 27, 8:56 PM
rsmith committed rG0c42539df3d4: Improve error recovery from missing '>' in template argument list. (authored by rsmith).
Improve error recovery from missing '>' in template argument list.
Fri, Mar 27, 7:19 PM
rsmith committed rGb3f6e3d6d64d: Improve recovery from invalid template-ids. (authored by rsmith).
Improve recovery from invalid template-ids.
Fri, Mar 27, 5:40 PM
rsmith accepted D76943: [clang analysis] Make mutex guard detection more reliable..
Fri, Mar 27, 5:39 PM · Restricted Project
rsmith accepted D76943: [clang analysis] Make mutex guard detection more reliable..
Fri, Mar 27, 1:43 PM · Restricted Project
rsmith added a comment to D69585: PerformPendingInstatiations() already in the PCH.

This needs to be done behind a flag. It's an explicit design goal that compilation behavior using a PCH or precompiled preamble behaves identically to compilation not using a PCH / precompiled preamble. The behavior of this patch is also non-conforming: we're only allowed to perform function template instantiations at their points of instantiation (essentially, at points of use + at the end of the translation unit).

How is that different from -fmodules? Given that AFAICT this makes PCHs work the same way as modules, this should mean -fmodules also both fails the identical behaviour goal and is non-conforming.

Fri, Mar 27, 1:10 PM · Restricted Project
rsmith added a comment to D68115: Zero initialize padding in unions.

It sounds like we are looking for -fzero-union-padding. That's been where the discussion has left off twice for months.

Fri, Mar 27, 1:10 PM · Restricted Project

Wed, Mar 25

rsmith added a comment to D69585: PerformPendingInstatiations() already in the PCH.

This needs to be done behind a flag. It's an explicit design goal that compilation behavior using a PCH or precompiled preamble behaves identically to compilation not using a PCH / precompiled preamble. The behavior of this patch is also non-conforming: we're only allowed to perform function template instantiations at their points of instantiation (essentially, at points of use + at the end of the translation unit).

Wed, Mar 25, 4:16 PM · Restricted Project

Mon, Mar 23

rsmith committed rG5bd06118c2a7: Update documentation for __builtin_operator_new and __builtin_operator_delete… (authored by rsmith).
Update documentation for __builtin_operator_new and __builtin_operator_delete…
Mon, Mar 23, 4:54 PM
rsmith added inline comments to D76323: [AST] Fix handling of long double and bool in __builtin_bit_cast.
Mon, Mar 23, 4:21 PM
rsmith committed rG502915c619a3: PR45142: 'template ~X<T>' is ill-formed; reject it rather than crashing. (authored by rsmith).
PR45142: 'template ~X<T>' is ill-formed; reject it rather than crashing.
Mon, Mar 23, 3:16 PM
rsmith added a comment to D76572: Replace `T(x)` with `reinterpret_cast<T>(x)` everywhere it means reinterpret_cast. No functional change.

[...] take my word for it, you don't want to start with the code I wrote the other day. :)

Mon, Mar 23, 1:38 PM · Restricted Project
rsmith accepted D76572: Replace `T(x)` with `reinterpret_cast<T>(x)` everywhere it means reinterpret_cast. No functional change.

Changes LGTM on the Clang side.

Mon, Mar 23, 12:33 PM · Restricted Project

Fri, Mar 20

rsmith committed rGced7617c3853: PR45267: Don't reject pure-specifiers with escaped newlines in their '0' token. (authored by rsmith).
PR45267: Don't reject pure-specifiers with escaped newlines in their '0' token.
Fri, Mar 20, 7:00 PM
rsmith closed D76438: ConstantExpr cached APValues if present for constant evaluation.
Fri, Mar 20, 6:28 PM · Restricted Project
rsmith committed rGbe10b7e43a3a: Use values cached in ConstantExprs for expression evaluation where present. (authored by wchilders).
Use values cached in ConstantExprs for expression evaluation where present.
Fri, Mar 20, 6:28 PM
rsmith committed rGfc8a009bf39d: Clean up and simplify after collision of c48442c and 19fccc5, which fixed the… (authored by rsmith).
Clean up and simplify after collision of c48442c and 19fccc5, which fixed the…
Fri, Mar 20, 3:13 PM
rsmith committed rGdc4259d5a384: [c++20] Further extend the set of comparisons broken by C++20 that we accept as… (authored by rsmith).
[c++20] Further extend the set of comparisons broken by C++20 that we accept as…
Fri, Mar 20, 2:40 PM
rsmith accepted D76438: ConstantExpr cached APValues if present for constant evaluation.
Fri, Mar 20, 2:07 PM · Restricted Project

Thu, Mar 19

rsmith added inline comments to D76438: ConstantExpr cached APValues if present for constant evaluation.
Thu, Mar 19, 5:00 PM · Restricted Project
rsmith added inline comments to D76447: Apply ConstantEvaluated evaluation contexts to more manifestly constant evaluated scopes.
Thu, Mar 19, 2:15 PM · Restricted Project
rsmith added inline comments to D76438: ConstantExpr cached APValues if present for constant evaluation.
Thu, Mar 19, 1:42 PM · Restricted Project
rsmith committed rGb20ab412bf83: Teach TreeTransform to substitute into resolved TemplateArguments. (authored by rsmith).
Teach TreeTransform to substitute into resolved TemplateArguments.
Thu, Mar 19, 1:12 PM
rsmith added a comment to D76396: Allow immediate invocation of constructors.

I have already a patch aiming to do the same thing. D74007

Thu, Mar 19, 10:52 AM · Restricted Project
rsmith accepted D74007: [clang] Add support for consteval constructors.
Thu, Mar 19, 10:52 AM · Restricted Project

Wed, Mar 18

rsmith added inline comments to D76396: Allow immediate invocation of constructors.
Wed, Mar 18, 6:28 PM · Restricted Project
rsmith committed rGf18233dad466: Fix -fsanitize=array-bound to treat T[0] union members as flexible array… (authored by rsmith).
Fix -fsanitize=array-bound to treat T[0] union members as flexible array…
Wed, Mar 18, 4:19 PM

Tue, Mar 17

rsmith committed rGe7a811b3193a: PR45133: Don't crash if the active member of a union changes while it's in the… (authored by rsmith).
PR45133: Don't crash if the active member of a union changes while it's in the…
Tue, Mar 17, 9:04 PM
rsmith committed rGc48442c9f388: PR45207: Fix crash if constrained-type-specifier annotation forms a template_id… (authored by rsmith).
PR45207: Fix crash if constrained-type-specifier annotation forms a template_id…
Tue, Mar 17, 1:30 PM

Mon, Mar 16

rsmith added inline comments to D76096: [clang] allow const structs to be constant expressions in initializer lists.
Mon, Mar 16, 5:31 PM · Restricted Project
rsmith added a comment to D74238: [clang] Improve diagnostic note for implicit conversion sequences that would work if more than one implicit user-defined conversion were allowed..

How do you defend against attempting an infinite sequence of user-defined conversion? For example:

Mon, Mar 16, 5:31 PM · Restricted Project
rsmith added inline comments to D76096: [clang] allow const structs to be constant expressions in initializer lists.
Mon, Mar 16, 4:24 PM · Restricted Project

Fri, Mar 13

rsmith committed rG810794ce8828: PR44992 Don't crash when a defaulted <=> is in a class declared in a… (authored by rsmith).
PR44992 Don't crash when a defaulted <=> is in a class declared in a…
Fri, Mar 13, 7:58 PM
rsmith committed rG44c3a63c74dd: PR45063: Fix crash on invalid processing an elaborated class template-id with… (authored by rsmith).
PR45063: Fix crash on invalid processing an elaborated class template-id with…
Fri, Mar 13, 6:54 PM
rsmith committed rGb5aaa60962f7: Fix "unused variable" warning in NDEBUG builds. (authored by rsmith).
Fix "unused variable" warning in NDEBUG builds.
Fri, Mar 13, 2:03 PM
rsmith added a comment to D76096: [clang] allow const structs to be constant expressions in initializer lists.

The performance implications of deleting those lines is the complicated part.

Where does compile time performance suffer from this? I guess if we have massive array initializers, or large struct definitions, or deeply nested struct definitions, it might take time to recursively evaluate if all members are constant expressions; but isn't that what I want as a developer, to offload the calculations to compile time rather than runtime? Or is the cost way too significant?

Fri, Mar 13, 1:29 PM · Restricted Project

Thu, Mar 12

rsmith committed rG461566b0465c: Add a test triple to avoid failure under MS ABI. (authored by rsmith).
Add a test triple to avoid failure under MS ABI.
Thu, Mar 12, 4:52 PM
rsmith committed rG9975dc38bf73: Defer checking for mismatches between the deletedness of and overriding… (authored by rsmith).
Defer checking for mismatches between the deletedness of and overriding…
Thu, Mar 12, 1:34 PM

Tue, Mar 10

rsmith committed rG4cba668ac134: Fix crash-on-invalid when trying to recover from a function template being… (authored by rsmith).
Fix crash-on-invalid when trying to recover from a function template being…
Tue, Mar 10, 5:00 PM
rsmith committed rG5c845c1c50ac: PR45083: Mark statement expressions as being dependent if they appear in a… (authored by rsmith).
PR45083: Mark statement expressions as being dependent if they appear in a…
Tue, Mar 10, 2:49 PM

Mar 9 2020

rsmith committed rG6333cc2a12dc: Revert "PR45083: Mark statement expressions as being dependent if they contain" (authored by rsmith).
Revert "PR45083: Mark statement expressions as being dependent if they contain"
Mar 9 2020, 5:17 PM
rsmith added a reverting change for rG2669e41b7b9c: PR45083: Mark statement expressions as being dependent if they contain…: rG6333cc2a12dc: Revert "PR45083: Mark statement expressions as being dependent if they contain".
Mar 9 2020, 5:17 PM
rsmith committed rG51fab8f36f47: Mark test function as 'weak' to prevent interprocedural CSE. (authored by rsmith).
Mark test function as 'weak' to prevent interprocedural CSE.
Mar 9 2020, 5:17 PM
rsmith committed rG2669e41b7b9c: PR45083: Mark statement expressions as being dependent if they contain… (authored by rsmith).
PR45083: Mark statement expressions as being dependent if they contain…
Mar 9 2020, 5:17 PM

Mar 6 2020

rsmith committed rG6d894afdea43: PR45124: Don't leave behind pending cleanups when declaring implicit deduction… (authored by rsmith).
PR45124: Don't leave behind pending cleanups when declaring implicit deduction…
Mar 6 2020, 1:49 PM

Mar 5 2020

rsmith added inline comments to D72860: [modules] Do not cache invalid state for modules that we attempted to load..
Mar 5 2020, 9:47 PM · Restricted Project
rsmith committed rGa95cc77be154: PR45083: Mark statement expressions as being dependent if they contain… (authored by rsmith).
PR45083: Mark statement expressions as being dependent if they contain…
Mar 5 2020, 7:07 PM
rsmith accepted D75560: Make Decl:: setOwningModuleID() public. (NFC).

I'm surprised so few setters needed to be made public for this to work. If this required making lots more setters public, I'd be concerned, because we generally don't want large chunks of the AST to be mutable after creation. But this seems fine.

Mar 5 2020, 6:03 PM · Restricted Project

Mar 4 2020

rsmith added a comment to D74735: [analyzer] Add support for CXXInheritedCtorInitExpr..

There are also no argument expressions, even though the inherited constructor for A takes one argument x. The current patch takes argument expressions from the topmost CXXConstructExpr, which also requires a different location context to access. As far as i can see, the result of such substitution is always correct, i.e., the resulting argument SVal obtained from the Environment this way will always be evalBinOp-equal to the correct argument value.

Mar 4 2020, 5:59 PM · Restricted Project
rsmith added inline comments to D75560: Make Decl:: setOwningModuleID() public. (NFC).
Mar 4 2020, 4:20 PM · Restricted Project
rsmith committed rGf545ede91c9d: Fix regression in bdad0a1: force rebuilding of StmtExpr nodes in TreeTransform… (authored by rsmith).
Fix regression in bdad0a1: force rebuilding of StmtExpr nodes in TreeTransform…
Mar 4 2020, 1:32 PM
rsmith added inline comments to D72860: [modules] Do not cache invalid state for modules that we attempted to load..
Mar 4 2020, 10:05 AM · Restricted Project

Mar 3 2020

rsmith committed rGad18665e3778: PR45087: Fix check for emptiness when determining whether a trivial copy… (authored by rsmith).
PR45087: Fix check for emptiness when determining whether a trivial copy…
Mar 3 2020, 4:09 PM
rsmith committed rGbdad0a1b7927: PR45083: Mark statement expressions as being dependent if they appear in… (authored by rsmith).
PR45083: Mark statement expressions as being dependent if they appear in…
Mar 3 2020, 3:34 PM

Mar 2 2020

rsmith added a comment to D73852: [clang] detect switch fallthrough marked by a comment (PR43465).

FYI: it was reverted by Luboš in c61401b89742f230b7e6a2cc0548fbf7442e906d

Mar 2 2020, 3:39 PM · Restricted Project
rsmith added a comment to D73852: [clang] detect switch fallthrough marked by a comment (PR43465).

We shouldn't enable the warning under -Wextra in language modes where there's no standard way to suppress it.

That may be true, but that is not what the bugreport is about, it explicitly mentions flex. There are codebases that explicitly use -Wimplicit-fallthrough, and flex generates the same code even for C++. So either Clang needs to handle it, or flex needs to change (which may be non-trivial if https://bugs.llvm.org/show_bug.cgi?id=43465#c24 is right), or codebases using flex will need to either special-case Clang or live with the warning.

Mar 2 2020, 2:12 PM · Restricted Project
rsmith added a comment to D73852: [clang] detect switch fallthrough marked by a comment (PR43465).

Per http://llvm.org/PR43465#c37, this patch has not had proper review and we have not established consensus that we want this. Please revert for now.

Mar 2 2020, 1:19 PM · Restricted Project
rsmith added a comment to D73852: [clang] detect switch fallthrough marked by a comment (PR43465).

I'm also pretty concerned about using comments to drive warning behavior. We discussed this when first adding our gallery fallthrough warning and its suppression mechanism and made an explicit decision that we did not want comments to affect our behaviour. I don't think anything has changed in that regard.

Mar 2 2020, 8:41 AM · Restricted Project

Feb 28 2020

rsmith accepted D75383: clang: Switch C compilations to C17 by default..

Looks good. Please consider updating the Clang 10 release notes to indicate that we intend to change the default in Clang 11.

Feb 28 2020, 5:28 PM · Restricted Project