# Copyright 2010 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 3 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, see <http://www.gnu.org/licenses/>.  */
#
# Contributed by Ken Werner <ken.werner@de.ibm.com>.
#
# Tests OpenCL data types.

if $tracelevel {
    strace $tracelevel
}

load_lib opencl.exp

if { [skip_opencl_tests] } {
    return 0
}

set testfile "datatypes"
set clprogram [remote_download target ${srcdir}/${subdir}/${testfile}.cl]

# Compile the generic OpenCL host app
if { [gdb_compile_opencl_hostapp "${clprogram}" "${testfile}" "" ] != "" } {
    untested ${testfile}.exp
    return -1
}

gdb_exit
gdb_start

# Manually switch the language to opencl
gdb_test_no_output "set language opencl" "No prompt when setting the language to opencl"

# Check OpenCL data types (GDB)
gdb_test "whatis bool" "type = bool"
gdb_test "p sizeof(bool)" " = 4"

gdb_test "whatis char" "type = char"
gdb_test "p sizeof(char)" " = 1"
gdb_test "whatis char2" "type = char2"
gdb_test "p sizeof(char2)" " = 2"
gdb_test "whatis char3" "type = char3"
gdb_test "p sizeof(char3)" " = 4"
gdb_test "whatis char4" "type = char4"
gdb_test "p sizeof(char4)" " = 4"
gdb_test "whatis char8" "type = char8"
gdb_test "p sizeof(char8)" " = 8"
gdb_test "whatis char16" "type = char16"
gdb_test "p sizeof(char16)" " = 16"

gdb_test "whatis unsigned char" "type = unsigned char"
gdb_test "p sizeof(unsigned char)" " = 1"
gdb_test "whatis uchar" "type = uchar"
gdb_test "p sizeof(uchar)" " = 1"
gdb_test "whatis uchar2" "type = uchar2"
gdb_test "p sizeof(uchar2)" " = 2"
gdb_test "whatis uchar3" "type = uchar3"
gdb_test "p sizeof(uchar3)" " = 4"
gdb_test "whatis uchar4" "type = uchar4"
gdb_test "p sizeof(uchar4)" " = 4"
gdb_test "whatis uchar8" "type = uchar8"
gdb_test "p sizeof(uchar8)" " = 8"
gdb_test "whatis uchar16" "type = uchar16"
gdb_test "p sizeof(uchar16)" " = 16"

gdb_test "whatis short" "type = short"
gdb_test "p sizeof(short)" " = 2"
gdb_test "whatis short2" "type = short2"
gdb_test "p sizeof(short2)" " = 4"
gdb_test "whatis short3" "type = short3"
gdb_test "p sizeof(short3)" " = 8"
gdb_test "whatis short4" "type = short4"
gdb_test "p sizeof(short4)" " = 8"
gdb_test "whatis short8" "type = short8"
gdb_test "p sizeof(short8)" " = 16"
gdb_test "whatis short16" "type = short16"
gdb_test "p sizeof(short16)" " = 32"

gdb_test "whatis unsigned short" "type = unsigned short"
gdb_test "p sizeof(unsigned short)" " = 2"
gdb_test "whatis ushort" "type = ushort"
gdb_test "p sizeof(ushort)" " = 2"
gdb_test "whatis ushort2" "type = ushort2"
gdb_test "p sizeof(ushort2)" " = 4"
gdb_test "whatis ushort3" "type = ushort3"
gdb_test "p sizeof(ushort3)" " = 8"
gdb_test "whatis ushort4" "type = ushort4"
gdb_test "p sizeof(ushort4)" " = 8"
gdb_test "whatis ushort8" "type = ushort8"
gdb_test "p sizeof(ushort8)" " = 16"
gdb_test "whatis ushort16" "type = ushort16"
gdb_test "p sizeof(ushort16)" " = 32"

