Skip to content
This repository was archived by the owner on Oct 12, 2022. It is now read-only.
/ druntime Public archive
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
136 commits
Select commit Hold shift + click to select a range
5d31c42
Add linux-specific `core.sys.linux.sys.file` module
Burgos Oct 20, 2016
7149012
[MSVCRT] core.stdcpp.typeinfo: Don't implement exception ctors
kinke Dec 9, 2016
958b9f7
Add attributes core.thread part 1
PetarKirov Dec 27, 2016
d7581e8
Add attributes core.thread part 2
PetarKirov Dec 27, 2016
f533e93
Add attributes core.thread part 3
PetarKirov Dec 27, 2016
9c80299
compile with -dip1000
WalterBright Jan 9, 2017
d4f4560
Fix 17081 - Bodies in extern cpp functions in D files are not linked
Jan 13, 2017
8dc386e
Always use same-type pointers when subtracting them
LemonBoy Jan 13, 2017
b1182f9
Merge pull request #1709 from kinke/patch-1
andralex Jan 14, 2017
e3e8b23
Merge pull request #1736 from Darredevil/issue-17081
andralex Jan 14, 2017
9e308a4
Merge remote-tracking branch 'upstream/stable' into merge_stable
MartinNowak Jan 15, 2017
1d7409a
Merge pull request #1738 from MartinNowak/merge_stable
MartinNowak Jan 15, 2017
71153b0
Merge pull request #1733 from WalterBright/dip1000
andralex Jan 15, 2017
4296d48
Merge pull request #1677 from Burgos/issue-11373
DmitryOlshansky Jan 15, 2017
52a3ce1
Merge pull request #1737 from LemonBoy/correct-cast
DmitryOlshansky Jan 15, 2017
73c59e7
Merge remote-tracking branch 'upstream/stable' into merge_stable
MartinNowak Jan 18, 2017
c6f216c
Merge pull request #1747 from MartinNowak/merge_stable
dlang-bot Jan 18, 2017
3e63b54
string.d: add return and scope
WalterBright Jan 16, 2017
94eeda6
core.stdc.stdio: annotate with 'scope'
WalterBright Jan 22, 2017
9f21c42
Fix coding style in core.sync.mutex
PetarKirov Dec 28, 2016
5523188
Make core.sync.mutex.Mutex.this()/this(Object)/~this() nothrow and @nogc
PetarKirov Dec 28, 2016
7d39fdc
Make `shared(core.sync.mutex.Mutex)` usable in `@safe` code
PetarKirov Dec 28, 2016
f4810b4
[WIP] Improve core.sync.mutex documentation
PetarKirov Dec 28, 2016
60f37a2
[core.sync.mutex] Add a note to the docs about nothrow
PetarKirov Jan 13, 2017
0291197
[core.sync.mutex] Change assert(0, msg) to abort(msg); improve error …
PetarKirov Jan 13, 2017
5e4b740
[core.sync.mutex] Cleanup existing unittest
PetarKirov Jan 14, 2017
ff38e5e
[core.sync.mutex] Add a @safe ddoc-ed test and a @nogc nothrow one
PetarKirov Jan 14, 2017
ac71591
[core.sync.mutex] Add a test for non-shared use of Mutex
PetarKirov Jan 14, 2017
90b1db6
[core.sync.mutex] Abort if pthread_mutexattr_destroy fails
PetarKirov Jan 24, 2017
7e5d669
[core.sync.mutex] Address Andrei's comments
PetarKirov Jan 25, 2017
1bccf9c
Merge pull request #1740 from WalterBright/string-scope
MartinNowak Jan 25, 2017
07643c7
Merge pull request #1726 from ZombineDev/add-attributes-to-core-thread
andralex Jan 26, 2017
763343d
Merge pull request #1728 from ZombineDev/add-attributes-to-core-sync-…
andralex Jan 26, 2017
d64e81c
Add bindings for POSIX getdelim and getline
nemanja-boric-sociomantic Jan 26, 2017
0b6d766
[scope] update core.demangle for 'scope' mangling
WalterBright Jan 28, 2017
bcb53fe
Merge pull request #1748 from WalterBright/scope-stdio
WalterBright Jan 28, 2017
79dbaa7
[scope] add 'scope' to delegates
WalterBright Jan 29, 2017
a4cf6c3
[scope] add 'scope' to delegates
WalterBright Jan 29, 2017
78bead0
Add pureMalloc, pureCalloc and pureRealloc
nordlow Jan 18, 2017
6146508
Merge pull request #1746 from nordlow/pure-c-allocs
andralex Jan 29, 2017
0fcdfdc
fix pureMalloc test for Win32
rainers Jan 30, 2017
d0bf08d
Merge pull request #1754 from rainers/fixMaster
CyberShadow Jan 30, 2017
3289e4f
Merge pull request #1752 from WalterBright/scope-dmain2
WalterBright Feb 2, 2017
06a79dd
Merge pull request #1751 from WalterBright/scope-demangle
WalterBright Feb 5, 2017
fb263ad
make toString() @safe in core.sys.windows.stacktrace
WalterBright Feb 7, 2017
4dec622
Merge pull request #1753 from WalterBright/scope-gc
MartinNowak Feb 7, 2017
cad2123
[scope] add annotations to core.internal.string
WalterBright Feb 8, 2017
68a31f3
add _d_assertp, _d_unittestp, _d_arrayboundsp
WalterBright Feb 10, 2017
bc832b1
Merge pull request #1761 from WalterBright/assertp
WalterBright Feb 10, 2017
adffd02
Merge pull request #1757 from WalterBright/safe-stacktrace
andralex Feb 11, 2017
858d57e
Merge pull request #1759 from WalterBright/string-return
andralex Feb 11, 2017
ca68ae4
line_trace.exp: make more resistant to 'scope' changes
WalterBright Feb 12, 2017
2a6e5b0
scan DATA and TLS according to compiler generated pointer infos
rainers Feb 12, 2017
2d38937
Fix issue 16470: Segfault with negative array length
Burgos Oct 19, 2016
0de554a
Check if the array allocation succeded
Burgos Oct 19, 2016
f1ce9d8
Add tests for "Out of memory exception"
Burgos Oct 19, 2016
c2b7345
Merge pull request #1762 from WalterBright/line_exp
andralex Feb 12, 2017
fe160cb
core.stdc.stdlib: annotate with 'scope'
WalterBright Jan 22, 2017
9be31c4
Merge pull request #1749 from WalterBright/scope-stdlib
andralex Feb 13, 2017
b947d44
implement precise scan DATA and TLS for MS-COFF builds
rainers Feb 13, 2017
d198b68
CircleCi: use master as fallback for DMD
wilzbach Dec 25, 2016
71b8a6f
Set bootstrap DMD version to 2.072.2
wilzbach Feb 16, 2017
190001d
Add fallback for CodeCov
wilzbach Feb 16, 2017
1682d13
Update handling of previously undetected cycles to abort execution.
schveiguy Feb 17, 2017
e47d8b4
Update changelog README
wilzbach Feb 17, 2017
3485ff8
Merge pull request #1675 from Burgos/fix-overflow
WalterBright Feb 18, 2017
82cbe13
Merge pull request #1767 from wilzbach/update-changelog-readme
WalterBright Feb 18, 2017
34e58cb
Merge pull request #1765 from schveiguy/updatecyclehandling
WalterBright Feb 18, 2017
e5f05f3
OMF: move pointer reference data to CODE segment
rainers Feb 18, 2017
3749194
windows: disable precise scanning of DATA/TLS
rainers Feb 18, 2017
a613e84
Merge pull request #1763 from rainers/data_ptrref
MartinNowak Feb 18, 2017
aa92c86
workaround sscanf bug in old snn.lib
WalterBright Feb 19, 2017
bdaeba5
use correct version CRuntime_DigitalMars
MartinNowak Feb 21, 2017
c2718e1
Merge pull request #1768 from WalterBright/sscanf-workaround
MartinNowak Feb 21, 2017
2d06b36
Fix wrong version name in core.sys.linux.ifaddrs
tomer-weka Feb 21, 2017
bbdf2a5
Merge pull request #1769 from tomerfiliba/ifaddrs-fix
dlang-bot Feb 21, 2017
b925aa2
Change version(Linux) to version(linux)
nemanja-boric-sociomantic Feb 24, 2017
e8f8ac7
Merge pull request #1771 from nemanja-boric-sociomantic/version-linux
WalterBright Feb 26, 2017
2bf7ad5
core.sys.linux.sched: Fix DDoc syntax
CyberShadow Feb 26, 2017
b6b2fbc
Merge pull request #1775 from CyberShadow/pull-20170226-043259
WalterBright Feb 26, 2017
6ed294b
adding Jenkinsfile to hook with new ci2.dawg.eu instance
MartinNowak Feb 26, 2017
611a4a8
Updated makefile to use generated/os/release/model/dmd
RazvanN7 Mar 1, 2017
0b555a2
Update windows console text attributes
Mar 1, 2017
fa6c0ba
Merge pull request #1778 from mogud/patch-1
dlang-bot Mar 2, 2017
a4e01a8
Merge pull request #1779 from RazvanN7/Makefile_change
andralex Mar 2, 2017
094e562
Remove unused rt.typeinfo.ti_AC
schveiguy Mar 2, 2017
4025618
Merge pull request #1782 from schveiguy/removeti_ac
dlang-bot Mar 2, 2017
51bd811
.gitignore: Fix Makefile rule
CyberShadow Mar 4, 2017
d388315
Add tests for class/struct/array comparisons
CyberShadow Mar 4, 2017
7425809
Merge pull request #1784 from CyberShadow/pull-20170304-141153
MartinNowak Mar 4, 2017
7eeb06c
Merge remote-tracking branch 'upstream/stable' into merge_stable
MartinNowak Mar 4, 2017
d03a894
Remove dmd.conf target from CircleCi
wilzbach Mar 4, 2017
ed4818b
array compare template function
somzzz Jan 19, 2017
3e66794
fixed nits & added tests & dstrcmp
somzzz Mar 3, 2017
9afe212
fixed breaking change & code adjustments
somzzz Mar 5, 2017
6bcaaa9
Merge pull request #1785 from MartinNowak/merge_stable
dlang-bot Mar 5, 2017
cbe8288
Comments and nits
somzzz Mar 5, 2017
caf954e
Merge pull request #1725 from wilzbach/circleci-master-fallback
MartinNowak Mar 6, 2017
8b67da7
Merge pull request #1777 from dlang/Jenkinsfile
MartinNowak Mar 6, 2017
b338a01
Merge pull request #1781 from somzzz/adCmpT
andralex Mar 6, 2017
6c1c6cf
One more pass through __cmp
andralex Mar 6, 2017
1fa3903
Factor in implementation for class and interface types
andralex Mar 6, 2017
3d9ce7f
Fix __cmp for object types, was not even called
andralex Mar 7, 2017
f3a0e19
Fix copypasta mistake
andralex Mar 7, 2017
51bdf2e
Add missing function to iconv.
Temtaime Mar 7, 2017
5de923b
Merge pull request #1750 from nemanja-boric-sociomantic/getline
dlang-bot Mar 7, 2017
ea250cc
Update iconv.d
Temtaime Mar 7, 2017
24e775a
Preserve legacy weird behavior by which structs and unions in arrays …
andralex Mar 7, 2017
7d07225
Further reduction of code
andralex Mar 7, 2017
8107d51
Aw what the heck implemented reuse of implementation for all builtin …
andralex Mar 7, 2017
fc83c27
Oooops...
andralex Mar 7, 2017
1b37491
Merge pull request #1787 from andralex/__cmp
andralex Mar 8, 2017
c996f02
Small code simplification in core.time.
jmdavis Mar 8, 2017
f72b3fe
run pipeline outside of node block
MartinNowak Mar 9, 2017
cf7a1a7
Merge pull request #1790 from MartinNowak/jenkins
MartinNowak Mar 9, 2017
3d8d4a4
netbsd patch
Feb 4, 2016
b2f4e5a
Merge pull request #1789 from jmdavis/time
MartinNowak Mar 10, 2017
9f0c11f
Merge pull request #1786 from wilzbach/remove-dmd-conf
MartinNowak Mar 10, 2017
0b1172b
fix Jenkinsfile
MartinNowak Mar 10, 2017
4ce767a
Merge pull request #1791 from MartinNowak/jenkins
MartinNowak Mar 10, 2017
2b73608
trailing ws
MartinNowak Mar 10, 2017
7caaf7c
Merge pull request #1492 from nrTQgc/netbsd_patch
dlang-bot Mar 11, 2017
e8d58af
Merge pull request #1788 from Temtaime/patch-1
dlang-bot Mar 11, 2017
dd13e98
netbsd patch: core/sys/posix
Feb 4, 2016
c5bdd29
@disable TypeInfo.init
aG0aep6G Mar 13, 2017
47f9fe2
changelog tweaks
aG0aep6G Mar 13, 2017
ffe3a95
Merge pull request #1766 from aG0aep6G/disable-TypeInfo.init
MartinNowak Mar 13, 2017
be8b8ea
Merge pull request #1494 from nrTQgc/netbsd_core_sys_posix
dlang-bot Mar 15, 2017
804c713
_equals for structs
somzzz Mar 10, 2017
f6ab1e2
Merge pull request #1792 from somzzz/arrayEq
dlang-bot Mar 15, 2017
1caa1fc
Fix issue 8411 - add opCast!bool support for Duration.
schveiguy Mar 16, 2017
33b41c1
Fix docs
schveiguy Mar 17, 2017
827fb5d
Merge pull request #1793 from schveiguy/addbooldur
schveiguy Mar 17, 2017
adfae79
Remove a catch of Throwable in object.d
JackStouffer Jan 16, 2017
5a94816
Merge pull request #1743 from JackStouffer/error
dlang-bot Mar 17, 2017
52ccc9c
Merge remote-tracking branch 'upstream/master' into merge_master
MartinNowak Mar 22, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ druntime.json
.DS_Store
trace.def
trace.log
Makefile
/Makefile
/errno_c*.obj
/msvc*.obj
make
22 changes: 22 additions & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/bin/env groovy

