old-cross-binutils/gdb/testsuite/gdb.base/compiler.c
Fred Fish ce102e96e6 * gdb.base/Makefile.in: Add action to .c.o transformation
rule that generates a .ci file for each .o file and remove
	explicit .c.o rules except for callfuncs.o.
	* gdb.c++/Makefile.in:  Add .cc.o transformation rule that
	generates a .ci file for each .o file and remove explicit
	.cc.o rules.
	(clean): Remove *.tmp *.ci files.
	(EXECUTABLES): Remove templ-info.exp.
	* gdb.base/compiler.c: New file.
	* gdb.c++/compiler.cc: New file
	* gdb.base/scope.exp: Source gdb.base/scope.ci.
	Change rs6000-*-* xfail for
	"print 'scope0.c'::filelocal_ro" and
	"print 'scope1.c'::filelocal" and
	"print 'scope1.c'::filelocal_bss" and
	"print 'scope1.c'::filelocal_ro" and
	"print 'scope1.c'::foo::funclocal" and
	"print 'scope1.c'::foo::funclocal_ro" and
	"print 'scope1.c'::bar::funclocal" and
	"print 'scope0.c'::filelocal_ro" and
	"print 'scope1.c'::filelocal at foo" and
	"print 'scope1.c'::filelocal_bss at foo" and
	"print 'scope1.c'::filelocal_ro at foo" and
	"print 'scope1.c'::foo::funclocal at foo" and
	"print 'scope1.c'::foo::funclocal_bss at foo" and
	"print 'scope1.c'::foo::funclocal_ro at foo" and
	"print 'scope1.c'::bar::funclocal at foo" and
	"print 'scope0.c'::filelocal_ro" and
	"print 'scope1.c'::filelocal" and
	"print 'scope1.c'::filelocal_bss" and
	"print 'scope1.c'::filelocal_ro" and
	"print 'scope1.c'::foo::funclocal" and
	"print 'scope1.c'::foo::funclocal_bss" and
	"print 'scope1.c'::foo::funclocal_ro" and
	"print 'scope1.c'::bar::funclocal" and
	"print 'scope1.c'::bar::funclocal_bss"
	to only be xfail'd when not compiled with gcc.
	Add rs6000-*-* xfail for
	"print 'scope0.c'::filelocal_bss before run"
	when compiled with gcc.
	(test_at_main): Add rs6000-*-* xfail for
	"print filelocal_ro in test_at_main"
	when compiled with gcc.
	* gdb.base/ptype.exp: Source gdb.base/ptype.ci.
 	Add rs6000-*-aix* xfail for
	"whatis unnamed typedef'd enum (compiler bug in IBM's xlc)" and
	"ptype t_char_array",  not compiled with gcc.
	* gdb.base/list.exp (test_list_function):  Add rs6000-*-*
	xfail for "list foo (in include file)" when gcc	compiled.
	* gdb.base/funcargs.exp: Source gdb.base/funcargs.ci
 	(integral_args): Add rs6000-*-* xfail for
	"run to call0a" if not compiled with gcc.
	(unsigned_integral_args): Add rs6000-*-* xfail for
	"run to call1a" if not compiled with gcc.
	(float_and_integral_args):  Add rs6000-*-* xfail for
	"run to call2a" if not compiled with gcc and for
	"continue to call2b" for any compiler.
	Add rs6000-*-* xfail to
	"print f1 after run to call2a" for gcc compiled.
	(discard_and_shuffle): Add rs6000-*-* xfail for
	"run to call6a".
	(shuffle_round_robin): Add rs6000-*-* xfail for
	"backtrace from call7a" if not compiled with gcc.
	Add rs6000-*-* xfail for
	"backtrace from call7b" if compiled with gcc.
	(call_after_alloca): Add rs6000-*-* xfail for
	"print c in call_after_alloca" and
	"print s in call_after_alloca" and
	"backtrace from call_after_alloca_subr"
	if not compiled with gcc.
	(localvars_in_indirect_call): Add rs6000-*-* xfail for
	"print c in localvars_in_indirect_call" and
	"print c in localvars_in_indirect_call" and
	"backtrace in indirectly called function" and
	"stepping into indirectly called function"
	if not compiled with gcc.
	(localvars_after_alloca): Add rs6000-*-* xfail for
	"print c after runto localvars_after_alloca" and
	"print s after runto localvars_after_alloca" and
	"print i after runto localvars_after_alloca" and
	"print l after runto localvars_after_alloca"
	for all compilers.
	* gdb.base/whatis.exp: Source gdb.base/whatis.ci rather
	than whatis-info.exp.
	* gdb.base/opaque.exp: Source gdb.base/opaque0.ci rather
	than opaque-info.exp.
	Setup rs6000-*-* xfail for
	"ptype on opaque struct pointer (statically)" and
	"ptype on opaque struct pointer (dynamically)" when
	not compiled with gcc.
	* gdb.base/callfuncs.exp: Source gdb.base/callfuncs.ci
	rather than callf-info.exp.
	(do_function_calls):  Add clear_xfail for rs6000-*-* for
	"p t_float_values2(3.14159,float_val2)".  Seems to work
	fine there, both with xlc and gcc.  Need to find out what
	it is doing right and fix other platforms.
	* gdb.base/callfuncs.exp: Add rs6000-*-* xfail for
	"call inferior func with struct - returns int",
	"call inferior func with struct - returns long",
	"call inferior func with struct - returns float",
	"call inferior func with struct - returns double",
	"call inferior func with struct - returns char *",
	but only if not gcc compiled (presumes xlc compiled).
	Change rs6000-*-* xfails for
	"call inferior func with struct - returns char" and
	" call inferior func with struct -  returns short" to only
	xfail if not using gcc.
	(clean mostlyclean):  Remove *.ci and *.tmp files.
	* gdb.c++/templates.exp: Source gdb.c++/templates.ci rather
	than templ-info.exp.
	* gdb.base/langs.exp:  Source gdb.base/langs.ci.
	Add rs6000-*-* xfail for "up to foo in langs.exp"
	"up to cppsub_ in langs.exp" and "up to fsub in langs.exp"
 	when not gcc compiled.
1995-08-16 07:37:19 +00:00

31 lines
1.1 KiB
C

/* Often the behavior of any particular test depends upon what compiler was
used to compile the test. As each test is compiled, this file is
preprocessed by the same compiler used to compile that specific test
(different tests might be compiled by different compilers, particularly
if compiled at different times), and used to generate a *.ci (compiler
info) file for that test.
I.E., when callfuncs is compiled, a callfuncs.ci file will be generated,
which can then be sourced by callfuncs.exp to give callfuncs.exp access
to information about the compilation environment.
TODO: It might be a good idea to add expect code that tests each
definition made with 'set" to see if one already exists, and if so
warn about conflicts if it is being set to something else. */
/* This needs to be kept in sync with whatis.c. If this proves to end up
being hairy, we could use a common header file. */
#if defined (__STDC__) || defined (_AIX)
set signed_keyword_not_used 0
#else
set signed_keyword_not_used 1
#endif
#if defined (__GNUC__)
set gcc_compiled __GNUC__
#else
set gcc_compiled 0
#endif
return 0