[clang] 201fdef - libclang: Pass Clang install directory to driver via argv[0].

2023-03-22 Thread Peter Collingbourne via cfe-commits
Author: Peter Collingbourne Date: 2023-03-22T15:28:21-07:00 New Revision: 201fdef40dd6ec193d18d39638454a3c972f1fec URL: https://github.com/llvm/llvm-project/commit/201fdef40dd6ec193d18d39638454a3c972f1fec DIFF:

[clang] 8d9c4a7 - Driver: Change default Android linker to lld.

2022-10-13 Thread Peter Collingbourne via cfe-commits
Author: Peter Collingbourne Date: 2022-10-13T15:40:30-07:00 New Revision: 8d9c4a7425d9b097c275eb3465aa88a6d19d6c9d URL: https://github.com/llvm/llvm-project/commit/8d9c4a7425d9b097c275eb3465aa88a6d19d6c9d DIFF:

[clang] 18ead23 - AST: Make getEffectiveDeclContext() a member function of ItaniumMangleContextImpl. NFCI.

2022-02-17 Thread Peter Collingbourne via cfe-commits
Author: Peter Collingbourne Date: 2022-02-17T11:31:40-08:00 New Revision: 18ead23385a4e0e6421d658591b1ee6a1c592b53 URL: https://github.com/llvm/llvm-project/commit/18ead23385a4e0e6421d658591b1ee6a1c592b53 DIFF:

[clang] 82e5f95 - AST: Move __va_list tag back to std conditionally on AArch64.

2022-02-17 Thread Peter Collingbourne via cfe-commits
Author: Peter Collingbourne Date: 2022-02-17T11:31:40-08:00 New Revision: 82e5f951fd6e6ad6323067d8afcf025fc72d9c33 URL: https://github.com/llvm/llvm-project/commit/82e5f951fd6e6ad6323067d8afcf025fc72d9c33 DIFF:

[clang] e655e74 - AST: Create __va_list in the std namespace even in C.

2021-06-23 Thread Peter Collingbourne via cfe-commits
Author: Peter Collingbourne Date: 2021-06-23T18:59:10-07:00 New Revision: e655e74a318e0b4140391ae18725300c7f0629f6 URL: https://github.com/llvm/llvm-project/commit/e655e74a318e0b4140391ae18725300c7f0629f6 DIFF:

[libunwind] cddc53e - libunwind: Don't attempt to authenticate a null return address.

2021-02-16 Thread Peter Collingbourne via cfe-commits
Author: Peter Collingbourne Date: 2021-02-16T11:18:02-08:00 New Revision: cddc53ef088b68586094c9841a76b41bee3994a4 URL: https://github.com/llvm/llvm-project/commit/cddc53ef088b68586094c9841a76b41bee3994a4 DIFF:

[clang] c9b1a2b - AArch64: Use SBFX instead of UBFX to extract address granule in outlined HWASan checks.

2020-10-30 Thread Peter Collingbourne via cfe-commits
Author: Peter Collingbourne Date: 2020-10-30T12:53:15-07:00 New Revision: c9b1a2b41dca6e6734aa39833a0dab0d0a8b53d3 URL: https://github.com/llvm/llvm-project/commit/c9b1a2b41dca6e6734aa39833a0dab0d0a8b53d3 DIFF:

[clang] 3859fc6 - AArch64: Switch to x20 as the shadow base register for outlined HWASan checks.

2020-10-30 Thread Peter Collingbourne via cfe-commits
Author: Peter Collingbourne Date: 2020-10-30T12:51:30-07:00 New Revision: 3859fc653fb49f4acfb61b6f2c38736ec9bfae06 URL: https://github.com/llvm/llvm-project/commit/3859fc653fb49f4acfb61b6f2c38736ec9bfae06 DIFF:

[clang] c5acd34 - Driver: Add integer sanitizers to trapping group automatically.

2020-10-20 Thread Peter Collingbourne via cfe-commits
Author: Peter Collingbourne Date: 2020-10-20T13:45:39-07:00 New Revision: c5acd3490b79703426931f7b88b544fe7c6e1ef2 URL: https://github.com/llvm/llvm-project/commit/c5acd3490b79703426931f7b88b544fe7c6e1ef2 DIFF:

[clang] 7931e8e - Update hwasan docs to cover outlined checks and globals.

2020-02-06 Thread Peter Collingbourne via cfe-commits
Author: Peter Collingbourne Date: 2020-02-06T17:44:43-08:00 New Revision: 7931e8eee3dafe64101dcc1e88276ba81071 URL: https://github.com/llvm/llvm-project/commit/7931e8eee3dafe64101dcc1e88276ba81071 DIFF:

[clang] bab9849 - Reland 198fbcb8, "Driver: Don't look for libc++ headers in the install directory on Android.", which was reverted in b3249027.

2019-12-09 Thread Peter Collingbourne via cfe-commits
Author: Peter Collingbourne Date: 2019-12-09T10:08:02-08:00 New Revision: bab9849963eb9b9f1fa03900e8c48a7c7d6fc305 URL: https://github.com/llvm/llvm-project/commit/bab9849963eb9b9f1fa03900e8c48a7c7d6fc305 DIFF:

[clang] 198fbcb - Driver: Don't look for libc++ headers in the install directory on Android.

