Skip to content

Commit ad95b08

Browse files
authored
Merge branch 'swift/release/6.2' into stop-hooks-initial-stop
2 parents da8c94c + 0d47fa0 commit ad95b08

File tree

995 files changed

+7029
-3092
lines changed

Some content is hidden

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

995 files changed

+7029
-3092
lines changed

clang/docs/ReleaseNotes.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -451,6 +451,11 @@ Non-comprehensive list of changes in this release
451451
removed in Clang 20. ``__is_same(__remove_cv(T), decltype(nullptr))`` can be
452452
used instead to check whether a type ``T`` is a ``nullptr``.
453453

454+
- Clang itself now uses split stacks instead of threads for allocating more
455+
stack space when running on Apple AArch64 based platforms. This means that
456+
stack traces of Clang from debuggers, crashes, and profilers may look
457+
different than before.
458+
454459
New Compiler Flags
455460
------------------
456461
- ``-fsanitize=implicit-bitfield-conversion`` checks implicit truncation and

clang/include/clang/AST/DeclBase.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -771,7 +771,7 @@ class alignas(8) Decl {
771771
/// 'weak_import' attribute, but may also be marked with an
772772
/// 'availability' attribute where we're targing a platform prior to
773773
/// the introduction of this feature.
774-
bool isWeakImported() const;
774+
bool isWeakImported(VersionTuple EnclosingVersion = VersionTuple()) const;
775775

776776
/// Determines whether this symbol can be weak-imported,
777777
/// e.g., whether it would be well-formed to add the weak_import

clang/include/clang/Basic/DiagnosticCASKinds.td

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,10 @@ def err_cas_depscan_daemon_connection: Error<
2323
def err_cas_depscan_failed: Error<
2424
"CAS-based dependency scan failed: %0">, DefaultFatal;
2525
def err_cas_store: Error<"failed to store to CAS: %0">, DefaultFatal;
26-
def err_cas_cannot_get_module_cache_key : Error<
27-
"CAS cannot load module with key '%0' from %1: %2">, DefaultFatal;
26+
def err_cas_unloadable_module : Error<
27+
"module file '%0' not found: unloadable module cache key %1: %2">, DefaultFatal;
28+
def err_cas_missing_module : Error<
29+
"module file '%0' not found: missing module cache key %1: %2">, DefaultFatal;
2830
def err_cas_missing_root_id : Error<
2931
"CAS missing expected root-id '%0'">, DefaultFatal;
3032
def err_cas_cannot_parse_root_id_for_module : Error<

clang/include/clang/Basic/DiagnosticFrontendKinds.td

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -377,15 +377,15 @@ def err_bounds_safety_attributes_cannot_be_disabled : Error<
377377
def err_bounds_safety_initializer_out_of_range : Error<
378378
"initializing value is out of valid range">;
379379

380-
def warn_bounds_attributes_cxx_experimental_ignored : Warning<
381-
"-fbounds-attributes-cxx-experimental without -fbounds-attributes is "
380+
def warn_bounds_safety_cxx_experimental_ignored : Warning<
381+
"-fexperimental-bounds-safety-cxx without -fbounds-safety is "
382382
"ignored">,
383-
InGroup<BoundsAttributesCXXExperimentalIgnored>;
383+
InGroup<BoundsSafetyCXXExperimentalIgnored>;
384384

385-
def warn_bounds_attributes_objc_experimental_ignored : Warning<
386-
"-fbounds-attributes-objc-experimental without -fbounds-attributes is "
385+
def warn_bounds_safety_objc_experimental_ignored : Warning<
386+
"-fexperimental-bounds-safety-objc without -fbounds-safety is "
387387
"ignored">,
388-
InGroup<BoundsAttributesObjCExperimentalIgnored>;
388+
InGroup<BoundsSafetyObjCExperimentalIgnored>;
389389

390390
def warn_bounds_safety_relaxed_system_headers_ignored : Warning<
391391
"-fno-bounds-safety-relaxed-system-headers without -fbounds-safety is "

clang/include/clang/Basic/DiagnosticGroups.td

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1487,10 +1487,10 @@ def BoundsSafetyInitList : DiagGroup<"bounds-safety-init-list">;
14871487
def BoundsAttributesExternArrayCount : DiagGroup<"bounds-attributes-extern-array-count">;
14881488
def BoundsAttributesInitSideEffect
14891489
: DiagGroup<"bounds-attributes-init-list-side-effect">;
1490-
def BoundsAttributesCXXExperimentalIgnored
1491-
: DiagGroup<"bounds-attributes-cxx-experimental-ignored">;
1492-
def BoundsAttributesObjCExperimentalIgnored
1493-
: DiagGroup<"bounds-attributes-objc-experimental-ignored">;
1490+
def BoundsSafetyCXXExperimentalIgnored
1491+
: DiagGroup<"experimental-bounds-safety-cxx-ignored">;
1492+
def BoundsSafetyObjCExperimentalIgnored
1493+
: DiagGroup<"experimental-bounds-safety-objc-ignored">;
14941494
def BoundsSafetyRelaxedSystemHeadersIgnored
14951495
: DiagGroup<"bounds-safety-relaxed-system-headers-ignore">;
14961496
def BoundsAttributesImplicitConvSingleToExplicitIndexable :

clang/include/clang/Basic/LangOptions.def

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -536,8 +536,8 @@ BENIGN_LANGOPT(CheckConstexprFunctionBodies, 1, 1,
536536
LANGOPT(BoundsSafety, 1, 0, "Bounds safety extension for C")
537537
/* TO_UPSTREAM(BoundsSafety) ON*/
538538
LANGOPT(BoundsSafetyAttributes, 1, 0, "Experimental bounds safety attributes")
539-
LANGOPT(BoundsAttributesCXXExperimental, 1, 0, "Experimental bounds attributes for C++")
540-
LANGOPT(BoundsAttributesObjCExperimental, 1, 0, "Experimental bounds attributes for Objective-C")
539+
LANGOPT(BoundsSafetyCXXExperimental, 1, 0, "Experimental bounds attributes for C++")
540+
LANGOPT(BoundsSafetyObjCExperimental, 1, 0, "Experimental bounds attributes for Objective-C")
541541
LANGOPT(BoundsSafetyRelaxedSystemHeaders, 1, 1,
542542
"Relax bounds safety assignment rules in system headers")
543543
LANGOPT(BoundsSafetyBringUpMissingChecks, 7, clang::LangOptions::getDefaultBoundsSafetyNewChecksMask(),

clang/include/clang/Basic/Stack.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,10 @@ namespace clang {
2727

2828
/// Call this once on each thread, as soon after starting the thread as
2929
/// feasible, to note the approximate address of the bottom of the stack.
30-
void noteBottomOfStack();
30+
///
31+
/// \param ForceSet set to true if you know the call is near the bottom of a
32+
/// new stack. Used for split stacks.
33+
void noteBottomOfStack(bool ForceSet = false);
3134

3235
/// Determine whether the stack is nearly exhausted.
3336
bool isStackNearlyExhausted();

clang/include/clang/CAS/CASOptions.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,8 @@ class CASOptions : public CASConfiguration {
117117
/// default on-disk CAS, otherwise this is a noop.
118118
void ensurePersistentCAS();
119119

120+
void getResolvedCASPath(llvm::SmallVectorImpl<char> &Result) const;
121+
120122
private:
121123
/// Initialize Cached CAS and ActionCache.
122124
llvm::Error initCache() const;

clang/include/clang/CAS/IncludeTree.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ class IncludeTree::FileList : public IncludeTreeBase<FileList> {
313313
FileSizeTy getFileSize(size_t I) const;
314314

315315
llvm::Error
316-
forEachFileImpl(llvm::DenseSet<ObjectRef> &Seen,
316+
forEachFileImpl(llvm::DenseMap<ObjectRef, ObjectRef> &Seen,
317317
llvm::function_ref<llvm::Error(File, FileSizeTy)> Callback);
318318

319319
static bool isValid(const ObjectProxy &Node);
@@ -864,16 +864,16 @@ class IncludeTreeRoot : public IncludeTreeBase<IncludeTreeRoot> {
864864

865865
/// An implementation of a \p vfs::FileSystem that supports the simple queries
866866
/// of the preprocessor, for creating \p FileEntries using a file path, while
867-
/// "replaying" an \p IncludeTreeRoot. It is not intended to be a complete
867+
/// "replaying" an \p IncludeTree::FileList. It is not intended to be a complete
868868
/// implementation of a file system.
869869
Expected<IntrusiveRefCntPtr<llvm::vfs::FileSystem>>
870-
createIncludeTreeFileSystem(IncludeTreeRoot &Root);
870+
createIncludeTreeFileSystem(IncludeTree::FileList &List);
871871

872872
/// Create the same IncludeTreeFileSystem but from
873873
/// ArrayRef<IncludeTree::FileEntry>.
874874
Expected<IntrusiveRefCntPtr<llvm::vfs::FileSystem>> createIncludeTreeFileSystem(
875875
llvm::cas::ObjectStore &CAS,
876-
llvm::ArrayRef<IncludeTree::FileList::FileEntry> List);
876+
llvm::ArrayRef<IncludeTree::FileList::FileEntry> Files);
877877

878878
} // namespace cas
879879
} // namespace clang

clang/include/clang/Driver/Options.td

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1971,20 +1971,20 @@ defm experimental_bounds_safety_attributes : BoolFOption<
19711971
PosFlag<SetTrue, [], [ClangOption], "Enable">,
19721972
NegFlag<SetFalse, [], [ClangOption], "Disable">,
19731973
BothFlags<[], [ClangOption, CC1Option], " experimental attributes">>;
1974-
defm bounds_attributes_cxx_experimental : BoolFOption<
1975-
"bounds-attributes-cxx-experimental",
1976-
LangOpts<"BoundsAttributesCXXExperimental">, DefaultFalse,
1977-
PosFlag<SetTrue, [], [ClangOption], "Enable">,
1978-
NegFlag<SetFalse, [], [ClangOption], "Disable">,
1979-
BothFlags<[], [ClangOption, CC1Option],
1980-
" experimental bounds attributes for C++">>;
1981-
defm bounds_attributes_objc_experimental : BoolFOption<
1982-
"bounds-attributes-objc-experimental",
1983-
LangOpts<"BoundsAttributesObjCExperimental">, DefaultFalse,
1984-
PosFlag<SetTrue, [], [ClangOption], "Enable">,
1985-
NegFlag<SetFalse, [], [ClangOption], "Disable">,
1986-
BothFlags<[], [ClangOption, CC1Option],
1987-
" experimental bounds attributes for ObjC">>;
1974+
defm bounds_safety_cxx_experimental : BoolFOption<
1975+
"experimental-bounds-safety-cxx",
1976+
LangOpts<"BoundsSafetyCXXExperimental">, DefaultFalse,
1977+
PosFlag<SetTrue, [], [CC1Option], "Enable">,
1978+
NegFlag<SetFalse, [], [CC1Option], "Disable">,
1979+
BothFlags<[], [CC1Option],
1980+
" experimental support for -fbounds-safety for C++">>;
1981+
defm bounds_safety_objc_experimental : BoolFOption<
1982+
"experimental-bounds-safety-objc",
1983+
LangOpts<"BoundsSafetyObjCExperimental">, DefaultFalse,
1984+
PosFlag<SetTrue, [], [CC1Option], "Enable">,
1985+
NegFlag<SetFalse, [], [CC1Option], "Disable">,
1986+
BothFlags<[], [CC1Option],
1987+
" experimental support for -fbounds-safety for ObjC">>;
19881988
defm bounds_safety_relaxed_system_headers : BoolFOption<
19891989
"bounds-safety-relaxed-system-headers",
19901990
LangOpts<"BoundsSafetyRelaxedSystemHeaders">, DefaultTrue,
@@ -8221,6 +8221,11 @@ def objc_isystem : Separate<["-"], "objc-isystem">,
82218221
def objcxx_isystem : Separate<["-"], "objcxx-isystem">,
82228222
MetaVarName<"<directory>">,
82238223
HelpText<"Add directory to the ObjC++ SYSTEM include search path">;
8224+
def internal_iframework : Separate<["-"], "internal-iframework">,
8225+
MetaVarName<"<directory>">,
8226+
HelpText<"Add directory to the internal system framework search path; these "
8227+
"are assumed to not be user-provided and are used to model system "
8228+
"and standard frameworks' paths.">;
82248229
def internal_isystem : Separate<["-"], "internal-isystem">,
82258230
MetaVarName<"<directory>">,
82268231
HelpText<"Add directory to the internal system include search path; these "

0 commit comments

Comments
 (0)