gdb_test "whatis int" "type = int"
gdb_test "p sizeof(int)" " = 4"
gdb_test "whatis int2" "type = int2"
gdb_test "p sizeof(int2)" " = 8"
gdb_test "whatis int3" "type = int3"
gdb_test "p sizeof(int3)" " = 16"
gdb_test "whatis int4" "type = int4"
gdb_test "p sizeof(int4)" " = 16"
gdb_test "whatis int8" "type = int8"
gdb_test "p sizeof(int8)" " = 32"
gdb_test "whatis int16" "type = int16"
gdb_test "p sizeof(int16)" " = 64"

gdb_test "whatis unsigned int" "type = unsigned int"
gdb_test "p sizeof(unsigned int)" " = 4"
gdb_test "whatis uint" "type = uint"
gdb_test "p sizeof(uint)" " = 4"
gdb_test "whatis uint2" "type = uint2"
gdb_test "p sizeof(uint2)" " = 8"
gdb_test "whatis uint3" "type = uint3"
gdb_test "p sizeof(uint3)" " = 16"
gdb_test "whatis uint4" "type = uint4"
gdb_test "p sizeof(uint4)" " = 16"
gdb_test "whatis uint8" "type = uint8"
gdb_test "p sizeof(uint8)" " = 32"
gdb_test "whatis uint16" "type = uint16"
gdb_test "p sizeof(uint16)" " = 64"

gdb_test "whatis long" "type = long"
gdb_test "p sizeof(long)" " = 8"
gdb_test "whatis long2" "type = long2"
gdb_test "p sizeof(long2)" " = 16"
gdb_test "whatis long3" "type = long3"
gdb_test "p sizeof(long3)" " = 32"
gdb_test "whatis long4" "type = long4"
gdb_test "p sizeof(long4)" " = 32"
gdb_test "whatis long8" "type = long8"
gdb_test "p sizeof(long8)" " = 64"
gdb_test "whatis long16" "type = long16"
gdb_test "p sizeof(long16)" " = 128"

gdb_test "whatis unsigned long" "type = unsigned long"
gdb_test "p sizeof(unsigned long)" " = 8"
gdb_test "whatis ulong" "type = ulong"
gdb_test "p sizeof(ulong)" " = 8"
gdb_test "whatis ulong2" "type = ulong2"
gdb_test "p sizeof(ulong2)" " = 16"
gdb_test "whatis ulong3" "type = ulong3"
gdb_test "p sizeof(ulong3)" " = 32"
gdb_test "whatis ulong4" "type = ulong4"
gdb_test "p sizeof(ulong4)" " = 32"
gdb_test "whatis ulong8" "type = ulong8"
gdb_test "p sizeof(ulong8)" " = 64"
gdb_test "whatis ulong16" "type = ulong16"
gdb_test "p sizeof(ulong16)" " = 128"

gdb_test "whatis half" "type = half"
gdb_test "p sizeof(half)" " = 2"
gdb_test "whatis half2" "type = half2"
gdb_test "p sizeof(half2)" " = 4"
gdb_test "whatis half3" "type = half3"
gdb_test "p sizeof(half3)" " = 8"
gdb_test "whatis half4" "type = half4"
gdb_test "p sizeof(half4)" " = 8"
gdb_test "whatis half8" "type = half8"
gdb_test "p sizeof(half8)" " = 16"
gdb_test "whatis half16" "type = half16"
gdb_test "p sizeof(half16)" " = 32"

gdb_test "whatis float" "type = float"
gdb_test "p sizeof(float)" " = 4"
gdb_test "whatis float2" "type = float2"
gdb_test "p sizeof(float2)" " = 8"
gdb_test "whatis float3" "type = float3"
gdb_test "p sizeof(float3)" " = 16"
gdb_test "whatis float4" "type = float4"
gdb_test "p sizeof(float4)" " = 16"
gdb_test "whatis float8" "type = float8"
gdb_test "p sizeof(float8)" " = 32"
gdb_test "whatis float16" "type = float16"
gdb_test "p sizeof(float16)" " = 64"

