* gdb.c++/classes.exp: Change all regular expressions to match
arbitrary combinations of newline/carriage-return, so that they
will work equally well on Unix and Windows.
* gdb.c++/inherit.exp: ditto.
* gdb.c++/virtfunc.exp: ditto.
* configure.in: Add options for gdbtk testsuite.
* configure: Regenerate.
* gdb.gdbtk: New directory to hold gdbtk tests.
* gdb.gdbtk/console.{exp, test}: New console window tests.
* gdb.c++/virtfunc.cc: Declare extern "C" printf to return int,
not void.
fche says he vaguely remembers a problem with returning int instead of
void, but ISO C sez printf returns int, so let's see what happens.
* gdb.base/branches.c: Code with lots of loops and
subroutines. Used to test gdbs ability to single step through PC
changes, especially to test mips-tdep.c:mips_next_pc
zap one group of persistent gdb testomat failures.
Mon Apr 13 22:32:51 1998 Frank Ch. Eigler <fche@cygnus.com>
* gdb.c++/virtfunc.cc: Make extern "C" printf declaration pass
more rigorous EGCS C++ error checking.
* gdb.base/help.exp: Clean up `help set args' and `help show args'
tests.
* gdb.base/interrupt.exp: Add "i*86-*-solaris2*" xfail for calling
function when asleep.
* gdb.base/signals.exp: Add "i*86-*-solaris2*" xfails. Add comment
for i*86 Linux and SVR4 signal handling problems.
Remove linux xfail for `next to handler in signals_tests_1', fixed
by recent infrun.c change.
Limit backtrace to 10 frames to avoid timeout problems with infinite
stack backtraces.
Adjust expect pattern in `handle all print' test to match Apr 28 1997
target.[ch] change.
* config/d10v/d10v.mt config/d30v/d30v.mt config/m32r/m32r.mt
config/mn10200/mn10200.mt config/mn10300/mn10300.mt : Remove -lm
from SIM. This prevents dependency checking of -lm (under NT
native builds). (It is automatically added by configure if it
exists.)
* doc/configure mswin/configure nlm/configure
testsuite/gdb.base/configure testsuite/gdb.c++/configure
testsuite/gdb.chill/configure testsuite/gdb.disasm/configure
testsuite/gdb.stabs/configure testsuite/gdb.threads/configure:
Regenerate with autoconf 2.12.1 to fix shell issues for NT native
builds.
define vxworks when building the testcase.
* gdb.base/ptype.exp: Fix testnames to be unique.
* gdb.base/radix.exp: Ditto.
* gdb.base/term.exp: Ditto.
* gdb.base/whatis.exp: Ditto.
* gdb.c++/classes.exp: Ditto.
More misc fixes.
* lib/gdb.exp(gdb_expect): Set remote_suppress_flag if
suppress_flag has been set.
(gdb_step_for_stub): Check for gdb,use_breakpoint_for_stub
target feature.
(gdb_run_cmd): Look for gdb,do_reload_on_run target feature--if it
exists, reload the executable and do a "continue" instead of
doing a jump.
(runto_main): Use gdb_step_for_stub.
* gdb.base/break.exp: Use gdb_step_for_stub. Also, rename certain
tests to have unique names.
* gdb.base/callfuncs.exp: Ditto.
* gdb.base/commands.exp: Ditto.
* gdb.base/default.exp: Ditto.
* gdb.base/help.exp: Ditto.
* gdb.base/list.exp: Ditto.
* gdb.base/opaque.exp: Ditto.
* gdb.base/printcmds.exp: Ditto. Use a loop to emit multiple
similar tests.
* gdb.base/setshow.c: Add set_debug_traps/breakpoint calls.
* gdb.c++/cplusfuncs.cc: Ditto.
* gdb.c++/virtfunc.cc: Ditto.
* config/monitor.exp: Keep track of the last file we saw, rather
than trying to get the info from gdb.
* gdb.fortran/types.exp: Move comment to previous line.
Fixes for TCL8 miscellaneous problems, plus other changes.
(gdb_run_cmd): Look for gdb,do_reload_on_run target feature--if it
exists, reload the executable and do a "continue" instead of
doing a jump.
(runto_main): Use gdb_step_for_stub.
* gdb.base/break.exp: Use gdb_step_for_stub. Also, rename certain
tests to have unique names.
* gdb.base/callfuncs.exp: Ditto.
* gdb.base/commands.exp: Ditto.
* gdb.base/default.exp: Ditto.
* gdb.base/help.exp: Ditto.
* gdb.base/list.exp: Ditto.
* gdb.base/opaque.exp: Ditto.
* gdb.base/printcmds.exp: Ditto. Use a loop to emit multiple
similar tests.
* gdb.base/setshow.c: Add set_debug_traps/breakpoint calls.
* gdb.c++/cplusfuncs.cc: Ditto.
* gdb.c++/virtfunc.cc: Ditto.
* config/monitor.exp: Keep track of the last file we saw, rather
than trying to get the info from gdb.
* gdb.fortran/types.exp: Move comment to previous line.
Fixes for TCL8 miscellaneous problems.
if we can't get a debug format from GDB (we may be testing an
older GDB). Use a 10 second timeout when checking for the format.
* gdb.stabs/weird.exp: Fix quoting.
until it has been modified to work with the new testsuite.
* gdb.*/*.exp: Instead of causing 1 unresolved test when the
testcase won't compile, cause all of the testcases in the file to
fail instead.
* lib/gdb.exp(gdb_suppress_entire_file): New procedure.
(gdb_clear_suppressed): New procedure.
(gdb_stop_suppressing_tests): Only clear suppress_flag if
it contains a positive value.
(get_debug_format): New function to get debug format.
(debug_format): New global variable to hold last value set
by get_debug_format.
* gdb.base/list.exp: Call get_debug_format and expect some
tests to fail for DWARF 1 and COFF formats.
* gdb.c++/ptype.exp: Ditto.
* gdb.c++/classes.exp: Ditto.
* gdb.c++/cplusfuncs.exp: Ditto.
* gdb.c++/inherit.exp: Ditto.
* gdb.c++/templates.exp: Ditto.
* gdb.c++/virtfunc.exp: Ditto.
host doesn't have a currently-open connection.
* config/sparclet.exp: Cleanups and fixes to make it generic for
any gdb stub target. Handle cases where gdb doesn't respond when
interrupted in a sane fashion.
* config/m32r.exp: Load sparclet.exp instead of trying to do the
same thing in a totally different way.
* config/monitor.exp: Pass in timeouts to gdb_expect instead of
setting "timeout".
(gdb_start): We set the global gdb_prompt variable in
default_gdb_init now.
initialize.
(default_gdb_init): New procedure; allow gdb_init to be overridden
by a target configuration file.
(gdb_expect): Pass the timeout to remote_expect.
* config/dos.exp(dos_wait): Add timeout parameter.
* lib/remote.exp(remote_expect): Add timeout parameter.
(remote_wait): Ditto.
(standard_wait): Ditto. Also give up if the program outputs
more than 512,000 bytes.
* config/vxworks.exp: Use timeout parameter instead of setting
timeout variable.
* config/dos.exp: Ditto.
* config/ddb.exp: Ditto.
* lib/mondfe.exp: Ditto.
* lib/rlogin.exp: Ditto.
* lib/telnet.exp: Ditto.
* config/base68k.exp: Ditto.
* config/i386-bozo.exp: Ditto.
* config/gdb-comm.exp: Ditto.
* config/gdb_stub.exp: Ditto.
* config/i960.exp: Ditto.
* config/ddb-ether.exp: Ditto.
* config/sim.exp: Ditto.
* lib/g++.exp(g++_init): Use g++_include_flags instead of making
up the includes ourselves.
here. Call gdb_target_exec before rebooting the target, to make
sure the connection to the target is closed.
(gdb_load): Pass the name of the executable to gdb_target_monitor.
Don't call gdb_file_cmd here; let gdb_target_monitor do it.
* config/gdbserver.exp: Pass the executable being loaded to
gdb_target_monitor. Don't call gdb_file_cmd here; let
gdb_target_monitor do it.
* gdb.disasm/hppa.exp: Don't use exec_output.
test_calls after restarting.
* lib/gdb.exp(gdb_run_cmd): Send jump command again after
reloading.
* gdb.base/watchpoint.exp: Fix typo.
* gdb.base/setshow.exp: Check for use_gdb_stub.
* gdb.base/break.exp: Fix continue until exit test for the gdb
stub case.
* gdb.base/langs.exp: Ditto.
* config/monitor.exp(gdb_load): Handle gdb_sect_offset and
gdb_load_offset. If we weren't given a file to load, figure out
what the current file is and use it.
does not require a command line arg, since most simulators
don't currently support passing such an arg into the simulated
program.
* gdb.base/commands.exp: Change tests to insert the proper
value as the arg to the first recursive factorial call. Change
compilation line to define FAKEARGV at compile time.
* gdb.base/help.exp: update help msg for INFO ADDR; add help test
for INFO SYMBOL; add help tests for OVERLAY commands.
* gdb.base/default.exp: add tests for INFO SYMBOL command;
add tests for OVERLAY commands
* gdb.base/overlays.c overlays.exp foo.c bar.c baz.c grbx.c ovlymgr.h
d10v.ld m32r.ld d10vovly.c m32rovly.c: add test case for overlays.
* gdb.base/sigall.c: add usestubs code frag
* gdb.base/watchpoint.c: turn on complex watchpoint test for M32R.
or netport.
* lib/gdb.exp: Set GDB to [transform gdb] if we're using a remote host
and it's not already set.
* gdb.base/setshow.exp: Only test the run command if the target
isn't using a stub and if it supports argument passing.
* gdb.disasm/mn10300.exp: Run mn10300 disassembler tests.
* gdb.disasm/Makefile.in: Remove "mn10300" when cleaning.
disassembler testsuite for the mn10300.
* gdb.base/help.exp: Ditto.
* gdb.base/list.exp: Ditto.
* gdb.base/signals.exp: Ditto.
* config/monitor.exp(gdb_load): If gdb,use_standard_load is
set, use remote_ld to download the testcase instead of
the GDB loader.
* gdb.base/ptype.exp: Don't call "gdb_exit; gdb_start" if we're
aborting; the testsuite driver will do that for us (see
gdb_finish). Also, use gdb_test in a few more places.
* gdb.disasm/configure.in: Remove references to target makefile
frags. Use "sh3.s" as the unique filename for this directory.
* gdb.disasm/configure: Rebuilt.
Cleaning up unused crud.
* gdb.disasm/mn10200.s: New test file for mn10200 disassembler.
* gdb.disasm/mn10200.exp: Run mn10200 disassembler tests.
* gdb.disasm/Makefile.in: Remove "mn10200" when cleaning.
mn10200 disassembler testsuite.
* config/vxworks.exp: New file.
* gdb.base/a2-run.exp: Change vxworks cases to use gdb_spawn_id.
* config/monitor.exp(gdb_target_monitor): Look for a prompt from
gdb before assuming everything worked. Send a ^C if a timeout
occurs.
Random fixes for vxworks and d10v.
exit status and/or results from the target.
* gdb.base/watchpoint.exp, gdb.base/langs.exp: Likewise.
* lib/gdb.exp: Remove old (now bogus) initialization of
noinferior, noargs, noresults and nosignals.
More cleanups for new testing framework.
* config/slite.exp: Try to connect multiple times to the board
before rebooting. Only send a "monitor run" if need_monitor_run
is set.
* gdb.base/break.exp: Don't do the "stub continue" test if
the target has gdb_stub set.
* gdb.base/callfuncs.exp: Increase the timeout.
* gdb.base/interrupt.exp: Don't even try to compile the testcase
if the target has gdb,noinferiorio set.
* gdb.base/list.exp: Increase match_max to 10000 characters.
* gdb.base/sigall.exp: Check for gdb,nosignals on the target.
* gdb.base/watchpoint.exp: Check for gdb,noinferiorio on the
target.
* lib/gdb.exp(gdb_run_cmd): Fix for targets that use stubs.
Misc fixes for sparclite and SH.
* config/slite.exp: Try to connect multiple times to the board
before rebooting. Only send a "monitor run" if need_monitor_run
is set.
* gdb.base/break.exp: Don't do the "stub continue" test if
the target has gdb_stub set.
* gdb.base/callfuncs.exp: Increase the timeout.
* gdb.base/interrupt.exp: Don't even try to compile the testcase
if the target has gdb,noinferiorio set.
* gdb.base/list.exp: Increase match_max to 10000 characters.
* gdb.base/sigall.exp: Check for gdb,nosignals on the target.
* gdb.base/watchpoint.exp: Check for gdb,noinferiorio on the
target.
* lib/gdb.exp(gdb_run_cmd): Fix for targets that use stubs.
Misc fixes for sparclite and SH.
trying to delete the copy of gdb. Catch the file delete so we
don't die if the delete fails; also, the file should be copied to
the host, not to the build.
Fixes problems when gdb isn't built with debugging.
parenthesis in case it contains multiple regexps separated
with |.
Fixes last nights native failures.
* gdb.base/watchpoint.exp: Use gdb_test.
* gdb.base/default.exp: Ditto.
More improvements.
* gdb.base/signals.exp: Check for a gdb,nosignals feature of
the target.
* gdb.base/watchpoint.exp: Fix regexp.
Random miscellaneous fixes. Gotta dig up all these global variables someday..
close and wait commands, as the descriptor may now be
invalid. Always call "remote_close host".
Makes sure things get cleaned up if gdb dies in the middle of a test.
use new i*86-pc-linux*-gnu quads.
* gdb.base/corefile.exp: Ditto.
* gdb.base/signals.exp: Ditto.
* gdb.base/sigall.exp: Ditto.
* gdb.base/interrupt.exp: Ditto.
* gdb.base/signals.exp (signal_tests_1): Remove setup_xfail
"i*86-*-linux" for "signal SIGUSR1". Now works, at least with
RedHat 4.0.
* gdb.threads/pthreads.c (_MIT_POSIX_THREADS): Define if target is
linux. This allows the test case to at least compile on latest
linux, but still not run due to missing the threads runtime library.
directory to search gdb directory. Accept and step over conditional
stack alignment code. Consume $prompt in failure cases.
Reset timeout to $oldtimeout instead of some arbitrary value.
* gdb.base/nodebug.exp: Limit backtrace to 10 frames to avoid
timeout problems with infinite stack backtraces.
* gdb.base/ptype.exp (ptype struct link, union tu_link):
Accept function parameters for linkfunc member.
(CXXFLAGS): Remove, unreferenced.
(B_OPTIONS): Add for -B options and add code to initialize with previous
-B options and also add -B option to pick up cross compiled runtime.
(TARGET_INCLUDES): Add for -I options and add code to initialize when
doing cross compiles.
(target_alias): Declare global.
(xgcc): Set variable to full path of gcc in build tree. Use findfile
to verify that gcc exists in build tree, and if so set CC to that
gcc and to use B_OPTIONS and TARGET_INCLUDES.
tests and anonymous union print/ptype tests.
* gdb.base/list.exp (test_forward-search): Increase timeout by
5 minutes for the "search extremely long line" case.
* lib/gdb.exp (gdb_test): Document that the third arg to gdb_test is
completely optional and that the pass/fail messages use the command as
the message if that third arg is a null string.
(gdb_test_exact): Arrange that a null string pattern means match a
null string output rather than any output, which might include random
errors.
* gdb.base/mips_pro.exp: Add "mips*-sgi-irix4*" xfail for
backtrace test.
* gdb.c++/demangle.exp: Add a "*-*-*" xfail for test that was
always failing and failure is now exposed by gdb.exp changes.
"call king(a, otto[[10, 15], [20, 25]])".
* pr-8742.exp: Add mips*-sgi-irix* xfails for
"pass int powerset tuple"
"pass set powerset tuple"
"pass modeless int powerset tuple" and
"pass modeless set powerset tuple".
* tuples.exp: Add sparc-*-solaris* and sparc-*-sunos*
xfails for several "set var" commands that are failing.
Convert most of the set commands into gdb_test_exact
commands.
* gdb.base/setshow.c: New file, tests show and set.
* gdb.base/help.exp: Add test for help set|show annotate.
* gdb.base/default.exp: Add test for set|show annotate.
PR 8511
errors unique.
* testsuite/gdb.base/nodebug.exp: Whack out all -g options
explicitly.
* v850-tdep.c (v850_init_extra_frame_info v850_frame_chain): Fix
sign bugs with scanning prologues. Get a little smarter about
calculating the length of uninteresting instructions.
and width commands. This is done elsewhere.
* (gdb_start): Don't call gdb_start_sim here. That's already
done in gdb_load. This fixes lots of failures in default.exp.
(distclean maintainer-clean realclean): No need to remove files
twice. Nuke the duplicates.
* gdb.base/Makefile.in (EXECUTABLES): Add "structs".
* gdb.threads/Makefile.in (distclean maintainer-clean realclean):
Remove config.h along with other config files.
"p func1 ()" and note that rests of tests are skipped.
* gdb.base/corefile.exp: Add i*86-*-linux* and m68*-*-hpux*
setup_xfails for "print func2::coremaker_local".
Add i*86-*-linux* setup_xfail for "backtrace in corefile.exp".
* gdb.base/mips_pro.exp: Restart gdb in this test so it isn't
affected by the previous run test.
* gdb.chill/misc.exp: Add m68*-*-hpux* setup_xfails for
"print array () ubyte (foo)" and "print/x array () byte (\$i)"
* gdb.chill/pr-8742.exp: Add m68*-*-hpux* setup_xfails for
"pass int powerset tuple" and "pass modeless int powerset tuple".
* gdb.chill/tests2.exp: Add m68*-*-hpux* setup xfails for
"real write 4" and "real write 8".
* gdb.shill/tuples.exp: Add i*86-*-linux* and m68*-*-hpux*
setup_xfails for "print vs1 after tuple assign 2",
"print \$i after tuple assign 2", and
"print vs2 after tuple assign 2".
* lib/gdb.exp (gdb_test): When a gdb aborts, print a more
meaningful error message and return -1 so the caller can
suppress further tests and avoid a cascade of errors.
format for printing version.
* gdb.base/default.exp: Ditto.
* gdb.base/interrupt.exp: Fix problem with cascade of
errors if child process dies while calling a function.
(just-check): Add shared library paths for libstdc++, tk,
tcl, bfd, and opcodes to the environment variable specified
in RPATH_ENVVAR.
* configure.in: Add support to recognize --enable-shared flag
and generate correct value for RPATH_ENVVAR.
* configure: Regenerated with autoconf.
PTHREAD_CREATE_NULL_ARG2): Accomodate old pthreads implementations.
* gdb.threads/pthreads.exp: Try linking with both -lpthread (Solaris)
and -lpthreads (everybody else).
(test_startup): Fail gracefully if threads are not supported.
* gdb.base/nodebug.exp: Add setup_xfail hppa*-*-hpux* for
"p/c array_index("abcdef",2)" when not gcc compiled.
* gdb.base/corefile.exp: Add setup_xfail hppa*-*-hpux* for
"print func2::coremaker_local" when not gcc compiled.
* gdb.base/opaque.exp: Remove setup_xfail hppa*-*-hpux* for
"ptype on opaque struct tagname (statically)",
"ptype on opaque struct tagname (dynamically) 1", and
"ptype on opaque struct tagname (dynamically) 2"
for not compiled with gcc.
* gdb.base/mips_pro.exp: Only do setup_xfail hppa*-*-* for
backtrace when compiled with gcc.
* lib/gdb.exp (runto_main): Return result of "runto main" rather
than always return success.
encapsulate all the steps/nexts done during self test, starting
at main, and makes them less sensitive to optimization issues.
Add "hppa*-*-hpux*" to setup_xfail for "backtrace through
signal handler" test.
* gdb.threads/pthreads.exp: Only run this for native configs.
* gdb.base/signals.exp (test_handle_all_print): Remove code that
increased timeouts, it now makes no difference.
* gdb.base/structs.exp (do_function_calls): Add hppa*-*-hpux9*"
setup_xfails for "p fun5()", "p fun6()", "p fun7()", and "p fun8"
tests.
gdb.c++/virtfunc.exp (do_tests): Add "mips-*-irix5*" setup_xfail
for "runto test_calls(void)" test.
structures.
* gdb.base/structs.c: C source for test.
Sanitized away until we've got a valid copyright assignment from
Michael Snyder.
Only tested on the PA. I assume other ports will needs some xfails
and other possible testsuite tweakage.
"buffer_full".
* config/nind-gdb.exp (gdb_start): Use "full_buffer", not
"buffer_full".
* config/mips-gdb.exp (gdb_start): Use "full_buffer", not
"buffer_full".
* lib/gdb.exp (gdb_test): Correct pattern is "full_buffer", not
"buffer_full".
each signal's status in the output of "handle all print".
* lib/gdb.exp (gdb_test): Document that the pattern must NOT include
the \r\n sequence that immediately precedes the gdb prompt.
* gdb.base/a1-selftest.exp: Save original timeout and restore
after test.
gdb initialization, also report how long dejagnu waited. Restore
old timeout before doing error return. Temporarily increase timeout
by 3 minutes to allow for slow startups over heavy NFS use.
attempting to regenerate it. Eliminate use of a temporary file
and just generate the info file directly. Source it immediately,
for consistency of use.
* gdb.base/corefile.exp: Ditto
* gdb.base/exprs.exp: Ditto.
* gdb.base/funcargs.exp: Ditto.
* gdb.base/langs.exp: Ditto.
* gdb.base/list.exp: Ditto.
* gdb.base/mips_pro.exp: Ditto.
* gdb.base/nodebug.exp: Ditto.
* gdb.base/opaque.exp: Ditto.
* gdb.base/ptype.exp: Ditto.
* gdb.base/scope.exp: Ditto.
* gdb.base/setvar.exp: Ditto.
* gdb.base/signals.exp: Ditto.
* gdb.base/whatis.exp: Ditto.
* gdb.c++/templates.exp: Ditto.
* gdb.c++/virtfunc.exp: Ditto.
* gdb.c++/virtfunc.exp: Use contents of gcc_compiled to decide
whether or not to add -lstdc++ to the compile command line args.
break.c.
* gdb.base/callfuncs.exp: Don't run these tests on the h8300.
* gdb.base/default.exp: Add h8300 xfails. Handle messages
from remote-sim.
* gdb.base/exprs.exp: Add h8300 xfails.
* gdb.base/funcargs.exp: Likewise.
* gdb.base/nodebug.exp: Likewise.
* gdb.base/printcmds.exp: Likewise.
* gdb.base/ptype.exp: Likewise.
* gdb.base/setvar.exp: Handle sizeof (int) != 4 for h8300. Add
h8300 xfails.
* gdb.base/return.exp: Handle float/double precision problems
on the h8300.
* gdb.base/funcargs.c: Explicitly make last constant argument to
call_after_alloca_subr an unsigned long type.
* gdb.base/return.c: Include stdio.h.
Testsuite work for the H8/300 -gstabs. HMSE.
we always regenerate the coremaker program. Detect special case
where registers cannot be read from core file. Change setup_xfail
for "print func2:coremaker_local" and "backtrace in corefile.exp"
to fail for all i*86 targets.
* gdb.base/funcargs.c: Patch for SPARCworks alloca compatibility
* gdb.c++/templates.exp: Only match on basename of file since
some formats like xcoff don't encode directory information.
* gdb.stabs/weird.exp: Use the right sed script for powerpc
and rs6000 AIX xcoff targets.
* configure.in: Add stabsdirs to configdirs for powerpc-*-aix*.
* configure: Regenerate.
* gdb.base/Makefile.in (clean): Remove generated file twice-tmp.c
here, rather than in distclean.
defined, and use it to compile the test case with -O2. The
native compilation still uses no optimization.
* gdb.base/mips_pro.c: Remove inline assembly code since
it is compiled PIC by default, which results in assembler
warnings that make the testsuite think the compilation
was unsuccessful.
breakpoints (y or n) ". Add "mips-dec-ultrix*" to
setup_xfail for deleting all breakpoints test. Fix various
timeout messages to include "(timeout)".
* gdb.base/callfuncs.exp: Add "i*86-*-sysv4*" to setup_xfail
for "p t_float_values2(3.14159,float_val2)".
* gdb.base/funcargs.exp: Remove "mips-sgi-irix4*" setup_xfail
for "continue to call2g" when gcc compiled.
* gdb.base/langs.exp: Remove "i*86-*-sysv4*" setup_xfail for
"up to foo in langs.exp", "show language at foo in langs.exp",
"show language at cppsub_ in langs.exp", "up to fsub in langs.exp",
and "show language at fsub in langs.exp".
* gdb.base/list.exp: Remove "*-*-sysv4*" setup_xfail for
"list line 1 in include file", "list message for lines past EOF",
"list function in include file", "list list0.h:foo", and
"list filename:function; nonexistant function".
* gdb.base/ptype.exp: Change "i*86-*-sysv4*" setup_xfail for
"whatis unnamed typedef'd enum (compiler bug in IBM's xlc)"
and "ptype t_char_array" to be for native cc only.