Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/epiphany/epiphany.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
comparison
equal
deleted
inserted
replaced
111:04ced10e8804 | 131:84e7813d76e9 |
---|---|
1 /* Subroutines used for code generation on the EPIPHANY cpu. | 1 /* Subroutines used for code generation on the EPIPHANY cpu. |
2 Copyright (C) 1994-2017 Free Software Foundation, Inc. | 2 Copyright (C) 1994-2018 Free Software Foundation, Inc. |
3 Contributed by Embecosm on behalf of Adapteva, Inc. | 3 Contributed by Embecosm on behalf of Adapteva, Inc. |
4 | 4 |
5 This file is part of GCC. | 5 This file is part of GCC. |
6 | 6 |
7 GCC is free software; you can redistribute it and/or modify | 7 GCC is free software; you can redistribute it and/or modify |
15 GNU General Public License for more details. | 15 GNU General Public License for more details. |
16 | 16 |
17 You should have received a copy of the GNU General Public License | 17 You should have received a copy of the GNU General Public License |
18 along with GCC; see the file COPYING3. If not see | 18 along with GCC; see the file COPYING3. If not see |
19 <http://www.gnu.org/licenses/>. */ | 19 <http://www.gnu.org/licenses/>. */ |
20 | |
21 #define IN_TARGET_CODE 1 | |
20 | 22 |
21 #include "config.h" | 23 #include "config.h" |
22 #include "system.h" | 24 #include "system.h" |
23 #include "coretypes.h" | 25 #include "coretypes.h" |
24 #include "backend.h" | 26 #include "backend.h" |
458 They unmask them while calling an interruptible | 460 They unmask them while calling an interruptible |
459 function, though. */ | 461 function, though. */ |
460 | 462 |
461 static const struct attribute_spec epiphany_attribute_table[] = | 463 static const struct attribute_spec epiphany_attribute_table[] = |
462 { | 464 { |
463 /* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler } */ | 465 /* { name, min_len, max_len, decl_req, type_req, fn_type_req, |
464 { "interrupt", 0, 9, true, false, false, epiphany_handle_interrupt_attribute, true }, | 466 affects_type_identity, handler, exclude } */ |
465 { "forwarder_section", 1, 1, true, false, false, epiphany_handle_forwarder_attribute, false }, | 467 { "interrupt", 0, 9, true, false, false, true, |
466 { "long_call", 0, 0, false, true, true, NULL, false }, | 468 epiphany_handle_interrupt_attribute, NULL }, |
467 { "short_call", 0, 0, false, true, true, NULL, false }, | 469 { "forwarder_section", 1, 1, true, false, false, false, |
468 { "disinterrupt", 0, 0, false, true, true, NULL, true }, | 470 epiphany_handle_forwarder_attribute, NULL }, |
469 { NULL, 0, 0, false, false, false, NULL, false } | 471 { "long_call", 0, 0, false, true, true, false, NULL, NULL }, |
472 { "short_call", 0, 0, false, true, true, false, NULL, NULL }, | |
473 { "disinterrupt", 0, 0, false, true, true, true, NULL, NULL }, | |
474 { NULL, 0, 0, false, false, false, false, NULL, NULL } | |
470 }; | 475 }; |
471 | 476 |
472 /* Handle an "interrupt" attribute; arguments as in | 477 /* Handle an "interrupt" attribute; arguments as in |
473 struct attribute_spec.handler. */ | 478 struct attribute_spec.handler. */ |
474 static tree | 479 static tree |