Subzero: Fix and clean up some cross tests.
1. It turns out that the crosstest scripts mix different versions of
clang - build_pnacl_ir.py uses pnacl-clang from the NaCl SDK for the
tests, while crosstest.py uses clang/clang++ from LLVM_BIN_PATH for
the driver. The SDK has been updated to use a different version of
the standard library, and now there is a mismatch as to whether int8_t
is typedef'd to 'char' or 'signed char', leading to name mangling
mismatches. (char, signed char, and unsigned char are distinct
types.) We deal with this by using myint8_t which is explicitly
defined as signed char.
2. Some ugly function pointer casting in test_arith_main.cpp is fixed/removed.
3. std::endl is replaced with "\n".
4. License text is added to tests that were touched by the above items.
BUG= none
R=wala@chromium.org
Review URL: https://codereview.chromium.org/435353002
diff --git a/crosstest/test_cast.h b/crosstest/test_cast.h
index bf59cd9..27d0dd0 100644
--- a/crosstest/test_cast.h
+++ b/crosstest/test_cast.h
@@ -1,2 +1,23 @@
+//===- subzero/crosstest/test_cast.h - Test prototypes ----------*- C++ -*-===//
+//
+// The Subzero Code Generator
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file declares the function prototypes used for crosstesting cast
+// operations.
+//
+//===----------------------------------------------------------------------===//
+
+// The driver and the test program may be compiled by different
+// versions of clang, with different standard libraries that have
+// different definitions of int8_t. Specifically, int8_t may be
+// typedef'd as either 'char' or 'signed char', which mangle to
+// different strings. Avoid int8_t and use an explicit myint8_t.
+typedef signed char myint8_t;
+
template <typename FromType, typename ToType> ToType cast(FromType a);
template <typename FromType, typename ToType> ToType castBits(FromType a);