mirror of
https://github.com/jemalloc/jemalloc.git
synced 2026-07-22 04:03:11 +00:00
Add CI coverage for --enable-cxx-infallible-new
This commit is contained in:
15
.github/workflows/linux-ci.yml
vendored
15
.github/workflows/linux-ci.yml
vendored
@@ -508,6 +508,16 @@ jobs:
|
|||||||
CXX: g++
|
CXX: g++
|
||||||
CONFIGURE_FLAGS: "--enable-debug --enable-experimental-smallocx --enable-stats --enable-prof"
|
CONFIGURE_FLAGS: "--enable-debug --enable-experimental-smallocx --enable-stats --enable-prof"
|
||||||
EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
|
EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
|
||||||
|
- env:
|
||||||
|
CC: gcc
|
||||||
|
CXX: g++
|
||||||
|
CONFIGURE_FLAGS: --enable-cxx-infallible-new
|
||||||
|
EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
|
||||||
|
- env:
|
||||||
|
CC: gcc
|
||||||
|
CXX: g++
|
||||||
|
CONFIGURE_FLAGS: "--enable-cxx-infallible-new --enable-debug"
|
||||||
|
EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v6
|
||||||
@@ -637,6 +647,11 @@ jobs:
|
|||||||
CXX: g++
|
CXX: g++
|
||||||
CONFIGURE_FLAGS: "--with-malloc-conf=background_thread:true"
|
CONFIGURE_FLAGS: "--with-malloc-conf=background_thread:true"
|
||||||
EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
|
EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
|
||||||
|
- env:
|
||||||
|
CC: gcc
|
||||||
|
CXX: g++
|
||||||
|
CONFIGURE_FLAGS: --enable-cxx-infallible-new
|
||||||
|
EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v6
|
||||||
|
|||||||
10
.github/workflows/macos-ci.yml
vendored
10
.github/workflows/macos-ci.yml
vendored
@@ -60,6 +60,11 @@ jobs:
|
|||||||
CXX: g++
|
CXX: g++
|
||||||
CONFIGURE_FLAGS: "--with-malloc-conf=percpu_arena:percpu"
|
CONFIGURE_FLAGS: "--with-malloc-conf=percpu_arena:percpu"
|
||||||
EXTRA_CFLAGS: "-Werror -Wno-array-bounds -Wno-unknown-warning-option -Wno-ignored-attributes -Wno-deprecated-declarations"
|
EXTRA_CFLAGS: "-Werror -Wno-array-bounds -Wno-unknown-warning-option -Wno-ignored-attributes -Wno-deprecated-declarations"
|
||||||
|
- env:
|
||||||
|
CC: gcc
|
||||||
|
CXX: g++
|
||||||
|
CONFIGURE_FLAGS: --enable-cxx-infallible-new
|
||||||
|
EXTRA_CFLAGS: "-Werror -Wno-array-bounds -Wno-unknown-warning-option -Wno-ignored-attributes -Wno-deprecated-declarations"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v6
|
||||||
@@ -162,6 +167,11 @@ jobs:
|
|||||||
CXX: g++
|
CXX: g++
|
||||||
CONFIGURE_FLAGS: "--with-malloc-conf=percpu_arena:percpu"
|
CONFIGURE_FLAGS: "--with-malloc-conf=percpu_arena:percpu"
|
||||||
EXTRA_CFLAGS: "-Werror -Wno-array-bounds -Wno-unknown-warning-option -Wno-ignored-attributes -Wno-deprecated-declarations"
|
EXTRA_CFLAGS: "-Werror -Wno-array-bounds -Wno-unknown-warning-option -Wno-ignored-attributes -Wno-deprecated-declarations"
|
||||||
|
- env:
|
||||||
|
CC: gcc
|
||||||
|
CXX: g++
|
||||||
|
CONFIGURE_FLAGS: --enable-cxx-infallible-new
|
||||||
|
EXTRA_CFLAGS: "-Werror -Wno-array-bounds -Wno-unknown-warning-option -Wno-ignored-attributes -Wno-deprecated-declarations"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v6
|
||||||
|
|||||||
5
.github/workflows/windows-ci.yml
vendored
5
.github/workflows/windows-ci.yml
vendored
@@ -52,6 +52,11 @@ jobs:
|
|||||||
CXX: cl.exe
|
CXX: cl.exe
|
||||||
CROSS_COMPILE_32BIT: yes
|
CROSS_COMPILE_32BIT: yes
|
||||||
CONFIGURE_FLAGS: --enable-debug
|
CONFIGURE_FLAGS: --enable-debug
|
||||||
|
- env:
|
||||||
|
CC: gcc
|
||||||
|
CXX: g++
|
||||||
|
CONFIGURE_FLAGS: --enable-cxx-infallible-new
|
||||||
|
EXTRA_CFLAGS: -fcommon
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v6
|
||||||
|
|||||||
@@ -276,6 +276,24 @@ def generate_linux_job(arch):
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
# --enable-cxx-infallible-new coverage. Plain variant runs on all arches;
|
||||||
|
# debug-combined variant runs only on AMD64 to bound matrix size.
|
||||||
|
infallible_new_entries = [
|
||||||
|
{
|
||||||
|
'CC': 'gcc',
|
||||||
|
'CXX': 'g++',
|
||||||
|
'CONFIGURE_FLAGS': '--enable-cxx-infallible-new',
|
||||||
|
'EXTRA_CFLAGS': '-Werror -Wno-array-bounds'
|
||||||
|
},
|
||||||
|
]
|
||||||
|
if arch == AMD64:
|
||||||
|
infallible_new_entries.append({
|
||||||
|
'CC': 'gcc',
|
||||||
|
'CXX': 'g++',
|
||||||
|
'CONFIGURE_FLAGS': '--enable-cxx-infallible-new --enable-debug',
|
||||||
|
'EXTRA_CFLAGS': '-Werror -Wno-array-bounds'
|
||||||
|
})
|
||||||
|
|
||||||
if arch == AMD64:
|
if arch == AMD64:
|
||||||
for entry in manual_entries:
|
for entry in manual_entries:
|
||||||
job += " - env:\n"
|
job += " - env:\n"
|
||||||
@@ -285,6 +303,14 @@ def generate_linux_job(arch):
|
|||||||
else:
|
else:
|
||||||
job += f" {key}: {value}\n"
|
job += f" {key}: {value}\n"
|
||||||
|
|
||||||
|
for entry in infallible_new_entries:
|
||||||
|
job += " - env:\n"
|
||||||
|
for key, value in entry.items():
|
||||||
|
if ' ' in str(value):
|
||||||
|
job += f' {key}: "{value}"\n'
|
||||||
|
else:
|
||||||
|
job += f" {key}: {value}\n"
|
||||||
|
|
||||||
job += f"""
|
job += f"""
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v6
|
||||||
@@ -385,6 +411,24 @@ def generate_macos_job(arch):
|
|||||||
else:
|
else:
|
||||||
job += f" {key}: {value}\n"
|
job += f" {key}: {value}\n"
|
||||||
|
|
||||||
|
# --enable-cxx-infallible-new coverage on macOS (both arches).
|
||||||
|
macos_extra_cflags = ' '.join(get_extra_cflags(OSX, GCC.value))
|
||||||
|
infallible_new_entries = [
|
||||||
|
{
|
||||||
|
'CC': 'gcc',
|
||||||
|
'CXX': 'g++',
|
||||||
|
'CONFIGURE_FLAGS': '--enable-cxx-infallible-new',
|
||||||
|
'EXTRA_CFLAGS': macos_extra_cflags
|
||||||
|
},
|
||||||
|
]
|
||||||
|
for entry in infallible_new_entries:
|
||||||
|
job += " - env:\n"
|
||||||
|
for key, value in entry.items():
|
||||||
|
if ' ' in str(value) or any(c in str(value) for c in [':', ',', '#']):
|
||||||
|
job += f' {key}: "{value}"\n'
|
||||||
|
else:
|
||||||
|
job += f" {key}: {value}\n"
|
||||||
|
|
||||||
job += f"""
|
job += f"""
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v6
|
||||||
@@ -467,6 +511,24 @@ def generate_windows_job(arch):
|
|||||||
else:
|
else:
|
||||||
job += f" {key}: {value}\n"
|
job += f" {key}: {value}\n"
|
||||||
|
|
||||||
|
# --enable-cxx-infallible-new coverage on Windows (MinGW-GCC only).
|
||||||
|
windows_mingw_cflags = ' '.join(get_extra_cflags(WINDOWS, GCC.value))
|
||||||
|
infallible_new_entries = [
|
||||||
|
{
|
||||||
|
'CC': 'gcc',
|
||||||
|
'CXX': 'g++',
|
||||||
|
'CONFIGURE_FLAGS': '--enable-cxx-infallible-new',
|
||||||
|
'EXTRA_CFLAGS': windows_mingw_cflags
|
||||||
|
},
|
||||||
|
]
|
||||||
|
for entry in infallible_new_entries:
|
||||||
|
job += " - env:\n"
|
||||||
|
for key, value in entry.items():
|
||||||
|
if ' ' in str(value) or any(c in str(value) for c in [':', ',', '#']):
|
||||||
|
job += f' {key}: "{value}"\n'
|
||||||
|
else:
|
||||||
|
job += f" {key}: {value}\n"
|
||||||
|
|
||||||
job += f"""
|
job += f"""
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v6
|
||||||
|
|||||||
Reference in New Issue
Block a user