~ubuntu-branches/ubuntu/trusty/python3.4/trusty-proposed

« back to all changes in this revision

Viewing changes to Modules/_ctypes/libffi/testsuite/libffi.call/return_dbl.c

  • Committer: Package Import Robot
  • Author(s): Matthias Klose
  • Date: 2013-11-25 09:44:27 UTC
  • Revision ID: package-import@ubuntu.com-20131125094427-lzxj8ap5w01lmo7f
Tags: upstream-3.4~b1
ImportĀ upstreamĀ versionĀ 3.4~b1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* Area:        ffi_call
 
2
   Purpose:     Check return value double.
 
3
   Limitations: none.
 
4
   PR:          none.
 
5
   Originator:  <andreast@gcc.gnu.org> 20050212  */
 
6
 
 
7
/* { dg-do run } */
 
8
#include "ffitest.h"
 
9
 
 
10
static double return_dbl(double dbl)
 
11
{
 
12
  printf ("%f\n", dbl);
 
13
  return 2 * dbl;
 
14
}
 
15
int main (void)
 
16
{
 
17
  ffi_cif cif;
 
18
  ffi_type *args[MAX_ARGS];
 
19
  void *values[MAX_ARGS];
 
20
  double dbl, rdbl;
 
21
 
 
22
  args[0] = &ffi_type_double;
 
23
  values[0] = &dbl;
 
24
 
 
25
  /* Initialize the cif */
 
26
  CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
 
27
                     &ffi_type_double, args) == FFI_OK);
 
28
 
 
29
  for (dbl = -127.3; dbl <  127; dbl++)
 
30
    {
 
31
      ffi_call(&cif, FFI_FN(return_dbl), &rdbl, values);
 
32
      printf ("%f vs %f\n", rdbl, return_dbl(dbl));
 
33
      CHECK(rdbl == 2 * dbl);
 
34
    }
 
35
  exit(0);
 
36
}