OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc2/] [gcc/] [testsuite/] [g++.old-deja/] [g++.other/] [vaarg3.C] - Blame information for rev 384

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 305 jeremybenn
// { dg-do assemble  }
2
// { dg-options "-Wno-abi" { target arm_eabi } }
3
 
4
// Copyright (C) 1999 Free Software Foundation, Inc.
5
// Contributed by Nathan Sidwell 4 Oct 1999 
6
 
7
// Make sure we diagnose bad uses of va_arg
8
 
9
#include 
10
 
11
struct X {int m;};
12
struct Y { Y(const Y&); };
13
struct Z;   // { dg-error "forward decl" }
14
void fn1(va_list args)
15
{
16
  int i = va_arg (args, int);
17
  Y x = va_arg (args, Y);         // { dg-error "cannot receive" }
18
  Y y = va_arg (args, struct Y);  // { dg-error "cannot receive" }
19
  int &r = va_arg (args, int &);  // { dg-error "cannot receive" }
20
 
21
  Z z1 = va_arg (args, Z);        // { dg-error "incomplete" }
22
  const Z &z2 = va_arg (args, Z);       // { dg-error "incomplete" }
23
 
24
  va_arg (args, char);    // { dg-warning "promote" }
25
  // { dg-message "should pass" "pass" { target *-*-* } 24 }
26
  // { dg-message "abort" "abort" { target *-*-* } 24 }
27
  va_arg (args, int []);  // { dg-error "array with unspecified bounds" } promote
28
  va_arg (args, int ());  // { dg-warning "promoted" } promote
29
  // { dg-message "abort" "abort" { target *-*-* } 28 }
30
  va_arg (args, bool);    // { dg-warning "promote" "promote" }
31
  // { dg-message "abort" "abort" { target *-*-* } 30 }
32
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.