This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: testcase for "absolute source" patch
Hi Baurzhan,
bi> 1. Just for my knowledge: I've found the "int main" requirement in C99
bi> 5.1.2.2.1. But I couldn't find anything about function definitions
bi> without a return type defaulting to int (i.e., should the compiler
bi> treat the return type as int if it isn't specified?). Does C99 and
bi> previous standards say anything about that? Is it different for
bi> declarations and definitions?
I don't have copies of the standards documents, so I'm working from
The C++ Programming Language 2nd Edition, Kernighan and Ritchie.
To my surprise, I found out that in this book, and presumably in
the C89 standard, a function with no return type defaults to "int".
>From section 1.9:
"This line also declares that getline returns an int;
since int is the default return type, it could be omitted."
I don't think it's different for declarations and definitions.
In a normal program, the FSF coding standards would apply. But a test
suite is contra-variant. Anything that is legal C89 and that doesn't
make gcc give a warning is okay in a test program, and variation is good
because it exercises different parts of gdb.
So it's okay to leave your "main" with no return type.
But take out the "-w" from gdb_compile.
bi> 2. As far as I could see, remote_exec host starts a new shell each time.
bi> How should one do the following right?
bi>
bi> remote_exec host cd ...
bi> remote_exec host gdb_compile ...
bi> remote_exec host cd ...
bi>
bi> I'm reluctant to write scripts since I have to do the same with
bi> gdb_test, too.
I don't know.
Dejagnu's desire to manage the filenames on the host machine conflicts
with your desire for explicit control of the filenames.
Normally you would call gdb_compile (not remote_exec host gdb_compile).
gdb_compile calls target_compile, which calls default_target_compile,
which calls remote_exec, which calls call_remote. You would need a
hook inside call_remote to send several commands to the same shell.
Ick!
Alternatively, you would need to forsake gdb_compile and do everything
at the "remote_exec host cd ... && gcc ... && cd ...", basically
duplicating the machinery inside default_target_compile to process
the options (but you know what your own options are) and to find the
name of the c compiler.
I have another issue which demands that I clean up the machinery
that locates compilers. The issue is how to run the test suite
with non-fsf compilers, especially for fortran.
Let me think about this, and I will get back to tonight or tomorrow,
also with detailed feedback on your version #2.
Michael