llvm with tablegen backend for capstone disassembler
Go to file
Mark de Wever 7cc72a0a2e Implement syncstream (p0053)
This patch implements `std::basic_syncbuf` and `std::basic_osyncstream` as specified in paper p0053r7. ~~For ease of reviewing I am submitting this patch before submitting a patch for `std::basic_osyncstream`. ~~

~~Please note, this patch is not 100% complete. I plan on adding more tests (see comments), specifically I plan on adding tests for multithreading and synchronization.~~

Edit: I decided that it would be far easier for me to keep track of this and make changes that affect both `std::basic_syncbuf` and `std::basic_osyncstream` if both were in one patch.

The patch was originally written by @zoecarver

Implements
- P0053R7 - C++ Synchronized Buffered Ostream
- LWG-3127 basic_osyncstream::rdbuf needs a const_cast
- LWG-3334 basic_osyncstream move assignment and destruction calls basic_syncbuf::emit() twice
- LWG-3570 basic_osyncstream::emit should be an unformatted output function
- LWG-3867 Should std::basic_osyncstream's move assignment operator be noexcept?

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D67086
2023-11-08 17:45:06 +01:00
.ci [ci] diff with main merge-base (#69308) 2023-10-17 11:24:43 +02:00
.github [Github] Only run github actions on main monorepo (#69774) 2023-11-04 00:17:06 -07:00
bolt [BOLT] Support instrumentation hook via DT_FINI_ARRAY (#67348) 2023-11-08 11:01:10 +00:00
clang [SystemZ] Do not run mbackchain-4.c test without SystemZ target (#71678) 2023-11-08 15:53:10 +01:00
clang-tools-extra [clangd] Allow hover over 128-bit variable without crashing (#71415) 2023-11-08 14:13:11 +01:00
cmake [CMake] Switch the CMP0091 policy (MSVC_RUNTIME_LIBRARY) to the new behaviour 2023-07-17 09:59:05 +03:00
compiler-rt [NFC] turn comment into static_assert (#71504) 2023-11-08 01:23:55 -08:00
cross-project-tests [Dexter] Associate parser errors with correct file (#66765) 2023-09-19 14:16:17 +01:00
flang [flang] Fix typo in ExpressionAnalyzer::CheckIntrinsicKind, NFC 2023-11-08 08:31:58 -06:00
libc [libc][FIXME] Disable math tests to make the GPU bots green (#71603) 2023-11-07 17:43:21 -06:00
libclc [LIBCLC] Teach prepare-builtins how to handle text based IR (#66993) 2023-10-03 14:28:01 +02:00
libcxx Implement syncstream (p0053) 2023-11-08 17:45:06 +01:00
libcxxabi [libc++] Bump the C++ Standard used to compile the dylib to C++23 (#66824) 2023-11-05 08:40:51 -05:00
libunwind [libc++][AIX] Add OS version to target triple 2023-10-31 16:23:05 -04:00
lld Reapply: [lld] Restore "REQUIRES: amdgpu" in amdgpu-abi-version 2023-11-07 12:35:17 +01:00
lldb [lldb][test] Skip ScriptedProcess missing methods test on Windows 2023-11-08 15:23:03 +00:00
llvm Reapply 7d77bbef4a, adding new debug-info classes 2023-11-08 16:42:35 +00:00
llvm-libgcc [llvm-libgcc][CMake] Refactor llvm-libgcc (#65455) 2023-09-18 22:56:03 -07:00
mlir [mlir][python] Add support for arg_attrs and other attrs to NamedSequenceOp 2023-11-08 13:42:16 +00:00
openmp [OpenMP] Add skewed iteration distribution on hybrid systems (#69946) 2023-11-08 10:19:37 -06:00
polly [NFC] Remove Type::getInt8PtrTy (#71029) 2023-11-07 17:26:26 +01:00
pstl Clear release notes for 18.x 2023-07-25 13:58:49 +02:00
runtimes [libc++][Android] Support libc++ testing on Android (#69274) 2023-10-19 16:58:30 -04:00
third-party [gtest] Disable new posix::FOpen Windows implementation for now 2023-09-28 21:11:09 +02:00
utils [libc][bazel] Add powf target and fix bazel overlay. (#71464) 2023-11-07 08:27:02 -05:00
.arcconfig
.arclint
.clang-format
.clang-tidy Add -misc-use-anonymous-namespace to .clang-tidy 2023-05-06 02:33:20 +03:00
.git-blame-ignore-revs Revert "[mlir][spirv] Add D155747 to .git-blame-ignore-revs" 2023-07-21 10:59:16 -04:00
.gitignore Revert accidental .gitignore change from 9b7763821a 2023-09-07 22:42:05 -07:00
.mailmap Add entry to mailmap 2023-04-25 23:15:07 -07:00
CODE_OF_CONDUCT.md [llvm] Add CODE_OF_CONDUCT.md (#65816) 2023-09-09 10:55:31 -07:00
CONTRIBUTING.md Update CONTRIBUTING.md to remove the not about not accepting PR 2023-09-10 15:21:06 -07:00
LICENSE.TXT [docs] Add LICENSE.txt to the root of the mono-repo 2022-08-24 09:35:00 +02:00
README.md Add Scorecard Action (#69933) 2023-11-01 11:08:26 -07:00
SECURITY.md

The LLVM Compiler Infrastructure

OpenSSF Scorecard

Welcome to the LLVM project!

This repository contains the source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and run-time environments.

The LLVM project has multiple components. The core of the project is itself called "LLVM". This contains all of the tools, libraries, and header files needed to process intermediate representations and convert them into object files. Tools include an assembler, disassembler, bitcode analyzer, and bitcode optimizer.

C-like languages use the Clang frontend. This component compiles C, C++, Objective-C, and Objective-C++ code into LLVM bitcode -- and from there into object files, using LLVM.

Other components include: the libc++ C++ standard library, the LLD linker, and more.

Getting the Source Code and Building LLVM

Consult the Getting Started with LLVM page for information on building and running LLVM.

For information on how to contribute to the LLVM project, please take a look at the Contributing to LLVM guide.

Getting in touch

Join the LLVM Discourse forums, Discord chat, LLVM Office Hours or Regular sync-ups.

The LLVM project has adopted a code of conduct for participants to all modes of communication within the project.