-// Skip if not target: alpha*-*-*
-// Special g++ Options: -Wno-deprecated
-
-// This test verifies that return type promotion is working correctly.
-// The Alpha ABI specifies that 32-bit return values have bit 31 propagated,
-// i.e. the value is sign-extended even if the unpromoted type is unsigned.
-
-unsigned int f(unsigned int x) return y(x) { }
-
-extern "C" void abort ();
-
-int main()
-{
- typedef long (*long_func)(long);
- long_func g = reinterpret_cast<long_func>(f);
-
- if (g(-1L) != -1L)
- abort ();
- return 0;
-}