www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.internals - 17th Planning (Christmas Edition), Dec 22 - Jan 12

reply Martin Nowak <code+news.digitalmars dawg.eu> writes:
Shortest planning ever!

Agenda:
- 2.072.2
- 2.073.0-b1
- scope/DIP1000
- CTFE
- feature branches
- CI & auto-merge
- <your topic here>

========

# 2.072.2, the PIE release, ETA 2016-12-31

Will come with a couple of regression fixes, see
https://trello.com/b/XoFjxiqG/active?filter=label:2.072.

Most notably, we enabled PIC on linux amd64 by default to make dmd
work out-of-the-box on distributions with PIE-by-default.
It was already possible to build PIE executables when linking against
the shared phobos library (using -fPIC -defaultlib=phobos2.so), now it
will also possible to build PIE when linking against the static phobos
library (using -fPIC).

-fPIC was added to the default DFLAGS in dmd.conf, please update the
dmd.conf files and corresponding packages for other distributions

https://trello.com/c/E1LU0SAe/269-issue-16794-deb-not-working-on-ubuntu-16-10-because-of-default-pie-linking

# 2.073.0-b1, ETA 2017-01-04

Merge window is closing, so we have somewhat of a feature freeze for
master until 2.073.0-b1.
Please finish (or revert) open/unfinished work and make use of the
2.073.0-b1 milestones on Github, e.g.
https://github.com/dlang/phobos/milestone/11.

# scope/DIP1000

DIP1000 is getting ready, for a preview build of the scope feature
branch see http://forum.dlang.org/post/o39t7h$t4l$1 digitalmars.com.

A preview of the feature (-dip1000) is supposed to be included with
2.073.0/master.
We're currently fixing the few remaining bugs w/o that switch and do
some final acceptance tests of the design, so it can get merged in time.

# CTFE

We've been reviewing and merging chunks of the new CTFE interpreter
into the newCTFE feature branch.
The next review session will follow suit, and I hope we might soon get
a preview build of the feature.

# What the hack are feature branches?

A tool to continuously review and integrate bigger feature during
development. Please help to find a better name :).
https://wiki.dlang.org/Story_Branches

# CI & auto-merge

Quite some improvements on getting the project tester working
(ci.dawg.eu). We plan for a major overhaul during Jan (18th planning),
using Jenkins pipelines and a faster server.
Still interested in any help from CI, devops, admin pros.

