OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [gcc.dg/] [c99-static-1.c] - Blame information for rev 301

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 298 jeremybenn
/* It is a constraint violation for a static function to be declared
2
   but not defined if it is used except in a sizeof expression whose
3
   result is an integer constant.  The use of the function simply
4
   being unevaluated is not enough.  */
5
/* Origin: Joseph Myers <jsm@polyomino.org.uk> */
6
/* { dg-do compile } */
7
/* { dg-options "-O2 -std=iso9899:1999 -pedantic-errors" } */
8
 
9
/* Constraint violation (trivial case, where function is used).  */
10
static void f0(void); /* { dg-error "used but never defined" } */
11
void g0(void) { f0(); }
12
 
13
/* Constraint violation.  */
14
static void f1(void); /* { dg-error "used but never defined" } */
15
void g1(void) { if (0) { f1(); } }
16
 
17
/* Constraint violation.  */
18
static int f2(void); /* { dg-error "used but never defined" } */
19
void g2(void) { 0 ? f2() : 0; }
20
 
21
/* OK.  */
22
static int f3(void);
23
void g3(void) { sizeof(f3()); }
24
 
25
/* OK (VM type, not VLA).  */
26
static int f4(void);
27
void g4(void) { sizeof(int (*)[f4()]); }
28
 
29
/* Constraint violation (VLA).  */
30
static int f5(void); /* { dg-error "used but never defined" "VLA" } */
31
void g5(void) { sizeof(int [0 ? f5() : 1]); }
32
 
33
/* OK (non-constant sizeof inside constant sizeof).  */
34
static int f6(void);
35
void g6(void) { sizeof(sizeof(int [f6()])); }

powered by: WebSVN 2.1.0

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