gdb_test "whatis double" "type = double"
gdb_test "p sizeof(double)" " = 8"
gdb_test "whatis double2" "type = double2"
gdb_test "p sizeof(double2)" " = 16"
gdb_test "whatis double3" "type = double3"
gdb_test "p sizeof(double3)" " = 32"
gdb_test "whatis double4" "type = double4"
gdb_test "p sizeof(double4)" " = 32"
gdb_test "whatis double8" "type = double8"
gdb_test "p sizeof(double8)" " = 64"
gdb_test "whatis double16" "type = double16"
gdb_test "p sizeof(double16)" " = 128"

# Set the language back to the default: "auto; currently c"
gdb_test_no_output "set language c" "No prompt when setting the language to c"
gdb_test_no_output "set language auto" "No prompt when setting the language to auto"

# Load the OpenCL app
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${objdir}/${subdir}/${testfile}

# Set breakpoint at the OpenCL kernel
gdb_test_multiple "break testkernel" "set pending breakpoint" {
     -re ".*Function \"testkernel\" not defined.*Make breakpoint pending.*y or \\\[n\\\]. $" {
            gdb_test "y" "Breakpoint.*testkernel.*pending." "set pending breakpoint (without symbols)"
     }
}

gdb_run_cmd
gdb_test "" ".*Breakpoint.*1.*testkernel.*" "run"

# Check if the language was switched to opencl
gdb_test "show language" "The current source language is \"auto; currently opencl\"\."

# Retrieve some information about the OpenCL version and the availability of extensions
set opencl_version [get_integer_valueof "opencl_version" 0]
set have_cl_khr_fp64 [get_integer_valueof "have_cl_khr_fp64" 0]
set have_cl_khr_fp16 [get_integer_valueof "have_cl_khr_fp16" 0]

# Check OpenCL data types (DWARF)
gdb_test "whatis b" "type = bool"
gdb_test "p sizeof(b)" " = 4"
gdb_test "print b" " = 0"

gdb_test "whatis c" "type = char"
gdb_test "p sizeof(c)" " = 1"
gdb_test "print/d c" " = 1"
gdb_test "whatis c2" "type = char \\\[2\\\]"
gdb_test "p sizeof(c2)" " = 2"
gdb_test "print c2" " = \\{1, 2\\}"
if { ${opencl_version} >= 110 } {
  gdb_test "whatis c3" "type = char \\\[3\\\]"
  gdb_test "p sizeof(c3)" " = 4"
  gdb_test "print c3" " = \\{1, 2, 3\\}"
}
gdb_test "whatis c4" "type = char \\\[4\\\]"
gdb_test "p sizeof(c4)" " = 4"
gdb_test "print c4" " = \\{1, 2, 3, 4\\}"
gdb_test "whatis c8" "type = char \\\[8\\\]"
gdb_test "p sizeof(c8)" " = 8"
gdb_test "print c8" " = \\{1, 2, 3, 4, 5, 6, 7, 8\\}"
gdb_test "whatis c16" "type = char \\\[16\\\]"
gdb_test "p sizeof(c16)" " = 16"
gdb_test "print c16" " = \\{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16\\}"

gdb_test "whatis uc" "type = (uchar|unsigned char)"
gdb_test "p sizeof(uc)" " = 1"
gdb_test "print/d uc" " = 1"
gdb_test "whatis uc2" "type = (uchar|unsigned char) \\\[2\\\]"
gdb_test "p sizeof(uc2)" " = 2"
gdb_test "print uc2" " = \\{1, 2\\}"
if { ${opencl_version} >= 110 } {
  gdb_test "whatis uc3" "type = (uchar|unsigned char) \\\[3\\\]"
  gdb_test "p sizeof(uchar3)" " = 4"
  gdb_test "print uc3" " = \\{1, 2, 3\\}"
}
gdb_test "whatis uc4" "type = (uchar|unsigned char) \\\[4\\\]"
gdb_test "p sizeof(uc4)" " = 4"
gdb_test "print uc4" " = \\{1, 2, 3, 4\\}"
gdb_test "whatis uc8" "type = (uchar|unsigned char) \\\[8\\\]"
gdb_test "p sizeof(uc8)" " = 8"
gdb_test "print uc8" " = \\{1, 2, 3, 4, 5, 6, 7, 8\\}"
gdb_test "whatis uc16" "type = (uchar|unsigned char) \\\[16\\\]"
gdb_test "p sizeof(uc16)" " = 16"
gdb_test "print uc16" " = \\{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16\\}"

