[dmd-internals] [D-Programming-Language/dmd] 645ba9: Add -vgc switch
GitHub
noreply at github.com
Thu Mar 27 18:32:19 PDT 2014
Branch: refs/heads/master
Home: https://github.com/D-Programming-Language/dmd
Commit: 645ba99755a92e54c600fd343371270fd342d3fd
https://github.com/D-Programming-Language/dmd/commit/645ba99755a92e54c600fd343371270fd342d3fd
Author: Johannes Pfau <johannespfau at gmail.com>
Date: 2014-03-21 (Fri, 21 Mar 2014)
Changed paths:
M src/declaration.h
M src/func.c
M src/mars.c
M src/mars.h
M src/mtype.c
M src/mtype.h
A src/nogc.c
M src/posix.mak
M src/win32.mak
A test/compilable/nogc.d
A test/compilable/nogc_warn.d
Log Message:
-----------
Add -vgc switch
The following known allocations are intentionally not handled:
* AssertExp
* CmpExp
* AssignExp: Calls _d_arrayassign
* Hidden function errors: Are already deprecated
* SwitchErrorStatement
All these cases only allocate by throwing exceptions
and disallowing them would impact user code a lot. In
order to really solve such issues we need some way to
throw exceptions without GC-allocation.
Also not handled are indirect calls to user-defined
functions which may allocate (calling postblits in
array assignment for example). As this commit does
not provide a way to mark a function as @nogc there's
no way to know if such functions actually allocate.
These indirect calls to user defined functions must
be revisited when a @nogc attribute is introduced.
Commit: 8e2b13b025626127e5e2a0fb90326e655f3deac8
https://github.com/D-Programming-Language/dmd/commit/8e2b13b025626127e5e2a0fb90326e655f3deac8
Author: Walter Bright <walter at walterbright.com>
Date: 2014-03-27 (Thu, 27 Mar 2014)
Changed paths:
M src/declaration.h
M src/func.c
M src/mars.c
M src/mars.h
M src/mtype.c
M src/mtype.h
A src/nogc.c
M src/posix.mak
M src/win32.mak
A test/compilable/nogc.d
A test/compilable/nogc_warn.d
Log Message:
-----------
Merge pull request #1886 from jpf91/vgc
Implement nogc framework (warn about GC allocations)
Compare: https://github.com/D-Programming-Language/dmd/compare/b19e1f804d98...8e2b13b02562
More information about the dmd-internals
mailing list