Re: Run Microsoft Analyzer over dmd source code

2014-07-09 Thread Trass3r via Digitalmars-d
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.

Re: Run Microsoft Analyzer over dmd source code

2011-08-12 Thread David Nadlinger
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

Re: Run Microsoft Analyzer over dmd source code

2011-08-09 Thread Don
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

Re: Run Microsoft Analyzer over dmd source code

2011-08-09 Thread Walter Bright
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

Re: Run Microsoft Analyzer over dmd source code

2011-08-09 Thread bearophile
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

Re: Run Microsoft Analyzer over dmd source code

2011-08-09 Thread Vladimir Panteleev
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

Re: Run Microsoft Analyzer over dmd source code

2011-08-08 Thread Don
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.

Re: Run Microsoft Analyzer over dmd source code

2011-08-08 Thread bearophile
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,

Re: Run Microsoft Analyzer over dmd source code

2011-08-08 Thread Don
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:

Re: Run Microsoft Analyzer over dmd source code

2011-08-08 Thread ponce
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

Re: Run Microsoft Analyzer over dmd source code

2011-08-08 Thread Don
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

Re: Run Microsoft Analyzer over dmd source code

2011-08-08 Thread David Nadlinger
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;

Re: Run Microsoft Analyzer over dmd source code

2011-08-08 Thread Don
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 =

Re: Run Microsoft Analyzer over dmd source code

2011-08-08 Thread Walter Bright
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

Re: Run Microsoft Analyzer over dmd source code

2011-08-07 Thread Vladimir Panteleev
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

Re: Run Microsoft Analyzer over dmd source code

2011-08-07 Thread Walter Bright
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

Re: Run Microsoft Analyzer over dmd source code

2011-08-07 Thread Vladimir Panteleev
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

Re: Run Microsoft Analyzer over dmd source code

2011-08-07 Thread Marco Leise
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

Re: Run Microsoft Analyzer over dmd source code

2011-08-07 Thread bearophile
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.

Re: Run Microsoft Analyzer over dmd source code

2011-08-07 Thread Walter Bright
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):

Re: Run Microsoft Analyzer over dmd source code

2011-08-07 Thread Walter Bright
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

Re: Run Microsoft Analyzer over dmd source code

2011-08-07 Thread bearophile
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

Re: Run Microsoft Analyzer over dmd source code

2011-08-07 Thread Robert Clipsham
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!

Re: Run Microsoft Analyzer over dmd source code

2011-08-07 Thread Vladimir Panteleev
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:

Re: Run Microsoft Analyzer over dmd source code

2011-08-07 Thread Vladimir Panteleev
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

Re: Run Microsoft Analyzer over dmd source code

2011-08-07 Thread Walter Bright
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

Re: Run Microsoft Analyzer over dmd source code

2011-08-07 Thread Walter Bright
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!

Re: Run Microsoft Analyzer over dmd source code

2011-08-07 Thread Walter Bright
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

Re: Run Microsoft Analyzer over dmd source code

2011-08-07 Thread bearophile
Vladimir Panteleev: http://thecybershadow.net/d/vcanalysis/ I don't see the pages in inner directories like root\root.c. Bye, bearophile

Re: Run Microsoft Analyzer over dmd source code

2011-08-07 Thread Vladimir Panteleev
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.

Re: Run Microsoft Analyzer over dmd source code

2011-08-07 Thread Vladimir Panteleev
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

Re: Run Microsoft Analyzer over dmd source code

2011-08-07 Thread bearophile
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

Re: Run Microsoft Analyzer over dmd source code

2011-08-07 Thread 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

Re: Run Microsoft Analyzer over dmd source code

2011-08-07 Thread Vladimir Panteleev
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

Re: Run Microsoft Analyzer over dmd source code

2011-08-07 Thread KennyTM~
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.

Re: Run Microsoft Analyzer over dmd source code

2011-08-07 Thread KennyTM~
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:

Re: Run Microsoft Analyzer over dmd source code

2011-08-07 Thread Vladimir Panteleev
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

Re: Run Microsoft Analyzer over dmd source code

2011-08-07 Thread KennyTM~
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 =

Re: Run Microsoft Analyzer over dmd source code

2011-08-07 Thread Vladimir Panteleev
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);

Re: Run Microsoft Analyzer over dmd source code

2011-08-07 Thread bearophile
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):

Run Microsoft Analyzer over dmd source code

2011-08-06 Thread Walter Bright
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.

Re: Run Microsoft Analyzer over dmd source code

2011-08-06 Thread Adam D. Ruppe
At about 1:10:00, it sounds like he's asking for SafeD!

Re: Run Microsoft Analyzer over dmd source code

2011-08-06 Thread Walter Bright
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.