2019-12-06 Thread Peter Collingbourne via cfe-commits
Author: Peter Collingbourne Date: 2019-12-06T18:24:23-08:00 New Revision: 198fbcb817492ff45946e3f7517de15e8cdf0607 URL: https://github.com/llvm/llvm-project/commit/198fbcb817492ff45946e3f7517de15e8cdf0607 DIFF:

[clang] 90b8bc0 - IRGen: Call SetLLVMFunctionAttributes{, ForDefinition} on __cfi_check_fail.

2019-11-25 Thread Peter Collingbourne via cfe-commits
Author: Peter Collingbourne Date: 2019-11-25T15:16:43-08:00 New Revision: 90b8bc003caacd165dedbb9cafc32de10d610ea7 URL: https://github.com/llvm/llvm-project/commit/90b8bc003caacd165dedbb9cafc32de10d610ea7 DIFF:

r375313 - Sema: Create a no-op implicit cast for lvalue function conversions.

2019-10-18 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Fri Oct 18 17:34:54 2019 New Revision: 375313 URL: http://llvm.org/viewvc/llvm-project?rev=375313=rev Log: Sema: Create a no-op implicit cast for lvalue function conversions. This fixes an assertion failure in the case where an implicit conversion for a function call involves

Re: r369999 - Don't lose the FoundDecl and template arguments for a DeclRefExpr in

2019-09-25 Thread Peter Collingbourne via cfe-commits
Hi Richard, it looks like this commit caused an assertion failure on the following input: $ cat test2.ii # 2 "" 3 namespace a { enum { b }; } template void c() { auto d = [](auto) { using a::b; b; }; d(0); } void e() { c; } $ clang test2.ii clang:

r369697 - IR. Change strip* family of functions to not look through aliases.

2019-08-22 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Thu Aug 22 12:56:14 2019 New Revision: 369697 URL: http://llvm.org/viewvc/llvm-project?rev=369697=rev Log: IR. Change strip* family of functions to not look through aliases. I noticed another instance of the issue where references to aliases were being replaced with aliasees,

r368495 - cfi-icall: Allow the jump table to be optionally made non-canonical.

2019-08-09 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Fri Aug 9 15:31:59 2019 New Revision: 368495 URL: http://llvm.org/viewvc/llvm-project?rev=368495=rev Log: cfi-icall: Allow the jump table to be optionally made non-canonical. The default behavior of Clang's indirect function call checker will replace the address of each

r368102 - hwasan: Instrument globals.

2019-08-06 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Tue Aug 6 15:07:29 2019 New Revision: 368102 URL: http://llvm.org/viewvc/llvm-project?rev=368102=rev Log: hwasan: Instrument globals. Globals are instrumented by adding a pointer tag to their symbol values and emitting metadata into a special section that allows the runtime to

r366379 - hwasan: Initialize the pass only once.

2019-07-17 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Wed Jul 17 14:45:19 2019 New Revision: 366379 URL: http://llvm.org/viewvc/llvm-project?rev=366379=rev Log: hwasan: Initialize the pass only once. This will let us instrument globals during initialization. This required making the new PM pass a module pass, which should still

r365551 - hwasan: Improve precision of checks using short granule tags.

2019-07-09 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Tue Jul 9 13:22:36 2019 New Revision: 365551 URL: http://llvm.org/viewvc/llvm-project?rev=365551=rev Log: hwasan: Improve precision of checks using short granule tags. A short granule is a granule of size between 1 and `TG-1` bytes. The size of a short granule is stored at the

r362836 - Relax test so that the clang binary doesn't need to be named "clang".

2019-06-07 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Fri Jun 7 13:26:47 2019 New Revision: 362836 URL: http://llvm.org/viewvc/llvm-project?rev=362836=rev Log: Relax test so that the clang binary doesn't need to be named "clang". Modified: cfe/trunk/test/Driver/symbol-partition.c Modified:

r362829 - Driver, IRGen: Set partitions on GlobalValues according to -fsymbol-partition flag.

2019-06-07 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Fri Jun 7 12:10:08 2019 New Revision: 362829 URL: http://llvm.org/viewvc/llvm-project?rev=362829=rev Log: Driver, IRGen: Set partitions on GlobalValues according to -fsymbol-partition flag. Differential Revision: https://reviews.llvm.org/D62636 Added:

[clang-tools-extra] r358549 - clangd: Change Windows.h to windows.h.

2019-04-16 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Tue Apr 16 20:02:18 2019 New Revision: 358549 URL: http://llvm.org/viewvc/llvm-project?rev=358549=rev Log: clangd: Change Windows.h to windows.h. This makes the file more cross compilation friendly. Modified: clang-tools-extra/trunk/clangd/Threading.cpp Modified:

r356822 - IRGen: Remove StructorType; thread GlobalDecl through more code. NFCI.

2019-03-22 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Fri Mar 22 16:05:10 2019 New Revision: 356822 URL: http://llvm.org/viewvc/llvm-project?rev=356822=rev Log: IRGen: Remove StructorType; thread GlobalDecl through more code. NFCI. This should make it easier to add more structor variants. Differential Revision:

r356328 - CodeGen: Preserve packed attribute in constStructWithPadding.

