Skip to content

Commit 559af86

Browse files
authored
Merge branch 'main' into users/mtrofin/08-25-_nfc_leave_a_comment_in_local.cpp_about_debug_info_sample_profiling
2 parents 2362af9 + 9e33997 commit 559af86

File tree

184 files changed

+8008
-6755
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

184 files changed

+8008
-6755
lines changed

.github/dependabot.yml

Lines changed: 0 additions & 18 deletions
This file was deleted.

clang/docs/OpenMPSupport.rst

Lines changed: 86 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -348,12 +348,97 @@ implementation.
348348
+------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+
349349

350350

351+
.. _OpenMP 5.2 implementation details:
352+
353+
OpenMP 5.2 Implementation Details
354+
=================================
355+
356+
The following table provides a quick overview of various OpenMP 5.2 features
357+
and their implementation status. Please post on the
358+
`Discourse forums (Runtimes - OpenMP category)`_ for more
359+
information or if you want to help with the
360+
implementation.
361+
362+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
363+
|Feature | C/C++ Status | Fortran Status | Reviews |
364+
+=============================================================+===========================+===========================+==========================================================================+
365+
| omp_in_explicit_task() | :none:`unclaimed` | :none:`unclaimed` | |
366+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
367+
| semantics of explicit_task_var and implicit_task_var | :none:`unclaimed` | :none:`unclaimed` | |
368+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
369+
| ompx sentinel for C/C++ directive extensions | :none:`unclaimed` | :none:`unclaimed` | |
370+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
371+
| ompx prefix for clause extensions | :none:`unclaimed` | :none:`unclaimed` | |
372+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
373+
| if clause on teams construct | :none:`unclaimed` | :none:`unclaimed` | |
374+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
375+
| step modifier added | :none:`unclaimed` | :none:`unclaimed` | |
376+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
377+
| declare mapper: Add iterator modifier on map clause | :none:`unclaimed` | :none:`unclaimed` | |
378+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
379+
| declare mapper: Add iterator modifier on map clause | :none:`unclaimed` | :none:`unclaimed` | |
380+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
381+
| memspace and traits modifiers to uses allocator i | :none:`unclaimed` | :none:`unclaimed` | |
382+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
383+
| Add otherwise clause to metadirectives | :none:`unclaimed` | :none:`unclaimed` | |
384+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
385+
| doacross clause with support for omp_cur_iteration | :none:`unclaimed` | :none:`unclaimed` | |
386+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
387+
| position of interop_type in init clause on iterop | :none:`unclaimed` | :none:`unclaimed` | |
388+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
389+
| implicit map type for target enter/exit data | :none:`unclaimed` | :none:`unclaimed` | |
390+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
391+
| work OMPT type for work-sharing loop constructs | :none:`unclaimed` | :none:`unclaimed` | |
392+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
393+
| allocate and firstprivate on scope directive | :none:`unclaimed` | :none:`unclaimed` | |
394+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
395+
| Change loop consistency for order clause | :none:`unclaimed` | :none:`unclaimed` | |
396+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
397+
| Add memspace and traits modifiers to uses_allocators | :none:`unclaimed` | :none:`unclaimed` | |
398+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
399+
| Keep original base pointer on map w/o matched candidate | :none:`unclaimed` | :none:`unclaimed` | |
400+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
401+
| Pure procedure support for certain directives | :none:`N/A` | :none:`unclaimed` | |
402+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
403+
| ALLOCATE statement support for allocators | :none:`N/A` | :none:`unclaimed` | |
404+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
405+
| dispatch construct extension to support end directive | :none:`N/A` | :none:`unclaimed` | |
406+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
407+
408+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
409+
|OpenMP 5.2 Deprecations | C/C++ Status | Fortran Status | Reviews |
410+
+=============================================================+===========================+===========================+==========================================================================+
411+
| Linear clause syntax | :none:`unclaimed` | :none:`unclaimed` | |
412+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
413+
| The minus operator | :none:`unclaimed` | :none:`unclaimed` | |
414+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
415+
| Map clause modifiers without commas | :none:`unclaimed` | :none:`unclaimed` | |
416+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
417+
| The use of allocate directives with ALLOCATE statement | :good:`N/A` | :none:`unclaimed` | |
418+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
419+
| uses_allocators list syntax | :none:`unclaimed` | :none:`unclaimed` | |
420+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
421+
| The default clause on metadirectives | :none:`unclaimed` | :none:`unclaimed` | |
422+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
423+
| The delimited form of the declare target directive | :none:`unclaimed` | :good:`N/A` | |
424+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
425+
| The use of the to clause on the declare target directive | :none:`unclaimed` | :none:`unclaimed` | |
426+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
427+
| The syntax of the destroy clause on the depobj construct | :none:`unclaimed` | :none:`unclaimed` | |
428+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
429+
| keyword source and sink as task-dependence modifiers | :none:`unclaimed` | :none:`unclaimed` | |
430+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
431+
| interop types in any position on init clause of interop | :none:`unclaimed` | :none:`unclaimed` | |
432+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
433+
| ompd prefix usage for some ICVs | :none:`unclaimed` | :none:`unclaimed` | |
434+
+-------------------------------------------------------------+---------------------------+---------------------------+--------------------------------------------------------------------------+
435+
351436
.. _OpenMP 6.0 implementation details:
352437

353438
OpenMP 6.0 Implementation Details
354439
=================================
355440