gdb_test "whatis s" "type = short"
gdb_test "p sizeof(s)" " = 2"
gdb_test "print s" " = -1"
gdb_test "whatis s2" "type = short \\\[2\\\]"
gdb_test "p sizeof(s2)" " = 4"
gdb_test "print s2" " = \\{-1, -2\\}"
if { ${opencl_version} >= 110 } {
  gdb_test "whatis s3" "type = short \\\[3\\\]"
  gdb_test "p sizeof(s3)" " = 8"
  gdb_test "print s3" " = \\{-1, -2, -3\\}"
}
gdb_test "whatis s4" "type = short \\\[4\\\]"
gdb_test "p sizeof(s4)" " = 8"
gdb_test "print s4" " = \\{-1, -2, -3, -4\\}"
gdb_test "whatis s8" "type = short \\\[8\\\]"
gdb_test "p sizeof(s8)" " = 16"
gdb_test "print s8" " = \\{-1, -2, -3, -4, -5, -6, -7, -8\\}"
gdb_test "whatis s16" "type = short \\\[16\\\]"
gdb_test "p sizeof(s16)" " = 32"
gdb_test "print s16" " = \\{-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16\\}"

gdb_test "whatis us" "type = (ushort|unsigned short)"
gdb_test "p sizeof(us)" " = 2"
gdb_test "print us" " = 1"
gdb_test "whatis us2" "type = (ushort|unsigned short) \\\[2\\\]"
gdb_test "p sizeof(us2)" " = 4"
gdb_test "print us2" " = \\{1, 2\\}"
if { ${opencl_version} >= 110 } {
  gdb_test "whatis us3" "type = (ushort|unsigned short) \\\[3\\\]"
  gdb_test "p sizeof(us3)" " = 8"
  gdb_test "print us3" " = \\{1, 2, 3\\}"
}
gdb_test "whatis us4" "type = (ushort|unsigned short) \\\[4\\\]"
gdb_test "p sizeof(us4)" " = 8"
gdb_test "print us4" " = \\{1, 2, 3, 4\\}"
gdb_test "whatis us8" "type = (ushort|unsigned short) \\\[8\\\]"
gdb_test "p sizeof(us8)" " = 16"
gdb_test "print us8" " = \\{1, 2, 3, 4, 5, 6, 7, 8\\}"
gdb_test "whatis us16" "type = (ushort|unsigned short) \\\[16\\\]"
gdb_test "p sizeof(us16)" " = 32"
gdb_test "print us16" " = \\{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16\\}"

gdb_test "whatis i" "type = int"
gdb_test "p sizeof(i)" " = 4"
gdb_test "print i" " = -1"
gdb_test "whatis i2" "type = int \\\[2\\\]"
gdb_test "p sizeof(i2)" " = 8"
gdb_test "print i2" " = \\{-1, -2\\}"
if { ${opencl_version} >= 110 } {
  gdb_test "whatis i3" "type = int \\\[3\\\]"
  gdb_test "p sizeof(i3)" " = 16"
  gdb_test "print i3" " = \\{-1, -2, -3\\}"
}
gdb_test "whatis i4" "type = int \\\[4\\\]"
gdb_test "p sizeof(i4)" " = 16"
gdb_test "print i4" " = \\{-1, -2, -3, -4\\}"
gdb_test "whatis i8" "type = int \\\[8\\\]"
gdb_test "p sizeof(i8)" " = 32"
gdb_test "print i8" " = \\{-1, -2, -3, -4, -5, -6, -7, -8\\}"
gdb_test "whatis i16" "type = int \\\[16\\\]"
gdb_test "p sizeof(i16)" " = 64"
gdb_test "print i16" " = \\{-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16\\}"