2019-03-16 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Sat Mar 16 12:25:39 2019 New Revision: 356328 URL: http://llvm.org/viewvc/llvm-project?rev=356328=rev Log: CodeGen: Preserve packed attribute in constStructWithPadding. Otherwise the object may have an incorrect size due to tail padding. Differential Revision:

r353890 - docs: Update the ShadowCallStack documentation.

2019-02-12 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Tue Feb 12 14:45:23 2019 New Revision: 353890 URL: http://llvm.org/viewvc/llvm-project?rev=353890=rev Log: docs: Update the ShadowCallStack documentation. - Remove most of the discussion of the x86_64 implementation; link to an older version of the documentation for details

r351241 - CodeGen: Remove debug printf unintentionally added in r351228.

2019-01-15 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Tue Jan 15 12:59:59 2019 New Revision: 351241 URL: http://llvm.org/viewvc/llvm-project?rev=351241=rev Log: CodeGen: Remove debug printf unintentionally added in r351228. Modified: cfe/trunk/lib/CodeGen/CodeGenModule.cpp Modified: cfe/trunk/lib/CodeGen/CodeGenModule.cpp

r350433 - Fix default-function-attr.c so that it works on Windows.

2019-01-04 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Fri Jan 4 12:51:54 2019 New Revision: 350433 URL: http://llvm.org/viewvc/llvm-project?rev=350433=rev Log: Fix default-function-attr.c so that it works on Windows. Modified: cfe/trunk/test/CodeGen/default-function-attr.c Modified:

r350429 - hwasan: Implement lazy thread initialization for the interceptor ABI.

2019-01-04 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Fri Jan 4 11:27:04 2019 New Revision: 350429 URL: http://llvm.org/viewvc/llvm-project?rev=350429=rev Log: hwasan: Implement lazy thread initialization for the interceptor ABI. The problem is similar to D55986 but for threads: a process with the interceptor hwasan library

r347282 - Driver: SCS is compatible with every other sanitizer.

2018-11-19 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Mon Nov 19 17:01:49 2018 New Revision: 347282 URL: http://llvm.org/viewvc/llvm-project?rev=347282=rev Log: Driver: SCS is compatible with every other sanitizer. Because SCS relies on system-provided runtime support, we can use it together with any other sanitizer simply by

[clang-tools-extra] r346998 - Remove myself as owner of clang-query.

2018-11-15 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Thu Nov 15 14:02:10 2018 New Revision: 346998 URL: http://llvm.org/viewvc/llvm-project?rev=346998=rev Log: Remove myself as owner of clang-query. I haven't been involved with the project for years, so it's probably best for someone else to be the code owner. Differential

r346526 - Driver: Make -fsanitize=shadow-call-stack compatible with -fsanitize-minimal-runtime.

2018-11-09 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Fri Nov 9 09:54:49 2018 New Revision: 346526 URL: http://llvm.org/viewvc/llvm-project?rev=346526=rev Log: Driver: Make -fsanitize=shadow-call-stack compatible with -fsanitize-minimal-runtime. Differential Revision: https://reviews.llvm.org/D54330 Modified:

r341989 - Introduce the VTable interleaving scheme to the CFI design documentation

2018-09-11 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Tue Sep 11 13:43:52 2018 New Revision: 341989 URL: http://llvm.org/viewvc/llvm-project?rev=341989=rev Log: Introduce the VTable interleaving scheme to the CFI design documentation Dimitar et. al. in [1] proposed a novel VTable layout scheme that enables efficient

r340889 - Start reserving x18 by default on Android targets.

2018-08-28 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Tue Aug 28 18:38:47 2018 New Revision: 340889 URL: http://llvm.org/viewvc/llvm-project?rev=340889=rev Log: Start reserving x18 by default on Android targets. Differential Revision: https://reviews.llvm.org/D45588 Modified: cfe/trunk/test/Driver/sanitizer-ld.c Modified:

r340649 - Reland r340552, "Driver: Enable address-significance tables by default when targeting COFF." which was reverted in r340579.

2018-08-24 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Fri Aug 24 13:38:15 2018 New Revision: 340649 URL: http://llvm.org/viewvc/llvm-project?rev=340649=rev Log: Reland r340552, "Driver: Enable address-significance tables by default when targeting COFF." which was reverted in r340579. The underlying problem that caused the revert

r340579 - Revert r340552, "Driver: Enable address-significance tables by default when targeting COFF."

2018-08-23 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Thu Aug 23 14:34:57 2018 New Revision: 340579 URL: http://llvm.org/viewvc/llvm-project?rev=340579=rev Log: Revert r340552, "Driver: Enable address-significance tables by default when targeting COFF." Received multiple reports of breakage due to undefined symbols suspected to

r340552 - Driver: Enable address-significance tables by default when targeting COFF.

2018-08-23 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Thu Aug 23 10:43:29 2018 New Revision: 340552 URL: http://llvm.org/viewvc/llvm-project?rev=340552=rev Log: Driver: Enable address-significance tables by default when targeting COFF. Differential Revision: https://reviews.llvm.org/D51049 Modified:

[libcxx] r339797 - libcxx: Mark __temp_value::__temp_value as _LIBCPP_NO_CFI.

2018-08-15 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Wed Aug 15 10:49:30 2018 New Revision: 339797 URL: http://llvm.org/viewvc/llvm-project?rev=339797=rev Log: libcxx: Mark __temp_value::__temp_value as _LIBCPP_NO_CFI. This constructor needs to cast a pointer to uninitialized memory to a pointer to object type in order to call

