Fix Issues 22149 & 22150 - TypeInfo names aren't unique, leading to botched equality semantics (#12928)

* Fix Issue 22149 - TypeInfo_Struct names aren't unique, leading to botched equality semantics

By storing the mangled name, making the TypeInfo_Struct names truly
unique and more compact at the same time.
Requires https://github.com/dlang/druntime/pull/3527.

* Fix Issue 22150 - TypeInfo_Class names aren't unique, leading to botched equality semantics

By fully qualifying template arguments.

* [temp] Cirrus CI: Use same-named druntime branch

* Azure Pipelines: Try to use same-named druntime/Phobos branches for PRs originating from the official dlang repo

* Cirrus CI: Try to use same-named druntime/Phobos branches for PRs originating from the official dlang repo
This commit is contained in:
Martin Kinkelin 2021-08-01 14:04:25 +02:00 committed by GitHub
parent cdd9063115
commit 5ebfb077c6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 122 additions and 13 deletions

View file

@ -5,13 +5,24 @@ common_steps_template: &COMMON_STEPS_TEMPLATE
set -uexo pipefail
ln -s $CIRRUS_WORKING_DIR ../dmd
# for PRs - merge with target branch first
if [ ! -z ${CIRRUS_PR+x} ] ; then
git fetch origin "+refs/pull/$CIRRUS_PR/merge:";
git checkout -f FETCH_HEAD;
if [ -z ${CIRRUS_PR+x} ] ; then
# not a PR
REPO_BRANCH="$CIRRUS_BRANCH"
else
# PR - merge with target branch first
git fetch origin "+refs/pull/$CIRRUS_PR/merge:"
git checkout -f FETCH_HEAD
if [[ ! "$CIRRUS_BRANCH" =~ ^pull/ ]]; then
# PR originating from the official dlang repo
REPO_BRANCH="$CIRRUS_BRANCH"
else
# PR from a fork
REPO_BRANCH="$CIRRUS_BASE_BRANCH"
fi
fi
./ci.sh setup_repos "${CIRRUS_BASE_BRANCH:-$CIRRUS_BRANCH}"
./ci.sh setup_repos "$REPO_BRANCH"
build_script: ./ci.sh build
test_dmd_script: |