Jacob Carlborg wrote in message news:lig73r$nvn$1...@digitalmars.com...
You do know D supports extern(C++)? Although I don't know to which extent.
Pretty much everything works except special functions
(ctors/dtors/operators).
Manu via Digitalmars-d digitalmars-d@puremagic.com wrote in message
news:mailman.9.1397553786.2763.digitalmar...@puremagic.com...
Huh? Do methods work now? Since when?
Since I needed them for DDMD.
We still have no member function pointers either.
Meh.
asman wrote in message news:maojdlxhbwuhxqrmv...@forum.dlang.org...
is there? if so, where is it? Also, I see dmd is written in C++ but still
uses C style to do stuff eg, printf() instead of cout. Is this why C++
libraries can increase a lot size (and performance?) of executable which
Moritz Maxeiner wrote in message
news:kvzwlecwougswrqka...@forum.dlang.org...
Is this[1] then out of date and I can interface with non-virtual methods?
Because that's what your post seems to imply (unless I misunderstood).
[1] http://dlang.org/cpp_interface.html
Yes. The best place to
DanielKozákvia Digitalmars-d wrote in message
news:mailman.99.1397656987.2763.digitalmar...@puremagic.com...
sorry I post coding styles for D not for dmd
They are similar.
Moritz Maxeiner wrote in message
news:nadswyordzxwa...@forum.dlang.org...
That sounds very cool, I've had a look at [1] and [2], which seem to be
the two files with the new C++ class interfacing. As far as I could tell,
you need to create any instances of C++ classes with C++ code / you
monnoroch wrote in message news:kqjrnqecnfejmiwnk...@forum.dlang.org...
What about namespaces?
Zero support currently.
John Colvin wrote in message news:qbwxwxekffpegmbck...@forum.dlang.org...
Which, if you did, would enable you to use C++ classes from D somewhat
transparently, no?
Potentially, yes. You'd need to be very careful that there was always a
gc-visible reference to the class to keep it alive, so
asman wrote in message news:ktcpixnpmessxamqe...@forum.dlang.org...
Thanks very much. In this case I can assume there's no std::
stuff and it isn't allowed, correct?
Yes. If you started using namespaces, stl, etc it would break DDMD so it's
essentially banned now.
Andrej Mitrovic wrote in message
news:ifghzjafvfqrqkhlp...@forum.dlang.org...
Old-style operator overloads (such as opCom, opAnd, etc) have largely been
superseded by new-style templated operator overloads (opUnary, opBinary,
etc).
I prefer the old ones mainly because the names are better
bearophile wrote in message news:pvkqreqswxwusojgp...@forum.dlang.org...
you can't keep two different operator overloading systems in a language.
Of course we can.
Steven Schveighoffer wrote in message
news:op.xeqcf3vbeav7ka@stevens-macbook-pro-2.local...
If the old behavior can be exactly mimiced, I think we can get rid of the
old behavior.
Can != Should
Less code in the compiler, less complexity in the language.
More complexity in user code.
Yuriy wrote in message news:duumbptvbqwknucxg...@forum.dlang.org...
Any way to do it without patching druntime?
Patch the compiler.
Steven Schveighoffer wrote in message
news:op.xerz7jcceav7ka@stevens-macbook-pro-2.local...
Did you type that with a straight face?
:)
Dmitry Olshansky wrote in message news:lj7mrr$1p5s$1...@digitalmars.com...
At a times I really don't know why can't we just drop in a Boehm GC (the
stock one, not homebrew stuff) and be done with it. Speed? There is no
point in speed if it leaks that much.
Or you know, switch to D and use
Walter Bright wrote in message news:ljfue4$11dk$1...@digitalmars.com...
There have been many proposals earlier:
http://forum.dlang.org/post/lhi1lt$269h$1...@digitalmars.com
but it seems to me that the simplest, most straightforward approach would
be better.
So, people didn't like the
Jacob Carlborg wrote in message news:ljfvec$126l$1...@digitalmars.com...
That's a problem. The problem is if someone has an idea/code it wants to
be merged, it's enough to convince one developer with push right to get it
merged.
At least these days it only happens when Walter and Andrei
Walter Bright wrote in message news:ljgt9v$1psm$1...@digitalmars.com...
Having a pragma to just add mangling doesn't deal with problems like:
namespace N { int foo(); }
namespace M { int foo(); }
foo(); // how to specify which one gets called?
I.e. only addressing name
Walter Bright wrote in message news:ljh472$2233$1...@digitalmars.com...
True. But what D doesn't have is a global namespace. I don't propose one
for D, but C++ symbols may appear in the C++ global namespace, or in a C++
namespace. So using D modules to represent C++ namespaces has a problem.
Walter Bright wrote in message news:ljiadl$4uq$1...@digitalmars.com...
The 'namespace' feature actually does work analogously to modules.
And it shouldn't. We have modules that work like modules. We don't need
another.
Walter Bright wrote in message news:ljie28$7ei$1...@digitalmars.com...
I am not seeing an actual proposal. If I missed it, please point me at it.
You missed it. `pragma(cpp_namespace, ...)` and all enclosed C++
declarations are mangled accordingly. No other changes.
Jason King wrote in message news:cgcqomgrrtujzckvu...@forum.dlang.org...
extern (C++, N.M) { void foo(); }
extern (C++) namespace N { namespace M { void foo(); }}
Excellent. Solves the problem, doesn't add new language elements.
It adds a new scoping rule, and new syntax.
Walter Bright wrote in message news:ljjmi6$16nk$1...@digitalmars.com...
Ok, I saw that, and replied to it earlier this thread.
Yes, but you seemed to miss the point.
Having a pragma to just add mangling doesn't deal with problems like:
namespace N { int foo(); }
namespace M {
Andrei Alexandrescu wrote in message news:ljm022$575$1...@digitalmars.com...
I've missed that proposal, and couldn't find browsing through your recent
posts. Could you please send a link, thanks. -- Andrei
Pretty sure you saw it.
http://forum.dlang.org/post/lhjg4o$k82$1...@digitalmars.com
Andrei Alexandrescu wrote in message news:ljm83i$d6i$1...@digitalmars.com...
Thanks. Isn't it unprecedented for pragmas to introduce scopes and to be
un-ignorable? -- Andrei
(I'll assume you mean introduce scopes as in the {} syntax, not the way
Walter's proposal introduces scopes)
No,
Andrei Alexandrescu wrote in message
news:ljr6ld$1mft$2...@digitalmars.com...
This doesn't follow. All unittests should be executable concurrently. --
Andrei
That's like saying all makefiles should work with -j
iridium wrote in message news:ltcxhbcqltnltbidd...@forum.dlang.org...
Yes. optabtgen now runs correctly. Now another error. I understand the
error during assembly: http://itmages.ru/image/view/1652519/5fa513e0
Linker error actually.
The first one is saying it can't find Obj::init which is
Adam Sakareassen via Digitalmars-d wrote in message
news:mailman.510.1399697057.2907.digitalmar...@puremagic.com...
No float is probably important for OS kernel and device driver developers.
The kernel of an operating system will usually not save the floating point
registers during a
bearophile wrote in message news:dmpcwdctnuenxdlpf...@forum.dlang.org...
Sometimes you want to give arguments to a function that are only used for
debug builds. So is it a good idea to introduce debug arguments (only
allowed as trailing arguments, like the arguments with a default value)?
I
Manu via Digitalmars-d wrote in message
news:mailman.678.1399989216.2907.digitalmar...@puremagic.com...
Pointers are 64bits.
int is 32 bits, long is 64 bits.
size_t is 64 bits.
long is 32 bits.
Steven Schveighoffer wrote in message
news:op.xfs6jhp3eav7ka@stevens-macbook-pro-2.local...
If a thread is doing only reads, or is only touching non-Scanned memory,
it continues.
How long do threads usually go without touching the stack?
Adam Wilson wrote in message news:op.xghyetkm707...@invictus.hra.local...
Hi everyone,
I have a small procedural question regarding pull requests against
druntime's operating system interfaces. Specifically I may find it quite
useful to add Windows API function calls and types to the
Etienne Cimon wrote in message news:lm0um0$tgh$1...@digitalmars.com...
I think everything everywhere would have to change for this to be
possible.
Sounds like never gonna happen.
Suminda Dharmasena wrote in message
news:dgufafcodplrxrqcg...@forum.dlang.org...
Hi,
D2 has been out for a while. Looking to see what the roadmap is like
towards D3?
Suminda
No.
Meta wrote in message news:pogogtdjyetukenny...@forum.dlang.org...
I've always wondered if VRP can be leveraged in certain situations. I
can't remember exactly how it's supposed to work, but very basically,
isn't it just numeric variables (and expressions?) having an associated
range that
Steven Schveighoffer wrote in message
news:op.xhcx4cb9eav7ka@stevens-macbook-pro-2.local...
I don't think it's as trivial as you imply. You have to use a symbol
that's valid, but isn't used in the subsequent loop to avoid collisions.
It is trivial, the frontend already has the ability to
Manu via Digitalmars-d wrote in message
news:mailman.2111.1402626404.2907.digitalmar...@puremagic.com...
It gets awkward when you nest, using '_' leads to '__',
i,j,k,etc work just fine. Are you really nesting your loops that deeply?
and
personally, I would expect an 'unreferenced
Trass3r wrote in message news:sgcekbmbxefmnghzs...@forum.dlang.org...
Is there any good reason to catch that?
I really want the debugger to fire up.
I know, I hate this. You can disable it by changing rt_trapExceptions in
dmain2.d in druntime to false and rebuilding druntime, which is
Andrew Edwards wrote in message news:lnkeji$5ve$1...@digitalmars.com...
This happens because we have two separate systems (one tracking problems,
another tracking the resolution), both of which compete for the same
precious and extremely limited resource: the volunteer time of developers.
I
Luís Marques wrote in message
news:fykakpufqivskbnus...@forum.dlang.org...
Regarding the D ABI, http://dlang.org/abi.html , I've noticed that the
description for dynamic arrays seems ambiguous:
offset property contents
0.length array dimension
size_t .ptr
Trass3r wrote in message news:lonuiouwqmquoyrjh...@forum.dlang.org...
So you can't even do something like
extern extern (C) __gshared bool rt_trapExceptions;
void main()
{
rt_trapExceptions = false;
asm { int 3; }
}
No, because rt_trapExceptions is checked before main is called, something
Burp wrote in message news:dcykcbonpududgkdr...@forum.dlang.org...
4. Allow for C++ and D to call each other without requiring a C interop
layer.(not going to happen but would help immensely)
What exactly are you looking for here? D currently supports quite a bit of
direct C++ interop, and
Sebastian Unger wrote in message
news:ebzakjopnllweizsi...@forum.dlang.org...
I have two classes A and B. Each object of class A is associated
with a particular object of class B. This association is not
supposed to change throughout the lifetime of the object of A.
I think D used to have
deadalnix wrote in message news:qawhxkzqdgzjwylzr...@forum.dlang.org...
I call them architecture astronautes. To avoid that pitfall, I have a
adopted the following method :
- Do whatever you need to to get to the next step toward you goal.
- Make a pause and observe. Is there some
Nordlöw wrote in message news:jctlkqtiztnbnctld...@forum.dlang.org...
I'm currently merely talking about possibilities in this case, so I cannot
currently prove you wronge ;) To me it seem like an unneccessary
limitation that valueRanges aren't propagated to function call arguments
provided
Jason King wrote in message news:kmupmtxrwlgzivuir...@forum.dlang.org...
If we can include newer windows system libs with DMD I'll be happy to
generate them. If copyrights prevent distributing new libs but we can
distribute the defs (so then all that's necessary is implib + the original
Igor wrote in message news:dladvaltigiapekur...@forum.dlang.org...
It seems a bit bloated, compared to int[] a = []. I like using
auto because of uniform syntax and other reasons. Is there any
concise way to create a new empty array with auto?
auto a = (int[]).init;
dennis luehring wrote in message news:loth9o$2arl$1...@digitalmars.com...
gcc seems to use GMP for (all) its compiletime calculations - is this
for cross-compile unification of calculation results or just for better
result at all - or both?
To make the gcc build process more complicated.
Walter Bright wrote in message news:lp26l3$qlk$1...@digitalmars.com...
Per the D spec, 'real' will be the longest type supported by the native
hardware.
So if you were targeting a processor with only soft-float real would be
undefined? Fixing the widths of the integers was a great idea,
Wanderer wrote in message news:aroorrxjloihxtthk...@forum.dlang.org...
Databases don't sort their records physically. The main reason
for that is that each record has many columns so there are many
various possible sort orders.
Yes they do.
Iain Buclaw via Digitalmars-d digitalmars-d@puremagic.com wrote in
message news:mailman.3265.1404477916.2907.digitalmar...@puremagic.com...
FP types are fixed. float is 32bit, double 64bit.
That's 2/3.
What 's the mangling problem with long double? There's only *one* long
double.
long
Iain Buclaw via Digitalmars-d wrote in message
news:mailman.3268.1404486824.2907.digitalmar...@puremagic.com...
You're confusing long double with size_t. I did a cursory look up
msvc++ mangling, and long double is always 'O'. The itanium spec says
that long double is 'e' - unless 128bits in
Wanderer wrote in message news:jbvbufgyhbjrkpukr...@forum.dlang.org...
For pair of integers, you can use long and sort an array of longs.
Awesome, now your sort order depends on processor endianness!
Storing structs in contiguous memory is sometimes better for some things.
The fact that
Dicebot wrote in message news:veqlcdugugxpffajp...@forum.dlang.org...
D unit of encapsulation is module. Any other namespace
solutions must die after proper torture.
Just use this in the next release!
extern(C++, log)
{
extern(D):
... functions ...
}
Dicebot wrote in message news:luounykqutytridry...@forum.dlang.org...
D is decent language in that regard - I am speaking about
imaginary language that does not constraint any semantics and
provides perfect expressive power.
Forth is not an imaginary language.
Ary Borenszweig wrote in message news:lq199i$1312$1...@digitalmars.com...
I can't seem to learn anything about this language without paying first.
http://en.wikipedia.org/wiki/Forth_(programming_language)
It allows you to edit syntax as you go!
1 2 3 + + . (prints 6)
: 1 2 ;
: 2 3 ;
1 2 3
Johannes Pfau wrote in message news:lq3nf4$rbp$1...@digitalmars.com...
Did you even read the section that explains why volatility is a property
of the memory address and not of the access (4.2.3)? What's your
response to that?
This is true, and it's the ideal I guess, but I'm not sure that
Johannes Pfau wrote in message news:lq51u4$21qb$1...@digitalmars.com...
But it's not only about frequency, it's also about convenience and
safety. How often is opDispatch actually used? The synchronized
statement? Nevertheless they are there, because someone thought these
use cases are
Johannes Pfau wrote in message news:lq5pv1$2nfb$1...@digitalmars.com...
The problem is not 'this feature is too complex', the problems is
that it's more complex than necessary.
So what's necessary in this specific case?
Use intrinsics with a nice template wrapper. They get inlined, the
H. S. Teoh via Digitalmars-d wrote in message
news:mailman.4230.1405534833.2907.digitalmar...@puremagic.com...
But maybe some of the DMD experts can speak up about this. ;-)
This is fairly well known, the same thing exists for static variables and
nested functions etc. I think there is
currysoup wrote in message news:iustbzgyagrlbtnfc...@forum.dlang.org...
Once you're going to
these lengths to avoid garbage collection it begs the question,
why are you even using this language?
Because D has plenty of other things to offer.
Dicebot wrote in message news:dikroykmroruujndl...@forum.dlang.org...
It is used 0 times in Phobos. In fact I have not seen it used for a single
time in any living project - guess because any sane person understands how
terrible of a misfeature it is.
I've used it, because I'm lazy.
Iain Buclaw via Digitalmars-d wrote in message
news:mailman.4214.1405521071.2907.digitalmar...@puremagic.com...
No they don't. Intrinsics make things worse.
? At worst they're useless.
They are _trivial_ to implement for any of the compilers.
No they aren't, unless you are talking
Vic wrote in message news:xblbppsybigjgrtgi...@forum.dlang.org...
Hi Walter,
Please give us a bit more respect and benefit of the doubt and assume that
we do know what we want when say something.
I want to use D! I may be forced to C++ my team because GC built into the
base lib. It is
Frustrated wrote in message news:vdtunbkrdyyxnmqcg...@forum.dlang.org...
Are those that say the GC is fine and works for 90-95% of apps
without issue just ignorant? Or are they arrogant?
When one is writing a real time app and have the absolute lowest
chance of losing control, a STW GC is
Walter Bright wrote in message news:lq9dmc$2qeg$1...@digitalmars.com...
I suggested recognizing in the parser:
( Identifier )
as a special case, in addition to using Parser::isDeclaration(). Gradually
we can turn that special case into a warning, then deprecation.
Why on earth would
H. S. Teoh via Digitalmars-d wrote in message
news:mailman.4366.1405642929.2907.digitalmar...@puremagic.com...
Hmm. How to generate a unique id? It must be module-wide, but not
program-wide, because otherwise you get a different mangling depending
on the order of imports. It must not
Daniel Gibson wrote in message news:lqh3vb$c2b$1...@digitalmars.com...
* passing stuff to the function is done as C expects it (not done,
also: are there other cases than the static array one that are
different?)
Dynamic arrays.
D used to allow passing static and dynamic arrays to C
H. S. Teoh via Digitalmars-d wrote in message
news:mailman.32.1405963928.32463.digitalmar...@puremagic.com...
Phobos pull request 2266 [1] has been blocked by an ICE (issue 12057
[2]) for almost a month now. I'm wondering if somebody more familiar
with dmd internals can help fix it. I've
Daniel Gibson wrote in message news:lql6ec$1rqk$1...@digitalmars.com...
printf(Hello %s\n, segfault);
If the compiler did the right thing for extern (C) functions (i.e.
implicitly passing segfault by reference), this shouldn't cause a
segfault.
Whether or not passing the point to the C
Tourist wrote in message news:cmeqwpzglxjksmiek...@forum.dlang.org...
Just curious. I remember that there was some kind of a roadmap, but I
cannot find it now.
Nice timing, I was about to post a DDMD status message.
As of a few hours ago DDMD has gone green in the autotester on the main
H. S. Teoh via Digitalmars-d wrote in message
news:mailman.136.1406040115.32463.digitalmar...@puremagic.com...
Hmm. We should run a profiler to find out where the performance hit is
coming from. It should be interesting, since presumably, your script to
translate dmd to D basically generates
safety0ff wrote in message news:sraekimgazczrakpx...@forum.dlang.org...
Is it also comparing between GCC built DMD and DMD built DDMD?
Yes! I didn't think of that.
Did you find the cause of memory corruption you mentioned on github?
Which one was that? I found a member alignment bug
Daniel Murphy wrote in message news:lqlugc$7l7$1...@digitalmars.com...
The crash when using the GC as the allocator seems to have gone away (!!)
so it may have been one of the others in disguise.
Wait I take that back. It still crashes when using the GC and GC
collections enabled.
w0rp wrote in message news:kuwjnyziibgxudtlg...@forum.dlang.org...
We should promote this DDMD news. There's promise of a
self-hosting D compiler which should attract some attention, even
if it's not the best compiler in the world yet.
I'd rather wait until we release it. Or at least merge
Vladimir Panteleev wrote in message
news:wauoddrnxevfakktw...@forum.dlang.org...
I started a Dustmite reduction at DConf to attempt to reduce the input
that made DDMD corrupt memory. The blasted thing ran for weeks and got
nowhere close... it seemed almost random. I guess a different
Domingo Alvarez Duarte wrote in message
news:vwamsrkqngvnbnmdc...@forum.dlang.org...
On Tuesday, 22 July 2014 at 14:34:10 UTC, Daniel Murphy wrote:
You can build it by following the instructions here:
https://github.com/D-Programming-Language/dmd/pull/3410
I'm not sure if there is
safety0ff wrote in message news:ptaydiflclzapizmo...@forum.dlang.org...
Ok, tried building with LDC and ran into some issues:
Yeah, this was never going to work.
At first I tried an older ldmd2 and it error'ed on labels followed by
closed brackets. Using a newer version fixed this, but
Iain Buclaw via Digitalmars-d wrote in message
news:mailman.157.1406065213.32463.digitalmar...@puremagic.com...
On 22 July 2014 15:00, Tourist via Digitalmars-d
digitalmars-d@puremagic.com wrote:
Just curious. I remember that there was some kind of a roadmap, but I
cannot
find it now.
Brad Anderson wrote in message
news:goeecibjsrobayeef...@forum.dlang.org...
Daniel, you should do some spring cleaning on your branches :)
Never! Although I now delete them after they are merged, since github added
a button to do it.
safety0ff wrote in message news:dzdiqnunamteyjcdc...@forum.dlang.org...
I'm wondering if the issue is related with the use of extern(C++) classes.
Haha well it could be. This is the first project to use them after all.
It seems to consistently crash at the same place, which seems to be a
Jonathan M Davis wrote in message
news:kquxovegjzzsivftx...@forum.dlang.org...
The best option though would be to provide some way for the programmer to
tell the compiler that they want to use the default one so that they still
have to declare opEquals when they define opCmp (to make sure
Ola Fosheim Grøstad wrote in message
news:qxtukjuohhzngcutm...@forum.dlang.org...
On Wednesday, 23 July 2014 at 23:02:48 UTC, H. S. Teoh via Digitalmars-d
wrote:
fuzzy numbers it gets even worse. You can define it such that ab and
ba both are true...
(ab ba) is true for ints.
That was
Manu via Digitalmars-d digitalmars-d@puremagic.com wrote in message
news:mailman.243.1406177619.32463.digitalmar...@puremagic.com...
The other case I am running in to is when I have 'struct S(T)' or 'class
C(T)', where T can be inferred from the constructor, but it isn't.
struct S(T)
{
Ola Fosheim Grøstad wrote in message
news:duuhouucozvosboib...@forum.dlang.org...
For fuzzy numbers you can define less than such that ab and ba both are
true... yes?
You could, but if you do it with opCmp it looks like operator overloading
abuse to me.
Manu via Digitalmars-d digitalmars-d@puremagic.com wrote in message
news:mailman.274.1406201953.32463.digitalmar...@puremagic.com...
Is it possible for templates or types to both appear in the same context and
create an actual ambiguity? What would that expression look like?
alias X = T!U;
Walter Bright wrote in message news:lqsunn$2ke5$1...@digitalmars.com...
Determining an ordering can sometimes be more expensive. It is, after all,
asking for more information.
It could also be significantly cheaper, if only a subset of fields need to
be compared.
Jonathan M Davis wrote in message
news:zcutsbuilcttvbuah...@forum.dlang.org...
If that's the case, then the default opEquals isn't correct, and the
programmer should have already defined opEquals. If they didn't, then
their code is broken, and I see no reason to penalize the folks who wrote
Jonathan M Davis wrote in message
news:lzigfacgrlssjuemo...@forum.dlang.org...
The compiler _never_ defines opCmp for you. You have to do that yourself.
So, what you're suggesting would force people to define opEquals just
because they defined opCmp unless they wanted to take a performance
H. S. Teoh via Digitalmars-d wrote in message
news:mailman.336.1406295294.32463.digitalmar...@puremagic.com...
So perhaps we should implement `bool opEquals = default;`.
No new syntax.
Dicebot wrote in message news:xpjsskmamagclzoiw...@forum.dlang.org...
I can't PR but there were one by Kenji that did inline of such calls in
the frontend providing 100% gurantee whatever backend is used.
There is no 100% guarantee, the frontend's inliner is not capable of
inlining the
Marc Schütz wrote in message
news:gefktpkzfnlryljvw...@forum.dlang.org...
IIRC the core reason is that expression nodes in the AST cannot contain
statements. Isn't it possible to create a bridge node type that is
allowed to appear in expressions, but may also contain statements?
Sure, but
Iain Buclaw via Digitalmars-d wrote in message
news:mailman.95.1406528707.16021.digitalmar...@puremagic.com...
I was fairly reluctant initially given Phobos' track-record. However
someone did point out that if we don't use Phobos in DDMD, we might as
well apply the brakes now to the project
Iain Buclaw via Digitalmars-d wrote in message
news:mailman.96.1406529001.16021.digitalmar...@puremagic.com...
And I can say (as of writing):
- Me and Daniel did discuss using a library-defined float-point type
in DDMD at DConf 2014
- Daniel is considering the use of BigInt for integer
Jonathan M Davis wrote in message
news:lfhsrrkauworheqme...@forum.dlang.org...
I would point out that every time I've seen compiler devs discuss using
Phobos in dmd, there has been a large reluctance to do so (if not outright
a desire to avoid it entirely) in order to avoid the circular
John Colvin wrote in message news:iguetbdxlyilavliz...@forum.dlang.org...
To what extent can a compiler use assertions? Can it work backwards from
an assert to affect previous code?
void foo(int a)
{
enforce(a 1);
assert(a 1);
}
The assert is dead code, because it will never be
John Colvin wrote in message news:zzmgkwlzggrrtdtjb...@forum.dlang.org...
Ok. What about this:
int c;
void foo(int a)
{
if(a 0) c++;
assert(a 0);
}
I presume that cannot be optimised away entirely to:
...
void foo(int a)
{
assert(a 0);
}
of course you can't optimise away
Ola Fosheim Grøstad wrote in message
news:vqlvigvgcplkuohud...@forum.dlang.org...
Please guys, you should not change code-gen based on asserts. They are not
proofs, they are candidates for formal verification of correctness. They
are in essence embedded break-point checks. If you allow
Ola Fosheim Grøstad wrote in message
news:scibhjsiolgykujqx...@forum.dlang.org...
In that case I will write my own assert() that doesn't have this
behaviour. Nobody who cares about program verification and correctness
will touch this.
Yes.
assert() is no guarantee for correctness, it is
Ola Fosheim Grøstad wrote in message
news:ejbwjvylulclchheh...@forum.dlang.org...
No, writing wrong code is one thing.
Having a single typo in a constraint-test cause memory unsafety undetected
is a disaster. And many such typos _will_ go undetected.
Sure, because having single typos in
1 - 100 of 734 matches
Mail list logo