diff --git a/eng/nativeSanitizers.targets b/eng/nativeSanitizers.targets index 69ec76b93487c6..bcaec86914508a 100644 --- a/eng/nativeSanitizers.targets +++ b/eng/nativeSanitizers.targets @@ -12,7 +12,7 @@ <PropertyGroup Condition="'$(TargetArchitecture)' == 'arm64'"> <LLVMArchitectureSuffix>arm64</LLVMArchitectureSuffix> </PropertyGroup> - <ItemGroup Condition="'$(TargetOS)' != 'windows'"> + <ItemGroup Condition="'$(TargetOS)' != 'windows' and '$(EnableNativeSanitizers)' != ''"> <LinkerArg Include="-fsanitize=$(EnableNativeSanitizers)" /> </ItemGroup> <ItemGroup Condition="'$(TargetOS)' == 'osx'"> diff --git a/eng/pipelines/common/platform-matrix.yml b/eng/pipelines/common/platform-matrix.yml index 2dc00a29da5d35..085ba914a18e22 100644 --- a/eng/pipelines/common/platform-matrix.yml +++ b/eng/pipelines/common/platform-matrix.yml @@ -326,7 +326,7 @@ jobs: targetRid: linux-x64 platform: linux_x64 shouldContinueOnError: ${{ parameters.shouldContinueOnError }} - container: debian-12-gcc13-amd64 + container: debian-12-gcc14-amd64 jobParameters: runtimeFlavor: ${{ parameters.runtimeFlavor }} buildConfig: ${{ parameters.buildConfig }} diff --git a/eng/pipelines/common/templates/pipeline-with-resources.yml b/eng/pipelines/common/templates/pipeline-with-resources.yml index bedb0ff5121a4a..ac8f6eaf25b362 100644 --- a/eng/pipelines/common/templates/pipeline-with-resources.yml +++ b/eng/pipelines/common/templates/pipeline-with-resources.yml @@ -93,8 +93,8 @@ extends: env: ROOTFS_DIR: /crossrootfs/riscv64 - debian-12-gcc13-amd64: - image: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-gcc13-amd64 + debian-12-gcc14-amd64: + image: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-gcc14-amd64 linux_x64_llvmaot: image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8 diff --git a/src/coreclr/inc/corhlprpriv.h b/src/coreclr/inc/corhlprpriv.h index 62298798d70178..f000e7334c58ac 100644 --- a/src/coreclr/inc/corhlprpriv.h +++ b/src/coreclr/inc/corhlprpriv.h @@ -474,12 +474,12 @@ template <class T> class CQuickArrayBase : public CQuickBytesBase template <class T> class CQuickArray : public CQuickArrayBase<T> { public: - CQuickArray<T>() + CQuickArray() { this->Init(); } - ~CQuickArray<T>() + ~CQuickArray() { this->Destroy(); } diff --git a/src/coreclr/inc/utilcode.h b/src/coreclr/inc/utilcode.h index bedd52d3b6d555..ca71af48a977dc 100644 --- a/src/coreclr/inc/utilcode.h +++ b/src/coreclr/inc/utilcode.h @@ -845,7 +845,7 @@ template<typename T> class SimpleListNode { public: - SimpleListNode<T>(const T& _t) + SimpleListNode(const T& _t) { data = _t; next = 0; @@ -861,7 +861,7 @@ class SimpleList public: typedef SimpleListNode<T> NodeType; - SimpleList<T>() + SimpleList() { head = NULL; } diff --git a/src/coreclr/nativeaot/Runtime/unix/UnwindHelpers.cpp b/src/coreclr/nativeaot/Runtime/unix/UnwindHelpers.cpp index cfaa373fe42191..39bf9f024be60e 100644 --- a/src/coreclr/nativeaot/Runtime/unix/UnwindHelpers.cpp +++ b/src/coreclr/nativeaot/Runtime/unix/UnwindHelpers.cpp @@ -777,7 +777,7 @@ libunwind::v128 Registers_REGDISPLAY::getVectorRegister(int num) const { num -= UNW_ARM64_D8; - if (num < 0 || num >= sizeof(D) / sizeof(uint64_t)) + if (num < 0 || (size_t)num >= sizeof(D) / sizeof(uint64_t)) { PORTABILITY_ASSERT("unsupported arm64 vector register"); } @@ -796,7 +796,7 @@ void Registers_REGDISPLAY::setVectorRegister(int num, libunwind::v128 value) { num -= UNW_ARM64_D8; - if (num < 0 || num >= sizeof(D) / sizeof(uint64_t)) + if (num < 0 || (size_t)num >= sizeof(D) / sizeof(uint64_t)) { PORTABILITY_ASSERT("unsupported arm64 vector register"); } diff --git a/src/coreclr/pal/inc/pal.h b/src/coreclr/pal/inc/pal.h index 340e4933bcd31a..e3c9955c26ab91 100644 --- a/src/coreclr/pal/inc/pal.h +++ b/src/coreclr/pal/inc/pal.h @@ -3371,8 +3371,9 @@ EXTERN_C PALIMPORT inline RETURN_TYPE PALAPI METHOD_DECL \ /* Function multiversioning will never inline a method that is \ marked such. However, just to make sure that we don't see \ surprises, explicitely mark them as noinline. */ \ -__attribute__((target("lse"))) __attribute__((noinline)) \ -EXTERN_C PALIMPORT inline RETURN_TYPE PALAPI Lse_##METHOD_DECL \ +EXTERN_C PALIMPORT inline RETURN_TYPE PALAPI \ +__attribute__((target("+lse"))) __attribute__((noinline)) \ +Lse_##METHOD_DECL \ { \ return INTRINSIC_NAME; \ } \ diff --git a/src/coreclr/unwinder/arm64/unwinder.cpp b/src/coreclr/unwinder/arm64/unwinder.cpp index 8096204dffa6e7..c7d04a70255fa1 100644 --- a/src/coreclr/unwinder/arm64/unwinder.cpp +++ b/src/coreclr/unwinder/arm64/unwinder.cpp @@ -794,7 +794,7 @@ RtlpExpandCompactToFull ( // or registers to lave left. // - for (intreg = 0; intreg < ((fnent_pdata->RegI / 2) * 2); intreg += 2) { + for (intreg = 0; intreg < (ULONG)((fnent_pdata->RegI / 2) * 2); intreg += 2) { if (!sav_predec_done) { DBG_OP("save_regp_x\t(%s, %s, %i)\n", int_reg_names[intreg], int_reg_names[intreg + 1], -savsz * 8); emit_save_regp_x(&op_buffer, intreg, -savsz * 8); @@ -1484,7 +1484,7 @@ Return Value: Fpcr = MEMORY_READ_DWORD(UnwindParams, SourceAddress); SourceAddress = VfpStateAddress + FIELD_OFFSET(KARM64_VFP_STATE, Fpsr); Fpsr = MEMORY_READ_DWORD(UnwindParams, SourceAddress); - if (Fpcr != -1 && Fpsr != -1) { + if (Fpcr != (ULONG)-1 && Fpsr != (ULONG)-1) { ContextRecord->Fpcr = Fpcr; ContextRecord->Fpsr = Fpsr; diff --git a/src/coreclr/vm/field.h b/src/coreclr/vm/field.h index c37fa4244dadf9..042e699297d535 100644 --- a/src/coreclr/vm/field.h +++ b/src/coreclr/vm/field.h @@ -186,7 +186,7 @@ class FieldDesc // As of 4/11/2012 I could repro this by turning on the COMPLUS log and // the LOG() at line methodtablebuilder.cpp:7845 // MethodTableBuilder::PlaceRegularStaticFields() calls GetOffset() - if((DWORD)(DWORD_PTR&)m_pMTOfEnclosingClass > 16) + if((DWORD)reinterpret_cast<DWORD_PTR&>(m_pMTOfEnclosingClass) > 16) { _ASSERTE(!this->IsRVA() || (m_dwOffset == OutOfLine_BigRVAOffset())); }