r337339 - Re-land r337333, "Teach Clang to emit address-significance tables.",

2018-07-17 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Tue Jul 17 17:27:07 2018 New Revision: 337339 URL: http://llvm.org/viewvc/llvm-project?rev=337339=rev Log: Re-land r337333, "Teach Clang to emit address-significance tables.", which was reverted in r337336. The problem that required a revert was fixed in r337338. Also added a

r337336 - Revert r337333, "Teach Clang to emit address-significance tables."

2018-07-17 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Tue Jul 17 16:56:30 2018 New Revision: 337336 URL: http://llvm.org/viewvc/llvm-project?rev=337336=rev Log: Revert r337333, "Teach Clang to emit address-significance tables." Causing multiple failures on sanitizer bots due to TLS symbol errors, e.g. /usr/bin/ld:

r337333 - Teach Clang to emit address-significance tables.

2018-07-17 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Tue Jul 17 16:17:16 2018 New Revision: 337333 URL: http://llvm.org/viewvc/llvm-project?rev=337333=rev Log: Teach Clang to emit address-significance tables. By default, we emit an address-significance table on all ELF targets when the integrated assembler is enabled. The

r335636 - Compile CodeGenModule.cpp with /bigobj.

2018-06-26 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Tue Jun 26 10:45:26 2018 New Revision: 335636 URL: http://llvm.org/viewvc/llvm-project?rev=335636=rev Log: Compile CodeGenModule.cpp with /bigobj. Apparently we're now hitting an object file section limit on this file with expensive checks enabled. Modified:

r335569 - Implement CFI for indirect calls via a member function pointer.

2018-06-25 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Mon Jun 25 19:15:47 2018 New Revision: 335569 URL: http://llvm.org/viewvc/llvm-project?rev=335569=rev Log: Implement CFI for indirect calls via a member function pointer. Similarly to CFI on virtual and indirect calls, this implementation tries to use program type information

r334982 - IRgen: Mark aliases of ctors and dtors as unnamed_addr.

2018-06-18 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Mon Jun 18 13:58:54 2018 New Revision: 334982 URL: http://llvm.org/viewvc/llvm-project?rev=334982=rev Log: IRgen: Mark aliases of ctors and dtors as unnamed_addr. This is not only semantically correct but ensures that they will not be marked as address-significant once D48155

r334673 - Driver: De-duplicate some code. NFCI.

2018-06-13 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Wed Jun 13 17:03:41 2018 New Revision: 334673 URL: http://llvm.org/viewvc/llvm-project?rev=334673=rev Log: Driver: De-duplicate some code. NFCI. Modified: cfe/trunk/lib/Driver/ToolChains/Clang.cpp Modified: cfe/trunk/lib/Driver/ToolChains/Clang.cpp URL:

r334671 - docs: Add a missing LTO visibility reference.

2018-06-13 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Wed Jun 13 16:21:02 2018 New Revision: 334671 URL: http://llvm.org/viewvc/llvm-project?rev=334671=rev Log: docs: Add a missing LTO visibility reference. Modified: cfe/trunk/docs/ControlFlowIntegrity.rst Modified: cfe/trunk/docs/ControlFlowIntegrity.rst URL:

r334669 - docs: Correct some misstatements in the control flow integrity docs.

2018-06-13 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Wed Jun 13 16:18:26 2018 New Revision: 334669 URL: http://llvm.org/viewvc/llvm-project?rev=334669=rev Log: docs: Correct some misstatements in the control flow integrity docs. These were true at one point but haven't been true for a long time. Modified:

Re: [PATCH] D47597: IRGen: Write .dwo files when -split-dwarf-file is used together with -fthinlto-index.

2018-05-31 Thread Peter Collingbourne via cfe-commits
On Thu, May 31, 2018 at 11:54 AM, David Blaikie wrote: > > > On Thu, May 31, 2018 at 11:20 AM Peter Collingbourne via Phabricator < > revi...@reviews.llvm.org> wrote: > >> pcc created this revision. >> pcc added reviewers: tejohnson, dblaikie. >> Herald added subscribers: JDevlieghere,

r333677 - IRGen: Write .dwo files when -split-dwarf-file is used together with -fthinlto-index.

2018-05-31 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Thu May 31 11:25:59 2018 New Revision: 333677 URL: http://llvm.org/viewvc/llvm-project?rev=333677=rev Log: IRGen: Write .dwo files when -split-dwarf-file is used together with -fthinlto-index. Differential Revision: https://reviews.llvm.org/D47597 Added:

r333602 - IRGen: Rename bitsets -> type metadata. NFC.

2018-05-30 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Wed May 30 15:29:08 2018 New Revision: 333602 URL: http://llvm.org/viewvc/llvm-project?rev=333602=rev Log: IRGen: Rename bitsets -> type metadata. NFC. "Type metadata" is the term that we've been using for the CFI-related information on vtables for a while now. Modified:

r333600 - AST: Remove an unused ctor. NFC.

2018-05-30 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Wed May 30 15:14:17 2018 New Revision: 333600 URL: http://llvm.org/viewvc/llvm-project?rev=333600=rev Log: AST: Remove an unused ctor. NFC. Modified: cfe/trunk/include/clang/AST/VTableBuilder.h Modified: cfe/trunk/include/clang/AST/VTableBuilder.h URL:

