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/] [utf-cvt.c] - Blame information for rev 298

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 298 jeremybenn
/* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */
2
/* Test the char16_t and char32_t promotion rules. */
3
/* { dg-do compile } */
4
/* { dg-excess-errors "short and int are 16bit" { target { "avr-*-*" } } } */
5
/* { dg-options "-std=gnu99 -Wall -Wconversion -Wsign-conversion" } */
6
 
7
typedef __CHAR16_TYPE__ char16_t;
8
typedef __CHAR32_TYPE__ char32_t;
9
 
10
extern void f_c (char);
11
extern void fsc (signed char);
12
extern void fuc (unsigned char);
13
extern void f_s (short);
14
extern void fss (signed short);
15
extern void fus (unsigned short);
16
extern void f_i (int);
17
extern void fsi (signed int);
18
extern void fui (unsigned int);
19
extern void f_l (long);
20
extern void fsl (signed long);
21
extern void ful (unsigned long);
22
extern void f_ll (long long);
23
extern void fsll (signed long long);
24
extern void full (unsigned long long);
25
 
26
void m (char16_t c0, char32_t c1)
27
{
28
    f_c (c0);   /* { dg-warning "alter its value" } */
29
    fsc (c0);   /* { dg-warning "alter its value" } */
30
    fuc (c0);   /* { dg-warning "alter its value" } */
31
    f_s (c0);   /* { dg-warning "change the sign" } */
32
    fss (c0);   /* { dg-warning "change the sign" } */
33
    fus (c0);
34
    f_i (c0);
35
    fsi (c0);
36
    fui (c0);
37
    f_l (c0);
38
    fsl (c0);
39
    ful (c0);
40
    f_ll (c0);
41
    fsll (c0);
42
    full (c0);
43
 
44
    f_c (c1);   /* { dg-warning "alter its value" } */
45
    fsc (c1);   /* { dg-warning "alter its value" } */
46
    fuc (c1);   /* { dg-warning "alter its value" } */
47
    f_s (c1);   /* { dg-warning "alter its value" } */
48
    fss (c1);   /* { dg-warning "alter its value" } */
49
    fus (c1);   /* { dg-warning "alter its value" } */
50
    f_i (c1);   /* { dg-warning "change the sign" "" { target { ! int16 } } } */
51
    fsi (c1);   /* { dg-warning "change the sign" "" { target { ! int16 } } } */
52
    fui (c1);
53
    f_l (c1);   /* { dg-warning "change the sign" "" { target { llp64 || ilp32 } } } */
54
    fsl (c1);   /* { dg-warning "change the sign" "" { target { llp64 || ilp32 } } } */
55
    ful (c1);
56
    f_ll (c1);
57
    fsll (c1);
58
    full (c1);
59
}

powered by: WebSVN 2.1.0

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