~ubuntu-branches/ubuntu/raring/avr-libc/raring-proposed

« back to all changes in this revision

Viewing changes to tests/simulate/stdlib/setjmp-5.c

  • Committer: Bazaar Package Importer
  • Author(s): Hakan Ardo
  • Date: 2008-08-10 09:59:16 UTC
  • mfrom: (1.1.7 upstream) (4.1.1 lenny)
  • Revision ID: james.westby@ubuntu.com-20080810095916-wwyigh3vt0e9s7ud
Tags: 1:1.6.2.cvs20080610-2
Added build-depends on texlive-extra-utils (closes: #493454)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* Test of setjmp()/longjmp() functions: SREG restoring.
 
2
   $Id: setjmp-5.c,v 1.1.2.2 2008/03/24 11:29:55 dmix Exp $     */
 
3
 
 
4
#ifdef  __AVR__
 
5
 
 
6
#include <setjmp.h>
 
7
#include <stdlib.h>
 
8
#include <avr/io.h>
 
9
 
 
10
jmp_buf env;
 
11
 
 
12
int main ()
 
13
{
 
14
    SREG = 0;
 
15
    if (setjmp (env)) {
 
16
        if (SREG & (1 << SREG_I)) exit (__LINE__);
 
17
    } else {
 
18
        if (SREG & (1 << SREG_I)) exit (__LINE__);
 
19
        SREG = 0xff;
 
20
        longjmp (env, 1);
 
21
    }
 
22
    
 
23
    SREG = 0xff;
 
24
    if (setjmp (env)) {
 
25
        if ((SREG & (1 << SREG_I)) == 0) exit (__LINE__);
 
26
    } else {
 
27
        if ((SREG & (1 << SREG_I)) == 0) exit (__LINE__);
 
28
        SREG = 0;
 
29
        longjmp (env, 1);
 
30
    }
 
31
    return 0;
 
32
}
 
33
 
 
34
#else
 
35
int main ()     { return 0; }
 
36
#endif