Differences From Artifact [e8d2030850]:

To Artifact [eb0341d604]:


1
2
3
4
5
6
7
8
9
10
11
/* vacall function for sparc CPU */

/*
 * Copyright 1995-2004 Bruno Haible, <bruno@clisp.org>
 *
 * This is free software distributed under the GNU General Public Licence
 * described in the file COPYING. Contact the author if you don't have this
 * or can't live with it. There is ABSOLUTELY NO WARRANTY, explicit or implied,
 * on this software.
 */




|







1
2
3
4
5
6
7
8
9
10
11
/* vacall function for sparc CPU */

/*
 * Copyright 1995-2005 Bruno Haible, <bruno@clisp.org>
 *
 * This is free software distributed under the GNU General Public Licence
 * described in the file COPYING. Contact the author if you don't have this
 * or can't live with it. There is ABSOLUTELY NO WARRANTY, explicit or implied,
 * on this software.
 */

99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
  if (list.rtype == __VAdouble) {
    dret = list.tmp._double;
  } else
  if (list.rtype == __VAvoidp) {
    iret = (long)list.tmp._ptr;
  } else
  if (list.rtype == __VAstruct) {
    if (list.flags & (__VA_SUNCC_STRUCT_RETURN | __VA_SUNPROCC_STRUCT_RETURN)) {
      /* Sun cc struct return convention. */
      /* The desired struct return address was passed in fp[16], later on
       * list.raddr = list.structraddr = fp[16]. Now the result has
       * already been copied there. No need to copy the result once more.
       * The caller expects to receive the struct return address in %o0.
       */
      iret = (long) list.raddr;







|







99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
  if (list.rtype == __VAdouble) {
    dret = list.tmp._double;
  } else
  if (list.rtype == __VAvoidp) {
    iret = (long)list.tmp._ptr;
  } else
  if (list.rtype == __VAstruct) {
    if (list.flags & __VA_SUNPROCC_STRUCT_RETURN) {
      /* Sun cc struct return convention. */
      /* The desired struct return address was passed in fp[16], later on
       * list.raddr = list.structraddr = fp[16]. Now the result has
       * already been copied there. No need to copy the result once more.
       * The caller expects to receive the struct return address in %o0.
       */
      iret = (long) list.raddr;