Skip to content

Commit c2cbe8f

Browse files
Merge branch 'main' into deprecate-is_pod
2 parents 62485b5 + a216358 commit c2cbe8f

File tree

859 files changed

+32052
-10432
lines changed

Some content is hidden

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

859 files changed

+32052
-10432
lines changed

.github/workflows/docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ jobs:
6565
fetch-depth: 1
6666
- name: Get subprojects that have doc changes
6767
id: docs-changed-subprojects
68-
uses: tj-actions/changed-files@fea790cb660e33aef4bdf07304e28fedd77dfa13 # v39.2.4
68+
uses: tj-actions/changed-files@dcc7a0cba800f454d79fff4b993e8c3555bcc0a8 # v45.0.7
6969
with:
7070
files_yaml: |
7171
llvm:

.github/workflows/issue-write.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939

4040
- name: 'Comment on PR'
4141
if: steps.download-artifact.outputs.artifact-id != ''
42-
uses: actions/github-script@ffc2c79a5b2490bd33e0a41c1de74b877714d736 # v3.2.0
42+
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
4343
with:
4444
github-token: ${{ secrets.GITHUB_TOKEN }}
4545
script: |

bolt/runtime/hugify.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@ static bool hasPagecacheTHPSupport() {
8585
KernelVersionTy KernelVersion;
8686

8787
getKernelVersion((uint32_t *)&KernelVersion);
88-
if (KernelVersion.major >= 5 && KernelVersion.minor >= 10)
88+
if (KernelVersion.major >= 6 ||
89+
(KernelVersion.major == 5 && KernelVersion.minor >= 10))
8990
return true;
9091

9192
return false;

bolt/utils/docker/Dockerfile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@ RUN mkdir build && \
2323
-DCMAKE_EXE_LINKER_FLAGS="-Wl,--push-state -Wl,-whole-archive -ljemalloc_pic -Wl,--pop-state -lpthread -lstdc++ -lm -ldl" \
2424
-DCMAKE_INSTALL_PREFIX=/home/bolt/install && \
2525
ninja check-bolt && \
26-
ninja install-llvm-bolt install-perf2bolt install-merge-fdata \
27-
install-llvm-boltdiff install-bolt_rt
26+
ninja install-llvm-bolt install-merge-fdata install-bolt_rt
2827

2928
FROM ubuntu:24.04
3029

clang/docs/ReleaseNotes.rst

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ Potentially Breaking Changes
3535
============================
3636

3737
- The Objective-C ARC migrator (ARCMigrate) has been removed.
38+
- Fix missing diagnostics for uses of declarations when performing typename access,
39+
such as when performing member access on a '[[deprecated]]' type alias.
40+
(#GH58547)
3841

3942
C/C++ Language Potentially Breaking Changes
4043
-------------------------------------------
@@ -93,6 +96,9 @@ Resolutions to C++ Defect Reports
9396
- Implemented `CWG2918 Consideration of constraints for address of overloaded `
9497
`function <https://cplusplus.github.io/CWG/issues/2918.html>`_
9598

99+
- Bumped the ``__cpp_constexpr`` feature-test macro to ``202002L`` in C++20 mode as indicated in
100+
`P2493R0 <https://wg21.link/P2493R0>`_.
101+
96102
C Language Changes
97103
------------------
98104

@@ -144,6 +150,9 @@ related warnings within the method body.
144150
``__attribute__((model("large")))`` on non-TLS globals in x86-64 compilations.
145151
This forces the global to be considered small or large in regards to the
146152
x86-64 code model, regardless of the code model specified for the compilation.
153+
- Clang now emits a warning ``-Wreserved-init-priority`` instead of a hard error
154+
when ``__attribute__((init_priority(n)))`` is used with values of n in the
155+
reserved range [0, 100]. The warning will be treated as an error by default.
147156

148157
- There is a new ``format_matches`` attribute to complement the existing
149158
``format`` attribute. ``format_matches`` allows the compiler to verify that
@@ -237,6 +246,10 @@ Bug Fixes in This Version
237246
when it can affect template argument deduction (#GH122306).
238247
- Fix crash on code completion of function calls involving partial order of function templates
239248
(#GH125500).
249+
- Fixed clang crash when #embed data does not fit into an array
250+
(#GH128987).
251+
- Non-local variable and non-variable declarations in the first clause of a ``for`` loop in C are no longer incorrectly
252+
considered an error in C23 mode and are allowed as an extension in earlier language modes.
240253

241254
Bug Fixes to Compiler Builtins
242255
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -258,6 +271,8 @@ Bug Fixes to C++ Support
258271
- Clang is now better at keeping track of friend function template instance contexts. (#GH55509)
259272
- Clang now prints the correct instantiation context for diagnostics suppressed
260273
by template argument deduction.
274+
- Clang is now better at instantiating the function definition after its use inside
275+
of a constexpr lambda. (#GH125747)
261276
- The initialization kind of elements of structured bindings
262277
direct-list-initialized from an array is corrected to direct-initialization.
263278
- Clang no longer crashes when a coroutine is declared ``[[noreturn]]``. (#GH127327)
@@ -348,6 +363,8 @@ Fixed Point Support in Clang
348363
AST Matchers
349364
------------
350365

366+
- Ensure ``isDerivedFrom`` matches the correct base in case more than one alias exists.
367+
351368
clang-format
352369
------------
353370

clang/include/clang/AST/Type.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2661,6 +2661,7 @@ class alignas(TypeAlignment) Type : public ExtQualsTypeCommonBase {
26612661
bool isHLSLSpecificType() const; // Any HLSL specific type
26622662
bool isHLSLBuiltinIntangibleType() const; // Any HLSL builtin intangible type
26632663
bool isHLSLAttributedResourceType() const;
2664+
bool isHLSLResourceRecord() const;
26642665
bool isHLSLIntangibleType()
26652666
const; // Any HLSL intangible type (builtin, array, class)
26662667

clang/include/clang/Basic/AttrDocs.td

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2828,8 +2828,8 @@ targets. This attribute may be attached to a function definition and instructs
28282828
the backend to generate appropriate function entry/exit code so that it can be
28292829
used directly as an interrupt service routine.
28302830

2831-
Permissible values for this parameter are ``user``, ``supervisor``,
2832-
and ``machine``. If there is no parameter, then it defaults to machine.
2831+
Permissible values for this parameter are ``supervisor`` and ``machine``. If
2832+
there is no parameter, then it defaults to ``machine``.
28332833

28342834
Repeated interrupt attribute on the same declaration will cause a warning
28352835
to be emitted. In case of repeated declarations, the last one prevails.

clang/include/clang/Basic/Builtins.td

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4765,6 +4765,12 @@ def GetDeviceSideMangledName : LangBuiltin<"CUDA_LANG"> {
47654765
}
47664766

47674767
// HLSL
4768+
def HLSLAddUint64: LangBuiltin<"HLSL_LANG"> {
4769+
let Spellings = ["__builtin_hlsl_adduint64"];
4770+
let Attributes = [NoThrow, Const];
4771+
let Prototype = "void(...)";
4772+
}
4773+
47684774
def HLSLResourceGetPointer : LangBuiltin<"HLSL_LANG"> {
47694775
let Spellings = ["__builtin_hlsl_resource_getpointer"];
47704776
let Attributes = [NoThrow];

clang/include/clang/Basic/BuiltinsAMDGPU.def

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -487,9 +487,6 @@ TARGET_BUILTIN(__builtin_amdgcn_s_barrier_signal, "vIi", "n", "gfx12-insts")
487487
TARGET_BUILTIN(__builtin_amdgcn_s_barrier_signal_var, "vv*i", "n", "gfx12-insts")
488488
TARGET_BUILTIN(__builtin_amdgcn_s_barrier_wait, "vIs", "n", "gfx12-insts")
489489
TARGET_BUILTIN(__builtin_amdgcn_s_barrier_signal_isfirst, "bIi", "n", "gfx12-insts")
490-
TARGET_BUILTIN(__builtin_amdgcn_s_barrier_init, "vv*i", "n", "gfx12-insts")
491-
TARGET_BUILTIN(__builtin_amdgcn_s_barrier_join, "vv*", "n", "gfx12-insts")
492-
TARGET_BUILTIN(__builtin_amdgcn_s_barrier_leave, "vIs", "n", "gfx12-insts")
493490
TARGET_BUILTIN(__builtin_amdgcn_s_get_barrier_state, "Uii", "n", "gfx12-insts")
494491
TARGET_BUILTIN(__builtin_amdgcn_s_get_named_barrier_state, "Uiv*", "n", "gfx12-insts")
495492
TARGET_BUILTIN(__builtin_amdgcn_s_prefetch_data, "vvC*Ui", "nc", "gfx12-insts")

clang/include/clang/Basic/DiagnosticSemaKinds.td

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3343,6 +3343,9 @@ def err_attribute_argument_out_of_range : Error<
33433343
def err_init_priority_object_attr : Error<
33443344
"can only use 'init_priority' attribute on file-scope definitions "
33453345
"of objects of class type">;
3346+
def warn_init_priority_reserved : Warning<
3347+
"requested 'init_priority' %0 is reserved for internal use">,
3348+
InGroup<DiagGroup<"init-priority-reserved">>, DefaultError;
33463349
def err_attribute_argument_out_of_bounds : Error<
33473350
"%0 attribute parameter %1 is out of bounds">;
33483351
def err_attribute_only_once_per_parameter : Error<
@@ -10706,6 +10709,11 @@ def err_vector_incorrect_num_elements : Error<
1070610709
"%select{too many|too few}0 elements in vector %select{initialization|operand}3 (expected %1 elements, have %2)">;
1070710710
def err_altivec_empty_initializer : Error<"expected initializer">;
1070810711

10712+
def err_vector_incorrect_bit_count : Error<
10713+
"incorrect number of bits in vector operand (expected %select{|a multiple of}0 %1 bits, have %2)">;
10714+
def err_integer_incorrect_bit_count : Error<
10715+
"incorrect number of bits in integer (expected %0 bits, have %1)">;
10716+
1070910717
def err_invalid_neon_type_code : Error<
1071010718
"incompatible constant for this __builtin_neon function">;
1071110719
def err_argument_invalid_range : Error<
@@ -10794,6 +10802,23 @@ def err_non_local_variable_decl_in_for : Error<
1079410802
"declaration of non-local variable in 'for' loop">;
1079510803
def err_non_variable_decl_in_for : Error<
1079610804
"non-variable declaration in 'for' loop">;
10805+
10806+
def ext_c23_non_local_variable_decl_in_for : Extension<
10807+
"declaration of non-local variable in 'for' loop is a C23 extension">,
10808+
InGroup<C23>;
10809+
10810+
def warn_c17_non_local_variable_decl_in_for : Warning<
10811+
"declaration of non-local variable in 'for' loop is incompatible with C standards before C23">,
10812+
DefaultIgnore, InGroup<CPre23Compat>;
10813+
10814+
def ext_c23_non_variable_decl_in_for : Extension<
10815+
"non-variable declaration in 'for' loop is a C23 extension">,
10816+
InGroup<C23>;
10817+
10818+
def warn_c17_non_variable_decl_in_for : Warning<
10819+
"non-variable declaration in 'for' loop is incompatible with C standards before C23">,
10820+
DefaultIgnore, InGroup<CPre23Compat>;
10821+
1079710822
def err_toomany_element_decls : Error<
1079810823
"only one element declaration is allowed">;
1079910824
def err_selector_element_not_lvalue : Error<

0 commit comments

Comments
 (0)