r333598 - AST: Remove an unused function. NFC.

2018-05-30 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Wed May 30 15:10:07 2018 New Revision: 333598 URL: http://llvm.org/viewvc/llvm-project?rev=333598=rev Log: AST: Remove an unused function. NFC. Modified: cfe/trunk/include/clang/AST/VTableBuilder.h Modified: cfe/trunk/include/clang/AST/VTableBuilder.h URL:

r333501 - Protect a clang-cl file path with --.

2018-05-29 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Tue May 29 21:08:34 2018 New Revision: 333501 URL: http://llvm.org/viewvc/llvm-project?rev=333501=rev Log: Protect a clang-cl file path with --. Modified: cfe/trunk/test/Driver/complete-member-pointers.cpp Modified: cfe/trunk/test/Driver/complete-member-pointers.cpp URL:

r333498 - Sema: Add a flag for rejecting member pointers with incomplete base types.

2018-05-29 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Tue May 29 20:40:04 2018 New Revision: 333498 URL: http://llvm.org/viewvc/llvm-project?rev=333498=rev Log: Sema: Add a flag for rejecting member pointers with incomplete base types. Codebases that need to be compatible with the Microsoft ABI can pass this flag to avoid issues

Re: r332885 - CodeGen, Driver: Start using direct split dwarf emission in clang.

2018-05-22 Thread Peter Collingbourne via cfe-commits
Sorry about that, I was keeping an eye on the bots but I must have missed that one. I've relanded with a fix in r333013. Peter On Tue, May 22, 2018 at 4:25 AM, Amara Emerson <aemer...@apple.com> wrote: > On 21 May 2018, at 21:31, Peter Collingbourne via cfe-commits < &

r333013 - Reland r332885, "CodeGen, Driver: Start using direct split dwarf emission in clang."

2018-05-22 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Tue May 22 11:52:37 2018 New Revision: 333013 URL: http://llvm.org/viewvc/llvm-project?rev=333013=rev Log: Reland r332885, "CodeGen, Driver: Start using direct split dwarf emission in clang." As well as two follow-on commits r332906, r332911 with a fix for test

r332911 - Add missing x86-registered-target.

2018-05-21 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Mon May 21 15:14:02 2018 New Revision: 332911 URL: http://llvm.org/viewvc/llvm-project?rev=332911=rev Log: Add missing x86-registered-target. Modified: cfe/trunk/test/Misc/cc1as-split-dwarf.s Modified: cfe/trunk/test/Misc/cc1as-split-dwarf.s URL:

r332906 - Fix another make_unique ambiguity.

2018-05-21 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Mon May 21 14:48:17 2018 New Revision: 332906 URL: http://llvm.org/viewvc/llvm-project?rev=332906=rev Log: Fix another make_unique ambiguity. Modified: cfe/trunk/lib/CodeGen/BackendUtil.cpp Modified: cfe/trunk/lib/CodeGen/BackendUtil.cpp URL:

r332885 - CodeGen, Driver: Start using direct split dwarf emission in clang.

2018-05-21 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Mon May 21 13:31:59 2018 New Revision: 332885 URL: http://llvm.org/viewvc/llvm-project?rev=332885=rev Log: CodeGen, Driver: Start using direct split dwarf emission in clang. Fixes PR37466. Differential Revision: https://reviews.llvm.org/D47093 Added:

r332881 - CodeGen: Add a dwo output file argument to addPassesToEmitFile and hook it up to dwo output.

2018-05-21 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Mon May 21 13:16:41 2018 New Revision: 332881 URL: http://llvm.org/viewvc/llvm-project?rev=332881=rev Log: CodeGen: Add a dwo output file argument to addPassesToEmitFile and hook it up to dwo output. Part of PR37466. Differential Revision: https://reviews.llvm.org/D47089

r332757 - Support: Simplify endian stream interface. NFCI.

2018-05-18 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Fri May 18 12:46:24 2018 New Revision: 332757 URL: http://llvm.org/viewvc/llvm-project?rev=332757=rev Log: Support: Simplify endian stream interface. NFCI. Provide some free functions to reduce verbosity of endian-writing a single value, and replace the endianness template

r332749 - MC: Change the streamer ctors to take an object writer instead of a stream. NFCI.

2018-05-18 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Fri May 18 11:26:45 2018 New Revision: 332749 URL: http://llvm.org/viewvc/llvm-project?rev=332749=rev Log: MC: Change the streamer ctors to take an object writer instead of a stream. NFCI. The idea is that a client that wants split dwarf would create a specific kind of object

r332675 - Support: Add a raw_ostream::write_zeros() function. NFCI.

2018-05-17 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Thu May 17 15:11:43 2018 New Revision: 332675 URL: http://llvm.org/viewvc/llvm-project?rev=332675=rev Log: Support: Add a raw_ostream::write_zeros() function. NFCI. This will eventually replace MCObjectWriter::WriteZeros. Part of PR37466. Differential Revision:

[libcxx] r332543 - Condition usage of locale stdlib functions on Android API version

2018-05-16 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Wed May 16 15:40:12 2018 New Revision: 332543 URL: http://llvm.org/viewvc/llvm-project?rev=332543=rev Log: Condition usage of locale stdlib functions on Android API version Some *_l functions were not available in some versions of Bionic. This CL checks that the NDK version

