Is there a way to disable exceptions with MSVC like
-fno-exceptions for GCC to help get rid of the associated false
positives?
Sure, no /EHsc and /D_HAS_EXCEPTIONS=0 for its STL.
On 8/7/11 9:47 PM, Vladimir Panteleev wrote:
http://thecybershadow.net/d/vcanalysis/
http://dump.thecybershadow.net/b1e4cb6ef0a8d3c5f54d5cb09ddd1a9e/DMD.log
Is there a way to disable exceptions with MSVC like -fno-exceptions for
GCC to help get rid of the associated false positives?
David
Walter Bright wrote:
On 8/8/2011 9:44 PM, Don wrote:
Aargh, you're right.
I've been slowly going through the reports. While I've found only one
real bug, and several sort of problems if you squint at them the right
way, most are issues I put in the category of not up to modern coding
best
On 8/9/2011 12:14 AM, Don wrote:
Walter Bright wrote:
On 8/8/2011 9:44 PM, Don wrote:
Aargh, you're right.
I've been slowly going through the reports. While I've found only one real
bug, and several sort of problems if you squint at them the right way, most
are issues I put in the category
David Nadlinger:
If deleg-op isn't guaranteed to be either TOKdelegate or TOKfunction,
this is indeed a bug because fd contains garbage otherwise (you don't
nullptr-initialize it).
The HTML Clang output was quite good at showing the path that leads to such
problems. Such HTML is a small
On Tue, 09 Aug 2011 16:31:18 +0300, bearophile bearophileh...@lycos.com
wrote:
David Nadlinger:
If deleg-op isn't guaranteed to be either TOKdelegate or TOKfunction,
this is indeed a bug because fd contains garbage otherwise (you don't
nullptr-initialize it).
The HTML Clang output was
KennyTM~ wrote:
On Aug 7, 11 22:23, Vladimir Panteleev wrote:
On Sun, 07 Aug 2011 13:29:20 +0300, Walter Bright
newshou...@digitalmars.com wrote:
It's less complex (!) if you are not trying to make a working dmd. It
just needs to compile.
OK, that wasn't actually too bad.
Don:
I think these are false positives too. The ones I saw were of the form:
When p is a pointer,
assert(p);
y = p-x; // error: p is uninitialized
This was true in the first release of those warnings files, but is it true
still? There are only 10 of those errors reported now.
Bye,
bearophile wrote:
Vladimir Panteleev:
Done:
http://dump.thecybershadow.net/b1e4cb6ef0a8d3c5f54d5cb09ddd1a9e/DMD.log
There are only 10 NULL deference warnings left:
s2ir.c(1043): warning C6011: Dereferencing NULL pointer 'pu++'
false (only if malloc fails)
s2ir.c(980): warning C6011:
Le 06/08/2011 21:38, Walter Bright a écrit :
http://www.reddit.com/r/programming/comments/jar93/john_carmack_gives_his_thoughts_on_static/c2akmf8
If someone has this on their system, I think it'd be great if you could
run the dmd source code through it and see if it finds any bugs.
Other
bearophile wrote:
Don:
I think these are false positives too. The ones I saw were of the form:
When p is a pointer,
assert(p);
y = p-x; // error: p is uninitialized
This was true in the first release of those warnings files, but is it true
still? There are only 10 of those errors
On 8/9/11 5:46 AM, Don wrote:
Don:
I think these are false positives too. The ones I saw were of the form: […]
4995: FuncDeclaration *fd;
4996: Expression *pthis = NULL;
4997: if (deleg-op == TOKdelegate)
4998: {
4999: fd = ((DelegateExp *)deleg)-func;
5000: pthis = ((DelegateExp *)deleg)-e1;
David Nadlinger wrote:
On 8/9/11 5:46 AM, Don wrote:
Don:
I think these are false positives too. The ones I saw were of the
form: […]
4995: FuncDeclaration *fd;
4996: Expression *pthis = NULL;
4997: if (deleg-op == TOKdelegate)
4998: {
4999: fd = ((DelegateExp *)deleg)-func;
5000: pthis =
On 8/8/2011 9:44 PM, Don wrote:
Aargh, you're right.
I've been slowly going through the reports. While I've found only one real bug,
and several sort of problems if you squint at them the right way, most are
issues I put in the category of not up to modern coding best practices. Those
I'm
On Sat, 06 Aug 2011 22:38:15 +0300, Walter Bright
newshou...@digitalmars.com wrote:
http://www.reddit.com/r/programming/comments/jar93/john_carmack_gives_his_thoughts_on_static/c2akmf8
If someone has this on their system, I think it'd be great if you could
run the dmd source code through
On 8/7/2011 3:24 AM, Vladimir Panteleev wrote:
Before that, someone first needs to get dmd to even compile with Visual C++.
It's not a trivial task - there is no complex number support, lots of
compiler-dependent defines are outdated, and there seem to be tons of regular
compiler warnings
On Sun, 07 Aug 2011 13:29:20 +0300, Walter Bright
newshou...@digitalmars.com wrote:
It's less complex (!) if you are not trying to make a working dmd. It
just needs to compile.
OK, that wasn't actually too bad.
https://github.com/CyberShadow/dmd/tree/compile-on-vs10
2979 warnings with
Am 07.08.2011, 16:23 Uhr, schrieb Vladimir Panteleev
vladi...@thecybershadow.net:
On Sun, 07 Aug 2011 13:29:20 +0300, Walter Bright
newshou...@digitalmars.com wrote:
It's less complex (!) if you are not trying to make a working dmd. It
just needs to compile.
OK, that wasn't actually
Vladimir Panteleev:
2979 warnings with code analysis with the Microsoft Minimum Recommended
Rules ruleset.
Thank you. Info about this minimum level:
http://msdn.microsoft.com/en-us/library/dd264893.aspx
Later a higher level will show other warnings.
On 8/7/2011 10:11 AM, bearophile wrote:
It contains FP warnings like the one I have asked for D too. DMD doesn't
perform certain unsafe FP operations because they and break IEEE conformance,
but casting a double to float is accepted and regarded safe (I am not sure
of this): lexer.c(2500):
On 8/7/2011 7:23 AM, Vladimir Panteleev wrote:
2979 warnings with code analysis with the Microsoft Minimum Recommended Rules
ruleset.
http://dump.thecybershadow.net/2e0571641194d945869a1b12b29aacdc/DMD.log
Thanks, this is what I was looking for!
I'll see if I can get it in a more readable
Walter:
and there's that cast to float he overlooked, sabotaging his upgrade. Even
worse, suppose the type of f or d or both is changed to some user defined
type,
like BigFloat? That cast is just going to *cause* a bug, not fix it.
Requiring the programmer to load up on casts is not
On 07/08/2011 18:34, Walter Bright wrote:
On 8/7/2011 7:23 AM, Vladimir Panteleev wrote:
2979 warnings with code analysis with the Microsoft Minimum
Recommended Rules
ruleset.
http://dump.thecybershadow.net/2e0571641194d945869a1b12b29aacdc/DMD.log
Thanks, this is what I was looking for!
On Sun, 07 Aug 2011 17:23:48 +0300, Vladimir Panteleev
vladi...@thecybershadow.net wrote:
I'll see if I can get it in a more readable format (something like the
HTML files clang's scan-build outputs).
http://thecybershadow.net/d/vcanalysis/
Created with:
On Sun, 07 Aug 2011 20:11:49 +0300, bearophile bearophileh...@lycos.com
wrote:
Later a higher level will show other warnings.
I have the following levels to choose from:
Microsoft All Rules
Microsoft Basic Correctness Rules
Microsoft Basic Design Guideline Rules
Microsoft Extended
On 8/7/2011 11:13 AM, Vladimir Panteleev wrote:
On Sun, 07 Aug 2011 20:11:49 +0300, bearophile bearophileh...@lycos.com wrote:
Later a higher level will show other warnings.
I have the following levels to choose from:
Microsoft All Rules
Microsoft Basic Correctness Rules
Microsoft Basic
On 8/7/2011 11:06 AM, Vladimir Panteleev wrote:
I'll see if I can get it in a more readable format (something like the HTML
files clang's scan-build outputs).
http://thecybershadow.net/d/vcanalysis/
Very nice!
On 8/7/2011 10:43 AM, bearophile wrote:
and there's that cast to float he overlooked, sabotaging his upgrade. Even
worse, suppose the type of f or d or both is changed to some user defined type,
like BigFloat? That cast is just going to *cause* a bug, not fix it.
Requiring the programmer to
Vladimir Panteleev:
http://thecybershadow.net/d/vcanalysis/
I don't see the pages in inner directories like root\root.c.
Bye,
bearophile
On Sun, 07 Aug 2011 21:17:30 +0300, Walter Bright
newshou...@digitalmars.com wrote:
Try the All Rules.
Ah, my mistake. The rulesets only apply to managed (.NET) code. It looks
like C/C++ code analysis is just an on/off switch.
On Sun, 07 Aug 2011 21:28:18 +0300, bearophile bearophileh...@lycos.com
wrote:
Vladimir Panteleev:
http://thecybershadow.net/d/vcanalysis/
I don't see the pages in inner directories like root\root.c.
Could you please elaborate? The list of links is sorted alphabetically, so
files
Vladimir Panteleev:
Could you please elaborate? The list of links is sorted alphabetically, so
files under root are lower down the list.
What do you see if you click on a link like root\root.c?
Bye,
bearophile
Vladimir Panteleev:
http://thecybershadow.net/d/vcanalysis/
As with (first report of) Clang I see that assert(p); p-foo... are marked as
Dereferencing NULL pointer.
Do you know the purpose of this?
os-name = strdup(name);
warning C4996: 'strdup': The POSIX name for this item is
On Sun, 07 Aug 2011 21:47:07 +0300, bearophile bearophileh...@lycos.com
wrote:
Vladimir Panteleev:
Could you please elaborate? The list of links is sorted alphabetically,
so
files under root are lower down the list.
What do you see if you click on a link like root\root.c?
Ah! I didn't
On Aug 7, 11 22:23, Vladimir Panteleev wrote:
On Sun, 07 Aug 2011 13:29:20 +0300, Walter Bright
newshou...@digitalmars.com wrote:
It's less complex (!) if you are not trying to make a working dmd. It
just needs to compile.
OK, that wasn't actually too bad.
On Aug 8, 11 02:45, bearophile wrote:
Vladimir Panteleev:
http://thecybershadow.net/d/vcanalysis/
As with (first report of) Clang I see that assert(p); p-foo... are marked as
Dereferencing NULL pointer.
Do you know the purpose of this?
os-name = strdup(name);
warning C4996:
On Sun, 07 Aug 2011 21:45:45 +0300, bearophile bearophileh...@lycos.com
wrote:
Vladimir Panteleev:
http://thecybershadow.net/d/vcanalysis/
As with (first report of) Clang I see that assert(p); p-foo... are
marked as Dereferencing NULL pointer.
Ah, that would probably be in files that
On Aug 8, 11 03:08, KennyTM~ wrote:
On Aug 8, 11 02:45, bearophile wrote:
Vladimir Panteleev:
http://thecybershadow.net/d/vcanalysis/
As with (first report of) Clang I see that assert(p); p-foo... are
marked as Dereferencing NULL pointer.
Do you know the purpose of this?
os-name =
On Sun, 07 Aug 2011 22:11:35 +0300, Vladimir Panteleev
vladi...@thecybershadow.net wrote:
On Sun, 07 Aug 2011 21:45:45 +0300, bearophile
bearophileh...@lycos.com wrote:
Vladimir Panteleev:
http://thecybershadow.net/d/vcanalysis/
As with (first report of) Clang I see that assert(p);
Vladimir Panteleev:
Done:
http://dump.thecybershadow.net/b1e4cb6ef0a8d3c5f54d5cb09ddd1a9e/DMD.log
There are only 10 NULL deference warnings left:
s2ir.c(1043): warning C6011: Dereferencing NULL pointer 'pu++'
s2ir.c(980): warning C6011: Dereferencing NULL pointer 'cases'
statement.c(3666):
http://www.reddit.com/r/programming/comments/jar93/john_carmack_gives_his_thoughts_on_static/c2akmf8
If someone has this on their system, I think it'd be great if you could run the
dmd source code through it and see if it finds any bugs.
At about 1:10:00, it sounds like he's asking for SafeD!
On 8/6/2011 1:08 PM, Adam D. Ruppe wrote:
At about 1:10:00, it sounds like he's asking for SafeD!
It sure does.
43 matches
Mail list logo