#   Copyright 1997, 1998, 1999 Free Software Foundation, Inc.

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  

# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu

# Written by Satish Pai <pai@apollo.hp.com> 1997-07-07
#    In the spirit of constvars.exp: added volatile, const-volatile stuff.

# This file is part of the gdb testsuite
# Tests for:
#           volatile vars
#           pointers to volatile vars
#           const volatile vars
#           pointers to const volatile vars
#           const pointers to volatile vars
#           volatile pointers to const vars
#           const volatile pointers to const vars
#           const volatile pointers to volatile vars
#           ... etc.  (you get the idea)
# Mostly with char and unsigned char.                    

if $tracelevel then {
        strace $tracelevel
        }

#
# test running programs
#
set prms_id 0
set bug_id 0

# Use the same test program constvars.c.

set testfile "constvars"
set srcfile ${testfile}.c
set binfile ${objdir}/${subdir}/${testfile}

# Create and source the file that provides information about the compiler
# used to compile the test case.
if [get_compiler_info ${binfile}] {
    return -1;
}

if {$hp_aCC_compiler || $hp_cc_compiler} {
    set lang "c++"
} else {
    set lang ""
}

if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [concat debug $lang]] != "" } {
     gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}

remote_exec build "rm -f ${binfile}.ci"
if  [get_compiler_info ${binfile}] {
    return -1
}

gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}

source ${binfile}.ci

#
# set it up at a breakpoint so we can play with the variable values
#
if ![runto_main] then {
    perror "couldn't run to breakpoint"
    continue
}

get_debug_format

proc local_compiler_xfail_check { } {
    global gcc_compiled;

    if {$gcc_compiled} then {
	if { ![test_debug_format "HP"] \
		&& ![test_debug_format "DWARF 2"] } then {
	    setup_xfail "*-*-*" 
	}
    }
}

send_gdb "break marker1\n" ; gdb_expect -re ".*$gdb_prompt $"

    send_gdb "cont\n"
    gdb_expect {
        -re "Break.* marker1 \\(\\) at .*:$decimal.*$gdb_prompt $" {
            send_gdb "up\n"
            gdb_expect {
                -re ".*$gdb_prompt $" {}
                timeout { fail "up from marker1" }
            }
        }
        -re "Break.* marker1__.* \\(\\) at .*:$decimal.*$gdb_prompt $" {
	    fail "continue to marker1 (demangling)"
            send_gdb "up\n"
            gdb_expect {
                -re ".*$gdb_prompt $" {}
                timeout { fail "up from marker1" }
            }
        }
        -re "$gdb_prompt $" { fail "continue to marker1"  }
        timeout { fail "(timeout) continue to marker1"  }
    }

# As of Feb 1999, GCC does not issue info about volatility of vars, so
# these tests are all expected to fail if GCC is the compiler. -sts

local_compiler_xfail_check
gdb_test "ptype vox" "type = volatile char.*"

local_compiler_xfail_check
gdb_test "ptype victuals" "type = volatile unsigned char.*"

local_compiler_xfail_check
gdb_test "ptype vixen" "type = volatile short.*"

local_compiler_xfail_check
gdb_test "ptype vitriol" "type = volatile (unsigned short|short unsigned)( int)?.*"

local_compiler_xfail_check
gdb_test "ptype vellum" "type = volatile long.*"

local_compiler_xfail_check
gdb_test "ptype valve" "type = volatile (unsigned long|long unsigned)( int)?.*"

local_compiler_xfail_check
gdb_test "ptype vacuity" "type = volatile float.*"

local_compiler_xfail_check
gdb_test "ptype vertigo" "type = volatile double.*"

local_compiler_xfail_check
gdb_test "ptype vampire" "type = volatile char \\*.*"

local_compiler_xfail_check
gdb_test "ptype viper" "type = volatile unsigned char \\*.*"

local_compiler_xfail_check
gdb_test "ptype vigour" "type = volatile short( int)? \\*.*"

local_compiler_xfail_check
gdb_test "ptype vapour" "type = volatile (unsigned short|short unsigned)( int)? \\*.*"

