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/] [sizeof4.C] - Blame information for rev 384

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 305 jeremybenn
// { dg-do assemble  }
2
 
3
// Copyright (C) 1999 Free Software Foundation, Inc.
4
// Contributed by Nathan Sidwell 5 Sep 1999 
5
 
6
// C++ does not decay lvalues into rvalues until as late as possible. This
7
// means things like the rhs of a comma operator mustn't decay. This will make
8
// a difference if it is an array or function.
9
 
10
struct S;
11
struct T {int m;};
12
extern S s;  // an incomplete
13
extern S arys[20];  // an incomplete array
14
extern T aryt[];    // an incomplete array;
15
 
16
void fn () {}
17
 
18
int main (int argc, char **argv)
19
{
20
  sizeof (s);           // { dg-error "" } incomplete
21
  sizeof (0, s);        // { dg-error "" } incomplete
22
  sizeof (argc ? s : s); // { dg-error "" } incomplete
23
 
24
  sizeof (arys);        // { dg-error "" } incomplete
25
  sizeof (0, arys);     // { dg-error "" } incomplete
26
  sizeof (argc ? arys : arys); // { dg-error "" } incomplete
27
 
28
  sizeof (aryt);        // { dg-error "" } incomplete
29
  sizeof (0, aryt);     // { dg-error "" } incomplete
30
  sizeof (argc ? aryt : aryt); // { dg-error "" } incomplete
31
 
32
  sizeof (fn);            // { dg-error "" } cannot take size of function
33
  sizeof (0, fn);         // { dg-error "" } cannot take size of function
34
  sizeof (argc ? fn : fn); // { dg-error "" } cannot take size of function
35
 
36
  sizeof (&fn);       // ok
37
  sizeof (0, &fn);    // ok
38
  sizeof (argc ? &fn : &fn); // ok
39
 
40
  return 0;
41
}

powered by: WebSVN 2.1.0

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