diff options
author | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
---|---|---|
committer | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
commit | 554fd8c5195424bdbcabf5de30fdc183aba391bd (patch) | |
tree | 976dc5ab7fddf506dadce60ae936f43f58787092 /gcc/testsuite/gcc.target/spu/ea/errors2.c | |
download | cbb-gcc-4.6.4-15d2061ac0796199866debe9ac87130894b0cdd3.tar.bz2 cbb-gcc-4.6.4-15d2061ac0796199866debe9ac87130894b0cdd3.tar.xz |
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
verified gcc-4.6.4.tar.bz2.sig;
imported gcc-4.6.4 source tree from verified upstream tarball.
downloading a git-generated archive based on the 'upstream' tag
should provide you with a source tree that is binary identical
to the one extracted from the above tarball.
if you have obtained the source via the command 'git clone',
however, do note that line-endings of files in your working
directory might differ from line-endings of the respective
files in the upstream repository.
Diffstat (limited to 'gcc/testsuite/gcc.target/spu/ea/errors2.c')
-rw-r--r-- | gcc/testsuite/gcc.target/spu/ea/errors2.c | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/spu/ea/errors2.c b/gcc/testsuite/gcc.target/spu/ea/errors2.c new file mode 100644 index 000000000..74a32ff5e --- /dev/null +++ b/gcc/testsuite/gcc.target/spu/ea/errors2.c @@ -0,0 +1,107 @@ +/* Copyright (C) 2009 Free Software Foundation, Inc. + + This file is free software; you can redistribute it and/or modify it under + the terms of the GNU General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your option) + any later version. + + This file is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with this file; see the file COPYING3. If not see + <http://www.gnu.org/licenses/>. */ + +/* Invalid __ea declarations. */ + +/* { dg-do compile } */ + +__ea char ea_str[] = "abc"; +char lm_str[] = "abc"; + +__ea char *lm_ea_ptr1 = "abc"; /* { dg-error "initializer element is not computable at load time" } */ +__ea char *lm_ea_ptr2 = (__ea char *)"abc"; /* { dg-error "initializer element is not constant" } */ +__ea char *lm_ea_ptr3 = ea_str; +__ea char *lm_ea_ptr4 = (__ea char *)ea_str; +__ea char *lm_ea_ptr5 = lm_str; /* { dg-error "initializer element is not computable at load time" } */ +__ea char *lm_ea_ptr6 = (__ea char *)lm_str; /* { dg-error "initializer element is not constant" } */ + +__ea char * __ea ea_ea_ptr1 = ea_str; +__ea char * __ea ea_ea_ptr2 = (__ea char *)ea_str; + +char * __ea ea_lm_ptr1 = lm_str; +char * __ea ea_lm_ptr2 = (char *)lm_str; + +struct foo { + int first; + __ea char *ptr; + int last; +}; + +__ea struct foo ea_struct1 = { + 10, + (__ea char *)0, + 11, +}; + +__ea struct foo ea_struct2 = { + 20, + 0, + 21, +}; + +struct foo ea_struct3 = { + 30, + ea_str, + 31, +}; + +struct foo ea_struct4 = { + 40, + (__ea char *)lm_str, /* { dg-error "(initializer element is not constant)|(near initialization)" "" } */ + 41, +}; + +struct bar { + int first; + char *ptr; + int last; +}; + +__ea struct bar ea_struct5 = { + 50, + 0, + 51, +}; + +__ea struct bar ea_struct6 = { + 60, + (char *)0, + 61, +}; + +__ea struct bar ea_struct7 = { + 70, + lm_str, + 71, +}; + +struct bar lm_struct8 = { + 80, + 0, + 81, +}; + +struct bar lm_struct9 = { + 90, + (char *)0, + 91, +}; + +struct bar lm_struct10 = { + 100, + lm_str, + 101, +}; |