def clone (repo_url, git_ref = "master") {
checkout(
poll: false,
scm: [
$class: 'GitSCM',
branches: [[name: git_ref]],
extensions: [[$class: 'CleanBeforeCheckout']],
userRemoteConfigs: [[url: repo_url]]
]
)
}

def pipeline
node {
dir('dlang/ci') {
clone 'https://github.com/Dicebot/dlangci.git', 'master'
}
pipeline = load 'dlang/ci/pipeline.groovy'
}
pipeline.runPipeline()
30 changes: 19 additions & 11 deletions changelog/README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,31 @@
This directory will get copied to dlang.org and cleared when master gets
merged into stable prior to a new release.

How to add a new changelog entry to the pending changelog?
==========================================================

This will get copied to dlang.org and cleared when master gets
merged into stable prior to a new release.
Create a new file in the `changelog` folder. It should end with `.dd` and look
similar to a git commit message. The first line represents the title of the change.
After an empty line follows the long description:

```
My fancy new feature X
My fancy title of the new feature

A long description of the new feature.
A long description of the new feature in `std.range`.
It can be followed by an example:
-------
import std.range;
import std.algorithm.comparison;
import std.range : padLeft, padRight;
import std.algorithm.comparison : equal;

assert([1, 2, 3, 4, 5].padLeft(0, 7).equal([0, 0, 1, 2, 3, 4, 5]));

assert("Hello World!".padRight('!', 15).equal("Hello World!!!!"));
-------
and links to the documentation, e.g. $(REF drop, std, range) or
$(REF_ALTTEXT a custom name for the function, drop, std, range).

Links to the spec can look like this $(LINK2 $(ROOT_DIR)spec/module.html, this)
and of course you can link to other $(LINK2 https://forum.dlang.org/, external resources).
```