gdb_test "whatis ui" "type = (uint|unsigned int)"
gdb_test "p sizeof(ui)" " = 4"
gdb_test "print ui" " = 1"
gdb_test "whatis ui2" "type = (uint|unsigned int) \\\[2\\\]"
gdb_test "p sizeof(ui2)" " = 8"
gdb_test "print ui2" " = \\{1, 2\\}"
if { ${opencl_version} >= 110 } {
  gdb_test "whatis ui3" "type = (uint|unsigned int) \\\[3\\\]"
  gdb_test "p sizeof(ui3)" " = 16"
  gdb_test "print ui3" " = \\{1, 2, 3\\}"
}
gdb_test "whatis ui4" "type = (uint|unsigned int) \\\[4\\\]"
gdb_test "p sizeof(ui4)" " = 16"
gdb_test "print ui4" " = \\{1, 2, 3, 4\\}"
gdb_test "whatis ui8" "type = (uint|unsigned int) \\\[8\\\]"
gdb_test "p sizeof(ui8)" " = 32"
gdb_test "print ui8" " = \\{1, 2, 3, 4, 5, 6, 7, 8\\}"
gdb_test "whatis ui16" "type = (uint|unsigned int) \\\[16\\\]"
gdb_test "p sizeof(ui16)" " = 64"
gdb_test "print ui16" " = \\{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16\\}"

gdb_test "whatis l" "type = long"
gdb_test "p sizeof(l)" " = 8"
gdb_test "print l" " = -1"
gdb_test "whatis l2" "type = long \\\[2\\\]"
gdb_test "p sizeof(l2)" " = 16"
gdb_test "print l2" " = \\{-1, -2\\}"
if { ${opencl_version} >= 110 } {
  gdb_test "whatis l3" "type = long \\\[3\\\]"
  gdb_test "p sizeof(l3)" " = 32"
  gdb_test "print l3" " = \\{-1, -2, -3\\}"
}
gdb_test "whatis l4" "type = long \\\[4\\\]"
gdb_test "p sizeof(l4)" " = 32"
gdb_test "print l4" " = \\{-1, -2, -3, -4\\}"
gdb_test "whatis l8" "type = long \\\[8\\\]"
gdb_test "p sizeof(l8)" " = 64"
gdb_test "print l8" " = \\{-1, -2, -3, -4, -5, -6, -7, -8\\}"
gdb_test "whatis l16" "type = long \\\[16\\\]"
gdb_test "p sizeof(l16)" " = 128"
gdb_test "print l16" " = \\{-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16\\}"

gdb_test "whatis ul" "type = (ulong|unsigned long)"
gdb_test "p sizeof(ul)" " = 8"
gdb_test "print ul" " = 1"
gdb_test "whatis ul2" "type = (ulong|unsigned long) \\\[2\\\]"
gdb_test "p sizeof(ul2)" " = 16"
gdb_test "print ul2" " = \\{1, 2\\}"
if { ${opencl_version} >= 110 } {
  gdb_test "whatis ul3" "type = (ulong|unsigned long) \\\[3\\\]"
  gdb_test "p sizeof(ul3)" " = 32"
  gdb_test "print ul3" " = \\{1, 2, 3\\}"
}
gdb_test "whatis ul4" "type = (ulong|unsigned long) \\\[4\\\]"
gdb_test "p sizeof(ul4)" " = 32"
gdb_test "print ul4" " = \\{1, 2, 3, 4\\}"
gdb_test "whatis ul8" "type = (ulong|unsigned long) \\\[8\\\]"
gdb_test "p sizeof(ul8)" " = 64"
gdb_test "print ul8" " = \\{1, 2, 3, 4, 5, 6, 7, 8\\}"
gdb_test "whatis ul16" "type = (ulong|unsigned long) \\\[16\\\]"
gdb_test "p sizeof(ul16)" " = 128"
gdb_test "print ul16" " = \\{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16\\}"