r331681 - Relax a FileCheck pattern to make it pass on Windows.

2018-05-07 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Mon May 7 14:40:53 2018 New Revision: 331681 URL: http://llvm.org/viewvc/llvm-project?rev=331681=rev Log: Relax a FileCheck pattern to make it pass on Windows. Should fix Windows bot failure:

r331674 - [CFI] Force LLVM to die if the implicit blacklist files cannot be found.

2018-05-07 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Mon May 7 13:54:05 2018 New Revision: 331674 URL: http://llvm.org/viewvc/llvm-project?rev=331674=rev Log: [CFI] Force LLVM to die if the implicit blacklist files cannot be found. Currently LLVM CFI tries to use an implicit blacklist file, currently in /usr/lib64/clang//share.

Re: r330210 - Remove unused variable

2018-04-17 Thread Peter Collingbourne via cfe-commits
FWIW, I don't think you actually need the if. Peter On Tue, Apr 17, 2018 at 1:21 PM, Teresa Johnson via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: tejohnson > Date: Tue Apr 17 13:21:53 2018 > New Revision: 330210 > > URL: http://llvm.org/viewvc/llvm-project?rev=330210=rev > Log:

r329236 - AArch64: Implement support for the shadowcallstack attribute.

2018-04-04 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Wed Apr 4 14:55:44 2018 New Revision: 329236 URL: http://llvm.org/viewvc/llvm-project?rev=329236=rev Log: AArch64: Implement support for the shadowcallstack attribute. The implementation of shadow call stack on aarch64 is quite different to the implementation on x86_64.

r327166 - Fix Clang test case.

2018-03-09 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Fri Mar 9 11:37:28 2018 New Revision: 327166 URL: http://llvm.org/viewvc/llvm-project?rev=327166=rev Log: Fix Clang test case. Modified: cfe/trunk/test/CodeGen/thinlto-distributed-cfi-devirt.ll Modified: cfe/trunk/test/CodeGen/thinlto-distributed-cfi-devirt.ll URL:

[libcxx] r325723 - libcxx: Unbreak external thread library configuration.

2018-02-21 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Wed Feb 21 13:36:18 2018 New Revision: 325723 URL: http://llvm.org/viewvc/llvm-project?rev=325723=rev Log: libcxx: Unbreak external thread library configuration. Differential Revision: https://reviews.llvm.org/D42503 Modified: libcxx/trunk/include/__threading_support

r324286 - IRGen: Move vtable load after argument evaluation.

2018-02-05 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Mon Feb 5 15:09:13 2018 New Revision: 324286 URL: http://llvm.org/viewvc/llvm-project?rev=324286=rev Log: IRGen: Move vtable load after argument evaluation. This change reduces the live range of the loaded function pointer, resulting in a slight code size decrease (~10KB in

[libcxx] r323563 - Fix the BinaryPredicate form of std::is_permutation to not rely on operator==

2018-01-26 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Fri Jan 26 13:23:27 2018 New Revision: 323563 URL: http://llvm.org/viewvc/llvm-project?rev=323563=rev Log: Fix the BinaryPredicate form of std::is_permutation to not rely on operator== According to [1], forms 2 and 4 of std::is_permutation should use the passed in binary

[libcxx] r323491 - libcxx: Use vcruntime declarations for typeinfo on Windows.

2018-01-25 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Thu Jan 25 17:22:17 2018 New Revision: 323491 URL: http://llvm.org/viewvc/llvm-project?rev=323491=rev Log: libcxx: Use vcruntime declarations for typeinfo on Windows. We need to use the vcruntime declarations on Windows to avoid an ODR violation involving rtti.obj, which

[libcxx] r323490 - libcxx: Move #include_next out of header guard in wrapper header.

2018-01-25 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Thu Jan 25 17:19:23 2018 New Revision: 323490 URL: http://llvm.org/viewvc/llvm-project?rev=323490=rev Log: libcxx: Move #include_next out of header guard in wrapper header. Code on Windows expects to be able to do: #define _USE_MATH_DEFINES #include and receive the

[libcxxabi] r323397 - [libc++abi] Fix unused function when building with LIBCXXABI_SILENT_TERMINATE

2018-01-24 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Wed Jan 24 17:38:43 2018 New Revision: 323397 URL: http://llvm.org/viewvc/llvm-project?rev=323397=rev Log: [libc++abi] Fix unused function when building with LIBCXXABI_SILENT_TERMINATE This fixes: src/cxa_default_handlers.cpp:25:13: error: unused function

r323362 - IRGen: Emit an inline implementation of __builtin_wmemcmp on MSVCRT platforms.

2018-01-24 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Wed Jan 24 10:59:58 2018 New Revision: 323362 URL: http://llvm.org/viewvc/llvm-project?rev=323362=rev Log: IRGen: Emit an inline implementation of __builtin_wmemcmp on MSVCRT platforms. The MSVC runtime library does not provide a definition of wmemcmp, so we need an inline

[libcxx] r323300 - libcxx: Allow auto-linking to be disabled with a macro.