We've also integrated a still experimental auto-merge feature in
dlang-bot (https://github.com/dlang-bots/dlang-bot/pull/17).

========

As always, look at the Done 16 list on
https://trello.com/b/XoFjxiqG/active for review.

Still interested in getting more admins for the dlang calendar, please
integrate your local Meetups.
https://calendar.google.com/calendar/embed?src=ut29n9vq9vu3ad4kbaabeed1d8%40group.calendar.google.com

-Martin
Dec 25 2016
next sibling parent reply Dicebot <public dicebot.lv> writes:
 protected-headers="v1"
From: Dicebot <public dicebot.lv>
Newsgroups: d,i,g,i,t,a,l,m,a,r,s,.,D,.,i,n,t,e,r,n,a,l,s
Subject: Re: 17th Planning (Christmas Edition), Dec 22 - Jan 12
References: <o3ogr0$27hu$1 digitalmars.com>
In-Reply-To: <o3ogr0$27hu$1 digitalmars.com>

--xbbO7gjq3AsOdcUKoAJ0uiHbilAcJhP0E
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On 12/25/2016 03:15 PM, Martin Nowak wrote:
 -fPIC was added to the default DFLAGS in dmd.conf, please update the
 dmd.conf files and corresponding packages for other distributions
Is that recommended to do on distros that don't use PIE by default yet? --xbbO7gjq3AsOdcUKoAJ0uiHbilAcJhP0E--
Dec 26 2016
parent Martin Nowak <code+news.digitalmars dawg.eu> writes:
On 12/26/2016 12:03 PM, Dicebot wrote:
 On 12/25/2016 03:15 PM, Martin Nowak wrote:
 -fPIC was added to the default DFLAGS in dmd.conf, please update the
 dmd.conf files and corresponding packages for other distributions
Is that recommended to do on distros that don't use PIE by default yet?
I'm indeed a bit unsure whether that's a good idea if PIE support hasn't been tested much on those distributions. OTOH it's in widespread use to harden at least some security relevant programs, and gcc has PIE support since quite a while. Also PIE isn't much magic other than PIC plus changing the ELF file type (to DYN instead of EXEC). Supporting different variations also comes at a cost (e.g. asking back in bug reports). And as we've switched the generic linux.tar release to support PIE, it might make sense for most distributions. Enabling -fPIC for executables is not equivalent to enabling PIE for D, the ELF file format still remains a gcc -pie/-no-pie option and distribution default.
Dec 26 2016
prev sibling parent Dicebot <public dicebot.lv> writes:
 protected-headers="v1"
From: Dicebot <public dicebot.lv>
Newsgroups: d,i,g,i,t,a,l,m,a,r,s,.,D,.,i,n,t,e,r,n,a,l,s
Subject: Re: 17th Planning (Christmas Edition), Dec 22 - Jan 12
References: <o3ogr0$27hu$1 digitalmars.com>
In-Reply-To: <o3ogr0$27hu$1 digitalmars.com>

--wOVr92vd7TJ4EloevWTiHkEQGMRICGVur
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On 12/25/2016 03:15 PM, Martin Nowak wrote:

 - scope/DIP1000
My opinion is unchanged and I will pretend it does not exist. Though this make it rather hard: $ grep -R -n "vsafe" ./src/ =2E/src/expression.d:1699: if (global.params.vsafe) =2E/src/expression.d:9978: if (global.params.vsafe && checkParamArgumentEscape(sc, f, Id.This, ethis, false)) =2E/src/expression.d:10610: if (global.params.vsafe) =2E/src/expression.d:10655: if (dve.e1.op =3D=3D TOKvar && global.params.vsafe) =2E/src/expression.d:10665: else if ((dve.e1.op =3D=3D TOKthis= || dve.e1.op =3D=3D TOKsuper) && global.params.vsafe) =2E/src/expression.d:10735: else if ((e1.op =3D=3D TOKthis || e1.o= p =3D=3D TOKsuper) && global.params.vsafe) =2E/src/mtype.d:6613: if (!global.params.vsafe) =2E/src/globals.d:134: bool vsafe; // use enhanced safe checking =2E/src/statementsem.d:1455: if (global.params.vsafe) =2E/src/statementsem.d:1468: if (global.params.vsafe) =2E/src/globals.h:116: bool vsafe; // use enhanced safe check= ing =2E/src/func.d:3151: if (global.params.vsafe) =2E/src/escape.d:65: if (global.params.vsafe && sc.func.setUnsafe(= )) =2E/src/escape.d:474: if (global.params.vsafe) // https://issues.dlang.org/show_bug.cgi?id=3D17029 =2E/src/escape.d:875: if (global.params.vsafe && tf.isreturn && fd && (ad =3D fd.isThis()) !is null) =2E/src/mars.d:789: global.params.vsafe =3D true; (on master)
 - CI & auto-merge
Going to put some focus here. Right now plan is to move to Jenkins with its new pipeline system so that both main build and testing of derived projects can be integrated in one simple overview. Will start with local scripting and contact Martin when it is more or less ready for deployment experiments.
 - <your topic here>
It is going to be a hot month for DIPs: - Either https://github.com/dlang/DIPs/blob/master/DIPs/DIP1003.md or https://github.com/dlang/DIPs/blob/master/DIPs/DIP1004.md will get formal review - https://github.com/dlang/DIPs/pull/51 needs finalization (currently blocked on me mostly) - There will be few more DIPs coming from Sociomantic to resolve remaining differences between our compiler/runtime and upstream one --wOVr92vd7TJ4EloevWTiHkEQGMRICGVur--
Jan 04