gdb_test "whatis ph" "type = half *"
gdb_test "whatis *ph" "type = half"
gdb_test "p sizeof(*ph)" " = 2"

if { ${have_cl_khr_fp16} } {
  gdb_test "whatis h" "type = half"
  gdb_test "p sizeof(h)" " = 2"
  gdb_test "print h" " = 1"
  gdb_test "whatis h2" "type = half \\\[2\\\]"
  gdb_test "p sizeof(h2)" " = 4"
  gdb_test "print h2" " = \\{1, 2\\}"
  if { ${opencl_version} >= 110 } {
    gdb_test "whatis h3" "type = half \\\[3\\\]"
    gdb_test "p sizeof(h3)" " = 8"
    gdb_test "print h3" " = \\{1, 2, 3\\}"
  }
  gdb_test "whatis h4" "type = half \\\[4\\\]"
  gdb_test "p sizeof(h4)" " = 8"
  gdb_test "print h4" " = \\{1, 2, 3, 4\\}"
  gdb_test "whatis h8" "type = half \\\[8\\\]"
  gdb_test "p sizeof(h8)" " = 16"
  gdb_test "print h8" " = \\{1, 2, 3, 4, 5, 6, 7, 8\\}"
  gdb_test "whatis h16" "type = half \\\[16\\\]"
  gdb_test "p sizeof(h16)" " = 16"
  gdb_test "print h16" " = \\{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16\\}"
}

gdb_test "whatis f" "type = float"
gdb_test "p sizeof(f)" " = 4"
gdb_test "print f" " = 1"
gdb_test "whatis f2" "type = float \\\[2\\\]"
gdb_test "p sizeof(f2)" " = 8"
gdb_test "print f2" " = \\{1, 2\\}"
if { ${opencl_version} >= 110 } {
  gdb_test "whatis f3" "type = float \\\[3\\\]"
  gdb_test "p sizeof(f3)" " = 16"
  gdb_test "print f3" " = \\{1, 2, 3\\}"
}
gdb_test "whatis f4" "type = float \\\[4\\\]"
gdb_test "p sizeof(f4)" " = 16"
gdb_test "print f4" " = \\{1, 2, 3, 4\\}"
gdb_test "whatis f8" "type = float \\\[8\\\]"
gdb_test "p sizeof(f8)" " = 32"
gdb_test "print f8" " = \\{1, 2, 3, 4, 5, 6, 7, 8\\}"
gdb_test "whatis f16" "type = float \\\[16\\\]"
gdb_test "p sizeof(f16)" " = 64"
gdb_test "print f16" " = \\{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16\\}"

if { ${have_cl_khr_fp64} } {
  gdb_test "whatis d" "type = double"
  gdb_test "p sizeof(d)" " = 8"
  gdb_test "print d" " = 1"
  gdb_test "whatis d2" "type = double \\\[2\\\]"
  gdb_test "p sizeof(d2)" " = 16"
  gdb_test "print d2" " = \\{1, 2\\}"
  if { ${opencl_version} >= 110 } {
    gdb_test "whatis d3" "type = double \\\[3\\\]"
    gdb_test "p sizeof(d3)" " = 32"
    gdb_test "print d3" " = \\{1, 2, 3\\}"
  }
  gdb_test "whatis d4" "type = double \\\[4\\\]"
  gdb_test "p sizeof(d4)" " = 32"
  gdb_test "print d4" " = \\{1, 2, 3, 4\\}"
  gdb_test "whatis d8" "type = double \\\[8\\\]"
  gdb_test "p sizeof(d8)" " = 64"
  gdb_test "print d8" " = \\{1, 2, 3, 4, 5, 6, 7, 8\\}"
  gdb_test "whatis d16" "type = double \\\[16\\\]"
  gdb_test "p sizeof(d16)" " = 128"
  gdb_test "print d16" " = \\{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16\\}"
}

# Delete the OpenCL program source
remote_file target delete ${clprogram}