2018-01-23 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Tue Jan 23 20:30:19 2018 New Revision: 323300 URL: http://llvm.org/viewvc/llvm-project?rev=323300=rev Log: libcxx: Allow auto-linking to be disabled with a macro. Some users may have a custom build system which gives a different name to the libc++ archive (or does not create an

[libcxx] r323237 - libcxx: Rename vasprintf function to __libcpp_vasprintf.

2018-01-23 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Tue Jan 23 10:53:33 2018 New Revision: 323237 URL: http://llvm.org/viewvc/llvm-project?rev=323237=rev Log: libcxx: Rename vasprintf function to __libcpp_vasprintf. The language standard does not define a function with this name, so it is part of the user's namespace. This

[libcxx] r323170 - libcxx: Provide overloads for basic_filebuf::open() et al that take wchar_t* filenames on Windows.

2018-01-22 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Mon Jan 22 18:07:27 2018 New Revision: 323170 URL: http://llvm.org/viewvc/llvm-project?rev=323170=rev Log: libcxx: Provide overloads for basic_filebuf::open() et al that take wchar_t* filenames on Windows. This is an MSVC standard library extension. It seems like a reasonable

[libcxx] r323169 - libcxx: Move Windows threading support into a .cpp file.

2018-01-22 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Mon Jan 22 17:59:43 2018 New Revision: 323169 URL: http://llvm.org/viewvc/llvm-project?rev=323169=rev Log: libcxx: Move Windows threading support into a .cpp file. This allows us to avoid polluting the namespace of users of with the definitions in windows.h. Differential

[libcxx] r322794 - libcxx: Define set_unexpected, _get_unexpected and __uncaught_exceptions without dllimport.

2018-01-17 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Wed Jan 17 16:33:35 2018 New Revision: 322794 URL: http://llvm.org/viewvc/llvm-project?rev=322794=rev Log: libcxx: Define set_unexpected, _get_unexpected and __uncaught_exceptions without dllimport. It turns out that the MSVC headers define these functions without dllimport

[libcxx] r322744 - libcxx: Disable CFI in function std::get_temporary_buffer.

2018-01-17 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Wed Jan 17 11:32:35 2018 New Revision: 322744 URL: http://llvm.org/viewvc/llvm-project?rev=322744=rev Log: libcxx: Disable CFI in function std::get_temporary_buffer. The specification of this function mandates a cast to uninitialized T*, which is forbidden under CFI.

[libcxx] r322617 - libcxx: Stop using private MSVC macros in the exception implementation.

2018-01-16 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Tue Jan 16 20:37:04 2018 New Revision: 322617 URL: http://llvm.org/viewvc/llvm-project?rev=322617=rev Log: libcxx: Stop using private MSVC macros in the exception implementation. Inline the provided "fallback" definitions (which seem to always be taken) that expand to __cdecl

[libcxx] r322201 - libcxx: Stop providing a definition of __GLIBC_PREREQ.

2018-01-10 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Wed Jan 10 10:16:58 2018 New Revision: 322201 URL: http://llvm.org/viewvc/llvm-project?rev=322201=rev Log: libcxx: Stop providing a definition of __GLIBC_PREREQ. An application may determine whether the C standard library is glibc by testing whether __GLIBC_PREREQ is defined.

Re: r320942 - [ASTImporter] Support importing FunctionTemplateDecl and CXXDependentScopeMemberExpr

2017-12-19 Thread Peter Collingbourne via cfe-commits
Hi, I reverted this change in r321139 because it causes a test failure on Windows. e.g. https://logs.chromium.org/v/?s=chromium%2Fbb%2Ftryserver.chromium.win%2Fwin_upload_clang%2F277%2F%2B%2Frecipes%2Fsteps%2Fpackage_clang%2F0%2Fstdout Please let me know if you have trouble reproducing. Thanks,

r321139 - Revert r320942, "[ASTImporter] Support importing FunctionTemplateDecl and CXXDependentScopeMemberExpr"

2017-12-19 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Tue Dec 19 17:47:08 2017 New Revision: 321139 URL: http://llvm.org/viewvc/llvm-project?rev=321139=rev Log: Revert r320942, "[ASTImporter] Support importing FunctionTemplateDecl and CXXDependentScopeMemberExpr" Caused a test failure on Windows: [ RUN ]

[libcxx] r321124 - libcxx: Fix for basic_stringbuf::seekoff() after r320604.

2017-12-19 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Tue Dec 19 15:33:16 2017 New Revision: 321124 URL: http://llvm.org/viewvc/llvm-project?rev=321124=rev Log: libcxx: Fix for basic_stringbuf::seekoff() after r320604. As a result of this change, the basic_stringbuf constructor that takes a mode ends up leaving __hm_ set to 0,

r320638 - IRGen: When performing CFI checks, load vtable pointer from vbase when necessary.

2017-12-13 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Wed Dec 13 13:53:04 2017 New Revision: 320638 URL: http://llvm.org/viewvc/llvm-project?rev=320638=rev Log: IRGen: When performing CFI checks, load vtable pointer from vbase when necessary. Under the Microsoft ABI, it is possible for an object not to have a virtual table

r318857 - CachePruning: Allow limiting the number of files in the cache directory.

2017-11-22 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Wed Nov 22 10:27:31 2017 New Revision: 318857 URL: http://llvm.org/viewvc/llvm-project?rev=318857=rev Log: CachePruning: Allow limiting the number of files in the cache directory. The default limit is 100 but it can be configured with a cache policy. The motivation is that

