Removing RTTI from binaries

2015-01-11 Thread Mike via D.gnu
I'm building some code that is heavily templated. Therefore, I have many very small classes. I was surprised to see my binaries growing very large, disproportionately to the amount of code I was adding. I inspected the binaries with objdump and found contents of the .rodata section like the

Re: Removing RTTI from binaries

2015-01-11 Thread Mike via D.gnu
On Sunday, 11 January 2015 at 15:02:07 UTC, bearophile wrote: Mike: I'm building some code that is heavily templated. Therefore, I have many very small classes. This is a non sequitur. I believe it is because nearly every one of the instantiated template names is appears in the .rodata se

Re: RFC: Move runtime hook definitions to a .di file in druntime

2015-01-13 Thread Mike via D.gnu
On Saturday, 11 October 2014 at 08:15:55 UTC, Iain Buclaw via D.gnu wrote: So, I'm wondering if the compiler maintainers would entertain a change to the GDC that moved the runtime declarations (i.e. _d_newclass, _d_{whatever}) to a .di file in druntime. * Compilation would automatically import

Re: Removing RTTI from binaries

2015-01-13 Thread Mike via D.gnu
On Sunday, 11 January 2015 at 16:57:41 UTC, Johannes Pfau wrote: That's likely used/caused by the TypeInfo.name property. Judging by what I'm seeing, I think you're right. But I'm compiling with -fdata-sections and -Wl,--gc-sections, so shouldn't that put each TypeInfo.name in its own secti

Re: Removing RTTI from binaries

2015-01-13 Thread Mike via D.gnu
On Tuesday, 13 January 2015 at 14:20:43 UTC, Mike wrote: Here's what I'm seeing: arm-none-eabi-objdump -t binary/firmware binary/firmware: file format elf32-littlearm SYMBOL TABLE: 0800 ld .text .text 08000a44 ld .rodata .rodata

Re: Removing RTTI from binaries

2015-01-13 Thread Mike via D.gnu
On Tuesday, 13 January 2015 at 14:36:15 UTC, Dicebot wrote: I remember speaking about it with Martin and Daniel during DConf 2014 and I think it was Daniel who mentioned that by default TypeInfo/ModuleInfo is emitted in some weird packed way. When LDC announced using --gc-sections by default

Re: RFC: Move runtime hook definitions to a .di file in druntime

2015-01-13 Thread Mike via D.gnu
On Tuesday, 13 January 2015 at 10:49:43 UTC, Iain Buclaw via D.gnu wrote: I can assist, though timing is a problem as of late. I'll have a list of jobs to catch-up on my side before my attention becomes undivided. Iain. Thanks, Iain. I patiently await any assistance you can provide.

Re: Removing RTTI from binaries

2015-01-14 Thread Mike via D.gnu
On Wednesday, 14 January 2015 at 08:42:55 UTC, Iain Buclaw via D.gnu wrote: On 14 January 2015 at 04:00, Mike via D.gnu wrote: On Tuesday, 13 January 2015 at 14:36:15 UTC, Dicebot wrote: I remember speaking about it with Martin and Daniel during DConf 2014 and I think it was Daniel who

Re: Removing RTTI from binaries

2015-01-14 Thread Mike via D.gnu
On Wednesday, 14 January 2015 at 09:04:50 UTC, Mike wrote: Ok, but I have a mess of classes generated by templates (and I love it). Their `name` properties [1] should go in .rodata, right? But why aren't they being put in their own sections when compiling with -fdata-sections? [1] - http

Re: Removing RTTI from binaries

2015-01-14 Thread Mike via D.gnu
On Wednesday, 14 January 2015 at 13:32:53 UTC, Mike wrote: Well, I was working a reduced test case and found that it has something to do with my trace.d file here: https://github.com/JinShil/stm32f42_discovery_demo/blob/master/source/stm32f42/trace.d If I add a trace.writeLine("x") in my progr

Re: Removing RTTI from binaries