The title can't contain links (it's already one).
Expand All @@ -24,11 +34,9 @@ For more infos, see the [Ddoc spec](https://dlang.org/spec/ddoc.html).
Preview changes
---------------

If you have cloned the [tools](https://github.com/dlang/tools) and [dlang.org](https://github.com/dlang/dlang.org) repo),
you can preview the changelog:
If you have cloned the [tools](https://github.com/dlang/tools) and [dlang.org](https://github.com/dlang/dlang.org) repo,
you can preview the changelog with:

```
../tools/changed.d -o ../dlang.org/changelog/pending.dd && make -C ../dlang.org -f posix.mak html
make -C ../dlang.org -f posix.mak pending_changelog
```

and then open `../dlang.org/web/changelog/pending.html` with your favorite browser.
12 changes: 12 additions & 0 deletions changelog/disable-TypeInfo.init.dd
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
`TypeInfo.init` has been `@disable`d.

$(REF_OBJECT_SHORT TypeInfo.init) has been `@disable`d. Use
$(REF_OBJECT_SHORT TypeInfo.initializer) instead.

`TypeInfo.init` is a legacy alias of the method that is now called
$(REF_OBJECT_SHORT TypeInfo.initializer). The name change is necessary because
the name "init" clashes with the type property of the same name
($(GLINK2 property, init)).

The legacy alias has been deprecated since 2.072.0. It's going to be removed in
2.075.0.
5 changes: 2 additions & 3 deletions circle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,10 @@ dependencies:
test:
override:
- make -f posix.mak style
- ./circleci.sh setup-repos
- ./circleci.sh coverage:
parallel: true
timeout: 1200

post:
# CodeCov gets confused by stored .lst files
- rm -rf test/coverage/generated
- bash <(curl -s https://codecov.io/bash)
- ./circleci.sh codecov
74 changes: 52 additions & 22 deletions circleci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,32 +2,41 @@

set -uexo pipefail

HOST_DMD_VER=2.068.2 # same as in dmd/src/posix.mak
HOST_DMD_VER=2.072.2 # same as in dmd/src/posix.mak
CURL_USER_AGENT="CirleCI $(curl --version | head -n 1)"
N=2
CIRCLE_NODE_INDEX=${CIRCLE_NODE_INDEX:-0}
CIRCLE_PROJECT_REPONAME=${CIRCLE_PROJECT_REPONAME:-druntime}

case $CIRCLE_NODE_INDEX in
0) MODEL=64 ;;
1) MODEL=32 ;;
esac

install_deps() {
if [ $MODEL -eq 32 ]; then
sudo apt-get update
sudo apt-get install g++-multilib
fi

download() {
local url="$1"
local fallbackurl="$2"
local outputfile="$3"
for i in {0..4}; do
if curl -fsS -A "$CURL_USER_AGENT" --max-time 5 https://dlang.org/install.sh -O; then
if curl -fsS -A "$CURL_USER_AGENT" --max-time 5 "$url" -o "$outputfile" ||
curl -fsS -A "$CURL_USER_AGENT" --max-time 5 "$fallbackurl" -o "$outputfile" ; then
break
elif [ $i -ge 4 ]; then
sleep $((1 << $i))
else
echo 'Failed to download install script' 1>&2
echo "Failed to download script ${outputfile}" 1>&2
exit 1
fi
done
}

install_deps() {
if [ $MODEL -eq 32 ]; then
sudo apt-get update
sudo apt-get install g++-multilib
fi

download "https://dlang.org/install.sh" "https://nightlies.dlang.org/install.sh" "install.sh"

source "$(CURL_USER_AGENT=\"$CURL_USER_AGENT\" bash install.sh dmd-$HOST_DMD_VER --activate)"
$DC --version
Expand All @@ -51,37 +60,58 @@ clone() {
done
}

coverage() {
setup_repos() {
# set a default in case we run into rate limit restrictions
local base_branch=""
if [ -n "${CIRCLE_PR_NUMBER:-}" ]; then
local base_branch=$(curl -fsSL https://api.github.com/repos/dlang/$CIRCLE_PROJECT_REPONAME/pulls/$CIRCLE_PR_NUMBER | jq -r '.base.ref')
base_branch=$((curl -fsSL https://api.github.com/repos/dlang/$CIRCLE_PROJECT_REPONAME/pulls/$CIRCLE_PR_NUMBER || echo) | jq -r '.base.ref')
else
local base_branch=$CIRCLE_BRANCH
base_branch=$CIRCLE_BRANCH
fi
base_branch=${base_branch:-"master"}

# merge upstream branch with changes, s.t. we check with the latest changes
if [ -n "${CIRCLE_PR_NUMBER:-}" ]; then
local current_branch=$(git rev-parse --abbrev-ref HEAD)
git config user.name dummyuser
git config user.email dummyuser@dummyserver.com
git remote add upstream https://github.com/dlang/druntime.git
git fetch upstream
git checkout -f upstream/$base_branch
git merge -m "Automatic merge" $current_branch
local head=$(git rev-parse HEAD)
git fetch https://github.com/dlang/$CIRCLE_PROJECT_REPONAME.git $base_branch
git checkout -f FETCH_HEAD
local base=$(git rev-parse HEAD)
git config user.name 'CI'
git config user.email '<>'
git merge -m "Merge $head into $base" $head
fi

for proj in dmd ; do
if [ $base_branch != master ] && [ $base_branch != stable ] &&
! git ls-remote --exit-code --heads https://github.com/dlang/$proj.git $base_branch > /dev/null; then
# use master as fallback for other repos to test feature branches
clone https://github.com/dlang/$proj.git ../$proj master --depth 1
else
clone https://github.com/dlang/$proj.git ../$proj $base_branch --depth 1
fi
done
}

clone https://github.com/dlang/dmd.git ../dmd $base_branch --depth 1

coverage() {
# load environment for bootstrap compiler
source "$(CURL_USER_AGENT=\"$CURL_USER_AGENT\" bash ~/dlang/install.sh dmd-$HOST_DMD_VER --activate)"

# build dmd and druntime
make -j$N -C ../dmd/src -f posix.mak MODEL=$MODEL HOST_DMD=$DMD all
make -j$N -C ../dmd/src -f posix.mak MODEL=$MODEL HOST_DMD=$DMD dmd.conf
TEST_COVERAGE="1" make -j$N -C . -f posix.mak MODEL=$MODEL unittest-debug
}

codecov()
{
# CodeCov gets confused by lst files which it can't matched
rm -rf test/runnable/extra-files
download "https://codecov.io/bash" "https://raw.githubusercontent.com/codecov/codecov-bash/master/codecov" "codecov.sh"
bash codecov.sh
}

case $1 in
install-deps) install_deps ;;
setup-repos) setup_repos ;;
coverage) coverage ;;
codecov) codecov ;;
esac
1 change: 1 addition & 0 deletions mak/COPY
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ COPY=\
$(IMPDIR)\core\sys\linux\unistd.d \
\
$(IMPDIR)\core\sys\linux\sys\auxv.d \
$(IMPDIR)\core\sys\linux\sys\file.d \
$(IMPDIR)\core\sys\linux\sys\inotify.d \
$(IMPDIR)\core\sys\linux\sys\mman.d \
$(IMPDIR)\core\sys\linux\sys\netinet\tcp.d \
Expand Down
1 change: 0 additions & 1 deletion mak/SRCS
Original file line number Diff line number Diff line change
Expand Up @@ -305,7 +305,6 @@ SRCS=\
src\rt\util\container\hashtab.d \
src\rt\util\container\treap.d \
\
src\rt\typeinfo\ti_AC.d \
src\rt\typeinfo\ti_Acdouble.d \
src\rt\typeinfo\ti_Acfloat.d \
src\rt\typeinfo\ti_Acreal.d \
Expand Down
3 changes: 3 additions & 0 deletions osmodel.mak
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ ifeq (,$(OS))
ifeq (OpenBSD,$(uname_S))
OS:=openbsd
endif
ifeq (NetBSD,$(uname_S))
OS:=netbsd
endif
ifeq (Solaris,$(uname_S))
OS:=solaris
endif
Expand Down
6 changes: 3 additions & 3 deletions posix.mak
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ ifneq ($(BUILD),release)
endif
endif

DMD=../dmd/src/dmd
DMD=../dmd/generated/$(OS)/release/$(MODEL)/dmd
INSTALL_DIR=../install

DOCDIR=doc
Expand Down Expand Up @@ -53,7 +53,7 @@ ifeq (solaris,$(OS))
endif

# Set DFLAGS
UDFLAGS:=-conf= -Isrc -Iimport -w -dip25 $(MODEL_FLAG) $(OPTIONAL_PIC) $(OPTIONAL_COVERAGE)
UDFLAGS:=-conf= -Isrc -Iimport -w -dip1000 $(MODEL_FLAG) $(OPTIONAL_PIC) $(OPTIONAL_COVERAGE)
ifeq ($(BUILD),debug)
UDFLAGS += -g -debug
DFLAGS:=$(UDFLAGS)
Expand Down Expand Up @@ -197,7 +197,7 @@ $(DRUNTIME): $(OBJS) $(SRCS)
UT_MODULES:=$(patsubst src/%.d,$(ROOT)/unittest/%,$(SRCS))
HAS_ADDITIONAL_TESTS:=$(shell test -d test && echo 1)
ifeq ($(HAS_ADDITIONAL_TESTS),1)
ADDITIONAL_TESTS:=test/init_fini test/exceptions test/coverage test/profile test/cycles
ADDITIONAL_TESTS:=test/init_fini test/exceptions test/coverage test/profile test/cycles test/allocations test/typeinfo
ADDITIONAL_TESTS+=$(if $(SHARED),test/shared,)
endif

Expand Down
15 changes: 14 additions & 1 deletion src/core/demangle.d
Original file line number Diff line number Diff line change
Expand Up @@ -876,6 +876,8 @@ private struct Demangle
FuncAttrNothrow
FuncAttrProperty
FuncAttrRef
FuncAttrReturn
FuncAttrScope
FuncAttrTrusted
FuncAttrSafe

Expand Down Expand Up @@ -903,6 +905,9 @@ private struct Demangle
FuncAttrReturn:
Nj

FuncAttrScope:
Nl

Arguments:
Argument
Argument Arguments
Expand Down Expand Up @@ -955,7 +960,7 @@ private struct Demangle
{
// FuncAttrs
breakFuncAttrs:
while( 'N' == front )
while ('N' == front)
{
popFront();
switch( front )
Expand Down Expand Up @@ -1003,6 +1008,10 @@ private struct Demangle
popFront();
put( "return " );
continue;
case 'l': // FuncAttrScope
popFront();
put( "scope " );
continue;
default:
error();
}
Expand Down Expand Up @@ -1963,6 +1972,10 @@ version(unittest)
["_D8link657429__T3fooHVE8link65746Methodi0Z3fooFZi", "int link6574.foo!(0).foo()"],
["_D4test22__T4funcVAyaa3_610a62Z4funcFNaNbNiNfZAya", `pure nothrow @nogc @safe immutable(char)[] test.func!("a\x0ab").func()`],
["_D3foo3barFzkZzi", "cent foo.bar(ucent)"],
["_D5bug145Class3fooMFNlZPv", "scope void* bug14.Class.foo()"],
["_D5bug145Class3barMFNjZPv", "return void* bug14.Class.bar()"],
["_D5bug143fooFMPvZPv", "void* bug14.foo(scope void*)"],
["_D5bug143barFMNkPvZPv", "void* bug14.bar(scope return void*)"],
];

template staticIota(int x)
Expand Down
15 changes: 9 additions & 6 deletions src/core/exception.d
Original file line number Diff line number Diff line change
Expand Up @@ -621,9 +621,10 @@ extern (C)

/* One of these three is called upon an assert() fail.
*/
void _d_assertm(immutable(ModuleInfo)* m, uint line)
void _d_assertp(immutable(char)* file, uint line)
{
onAssertError(m.name, line);
import core.stdc.string : strlen;
onAssertError(file[0 .. strlen(file)], line);
}

void _d_assert_msg(string msg, string file, uint line)
Expand All @@ -638,9 +639,10 @@ extern (C)

/* One of these three is called upon an assert() fail inside of a unittest block
*/
void _d_unittestm(immutable(ModuleInfo)* m, uint line)
void _d_unittestp(immutable(char)* file, uint line)
{
_d_unittest(m.name, line);
import core.stdc.string : strlen;
_d_unittest(file[0 .. strlen(file)], line);
}

void _d_unittest_msg(string msg, string file, uint line)
Expand All @@ -655,9 +657,10 @@ extern (C)

/* Called when an array index is out of bounds
*/
void _d_array_bounds(immutable(ModuleInfo)* m, uint line)
void _d_arrayboundsp(immutable(char*) file, uint line)
{
onRangeError(m.name, line);
import core.stdc.string : strlen;
onRangeError(file[0 .. strlen(file)], line);
}

void _d_arraybounds(string file, uint line)
Expand Down
Loading