[t][tools] Allow assigning to lowercase register names in parrot_debugger, since...
[parrot.git] / config / auto / va_ptr.pm
blob7f0bc93346f2e86b7578c1fa7f7e1458075d9ca4
1 # Copyright (C) 2001-2007, Parrot Foundation.
2 # $Id$
4 =head1 NAME
6 config/auto/va_ptr.pm - va_list to va_ptr conversion test
8 =head1 DESCRIPTION
10 Tests which kind of PARROT_VA_TO_VAPTR to use.
12 =cut
14 package auto::va_ptr;
16 use strict;
17 use warnings;
19 use base qw(Parrot::Configure::Step);
21 use Parrot::Configure::Utils ':auto';
24 sub _init {
25 my $self = shift;
26 my %data;
27 $data{description} = q{Test the type of va_ptr};
28 $data{result} = q{};
29 return \%data;
32 sub runstep {
33 my ( $self, $conf ) = @_;
35 my $va_type;
36 $conf->cc_gen('config/auto/va_ptr/test_c.in');
37 eval { $conf->cc_build('-DVA_TYPE_STACK'); };
39 if ( $@ || $conf->cc_run() !~ /^ok/ ) {
40 eval { $conf->cc_build('-DVA_TYPE_REGISTER'); };
41 if ( $@ || $conf->cc_run() !~ /^ok/ ) {
42 die "Unknown va_ptr type";
44 $va_type = 'register';
46 else {
47 $va_type = 'stack';
49 $conf->cc_clean();
50 $self->set_result($va_type);
51 $conf->data->set( va_ptr_type => $va_type );
53 return 1;
58 # Local Variables:
59 # mode: cperl
60 # cperl-indent-level: 4
61 # fill-column: 100
62 # End:
63 # vim: expandtab shiftwidth=4: