[opensuse-packaging] preprocessor sanity checks ?
Hi: Is there any way to enable some kind of preprocessor basic sanity checks... ? found a package that used #defina instead of #define .. and no warning was emitted .. hints ? -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
El 06/06/11 21:52, Cristian Rodríguez escribió:
Hi:
Is there any way to enable some kind of preprocessor basic sanity checks... ? found a package that used
#defina instead of #define .. and no warning was emitted ..
hints ?
By basic sanity check I meant error/warning messages which can be understood by mere simple human beings from planet earth like this ones : http://blog.llvm.org/2010/04/amazing-feats-of-clang-error-recovery.html *ehem* Cheers. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Mon, 6 Jun 2011, Cristian Rodríguez wrote:
El 06/06/11 21:52, Cristian Rodríguez escribió:
Hi:
Is there any way to enable some kind of preprocessor basic sanity checks... ? found a package that used
#defina instead of #define .. and no warning was emitted ..
hints ?
By basic sanity check I meant error/warning messages which can be understood by mere simple human beings from planet earth like this ones : http://blog.llvm.org/2010/04/amazing-feats-of-clang-error-recovery.html
*ehem*
You mean you know human beings as simple that they do not understand
t.c:1:2: error: invalid preprocessing directive #defina
?
And no, GCC does not embed a spell checker.
Richard.
--
Richard Guenther
El 07/06/11 05:07, Richard Guenther escribió:
On Mon, 6 Jun 2011, Cristian Rodríguez wrote:
El 06/06/11 21:52, Cristian Rodríguez escribió:
Hi:
Is there any way to enable some kind of preprocessor basic sanity checks... ? found a package that used
#defina instead of #define .. and no warning was emitted ..
hints ?
By basic sanity check I meant error/warning messages which can be understood by mere simple human beings from planet earth like this ones : http://blog.llvm.org/2010/04/amazing-feats-of-clang-error-recovery.html
*ehem*
You mean you know human beings as simple that they do not understand
t.c:1:2: error: invalid preprocessing directive #defina
?
Ahhh.. sorry.. now I see the problem #ifdef foo .. blabla #else ... #defina and foo is defined ;) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Tue, 7 Jun 2011, Cristian Rodríguez wrote:
El 07/06/11 05:07, Richard Guenther escribió:
On Mon, 6 Jun 2011, Cristian Rodríguez wrote:
El 06/06/11 21:52, Cristian Rodríguez escribió:
Hi:
Is there any way to enable some kind of preprocessor basic sanity checks... ? found a package that used
#defina instead of #define .. and no warning was emitted ..
hints ?
By basic sanity check I meant error/warning messages which can be understood by mere simple human beings from planet earth like this ones : http://blog.llvm.org/2010/04/amazing-feats-of-clang-error-recovery.html
*ehem*
You mean you know human beings as simple that they do not understand
t.c:1:2: error: invalid preprocessing directive #defina
?
Ahhh.. sorry.. now I see the problem
#ifdef foo .. blabla #else ... #defina
and foo is defined ;)
_I_ still don't see your problem ;) Do you want a warning from the preprocessor for #defina in this case? Richard.
El 08/06/11 04:25, Richard Guenther escribió:
_I_ still don't see your problem ;) Do you want a warning from the preprocessor for #defina in this case?
No, Im ack'ing I was wrong ;) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Am Tue, 7 Jun 2011 11:07:00 +0200 (CEST)
schrieb Richard Guenther
And no, GCC does not embed a spell checker.
Will it somewhen in the future? I guess not, as the main goal of the g* tools (gcc, gdb, glibc...) seems to be "Make them deliberately hard to use". At least if you compare them to tools like the valgrind suite or clang and friends or eglibc, which seem to be developed with the goal of maximum usefulness, you could easily come to this conclusion... -- Stefan Seyfried "Dispatch war rocket Ajax to bring back his body!" -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Sat, 11 Jun 2011 11:13, Stefan Seyfried
Am Tue, 7 Jun 2011 11:07:00 +0200 (CEST) schrieb Richard Guenther
: And no, GCC does not embed a spell checker.
Will it somewhen in the future?
I guess not, as the main goal of the g* tools (gcc, gdb, glibc...) seems to be "Make them deliberately hard to use". At least if you compare them to tools like the valgrind suite or clang and friends or eglibc, which seem to be developed with the goal of maximum usefulness, you could easily come to this conclusion...
This, well -forces- the question: Would a developer be better served if (s)he uses clang and/or eglibc in his/her dev environment and only afterward tests on gcc and/or glibc compatibility? --- As a dev I seek ease of use, clear and early error-detection, helpful status/warning/error messages and a documentation that can be read without having a degree in obscure languages first. --- As far as I can see the g* tool ( including autoconf ) either have left this path or where never on it. A friend reported latly of a problem in a program that he could only even find as he tried the intel-c-compiler instead of the gcc. gcc didn't even fail the compile. As debian and derivates has/have done the change, what would we win and/or loose, -beyond the time invested-, by a change from glibc to eglibc? Most of the work would be adapting the needed patches from debian for our use where upstream is still fixed on glibc. I see both sides, the dev and the packager. Both are *packed* with frustration, obscure messages from the tools and other hindrances. What will help us in the mid-term and in the long-term? Short-term is clear, but what beyond ? Yamaban, who is frustated by the state-as-it-is-and-was of the g* tools. PS: Sorry for the rant. Ignore it, if it gets you angry. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
El 11/06/11 05:13, Stefan Seyfried escribió:
Am Tue, 7 Jun 2011 11:07:00 +0200 (CEST) schrieb Richard Guenther
: And no, GCC does not embed a spell checker.
Will it somewhen in the future?
Making the error messages sane, for regular humans, is probably the most important improvement, specially from g++, if there is a hell, those messages come from there :-) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On 06/11/2011 11:13 AM, Stefan Seyfried wrote:
I guess not, as the main goal of the g* tools (gcc, gdb, glibc...) seems to be "Make them deliberately hard to use". Actually being originally schooled and practised in hardware I think gdb is quite user friendly, apart from the debug packages it uses, it's command set is quite versatile and easy to remember, compared to say softice and when you start getting into the Gould Millenium Hp etc emulators and various other hardware gizmo's it's as easy to use as a knife and fork. I can even remember some commands without having to look them up. OTOH the guis for gdb are good ambassadors for the command line. I've programmed in binary before too, honest
Dave P -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Hi, On Sat, 11 Jun 2011, Stefan Seyfried wrote:
And no, GCC does not embed a spell checker.
Will it somewhen in the future?
I guess not, as the main goal of the g* tools (gcc, gdb, glibc...) seems to be "Make them deliberately hard to use".
So, in which way do you use (which excludes development of) glibc that you find hard? Really curious. I find gdb to be the best command line driver debugger there is, so without a [TG]UI you can't get better (that includes Etnus, though it has some nice features, but the cmdline is worse). As for gcc, well, I'm not sure a spell checker really improves usability. I think you would be one of the first to admit that the sometimes awkward suggestions of real spell checkers in Office suites are often less than helpful. A suggestion mode with high barrier on Levenshtein distance might indeed be helpful, though. I guess you won't bother to write a patch though? Ciao, Michael. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Am 14.06.2011 17:49, schrieb Michael Matz:
As for gcc, well, I'm not sure a spell checker really improves usability. I think you would be one of the first to admit that the sometimes awkward suggestions of real spell checkers in Office suites are often less than helpful.
And especially template-related g++ error messages are much more readable than years before when I started to learn C++. Regards, Bernhard -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Am Tue, 14 Jun 2011 17:49:57 +0200 (CEST)
schrieb Michael Matz
Hi,
On Sat, 11 Jun 2011, Stefan Seyfried wrote:
And no, GCC does not embed a spell checker.
Will it somewhen in the future?
I guess not, as the main goal of the g* tools (gcc, gdb, glibc...) seems to be "Make them deliberately hard to use".
So, in which way do you use (which excludes development of) glibc that you find hard? Really curious.
I sometimes need to cross-compile it. Not funny.
I find gdb to be the best command line driver debugger there is, so without a [TG]UI you can't get better (that includes Etnus, though it has some nice features, but the cmdline is worse).
Maybe my problems with gdb are actually that I'm not good enough at using it. It's a powerful tool, granted, so maybe it needs more powerful users ;) But valgrind is IMHO just a more "feel good" tool, but that might just be me :-)
As for gcc, well, I'm not sure a spell checker really improves usability. I think you would be one of the first to admit that the sometimes awkward suggestions of real spell checkers in Office suites are often less than helpful.
Actually, it was not the spell checking part that impressed me about clang, but the useful error messages. However, gcc 4.6 also seems getting better at that: seife@server:~/tmp> gcc -dumpversion 4.5 seife@server:~/tmp> cat test.c int main(int argc, char **argv) { intt foo = 0; return foo; } seife@server:~/tmp> gcc test.c test.c: In function ‘main’: test.c:3:2: error: ‘intt’ undeclared (first use in this function) test.c:3:2: note: each undeclared identifier is reported only once for each function it appears in test.c:3:7: error: expected ‘;’ before ‘foo’ test.c:5:9: error: ‘foo’ undeclared (first use in this function) seife@susi:/dev/shm> gcc -dumpversion 4.6 seife@susi:/dev/shm> gcc test.c test.c: In function ‘main’: test.c:3:2: error: unknown type name ‘intt’ So it is moving in the right direction :-) -- Stefan Seyfried "Dispatch war rocket Ajax to bring back his body!" -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Tuesday 14 June 2011 09:51:03 pm Stefan Seyfried wrote:
Maybe my problems with gdb are actually that I'm not good enough at using it. It's a powerful tool, granted, so maybe it needs more powerful users ;)
But valgrind is IMHO just a more "feel good" tool, but that might just be me :-)
These are very different tools in their approach to debugging. Valgrind is very good as spotting problems which do not lead to an actual crash on your system, but might lead to misbehavior or crashes on other systems. But when investigating an actual crash, gdb is much more powerful. IMVHO. -- Jean Delvare Suse L3 -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
participants (8)
-
Bernhard Walle
-
Cristian Rodríguez
-
Dave Plater
-
Jean Delvare
-
Michael Matz
-
Richard Guenther
-
Stefan Seyfried
-
Yamaban