(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
msp430/
mul_main.h
       1  extern void abort (void) __attribute__((noreturn));
       2  extern int printf (const char *, ...);
       3  
       4  int func1 (int, int) __attribute__((noinline));
       5  long func2 (int, int)  __attribute__((noinline));
       6  long func3 (long, long)  __attribute__((noinline));
       7  long long func4 (long, long)  __attribute__((noinline));
       8  long long func5 (long long, long long)  __attribute__((noinline));
       9  unsigned long func6 (unsigned int, unsigned int)  __attribute__((noinline));
      10  unsigned long long func7 (unsigned long, unsigned long)  __attribute__((noinline));
      11  
      12  #define DEBUG 0
      13  
      14  int
      15  main (void)
      16  {
      17    if (func1 (6, 7) != 42)
      18      {
      19  #if DEBUG
      20        printf ("test1 fail: 6 * 7 = %d!\n", func1 (6, 7));
      21  #endif
      22        abort ();
      23      }
      24  
      25    if (func2 (1000, 1000) != 1000000L)
      26      {
      27  #if DEBUG
      28        printf ("test2 fail: 1000 * 1000 = %ld!\n", func2 (1000, 1000));
      29  #endif
      30        abort ();
      31      }
      32  
      33    if (func3 (70000L, -32L) != -2240000L)
      34      {
      35  #if DEBUG
      36        printf ("test3 fail: 70000 * -32 = %ld!\n", func3 (70000L, -32L));
      37  #endif
      38        abort ();
      39      }
      40  
      41    if (func4 (-40L, -80L) != 3200LL)
      42      {
      43  #if DEBUG
      44        printf ("test4 fail: -40 * -80 = %lld!\n", func4 (-40L, -80L));
      45  #endif
      46        abort ();
      47      }
      48  
      49    if (func5(9LL, 9LL) != 81LL)
      50      {
      51  #if DEBUG
      52        printf ("test5 fail: 9 * 9 = %lld!\n", func5 (9LL, 9LL));
      53  #endif
      54        abort ();
      55      }
      56  
      57    if (func6 (-2U, 8U) != 524272LU)
      58      {
      59  #if DEBUG
      60        printf ("test6 fail: -2 * 8 = %lu!\n", func6 (-2U, 8U));
      61  #endif
      62        abort ();
      63      }
      64  
      65    if (func7 (99UL, 101UL) != 9999LLU)
      66      {
      67  #if DEBUG
      68        printf ("test7 fail: 99 * 101 = %llu!\n", func7 (99UL, 101UL));
      69  #endif
      70        abort ();
      71      }
      72    
      73    return 0;
      74  }
      75  
      76  int func1 (int a, int b) { return a * b; }
      77  long func2 (int a, int b) { return (long) a * (long) b; }
      78  long func3 (long a, long b) { return a * b; }
      79  long long func4 (long a, long b) { return (long long) a * (long long) b; }
      80  long long func5 (long long a, long long b) { return a * b; }
      81  unsigned long func6 (unsigned int a, unsigned int b) { return (unsigned long) a * (unsigned long) b; }
      82  unsigned long long func7 (unsigned long a, unsigned long b) { return (unsigned long long) a * (unsigned long long) b; }
      83