356-
The following table provides a quick overview over various OpenMP 6.0 features
441+
The following table provides a quick overview of various OpenMP 6.0 features
357442
and their implementation status. Please post on the
358443
`Discourse forums (Runtimes - OpenMP category)`_ for more
359444
information or if you want to help with the

clang/test/PCH/leakfiles.test

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
// Test that compiling using a PCH doesn't leak file descriptors.
22
// https://bugs.chromium.org/p/chromium/issues/detail?id=924225
33
//
4-
// This test requires bash loops and ulimit.
5-
// REQUIRES: shell
6-
// UNSUPPORTED: target={{.*win32.*}}
4+
// This test uses ulimit.
5+
// UNSUPPORTED: system-windows
76
//
87
// Set up source files. lib/lib.h includes lots of lib*.h files in that dir.
98
// client.c includes lib/lib.h, and also the individual files directly.
@@ -12,10 +11,10 @@
1211
// RUN: mkdir %t
1312
// RUN: cd %t
1413
// RUN: mkdir lib
15-
// RUN: for i in {1..300}; do touch lib/lib$i.h; done
16-
// RUN: for i in {1..300}; do echo "#include \"lib$i.h\"" >> lib/lib.h; done
14+
// RUN: %python -c "from pathlib import Path; list(map(lambda i: Path(f'lib/lib{i}.h').touch(), range(1, 301)))"
15+
// RUN: %python -c "for i in range(1, 301): print(f'#include \"lib{i}.h\"')" > lib/lib.h
1716
// RUN: echo "#include \"lib/lib.h\"" > client.c
18-
// RUN: for i in {1..300}; do echo "#include \"lib/lib$i.h\"" >> client.c; done
17+
// RUN: %python -c "for i in range(1, 301): print(f'#include \"lib/lib{i}.h\"')" > client.c
1918
//
2019
// We want to verify that we don't hold all the files open at the same time.
2120
// This is important e.g. on mac, which has a low default FD limit.

clang/test/SemaCXX/PR51712-large-array-constexpr-check-oom.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// Only run this test where ulimit is known to work well.
22
// (There's nothing really platform-specific being tested, this is just ulimit).
33
//
4-
// REQUIRES: shell
54
// REQUIRES: system-linux
65
// UNSUPPORTED: msan
76
// UNSUPPORTED: asan

libc/src/__support/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,7 @@ add_header_library(
302302
DEPENDS
303303
libc.hdr.stdint_proxy
304304
libc.src.__support.common
305+
libc.src.string.memory_utils.inline_memcpy
305306
)
306307

307308
add_header_library(

libc/src/__support/arg_list.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#include "hdr/stdint_proxy.h"
1313
#include "src/__support/common.h"
1414
#include "src/__support/macros/config.h"
15+
#include "src/string/memory_utils/inline_memcpy.h"
1516

1617
#include <stdarg.h>
1718
#include <stddef.h>
@@ -126,7 +127,7 @@ template <bool packed> class StructArgList {
126127

127128
// Memcpy because pointer alignment may be illegal given a packed struct.
128129
T val;
129-
__builtin_memcpy(&val, ptr, sizeof(T));
130+
inline_memcpy(&val, ptr, sizeof(T));
130131

131132
ptr =
132133
reinterpret_cast<void *>(reinterpret_cast<uintptr_t>(ptr) + sizeof(T));

libc/src/stdio/printf_core/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ add_header_library(
112112
libc.src.__support.libc_assert
113113
libc.src.__support.uint128
114114
libc.src.__support.StringUtil.error_to_string
115+
libc.src.string.memory_utils.inline_memcpy
115116
)
116117

117118
add_header_library(

libc/src/stdio/printf_core/float_dec_converter_limited.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
#include "src/stdio/printf_core/core_structs.h"
5454
#include "src/stdio/printf_core/float_inf_nan_converter.h"
5555
#include "src/stdio/printf_core/writer.h"
56+
#include "src/string/memory_utils/inline_memcpy.h"
5657

5758
namespace LIBC_NAMESPACE_DECL {
5859
namespace printf_core {
@@ -250,7 +251,7 @@ DigitsOutput decimal_digits(DigitsInput input, int precision, bool e_mode) {
250251
// there's space for it in the DigitsOutput buffer).
251252
DigitsOutput output;
252253
output.ndigits = view.size();
253-
__builtin_memcpy(output.digits, view.data(), output.ndigits);
254+
inline_memcpy(output.digits, view.data(), output.ndigits);
254255

255256
// Set up the output exponent, which is done differently depending on mode.
256257
// Also, figure out whether we have one digit too many, and if so, set the
@@ -551,7 +552,7 @@ convert_float_inner(Writer<write_mode> *writer, const FormatSection &to_conv,
551552
cpp::string_view expview = expcvt.view();
552553
expbuf[0] = internal::islower(to_conv.conv_name) ? 'e' : 'E';
553554
explen = expview.size() + 1;
554-
__builtin_memcpy(expbuf + 1, expview.data(), expview.size());
555+
inline_memcpy(expbuf + 1, expview.data(), expview.size());
555556
}
556557

557558
// Now we know enough to work out the length of the unpadded output:

libc/src/stdlib/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,7 @@ add_header_library(
292292
libc.hdr.stdint_proxy
293293
libc.include.stdlib
294294
libc.src.__support.CPP.cstddef
295+
libc.src.string.memory_utils.inline_memcpy
295296
)
296297

297298
add_entrypoint_object(

0 commit comments

Comments
 (0)