| OLD | NEW |
| 1 //===- subzero/crosstest/test_cast.h - Test prototypes ----------*- C++ -*-===// | 1 //===- subzero/crosstest/test_cast.h - Test prototypes ----------*- C++ -*-===// |
| 2 // | 2 // |
| 3 // The Subzero Code Generator | 3 // The Subzero Code Generator |
| 4 // | 4 // |
| 5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
| 6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
| 7 // | 7 // |
| 8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
| 9 // | 9 // |
| 10 // This file declares the function prototypes used for crosstesting cast | 10 // This file declares the function prototypes used for crosstesting cast |
| 11 // operations. | 11 // operations. |
| 12 // | 12 // |
| 13 //===----------------------------------------------------------------------===// | 13 //===----------------------------------------------------------------------===// |
| 14 | 14 |
| 15 // The driver and the test program may be compiled by different | 15 // The driver and the test program may be compiled by different |
| 16 // versions of clang, with different standard libraries that have | 16 // versions of clang, with different standard libraries that have |
| 17 // different definitions of int8_t. Specifically, int8_t may be | 17 // different definitions of int8_t. Specifically, int8_t may be |
| 18 // typedef'd as either 'char' or 'signed char', which mangle to | 18 // typedef'd as either 'char' or 'signed char', which mangle to |
| 19 // different strings. Avoid int8_t and use an explicit myint8_t. | 19 // different strings. Avoid int8_t and use an explicit myint8_t. |
| 20 typedef signed char myint8_t; | 20 typedef signed char myint8_t; |
| 21 | 21 |
| 22 template <typename FromType, typename ToType> ToType cast(FromType a); | 22 template <typename FromType, typename ToType> ToType cast(FromType a); |
| 23 template <typename FromType, typename ToType> ToType castBits(FromType a); | 23 template <typename FromType, typename ToType> ToType castBits(FromType a); |
| 24 |
| 25 // Targets like MIPS32, pass floating-point arguments in general purpose |
| 26 // registers when the first argument is passed in a general purpose register. |
| 27 // Overloaded cast and castBits functions take two extra integer argument to |
| 28 // check proper conversion of floating-point to/from general purpose registers. |
| 29 template <typename FromType, typename ToType> ToType cast(int i, FromType a, |
| 30 int j); |
| 31 template <typename FromType, typename ToType> ToType castBits(int i, |
| 32 FromType a, |
| 33 int j); |
| OLD | NEW |