Page MenuHomePhabricator

sberg (Stephan Bergmann)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 26 2015, 8:20 AM (303 w, 6 d)

Recent Activity

Thu, Jun 17

sberg added a comment to D99005: [clang] Implement P2266 Simpler implicit move.

For the record, the one other breakage of a LibreOffice build with this is the handful of places that needed https://git.libreoffice.org/core/+/433ab39b2175bdadb4916373cd2dc8e1aabc08a5%5E%21 "Adapt implicit OString return value construction to C++23 P2266R1": In a nutshell, LO has an OString class with (non-explicit) constructors from any kind of char pointer or array, where the "array of N const char" variant (no. 3 below) is special, as it determines the string length as N - 1 (whereas all the other variants search for the terminating NUL to determine the length). That requires another constructor overload (no. 2 below) for non-const arrays, taking a non-const lvalue reference, which now causes issues when that constructor shall implicitly be used in return statements:

$ cat test.cc
#include <cstddef>
Thu, Jun 17, 1:28 AM · Restricted Project

Mon, Jun 14

sberg added a comment to D99005: [clang] Implement P2266 Simpler implicit move.

(In a build prior to https://reviews.llvm.org/rGc60dd3b2626a4d9eefd9f82f9a406b0d28d3fd72 "Revert '[clang] NRVO: Improvements and handling of more cases.'") I see the following (reduced from https://git.libreoffice.org/core/+/649313625b94e6b879848fc19b607b74375100bf/o3tl/qa/compile-temporary.cxx) started to fail under -std=c++2b with this change (and continues to compile fine with -std=c++20):

$ cat test.cc
template <typename T> constexpr T& temporary(T&& x) { return x; }
template <typename T> constexpr T& temporary(T&) = delete;
void f(int*);
int g();
void h()
{
    f(&temporary(int()));
    f(&temporary(g()));
}
Mon, Jun 14, 11:20 PM · Restricted Project

Sun, Jun 13

sberg committed rGb5b9489b2415: Only consider built-in compound assignment operators for -Wunused-but-set-* (authored by sberg).
Only consider built-in compound assignment operators for -Wunused-but-set-*
Sun, Jun 13, 11:04 PM
sberg closed D103949: Only consider built-in compound assignment operators for -Wunused-but-set-*.
Sun, Jun 13, 11:04 PM · Restricted Project

Wed, Jun 9

sberg added inline comments to D103949: Only consider built-in compound assignment operators for -Wunused-but-set-*.
Wed, Jun 9, 11:11 PM · Restricted Project
sberg accepted D103623: [Clang] Test case for -Wunused-but-set-variable, warn for volatile..

LGTM

Wed, Jun 9, 5:33 AM · Restricted Project
sberg added a comment to D103949: Only consider built-in compound assignment operators for -Wunused-but-set-*.

gcc also ignores it?

Wed, Jun 9, 3:24 AM · Restricted Project
sberg requested review of D103949: Only consider built-in compound assignment operators for -Wunused-but-set-*.
Wed, Jun 9, 2:19 AM · Restricted Project

Thu, Jun 3

sberg added a comment to D100581: [Clang] -Wunused-but-set-parameter and -Wunused-but-set-variable.

Is it intentional that this warns about volatile variables as in

void f(char * p) {
    volatile char c = 0;
    c ^= *p;
}

(I see that GCC warns about volatile too, at least when you replace the ^= with =, so assume the answer is "yes", but would just like to see that confirmed (ideally with a test case even?).)

Thu, Jun 3, 3:59 AM · Restricted Project, Restricted Project, Restricted Project

May 6 2021

sberg added a comment to D97687: [SEH] Fix capture of this in lambda functions.

Bisecting shows that this started to break

$ cat test.cc
void f() noexcept { __try {} __finally {} }
$ clang-cl -EHs -c test.cc
clang-cl: ~/github.com/llvm/llvm-project/clang/lib/CodeGen/CGCleanup.h:568: void clang::CodeGen::EHScopeStack::popTerminate(): Assertion `!empty() && "popping exception stack when not empty"' failed.
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.	Program arguments: ~/llvm/inst/bin/clang-cl -EHs -c test.cc
1.	<eof> parser at end of file
2.	test.cc:1:6: LLVM IR generation of declaration 'f'
3.	test.cc:1:6: Generating code for declaration 'f'
 #0 0x00007f2fd211624d llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) ~/github.com/llvm/llvm-project/llvm/lib/Support/Unix/Signals.inc:569:3
 #1 0x00007f2fd2114174 llvm::sys::RunSignalHandlers() ~/github.com/llvm/llvm-project/llvm/lib/Support/Signals.cpp:71:20
 #2 0x00007f2fd20368c8 HandleCrash ~/github.com/llvm/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:75:5
 #3 0x00007f2fd20368c8 CrashRecoverySignalHandler(int) ~/github.com/llvm/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:388:62
 #4 0x00007f2fd68f91e0 __restore_rt sigaction.c:0:0
 #5 0x00007f2fd1a4b9d5 raise /usr/src/debug/glibc-2.32-37-g760e1d2878/signal/../sysdeps/unix/sysv/linux/raise.c:50:1
 #6 0x00007f2fd1a348a4 abort /usr/src/debug/glibc-2.32-37-g760e1d2878/stdlib/abort.c:81:7
 #7 0x00007f2fd1a34789 get_sysdep_segment_value /usr/src/debug/glibc-2.32-37-g760e1d2878/intl/loadmsgcat.c:509:8
 #8 0x00007f2fd1a34789 _nl_load_domain.cold /usr/src/debug/glibc-2.32-37-g760e1d2878/intl/loadmsgcat.c:970:34
 #9 0x00007f2fd1a44026 .annobin___GI___assert_fail.end assert.c:0:0
#10 0x00007f2fd5871973 (~/llvm/inst/bin/../lib/libclangCodeGen.so.13git+0x44b973)
#11 0x00007f2fd587612a (~/llvm/inst/bin/../lib/libclangCodeGen.so.13git+0x45012a)
#12 0x00007f2fd5a85bbc clang::CodeGen::CodeGenFunction::FinishFunction(clang::SourceLocation) ~/github.com/llvm/llvm-project/clang/lib/CodeGen/CodeGenFunction.cpp:405:3
#13 0x00007f2fd587f703 clang::CodeGen::CodeGenFunction::GenerateSEHFinallyFunction(clang::CodeGen::CodeGenFunction&, clang::SEHFinallyStmt const&) ~/github.com/llvm/llvm-project/clang/lib/CodeGen/CGException.cpp:2005:10
#14 0x00007f2fd587f776 pushCleanup<(anonymous namespace)::PerformSEHFinally, llvm::Function*> ~/github.com/llvm/llvm-project/clang/lib/CodeGen/EHScopeStack.h:273:31
#15 0x00007f2fd587f776 clang::CodeGen::CodeGenFunction::EnterSEHTryStmt(clang::SEHTryStmt const&) ~/github.com/llvm/llvm-project/clang/lib/CodeGen/CGException.cpp:2082:43
#16 0x00007f2fd587fa87 clang::CodeGen::CodeGenFunction::getJumpDestInCurrentScope(llvm::StringRef) ~/github.com/llvm/llvm-project/clang/lib/CodeGen/CodeGenFunction.h:1096:59
#17 0x00007f2fd587fa87 clang::CodeGen::CodeGenFunction::EmitSEHTryStmt(clang::SEHTryStmt const&) ~/github.com/llvm/llvm-project/clang/lib/CodeGen/CGException.cpp:1605:65
#18 0x00007f2fd5a21de4 clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(clang::CompoundStmt const&, bool, clang::CodeGen::AggValueSlot) ~/github.com/llvm/llvm-project/clang/lib/CodeGen/CGStmt.cpp:447:31
#19 0x00007f2fd5a8499b clang::CodeGen::CodeGenFunction::EmitFunctionBody(clang::Stmt const*) ~/github.com/llvm/llvm-project/clang/lib/CodeGen/CodeGenFunction.cpp:1185:36
#20 0x00007f2fd5a9214a clang::CodeGen::CodeGenModule::getLangOpts() const ~/github.com/llvm/llvm-project/clang/lib/CodeGen/CodeGenModule.h:686:51
#21 0x00007f2fd5a9214a clang::CodeGen::CodeGenFunction::getLangOpts() const ~/github.com/llvm/llvm-project/clang/lib/CodeGen/CodeGenFunction.h:1921:67
#22 0x00007f2fd5a9214a clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) ~/github.com/llvm/llvm-project/clang/lib/CodeGen/CodeGenFunction.cpp:1352:19
#23 0x00007f2fd5ad447c clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl, llvm::GlobalValue*) ~/github.com/llvm/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:4791:3
#24 0x00007f2fd5ad0f7b clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) ~/github.com/llvm/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:3177:47
#25 0x00007f2fd5ad8c8a clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) (.part.0) ~/github.com/llvm/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:5895:1
#26 0x00007f2fd5b4e9a1 (anonymous namespace)::CodeGeneratorImpl::HandleTopLevelDecl(clang::DeclGroupRef) ~/github.com/llvm/llvm-project/clang/lib/CodeGen/ModuleBuilder.cpp:169:67
#27 0x00007f2fd5a70b13 clang::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef) ~/github.com/llvm/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp:217:7
#28 0x00007f2fcfbbd814 clang::ParseAST(clang::Sema&, bool, bool) ~/github.com/llvm/llvm-project/clang/lib/Parse/ParseAST.cpp:162:17
#29 0x00007f2fd3e3f4b9 clang::FrontendAction::Execute() ~/github.com/llvm/llvm-project/clang/lib/Frontend/FrontendAction.cpp:949:21
#30 0x00007f2fd3dd4cd6 llvm::Error::setChecked(bool) ~/github.com/llvm/llvm-project/llvm/include/llvm/Support/Error.h:305:22
#31 0x00007f2fd3dd4cd6 llvm::Error::operator bool() ~/github.com/llvm/llvm-project/llvm/include/llvm/Support/Error.h:236:15
#32 0x00007f2fd3dd4cd6 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) ~/github.com/llvm/llvm-project/clang/lib/Frontend/CompilerInstance.cpp:955:42
#33 0x00007f2fd68e1a5b clang::ExecuteCompilerInvocation(clang::CompilerInstance*) ~/github.com/llvm/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:279:32
#34 0x0000000000219694 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) ~/github.com/llvm/llvm-project/clang/tools/driver/cc1_main.cpp:246:40
#35 0x0000000000212ced ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) ~/github.com/llvm/llvm-project/clang/tools/driver/driver.cpp:335:20
#36 0x00007f2fd3b56c85 operator() ~/github.com/llvm/llvm-project/clang/lib/Driver/Job.cpp:404:32
#37 0x00007f2fd3b56c85 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, bool*) const::'lambda'()>(long) ~/github.com/llvm/llvm-project/llvm/include/llvm/ADT/STLExtras.h:185:52
#38 0x00007f2fd2036a34 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) ~/github.com/llvm/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:425:10
#39 0x00007f2fd3b578eb clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, bool*) const (.part.0) ~/github.com/llvm/llvm-project/clang/lib/Driver/Job.cpp:408:10
#40 0x00007f2fd3b28552 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&) const ~/github.com/llvm/llvm-project/clang/lib/Driver/Compilation.cpp:196:3
#41 0x00007f2fd3b28c31 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) const ~/github.com/llvm/llvm-project/clang/lib/Driver/Compilation.cpp:248:5
#42 0x00007f2fd3b34d71 llvm::SmallVectorBase<unsigned int>::empty() const ~/github.com/llvm/llvm-project/llvm/include/llvm/ADT/SmallVector.h:73:47
#43 0x00007f2fd3b34d71 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) ~/github.com/llvm/llvm-project/clang/lib/Driver/Driver.cpp:1539:28
#44 0x000000000021640a main ~/github.com/llvm/llvm-project/clang/tools/driver/driver.cpp:510:5
#45 0x00007f2fd1a361e2 __libc_start_main /usr/src/debug/glibc-2.32-37-g760e1d2878/csu/../csu/libc-start.c:314:16
#46 0x00000000002120ee _start (~/llvm/inst/bin/clang-cl+0x2120ee)
clang-12: error: clang frontend command failed with exit code 134 (use -v to see invocation)
clang version 13.0.0 (git@github.com:llvm/llvm-project 2224221fb3fa9738bd84221ed048247089187fce)
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: ~/llvm/inst/bin

(It still works fine if you change the function's exception specification from noexcept to throw().)

May 6 2021, 1:57 AM · Restricted Project

Mar 23 2021

sberg added a comment to D98971: [C++20] [P1825] Fix bugs with implicit-move from variables of reference type.

FWIW, LibreOffice make check (which started to consistently fail with D88220) succeeds with this change.

Mar 23 2021, 6:50 AM · Restricted Project

Mar 19 2021

sberg added a comment to D88220: [C++20] P1825R0: More implicit moves.

This change causes

Mar 19 2021, 8:25 AM · Restricted Project

Jan 19 2021

sberg added a comment to D94536: [dsymutil] Warn on timestmap mismatch between object file and debug map.

As also reported at https://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20210118/872711.html "Re: [llvm] 48d2068 - [dsymutil] Warn on timestmap mismatch between object file and debug map" about the re-revert https://github.com/llvm/llvm-project/commit/48d2068fb738302b9fba91c9bf8e4b051c3909eb "[dsymutil] Warn on timestmap mismatch between object file and debug map" (but for which there appears to be no Phabricator review of its own):

Jan 19 2021, 8:21 AM · Restricted Project

Jan 12 2021

sberg committed rG215ed9b33ccb: Adapt CastExpr::getSubExprAsWritten to ConstantExpr (authored by sberg).
Adapt CastExpr::getSubExprAsWritten to ConstantExpr
Jan 12 2021, 12:41 AM
sberg closed D87030: Adapt CastExpr::getSubExprAsWritten to ConstantExpr.
Jan 12 2021, 12:41 AM · Restricted Project

Dec 16 2020

sberg committed rG75f98f0f8c81: [PATCH] [compiler-rt] [builtins] Fix name of __aarch64_have_lse_atomics on… (authored by sberg).
[PATCH] [compiler-rt] [builtins] Fix name of __aarch64_have_lse_atomics on…
Dec 16 2020, 5:42 AM
sberg closed D93390: [compiler-rt] [builtins] Fix name of __aarch64_have_lse_atomics on Darwin.
Dec 16 2020, 5:42 AM · Restricted Project
sberg added a comment to D93390: [compiler-rt] [builtins] Fix name of __aarch64_have_lse_atomics on Darwin.

The one in cpu_model.c has 2 underscores. Where do the three come from for non-Apple?

Dec 16 2020, 4:01 AM · Restricted Project
sberg added a comment to D87030: Adapt CastExpr::getSubExprAsWritten to ConstantExpr.

Ping; OK to submit? (I meanwhile also get this when compiling some code with plain Clang, not just with the LibreOffice Clang plugin where I saw it originally.)

Dec 16 2020, 3:56 AM · Restricted Project
sberg requested review of D93390: [compiler-rt] [builtins] Fix name of __aarch64_have_lse_atomics on Darwin.
Dec 16 2020, 3:53 AM · Restricted Project

Nov 23 2020

sberg added a reverting change for rGf04d92af94a8: [X86] Produce R_X86_64_GOTPCRELX for test/binop instructions (MOV32rm/TEST32rm/.: D91965: Revert "[X86] Produce R_X86_64_GOTPCRELX for test/binop instructions (MOV32rm/TEST32rm/...) when -Wa,-mrelax-relocations=yes is enabled".
Nov 23 2020, 7:07 AM
sberg requested review of D91965: Revert "[X86] Produce R_X86_64_GOTPCRELX for test/binop instructions (MOV32rm/TEST32rm/...) when -Wa,-mrelax-relocations=yes is enabled".
Nov 23 2020, 7:07 AM · Restricted Project

Nov 3 2020

sberg added a comment to D90572: [clang] [MinGW] Allow using the vptr sanitizer.

Smells like this breaks various bots due to a -fsanitize=...,... option now listing 18 instead of 17 items, see http://lab.llvm.org:8011/#builders/76/builds/363, http://lab.llvm.org:8011/#builders/93/builds/430, http://lab.llvm.org:8011/#builders/66/builds/315, http://lab.llvm.org:8011/#builders/7/builds/303.

Nov 3 2020, 1:44 AM · Restricted Project

Nov 2 2020

sberg added a comment to D87030: Adapt CastExpr::getSubExprAsWritten to ConstantExpr.

ping

Nov 2 2020, 11:20 PM · Restricted Project
sberg committed rG7a5184ed951a: [scan-build] Fix clang++ pathname again (authored by sberg).
[scan-build] Fix clang++ pathname again
Nov 2 2020, 11:18 PM
sberg closed D89481: [scan-build] Fix clang++ pathname again.
Nov 2 2020, 11:18 PM · Restricted Project

Oct 28 2020

sberg updated the diff for D89481: [scan-build] Fix clang++ pathname again.

Is there a reason why "NoQ accepted this revision." kept this at "Needs Review" rather than moving it to "This revision is now accepted and ready to land."?

Oct 28 2020, 7:24 AM · Restricted Project

Oct 27 2020

sberg added a comment to D87030: Adapt CastExpr::getSubExprAsWritten to ConstantExpr.

ping

Oct 27 2020, 7:51 AM · Restricted Project
sberg added a comment to D89481: [scan-build] Fix clang++ pathname again.

ping

Oct 27 2020, 7:51 AM · Restricted Project

Oct 15 2020

sberg requested review of D89481: [scan-build] Fix clang++ pathname again.
Oct 15 2020, 9:23 AM · Restricted Project

Oct 2 2020

sberg added a comment to D87030: Adapt CastExpr::getSubExprAsWritten to ConstantExpr.

friendly ping

Oct 2 2020, 4:58 AM · Restricted Project

Sep 25 2020

sberg added a comment to D87030: Adapt CastExpr::getSubExprAsWritten to ConstantExpr.

ping^2

Sep 25 2020, 4:46 AM · Restricted Project

Sep 18 2020

sberg added inline comments to D87375: [compiler-rt] Support glibc's non-standard I printf flag character.
Sep 18 2020, 8:39 AM · Restricted Project
sberg updated the diff for D87030: Adapt CastExpr::getSubExprAsWritten to ConstantExpr.

(addressed the clang-tidy nitpick)

Sep 18 2020, 2:28 AM · Restricted Project
sberg added a comment to D87375: [compiler-rt] Support glibc's non-standard I printf flag character.

ping

Sep 18 2020, 12:17 AM · Restricted Project

Sep 9 2020

sberg requested review of D87375: [compiler-rt] Support glibc's non-standard I printf flag character.
Sep 9 2020, 6:03 AM · Restricted Project

Sep 2 2020

sberg added a comment to D87030: Adapt CastExpr::getSubExprAsWritten to ConstantExpr.

I hit this with a call to getSubExprAsWriten from the LibreOffice Clang plugin, have no idea whether it can be hit from within the compiler itself. Not sure if clang/unittests/Tooling/CastExprTest.cpp is the best place to add a test for it.

Sep 2 2020, 7:33 AM · Restricted Project
sberg requested review of D87030: Adapt CastExpr::getSubExprAsWritten to ConstantExpr.
Sep 2 2020, 7:31 AM · Restricted Project

Aug 12 2020

sberg added a comment to D68720: Support -fstack-clash-protection for x86.

I filed https://bugs.llvm.org/show_bug.cgi?id=47139 "Misspelled -fnostack-clash-protection" now.

Aug 12 2020, 9:10 AM · Restricted Project, Restricted Project
sberg added a comment to D85778: More accurately compute the ranges of possible values for +, -, *, &, %..

Fixes all the false positives it had reported for LibreOffice (which had all involved expressions containing either ~ or +).

Aug 12 2020, 5:19 AM · Restricted Project

Aug 11 2020

sberg added a comment to D85256: Add -Wtautological-value-range-compare warning..

I think this generates a false positive with test.cc

enum E { E1 = 1, E2 = 2 };
bool f(E e) { return ((e & E1) ? 1 : 0) + ((e & E2) ? 1 : 0) > 1; }

and clang++ -fsyntax-only -Wtautological-value-range-compare test.cc

test.cc:2:62: warning: result of comparison of 1-bit unsigned value > 1 is always false [-Wtautological-value-range-compare]
bool f(E e) { return ((e & E1) ? 1 : 0) + ((e & E2) ? 1 : 0) > 1; }
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~
Aug 11 2020, 1:46 AM · Restricted Project

Aug 10 2020

sberg added inline comments to D68720: Support -fstack-clash-protection for x86.
Aug 10 2020, 12:13 PM · Restricted Project, Restricted Project

Aug 6 2020

sberg added a comment to D85287: Extend -Wtautological-bitwise-compare "bitwise or with non-zero value" warnings.

Are you planning to allow this change to other warnings that use the same helper functions?

Aug 6 2020, 5:05 AM · Restricted Project

Aug 5 2020

sberg added a comment to D85287: Extend -Wtautological-bitwise-compare "bitwise or with non-zero value" warnings.

My naive assumption was that this warning had initially been restricted to integer literals and enumerators to avoid false positives. Hence my conservative approach of extending merely to constant integer expressions for now. Maybe Richard as the original author of the warning (IIUC) can shed some light on that original restriction?

Aug 5 2020, 1:38 PM · Restricted Project
sberg updated the diff for D85287: Extend -Wtautological-bitwise-compare "bitwise or with non-zero value" warnings.
Aug 5 2020, 5:24 AM · Restricted Project
sberg requested review of D85287: Extend -Wtautological-bitwise-compare "bitwise or with non-zero value" warnings.
Aug 5 2020, 2:28 AM · Restricted Project

Jul 28 2020

sberg committed rG2ead4fca79d0: Test including rpc/xdr.h requires sunrpc (authored by sberg).
Test including rpc/xdr.h requires sunrpc
Jul 28 2020, 11:25 PM
sberg closed D84740: [Sanitizers] Test including rpc/xdr.h requires sunrpc.
Jul 28 2020, 11:25 PM · Restricted Project
sberg updated subscribers of D84740: [Sanitizers] Test including rpc/xdr.h requires sunrpc.
Jul 28 2020, 5:03 AM · Restricted Project
sberg requested review of D84740: [Sanitizers] Test including rpc/xdr.h requires sunrpc.
Jul 28 2020, 4:19 AM · Restricted Project

Jul 27 2020

sberg added inline comments to D76646: Rename/refactor isIntegerConstantExpression to getIntegerConstantExpression.
Jul 27 2020, 7:19 AM · Restricted Project

Mar 27 2020

sberg added a comment to D76572: Replace `T(x)` with `reinterpret_cast<T>(x)` everywhere it means reinterpret_cast. No functional change.

Nice. Does LibreOffice have anything (either in clang-tidy or in a paper guideline) against T(x)-style casts? E.g.

No, we don't have very many of those in our codebase, so we have left them alone.
Our plugin is designed to convert c-style casts to modern C++ casts.

Mar 27 2020, 1:34 AM · Restricted Project, Restricted Project

Feb 13 2020

sberg abandoned D73637: Fix handling of OO_Spaceship in DecodeOperatorCall.
Feb 13 2020, 1:17 AM · Restricted Project
sberg added a comment to D73637: Fix handling of OO_Spaceship in DecodeOperatorCall.

ping^2

Feb 13 2020, 12:50 AM · Restricted Project

Feb 6 2020

sberg added a comment to D73637: Fix handling of OO_Spaceship in DecodeOperatorCall.

ping

Feb 6 2020, 7:48 AM · Restricted Project

Jan 30 2020

sberg updated the diff for D73637: Fix handling of OO_Spaceship in DecodeOperatorCall.

Minimal reproducer is

Jan 30 2020, 9:10 AM · Restricted Project

Jan 29 2020

sberg created D73637: Fix handling of OO_Spaceship in DecodeOperatorCall.
Jan 29 2020, 9:12 AM · Restricted Project

Dec 11 2019

sberg added a comment to D71393: Default to -fuse-init-array.

The title should probably read "Default to -fuse-init-array" (dropping the "no-")?

Dec 11 2019, 11:48 PM · Restricted Project
sberg added a comment to rG9e260c12bce7: [Diagnostics] Make behaviour of Clang's -Wdeprecated-copy same as in GCC.

GCC compatibility (they do it to reduce noise; so if we use same flag, we should diagnose same things).
I think it is good that clang and gcc warns same way now. But, if you want to improve it somehow (new flag?), patches are welcome.

Dec 11 2019, 2:03 AM
sberg added a comment to rG9e260c12bce7: [Diagnostics] Make behaviour of Clang's -Wdeprecated-copy same as in GCC.

Is there a rationale for that changed warning behavior? Even the current C++2a draft standard still e.g. deprecates copy operations when the destructor is user-declared (not just when it is user-provided), and I didn't find any indication that there is a plan to change that.

Dec 11 2019, 1:26 AM

Nov 8 2019

sberg added a comment to D58896: Suppress -Wchar-subscripts if the index is a literal char.

But how about literals like '\x80' where the promoted value depends on whether plain char is signed or unsigned?

If 'char' is signed and index into an array then this will typically trigger an -Warray-bounds warning because it references before the start of the array.

My thought was more that it might be useful as a kind of portability warning.

I'm not opposed to the warning per-se, but do you have evidence that the situation occurs in real-world code?

Nov 8 2019, 12:51 AM · Restricted Project
sberg added a comment to D58896: Suppress -Wchar-subscripts if the index is a literal char.

But how about literals like '\x80' where the promoted value depends on whether plain char is signed or unsigned?

If 'char' is signed and index into an array then this will typically trigger an -Warray-bounds warning because it references before the start of the array.

Nov 8 2019, 12:01 AM · Restricted Project

Nov 7 2019

sberg added a comment to D58896: Suppress -Wchar-subscripts if the index is a literal char.

But how about literals like '\x80' where the promoted value depends on whether plain char is signed or unsigned?

Nov 7 2019, 8:00 AM · Restricted Project

Oct 17 2019

sberg added inline comments to D68581: Include leading attributes in DeclStmt's SourceRange.
Oct 17 2019, 5:44 AM · Restricted Project
sberg committed rGdc3957ec215d: Include leading attributes in DeclStmt's SourceRange (authored by sberg).
Include leading attributes in DeclStmt's SourceRange
Oct 17 2019, 4:20 AM
sberg closed D68581: Include leading attributes in DeclStmt's SourceRange.
Oct 17 2019, 4:20 AM · Restricted Project
sberg committed rL375104: Include leading attributes in DeclStmt's SourceRange.
Include leading attributes in DeclStmt's SourceRange
Oct 17 2019, 4:20 AM

Oct 14 2019

sberg updated the diff for D68581: Include leading attributes in DeclStmt's SourceRange.
Oct 14 2019, 2:30 AM · Restricted Project

Oct 10 2019

sberg updated the diff for D68581: Include leading attributes in DeclStmt's SourceRange.
Oct 10 2019, 3:56 AM · Restricted Project

Oct 7 2019

sberg created D68581: Include leading attributes in DeclStmt's SourceRange.
Oct 7 2019, 8:22 AM · Restricted Project

Sep 3 2019

sberg committed rL370701: Request commit access for sberg.
Request commit access for sberg
Sep 3 2019, 12:22 AM

Aug 20 2019

sberg committed rG982b105d2f33: Rudimentary support for Doxygen \retval command (authored by sberg).
Rudimentary support for Doxygen \retval command
Aug 20 2019, 1:37 AM
sberg committed rL369345: Rudimentary support for Doxygen \retval command.
Rudimentary support for Doxygen \retval command
Aug 20 2019, 1:36 AM
sberg closed D66350: Rudimentary support for Doxygen \retval command.
Aug 20 2019, 1:36 AM · Restricted Project, Restricted Project

Aug 16 2019

sberg created D66350: Rudimentary support for Doxygen \retval command.
Aug 16 2019, 7:35 AM · Restricted Project, Restricted Project

Jul 15 2019

sberg added a comment to D61479: Finish "Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO".

eh, the summary here doesn't get updated from the actual git commit message :(

Jul 15 2019, 11:30 PM · Restricted Project, Restricted Project, Restricted Project
sberg committed rGe215996a2932: Finish "Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO" (authored by sberg).
Finish "Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO"
Jul 15 2019, 11:26 PM
sberg committed rL366186: Finish "Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO".
Finish "Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO"
Jul 15 2019, 11:25 PM
sberg closed D61479: Finish "Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO".
Jul 15 2019, 11:25 PM · Restricted Project, Restricted Project, Restricted Project
sberg updated the diff for D61479: Finish "Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO".
  • Disallowed -fsanitize=function in combination with -fsanitize-minimal-runtime now.
Jul 15 2019, 8:00 AM · Restricted Project, Restricted Project, Restricted Project

Jun 26 2019

sberg updated subscribers of D61479: Finish "Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO".

Any thoughts on this? (cfe-commits had inadvertently been missing from subscribers, it touches clang as well as compiler-rt.)

Jun 26 2019, 11:50 PM · Restricted Project, Restricted Project, Restricted Project

Jun 24 2019

sberg added a project to D61479: Finish "Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO": Restricted Project.
Jun 24 2019, 12:11 PM · Restricted Project, Restricted Project, Restricted Project
sberg added a comment to D61479: Finish "Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO".

friendly ping

Jun 24 2019, 12:11 PM · Restricted Project, Restricted Project, Restricted Project

Jun 18 2019

sberg added a comment to D61479: Finish "Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO".

friendly ping

Jun 18 2019, 8:01 AM · Restricted Project, Restricted Project, Restricted Project

Jun 11 2019

sberg added a comment to D61479: Finish "Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO".

friendly ping

Jun 11 2019, 1:18 AM · Restricted Project, Restricted Project, Restricted Project

Jun 4 2019

sberg added a comment to D61479: Finish "Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO".

friendly ping

Jun 4 2019, 12:26 AM · Restricted Project, Restricted Project, Restricted Project

May 21 2019

sberg updated the diff for D61479: Finish "Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO".

Of course, adding missing tests reveals shortcomings in the new code.

May 21 2019, 7:01 AM · Restricted Project, Restricted Project, Restricted Project

May 2 2019

sberg added a comment to D60760: Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO.

Added missing tests at https://reviews.llvm.org/D61479 "Add tests for 'Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO'".

May 2 2019, 11:57 PM · Restricted Project, Restricted Project, Restricted Project
sberg created D61479: Finish "Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO".
May 2 2019, 11:55 PM · Restricted Project, Restricted Project, Restricted Project
sberg added a comment to D60760: Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO.

Did this get reviewed?

May 2 2019, 1:27 AM · Restricted Project, Restricted Project, Restricted Project
sberg committed rG2f0ef58e535c: Fix for Windows (authored by sberg).
Fix for Windows
May 2 2019, 12:05 AM
sberg committed rCRT359760: Fix for Windows.
Fix for Windows
May 2 2019, 12:03 AM
sberg committed rL359760: Fix for Windows.
Fix for Windows
May 2 2019, 12:03 AM

May 1 2019

sberg committed rG5745eccef54d: Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO (authored by sberg).
Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO
May 1 2019, 11:40 PM
sberg committed rL359759: Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO.
Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO
May 1 2019, 11:40 PM
sberg committed rCRT359759: Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO.
Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO
May 1 2019, 11:40 PM
sberg committed rC359759: Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO.
Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO
May 1 2019, 11:40 PM
sberg closed D60760: Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO.
May 1 2019, 11:40 PM · Restricted Project, Restricted Project, Restricted Project

Apr 23 2019

sberg added a comment to D60760: Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO.

friendly ping

Apr 23 2019, 2:01 AM · Restricted Project, Restricted Project, Restricted Project

Apr 16 2019

sberg added inline comments to D60760: Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO.
Apr 16 2019, 1:08 AM · Restricted Project, Restricted Project, Restricted Project