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/] [g++.dg/] [warn/] [noreturn-1.C] - Blame information for rev 301

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 301 jeremybenn
// Test that noreturn attributes are properly set.
2
// Origin: Kaveh Ghazi  2002-06-18.
3
// { dg-do compile }
4
// { dg-options "-Wall -O2" }
5
 
6
#include 
7
 
8
int foo1 (int i)
9
{
10
  switch (i)
11
    {
12
    case 1:
13
    case 2:
14
      return i;
15
    }
16
  abort();
17
}
18
 
19
int foo2 (int i)
20
{
21
  switch (i)
22
    {
23
    case 1:
24
    case 2:
25
      return i;
26
    }
27
  std::abort();
28
}
29
 
30
int foo3 (int i)
31
{
32
  switch (i)
33
    {
34
    case 1:
35
    case 2:
36
      return i;
37
    }
38
  exit(1);
39
}
40
 
41
int foo4 (int i)
42
{
43
  switch (i)
44
    {
45
    case 1:
46
    case 2:
47
      return i;
48
    }
49
  std::exit(1);
50
}
51
 
52
void __attribute__ ((__noreturn__)) foo5 ()
53
{
54
  abort();
55
}
56
 
57
void __attribute__ ((__noreturn__)) foo6 ()
58
{
59
  std::abort();
60
}
61
 
62
void __attribute__ ((__noreturn__)) foo7 ()
63
{
64
  exit(1);
65
}
66
 
67
void __attribute__ ((__noreturn__)) foo8 ()
68
{
69
  std::exit(1);
70
}
71
 

powered by: WebSVN 2.1.0

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