Re: r313096 - [ubsan] Function Sanitizer: Don't require writable text segments

2017-10-13 Thread Peter Collingbourne via cfe-commits
On Fri, Oct 13, 2017 at 6:12 PM, Vedant Kumar wrote: > > On Oct 13, 2017, at 6:05 PM, Peter Collingbourne wrote: > > > > On Fri, Oct 13, 2017 at 5:59 PM, Vedant Kumar wrote: > >> >> On Oct 13, 2017, at 4:33 PM, Peter Collingbourne

Re: r313096 - [ubsan] Function Sanitizer: Don't require writable text segments

2017-10-13 Thread Peter Collingbourne via cfe-commits
On Fri, Oct 13, 2017 at 5:59 PM, Vedant Kumar wrote: > > On Oct 13, 2017, at 4:33 PM, Peter Collingbourne wrote: > > > > On Fri, Oct 13, 2017 at 4:19 PM, Vedant Kumar wrote: > >> >> On Oct 13, 2017, at 4:08 PM, Peter Collingbourne

Re: r313096 - [ubsan] Function Sanitizer: Don't require writable text segments

2017-10-13 Thread Peter Collingbourne via cfe-commits
On Fri, Oct 13, 2017 at 4:19 PM, Vedant Kumar wrote: > > On Oct 13, 2017, at 4:08 PM, Peter Collingbourne wrote: > > On Fri, Oct 13, 2017 at 4:06 PM, Peter Collingbourne > wrote: > >> Here's a small reproducer. >> >> struct A { >> virtual

Re: r313096 - [ubsan] Function Sanitizer: Don't require writable text segments

2017-10-13 Thread Peter Collingbourne via cfe-commits
On Fri, Oct 13, 2017 at 4:06 PM, Peter Collingbourne wrote: > Here's a small reproducer. > > struct A { > virtual void f(...); > }; > > struct B : virtual A { > virtual void b(); > virtual void f(...); > }; > > void B::f(...) {} > > $ clang++ -fsanitize=function fsan.cpp

Re: r313096 - [ubsan] Function Sanitizer: Don't require writable text segments

2017-10-13 Thread Peter Collingbourne via cfe-commits
Here's a small reproducer. struct A { virtual void f(...); }; struct B : virtual A { virtual void b(); virtual void f(...); }; void B::f(...) {} $ clang++ -fsanitize=function fsan.cpp -ffunction-sections -fdata-sections -c -o /dev/null fatal error: error in backend: Cannot represent a

[clang-tools-extra] r315378 - Support: Have directory_iterator::status() return FindFirstFileEx/FindNextFile results on Windows.

2017-10-10 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Tue Oct 10 15:19:46 2017 New Revision: 315378 URL: http://llvm.org/viewvc/llvm-project?rev=315378=rev Log: Support: Have directory_iterator::status() return FindFirstFileEx/FindNextFile results on Windows. This allows clients to avoid an unnecessary fs::status() call on each

r315378 - Support: Have directory_iterator::status() return FindFirstFileEx/FindNextFile results on Windows.

2017-10-10 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Tue Oct 10 15:19:46 2017 New Revision: 315378 URL: http://llvm.org/viewvc/llvm-project?rev=315378=rev Log: Support: Have directory_iterator::status() return FindFirstFileEx/FindNextFile results on Windows. This allows clients to avoid an unnecessary fs::status() call on each

Re: r313957 - Closure types have no name (and can't have a typedef name for linkage

2017-10-02 Thread Peter Collingbourne via cfe-commits
On Mon, Oct 2, 2017 at 7:02 PM, Richard Smith <rich...@metafoo.co.uk> wrote: > On 2 October 2017 at 17:10, Peter Collingbourne via cfe-commits < > cfe-commits@lists.llvm.org> wrote: > >> Looks like this caused PR34811, which caused a link error on a Chromium >> b

Re: r313957 - Closure types have no name (and can't have a typedef name for linkage

2017-10-02 Thread Peter Collingbourne via cfe-commits
Looks like this caused PR34811, which caused a link error on a Chromium bot: https://build.chromium.org/p/chromium.fyi/builders/CFI%20Linux%20ToT/builds/7081 The link error might be caused by an unrelated LTO bug, but this bug does seem real. Please take a look. Peter On Thu, Sep 21, 2017 at

r313201 - Use -- to prevent the driver from confusing paths with flags, should fix Mac bot.

2017-09-13 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Wed Sep 13 14:49:17 2017 New Revision: 313201 URL: http://llvm.org/viewvc/llvm-project?rev=313201=rev Log: Use -- to prevent the driver from confusing paths with flags, should fix Mac bot. Modified: cfe/trunk/test/Driver/whole-program-vtables.c Modified:

r313169 - Driver: Make -fwhole-program-vtables a core option so it can be used from clang-cl.

2017-09-13 Thread Peter Collingbourne via cfe-commits
Author: pcc Date: Wed Sep 13 11:36:07 2017 New Revision: 313169 URL: http://llvm.org/viewvc/llvm-project?rev=313169=rev Log: Driver: Make -fwhole-program-vtables a core option so it can be used from clang-cl. Also add some missing driver tests for the regular clang driver. Differential

  1   2   3   4   >