local_compiler_xfail_check
gdb_test "ptype ventricle" "type = volatile long( int)? \\*.*"

local_compiler_xfail_check
gdb_test "ptype vigintillion" "type = volatile (unsigned long|long unsigned)( int)? \\*.*"

local_compiler_xfail_check
gdb_test "ptype vocation" "type = volatile float \\*.*"

local_compiler_xfail_check
gdb_test "ptype veracity" "type = volatile double \\*.*"

local_compiler_xfail_check
gdb_test "ptype vapidity" "type = volatile char \\* volatile.*"

local_compiler_xfail_check
gdb_test "ptype velocity" "type = volatile unsigned char \\* volatile.*"

local_compiler_xfail_check
gdb_test "ptype veneer" "type = volatile short( int)? \\* volatile.*"

local_compiler_xfail_check
gdb_test "ptype video" "type = volatile (unsigned short|short unsigned)( int) \\* volatile.*"

local_compiler_xfail_check
gdb_test "ptype vacuum" "type = volatile long( int)? \\* volatile.*"

local_compiler_xfail_check
gdb_test "ptype veniality" "type = volatile (unsigned long|long unsigned)( int)? \\* volatile.*"

local_compiler_xfail_check
gdb_test "ptype vitality" "type = volatile float \\* volatile.*"

local_compiler_xfail_check
gdb_test "ptype voracity" "type = volatile double \\* volatile.*"

local_compiler_xfail_check
gdb_test "ptype victor" "type = const volatile char.*"

local_compiler_xfail_check
gdb_test "ptype vicar" "type = const volatile unsigned char.*"

local_compiler_xfail_check
gdb_test "ptype victory" "type = const volatile char \\*.*"

local_compiler_xfail_check
gdb_test "ptype vicarage" "type = const volatile unsigned char \\*.*"

local_compiler_xfail_check
gdb_test "ptype vein" "type = volatile char \\* const.*"

local_compiler_xfail_check
gdb_test "ptype vogue" "type = volatile unsigned char \\* const.*"

local_compiler_xfail_check
gdb_test "ptype cavern" "type = const volatile char \\* const.*"

local_compiler_xfail_check
gdb_test "ptype coverlet" "type = const volatile unsigned char \\* const.*"

local_compiler_xfail_check
gdb_test "ptype caveat" "type = const char \\* volatile.*"

local_compiler_xfail_check
gdb_test "ptype covenant" "type = const unsigned char \\* volatile.*"

local_compiler_xfail_check
gdb_test "ptype vizier" "type = const volatile char \\* volatile.*"

local_compiler_xfail_check
gdb_test "ptype vanadium" "type = const volatile unsigned char \\* volatile.*"

local_compiler_xfail_check
gdb_test "ptype vane" "type = char \\* const volatile.*"

local_compiler_xfail_check
gdb_test "ptype veldt" "type = unsigned char \\* const volatile.*"

local_compiler_xfail_check
gdb_test "ptype cove" "type = const char \\* const volatile.*"

local_compiler_xfail_check
gdb_test "ptype cavity" "type = const unsigned char \\* const volatile.*"

local_compiler_xfail_check
gdb_test "ptype vagus" "type = volatile char \\* const volatile.*"

local_compiler_xfail_check
gdb_test "ptype vagrancy" "type = volatile unsigned char \\* const volatile.*"

local_compiler_xfail_check
gdb_test "ptype vagary" "type = const volatile char \\* const volatile.*"

local_compiler_xfail_check
gdb_test "ptype vendor" "type = const volatile unsigned char \\* const volatile.*"

# test function parameters
local_compiler_xfail_check
send_gdb "ptype qux2\n"
gdb_expect {
    -re "type = int \\(volatile unsigned char, const volatile int, volatile short( int)?, volatile long( int)? \\*, float \\* volatile, const volatile signed char \\* const volatile\\).*$gdb_prompt $" {
        pass "ptype qux2"
    }
    -re ".*$gdb_prompt $" { fail "ptype qux2" }
    timeout           { fail "(timeout) ptype qux2" }
  }   