2015-01-14 Thread Mike via D.gnu
On Wednesday, 14 January 2015 at 14:20:50 UTC, Iain Buclaw via D.gnu wrote: Could it be that the entire module trace takes up 128K? Probably not very likely. And I doubt the writeLine/write templates contribute to much. Sorry, I didn't see this reply before I submitted my last post. The

Re: Removing RTTI from binaries

2015-01-15 Thread Mike via D.gnu
On Wednesday, 14 January 2015 at 14:34:48 UTC, Mike wrote: I'll try to make a reduced test case on Linux that others can run and see. Ok, here's my reduced test case that runs on Linux 64-bit. I don't know if I really needed to implement the syscalls, but I just wanted to get rid of everyt

Re: Removing RTTI from binaries

2015-01-15 Thread Mike via D.gnu
On Thursday, 15 January 2015 at 11:42:31 UTC, Dicebot wrote: Random guess: can it possibly confuse template-based variadics with runtime variadics? Latter require RTTI to work. If something like that happens it is surely a bug. Thanks for the reply. I have to apologize for the last post,

Re: Removing RTTI from binaries

2015-01-15 Thread Mike via D.gnu
On Thursday, 15 January 2015 at 12:01:05 UTC, Johannes Pfau wrote: After some google-fu: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=192 Considering this was filed in 2000 I'd say it's not very likely to get fixed soon :-( That looks right-on, and knowing the likely cause, I should able

Re: Removing RTTI from binaries

2015-01-15 Thread Mike via D.gnu
On Sunday, 11 January 2015 at 16:57:41 UTC, Johannes Pfau wrote: If you only want to disable TypeInfo for some classes that's more difficult: https://github.com/D-Programming-microD/GDC/commit/f0614bc9480dacd1ec6bb75277d280afa96e08bb Is this good enough for a pull request upstream, or just a

Re: Removing RTTI from binaries

2015-01-15 Thread Mike via D.gnu
On Thursday, 15 January 2015 at 12:01:05 UTC, Johannes Pfau wrote: My best guess is that the strings are always placed in rodata, never in separate sections. If you do write("x"), "x" is also in rodata, the rodata section can't be removed. If you delete the write call there's no reference to

-fsection-anchors and -fdata-sections in ARM

2015-01-22 Thread Mike via D.gnu
I'm trying to track down an optimization bug. I have written a D program and a C program that are essentially identical, and compiled them to assembly code with my arm-none-eabi-gdc/gcc build. C Code: https://bpaste.net/show/6f420de3a892 C ASM : https://bpaste.net/show/42c75f6763bf arm-none-e

Re: Undefined _D10TypeInfo_l6__initZ and _D15TypeInfo_Struct6__vtblZ added when instantiating template structs

2015-01-26 Thread Mike via D.gnu
On Monday, 26 January 2015 at 17:50:59 UTC, Liran Zvibel wrote: With the following gcd flags: -fno-invariants -fno-in -fno-out -fno-bounds-check -O3 -fno-assert -c -nophoboslib -nostdlib I still have 3 undefined symbols: _D10TypeInfo_i6__initZ _D15TypeInfo_Struct6__vtblZ _Dmodule_ref If y

Re: Build script for a cross compiler

2015-04-27 Thread Mike via D.gnu
On Tuesday, 28 April 2015 at 05:00:50 UTC, Timo Sintonen wrote: ../$gccver/configure --target=arm-eabi --disable-bootstrap \ --enable-languages=c --enable-multilib --disable-nls \ --without-isl --without-cloog \ --without-gmp --without-mpfr --without-mpc \ --disable-libphobos I th

-ffreestanding option

2015-05-05 Thread Mike via D.gnu
Iain recently asked me to let him know what might be needed for a -ffreestanding implementation in GDC. I couldn't really give a good answer, so I tried to spend some more time thinking "What does freestanding mean in D?" It is my understanding that the -ffreestanding switch in C prevents the co

Re: Removing RTTI from binaries

2015-05-10 Thread Mike via D.gnu
On Thursday, 15 January 2015 at 12:01:05 UTC, Johannes Pfau wrote: After some google-fu: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=192 Considering this was filed in 2000 I'd say it's not very likely to get fixed soon :-( So the best option is probably to get rid of this problem by patchin

Re: Removing RTTI from binaries

2015-05-10 Thread Mike via D.gnu
On Sunday, 10 May 2015 at 09:54:51 UTC, Mike wrote: Looks like someone picked up on this and submitted a patch: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=192#c9 Cool!! But I still have yet to test it. Damn! Didn't work.

Re: Removing RTTI from binaries

2015-05-10 Thread Mike via D.gnu
On Sunday, 10 May 2015 at 13:20:42 UTC, Iain Buclaw wrote: Not sure what you're using to build, but it seems reliant on -ffunction-sections -fdata-sections -fmerge-constants - or at least the latter two of those options. Did you try the minimum test in the PR? I'm using the cross-compiler b

Re: Removing RTTI from binaries

2015-05-10 Thread Mike via D.gnu
On Sunday, 10 May 2015 at 12:48:55 UTC, Mike wrote: On Sunday, 10 May 2015 at 09:54:51 UTC, Mike wrote: Looks like someone picked up on this and submitted a patch: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=192#c9 Cool!! But I still have yet to test it. Damn! Didn't work. Bug report

Re: -fno-rtti (disable TypeInfo) support ready for testing

2015-05-11 Thread Mike via D.gnu
On Sunday, 10 May 2015 at 17:45:30 UTC, Johannes Pfau wrote: I've just opened a pull request for -fno-rtti at [1]. The frontend part needs to go into DMD but I'd like some testing feedback first. This is especially important as I had literally no time to test this updated code ;-) Please provid

Re: -fno-rtti (disable TypeInfo) support ready for testing

2015-05-15 Thread Mike via D.gnu
On Thursday, 14 May 2015 at 15:21:46 UTC, Johannes Pfau wrote: ^ The compiler was still building the xopEquals and xopCMP functions. These use TypeInfo internally but they're also only accessible through TypeInfo. Solution: We should not generate these functions with -fno-rtti. Bo

@forceInline can't inline when source code is available

2015-05-27 Thread Mike via D.gnu
Consider this code testInline.d module testInline; import gcc.attribute; public enum inline = gcc.attribute.attribute("forceinline"); @inline int add(int a, int b) { return a + b; } test.d ** import std.stdio; import testInline; void main() { writeln(add(1, 2)); }

Re: (Probably trivial) arm-none-eabi-gdc building problem

2015-06-03 Thread Mike via D.gnu
On Saturday, 30 May 2015 at 16:55:14 UTC, denizzzka wrote: Hi! I am tried to use step-by-step instructions from wiki (http://wiki.dlang.org/Bare_Metal_ARM_Cortex-M_GDC_Cross_Compiler) to build toolchain on Debian GNU/Linux 8 and got this error after execute "make -j4 all-target-libgcc": [sni

Re: (Probably trivial) arm-none-eabi-gdc building problem

2015-06-03 Thread Mike via D.gnu
On Wednesday, 3 June 2015 at 12:54:32 UTC, Johannes Pfau wrote: That's correct. All ARM GCC compilers can generate code for all ARM variants (the hf compiler can generate softfloat code and the softfloat compiler can generate hf code as well). The difference between the compilers are the ship

Re: (Probably trivial) arm-none-eabi-gdc building problem

2015-06-04 Thread Mike via D.gnu
On Thursday, 4 June 2015 at 18:35:45 UTC, Johannes Pfau wrote: If you mean adding support to the same binary toolchain package: I don't think that will work. Multilib requires similar systems, it's probably not possible to mix linux+libphobos and baremetal builds. Indeed. I completely gloss

Re: versions for thumb and thumb-2 instruction sets

2016-02-07 Thread Mike via D.gnu
On Saturday, 6 February 2016 at 21:58:17 UTC, Dan Olson wrote: Hi Iain, Johannes. I'm asking here because I don't expect anybody else is playing with thumb instructions. Both GDC and LDC have version ARM_Thumb defined for original thumb (call it thumb-1) and thumb-2. But there is no way to

Re: versions for thumb and thumb-2 instruction sets

2016-02-10 Thread Mike via D.gnu
On Wednesday, 10 February 2016 at 17:03:35 UTC, Dan Olson wrote: I noticed that even thumb-1 has different instruction set based on arm architecture. Yes. I did a little more research into this, as it peeked my curiosity. Take a look at this Wikipedia entry (https://en.wikipedia.org/wiki/

Re: Accessing peripheral registers - the next version

2016-08-27 Thread Mike via D.gnu
On Saturday, 27 August 2016 at 08:05:08 UTC, Timo Sintonen wrote: My question is: is this the way we should go? If it is, what would be the preferred name for this type? Also what would you think should be the module and file name? There was some discussion about the module and file names whe

Testing GDC (GCC 7.1) on Runtime-less ARM Cortex-M

2017-06-25 Thread Mike via D.gnu
This is just an experience report for those who might be interested. Given this pull request (https://github.com/D-Programming-GDC/GDC/pull/456) I thought I'd try testing a more recent GDC with my STM32 demo (https://github.com/JinShil/stm32f42_discovery_demo) and see what the state of thing

Re: Testing GDC (GCC 7.1) on Runtime-less ARM Cortex-M

2017-06-25 Thread Mike via D.gnu
On Sunday, 25 June 2017 at 10:44:26 UTC, Iain Buclaw wrote: Out of curiosity, is that the original built binary, or post trimming (strip / --gc-sections)? I'm compiling with -ffunction-sections and -fdata-sections, and linking with --gc-sections. There might be a size optimization possibili

Re: Testing GDC (GCC 7.1) on Runtime-less ARM Cortex-M

2017-06-25 Thread Mike via D.gnu
On Sunday, 25 June 2017 at 10:53:35 UTC, Mike wrote: I'm not really interested in that because its too blunt of an instrument. I'd like to use TypeInfo, but only if I'm doing dynamic casts or other things that require such runtime information. Also, I'd only want the TypeInfo for the types

Re: Testing GDC (GCC 7.1) on Runtime-less ARM Cortex-M

2017-06-25 Thread Mike via D.gnu
On Sunday, 25 June 2017 at 10:18:04 UTC, Mike wrote: Compile Speed = It takes about 1 minute 30 seconds to build and link the STM32 demo resulting in a 6kB binary. That's pretty bad, but I suspect that's a DMD CTFE problem. I'm been informed that this PR (https://github.com/dla

Re: Testing GDC (GCC 7.1) on Runtime-less ARM Cortex-M

2017-06-26 Thread Mike via D.gnu
On Sunday, 25 June 2017 at 13:40:56 UTC, Iain Buclaw wrote: I'll make a formal PR when I have some time later. Iain. For those who may encounter this post at a later date, the PR is here: https://github.com/D-Programming-GDC/GDC/pull/505 and it seems to solve the problem. Yeah!

Re: Testing GDC (GCC 7.1) on Runtime-less ARM Cortex-M

2017-06-27 Thread Mike via D.gnu
On Tuesday, 27 June 2017 at 17:55:02 UTC, Iain Buclaw wrote: Looks like it would be best to apply these PRs in the order listed: https://github.com/dlang/dmd/pull/5276 https://github.com/dlang/dmd/pull/5948 https://github.com/dlang/dmd/pull/6418 Thanks. I actually wasn't aware, until yest

Re: Testing GDC (GCC 7.1) on Runtime-less ARM Cortex-M

2017-06-28 Thread Mike via D.gnu
On Tuesday, 27 June 2017 at 17:55:02 UTC, Iain Buclaw wrote: Looks like it would be best to apply these PRs in the order listed: https://github.com/dlang/dmd/pull/5276 https://github.com/dlang/dmd/pull/5948 https://github.com/dlang/dmd/pull/6418 Compiling https://github.com/JinShil/stm32

Re: Testing GDC (GCC 7.1) on Runtime-less ARM Cortex-M

2017-06-28 Thread Mike via D.gnu
On Wednesday, 28 June 2017 at 12:15:17 UTC, Johannes Pfau wrote: Have you already tried -fsyntax-only to remove the backend computation? time arm-none-eabi-gdc -c -O3 -fsyntax-only -nophoboslib -nostdinc -nodefaultlibs -nostdlib -fno-emit-moduleinfo -mthumb -mcpu=cortex-m4 -Isource/runtime -

Re: Testing GDC (GCC 7.1) on Runtime-less ARM Cortex-M

2017-06-28 Thread Mike via D.gnu
On Wednesday, 28 June 2017 at 11:19:10 UTC, Mike wrote: I'd be glad to do some troubleshooting if you have any ideas. I just checked in a branch that will compile with a desktop GDC compiler in case someone wants to give it a try. I tested with 6.2.1 20160830 from the Arch Linux repository.

Re: Testing GDC (GCC 7.1) on Runtime-less ARM Cortex-M

2017-06-28 Thread Mike via D.gnu
On Wednesday, 28 June 2017 at 13:48:54 UTC, Johannes Pfau wrote: I guess if archlinux GDC is slow as well this is unlikely the main cause, but did you build your compiler in release mode (--enable-checking=release)? Thanks, I wasn't aware of that. I just rebuilt and it brought the time down

Re: Testing GDC (GCC 7.1) on Runtime-less ARM Cortex-M

2017-06-28 Thread Mike via D.gnu
On Wednesday, 28 June 2017 at 16:52:26 UTC, Iain Buclaw wrote: You probably want to tone down on optimizations as well. -O3 will be doing a lot of work, sometimes for little or no gain. In most cases, -O2 -finline-functions is good enough, which can be abbreviated further as simply -Os. [fo

Re: Testing GDC (GCC 7.1) on Runtime-less ARM Cortex-M

2017-06-28 Thread Mike via D.gnu
On Wednesday, 28 June 2017 at 22:17:09 UTC, Iain Buclaw wrote: Phase opt and generate is the topl-evel timer for the entire "backend" compilation phase. I was expecting to see more of a breakdown of individual passes. Sorry, it didn't look broken down to me. Here's the full report. arm-non

Re: Testing GDC (GCC 7.1) on Runtime-less ARM Cortex-M

2017-07-17 Thread Mike via D.gnu
On Wednesday, 28 June 2017 at 22:17:09 UTC, Iain Buclaw wrote: A thought just occurred to me, you are compiling the entire program + object.d right? Nothing else will link/be linked to the binary? If that is the case, you should definitely compile with -fwhole-program. I suspect that may c

Re: Testing GDC (GCC 7.1) on Runtime-less ARM Cortex-M

2017-07-18 Thread Mike via D.gnu
On Monday, 17 July 2017 at 23:57:02 UTC, Iain Buclaw wrote: Infact, after inspecting the unoptimized result, I think I can safely say this is the entire program, as it is intended to be built. If I compile without optimizations, I am able to get a complete binary also, even without the cha

Undefined Reference to volatileLoad/Store Instrinsics

2017-07-18 Thread Mike via D.gnu
I'm currently try to replace my old volatileLoad/Store functions that utilized a `shared` bug as an alternative to `volatile`. The used to look like this: @inline T volatileLoad(T)(T* a) { asm { "" ::: "memory"; }; return *cast(shared T*)a; } @inline void volatileStore(T)(T* a, in T v)

Re: Undefined Reference to volatileLoad/Store Instrinsics

2017-07-18 Thread Mike via D.gnu
On Tuesday, 18 July 2017 at 20:54:26 UTC, Iain Buclaw wrote: Just after module core.bitop; line, add: nothrow: @safe: @nogc: Thanks, and sorry for the foolish mistake. I'm getting a working binary now. Well, at least my status LED is blinking and I see my LCD screen trying to do something,

ARM Cortex-M Broken Binaries with -O2 and -O3 (-fschedule-insns)

2017-07-21 Thread Mike via D.gnu
My stm32 demo has now been updated and working with GDC/GCC 7.1.0. Thanks for all your improvements. However, I'm getting broken binaries with -O2 and -O3. I've nailed the culprit down to -fschedule-insns (i.e. if I add -fno-schedule-insns to -O2 or -O3, the binary works fine). I disassemb

Re: ARM Cortex-M Broken Binaries with -O2 and -O3 (-fschedule-insns)

2017-07-21 Thread Mike via D.gnu
On Friday, 21 July 2017 at 23:44:53 UTC, Mike wrote: I'm getting broken binaries with -O2 and -O3. I've nailed the culprit down to -fschedule-insns (i.e. if I add -fno-schedule-insns to -O2 or -O3, the binary works fine). I disassembled '-O2' and '-O2 -fno-schedule-insns' and compared them,

Re: ARM Cortex-M Broken Binaries with -O2 and -O3 (-fschedule-insns)

2017-07-22 Thread Mike via D.gnu
On Friday, 21 July 2017 at 23:44:53 UTC, Mike wrote: However, I'm getting broken binaries with -O2 and -O3. I've nailed the culprit down to -fschedule-insns (i.e. if I add -fno-schedule-insns to -O2 or -O3, the binary works fine). I've confirmed that -fschedule-insns is reordering register

Re: ARM Cortex-M Broken Binaries with -O2 and -O3 (-fschedule-insns)

2017-07-22 Thread Mike via D.gnu
On Saturday, 22 July 2017 at 09:07:31 UTC, Iain Buclaw wrote: https://github.com/JinShil/stm32f42_discovery_demo/search?utf8=%E2%9C%93&q=cast%28shared&type= Those should probably be volatileLoad, as they look to be used by setValue(). I am such an idiot. Problem solved. Thank you, and I'm t

Defining symbols in a linker script

2014-04-18 Thread Mike via D.gnu
Hello, It is common practice in ARM Cortex-M bare metal C/C++ programs to define symbols in the linker so one can initialize the .data and .bss segments and know the boundaries of one's stack and heap. It looks something like this. linkerscript __text_end__ = .; .data : AT(__text

Re: Defining symbols in a linker script

2014-04-18 Thread Mike via D.gnu
On Saturday, 19 April 2014 at 01:50:45 UTC, Iain Buclaw via D.gnu wrote: I think you mean to 'extern (C) extern' Yes, that's what I was looking for. Thanks.

Re: GDC updated to use 2.065

2014-06-11 Thread Mike via D.gnu
On Wednesday, 11 June 2014 at 21:54:28 UTC, Iain Buclaw wrote: It's done, after 2 months brewing in development. https://github.com/D-Programming-GDC/GDC/pull/76 This is great news. Thank you to all those involved.

Re: Building the arm-linux-gnueabi target

2014-07-13 Thread Mike via D.gnu
On Sunday, 13 July 2014 at 11:17:29 UTC, Joseph Rushton Wakeling via D.gnu wrote: The simplest way to build such cross-compilers is with crosstool-NG: http://wiki.dlang.org/GDC/Cross_Compiler/crosstool-NG I also build the binaries at http://gdcproject.org/downloads/ with crosstool-NG. Thanks

Re: Building the arm-linux-gnueabi target

2014-07-13 Thread Mike via D.gnu
On Sunday, 13 July 2014 at 10:10:34 UTC, Joseph Rushton Wakeling via D.gnu wrote: I decided it was time to start pulling out Adam Ruppe's embedded programming guide, and as a decidedly non-embedded programmer, the instructions here: http://wiki.dlang.org/Bare_Metal_ARM_Cortex-M_GDC_Cross_Compil

--gc-sections and GDC

2014-07-16 Thread Mike via D.gnu
I received a question from Dicebot in at the end of my presentation. He asked about the --gc-sections linker flag breaking code from GDC. I recently discovered how one can see why this is occurring, and I hope this will help identify the problem and lead to a solution. Compile any simple he

Re: --gc-sections and GDC

2014-07-16 Thread Mike via D.gnu
On Wednesday, 16 July 2014 at 13:52:57 UTC, Mike wrote: I received a question from Dicebot in at the end of my presentation. He asked about the --gc-sections linker flag breaking code from GDC. I recently discovered how one can see why this is occurring, and I hope this will help identify th

Re: Object file questions

2014-08-16 Thread Mike via D.gnu
On Saturday, 16 August 2014 at 09:29:14 UTC, Johannes Pfau wrote: I just had a look at this and ClassInfo has a mutable 'monitor' field, so it can't be placed into read-only data. This was discussed at DConf 2014. https://www.youtube.com/watch?v=TNvUIWFy02I#t=1008 There is currently a pu

Re: Object file questions

2014-08-16 Thread Mike via D.gnu
On Saturday, 16 August 2014 at 09:59:03 UTC, Artur Skawina via D.gnu wrote: Taking the address of an always_inline function is allowed. It may be allowed, but it probably shouldn't be. Always-inlining a function and taking the address of that function is contradictory. But this situation

Re: Object file questions

2014-08-17 Thread Mike via D.gnu
On Saturday, 16 August 2014 at 11:16:09 UTC, Artur Skawina via D.gnu wrote: A `@nocode` attribute would be a good idea, yes, but there's no need to make it implicit for `@inline`. But this situation demonstrates why having an intelligent linker is a better solution than decorating with attrib

Re: Object file questions

2014-08-17 Thread Mike via D.gnu
On Sunday, 17 August 2014 at 08:26:40 UTC, Johannes Pfau wrote: Great! But I think this pull request addresses a different monitor problem: There's an implicit __monitor field in every class right now, which makes every class _instance_ bigger. But the monitor in TypeInfo/ClassInfo is differ

RFC: Move runtime hook definitions to a .di file in druntime

2014-10-11 Thread Mike via D.gnu
Hello, In my continued, though stalled, effort to try and make minimal runtime for embedded systems, I've tried to find a way for users to know at compile-time if a feature of the runtime is supported or not, and more importantly, if they are explicitly or implicitly using an unsupported feat

Re: RFC: Move runtime hook definitions to a .di file in druntime

2014-10-11 Thread Mike via D.gnu
On Saturday, 11 October 2014 at 17:37:22 UTC, Kevin Lamonte wrote: On Saturday, 11 October 2014 at 06:59:33 UTC, Mike wrote: Hello, In my continued, though stalled, effort to try and make minimal runtime for embedded systems, I've tried to find a way for users to know at compile-time if a fea

Setting up a development environment for hacking GDC

2014-10-11 Thread Mike via D.gnu
I'm wondering, if some of you that do development on GDC could briefly describe how you set up your development environment. I can build GDC fine, but I can't do the 30-minute build for every little change. The build script is just a black box to me right now. How do you guys do incremental

Re: Setting up a development environment for hacking GDC

2014-10-16 Thread Mike via D.gnu
On Sunday, 12 October 2014 at 09:11:16 UTC, Iain Buclaw via D.gnu wrote: Incremental Builds: When you make a change to either the gdc or gcc sources, running make inside objdir will keep on doing incremental builds for you. Some exceptions to the rule: * Adding/Removing files from libpho

Re: Setting up a development environment for hacking GDC

2014-10-16 Thread Mike via D.gnu
On Sunday, 12 October 2014 at 09:11:16 UTC, Iain Buclaw via D.gnu wrote: On 12 October 2014 01:29, Mike via D.gnu wrote: I'm wondering, if some of you that do development on GDC could briefly describe how you set up your development environment. I can build GDC fine, but I can't

dead code removal

2014-11-29 Thread Mike via D.gnu
This has been brought up before: [1] http://forum.dlang.org/post/cqzazaqxpwezignix...@forum.dlang.org [2] http://forum.dlang.org/post/zapxhodqmotriapue...@forum.dlang.org But I'd like to know what GDC's long term plans are to enable removing dead code from executables. (1) Adding a D-specif