Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/ft32/ft32.h @ 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 /* Target Definitions for ft32. | 1 /* Target Definitions for ft32. |
2 Copyright (C) 2015-2017 Free Software Foundation, Inc. | 2 Copyright (C) 2015-2018 Free Software Foundation, Inc. |
3 Contributed by FTDI <support@ftdi.com> | 3 Contributed by FTDI <support@ftdi.com> |
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 it | 7 GCC is free software; you can redistribute it and/or modify it |
37 standard C library (unless we are building a shared library) and | 37 standard C library (unless we are building a shared library) and |
38 the simulator BSP code. */ | 38 the simulator BSP code. */ |
39 | 39 |
40 #undef LIB_SPEC | 40 #undef LIB_SPEC |
41 #define LIB_SPEC "%{!shared:%{!symbolic:-lc}} \ | 41 #define LIB_SPEC "%{!shared:%{!symbolic:-lc}} \ |
42 %{mcompress:--relax} \ | |
42 %{msim:-Tsim.ld}" | 43 %{msim:-Tsim.ld}" |
43 | 44 |
44 #undef LINK_SPEC | 45 #undef LINK_SPEC |
45 #define LINK_SPEC "%{h*} %{v:-V} \ | 46 #define LINK_SPEC "%{h*} %{v:-V} \ |
46 %{static:-Bstatic} %{shared:-shared} %{symbolic:-Bsymbolic}" | 47 %{static:-Bstatic} %{shared:-shared} %{symbolic:-Bsymbolic}" |
197 | 198 |
198 /* Output and Generation of Labels */ | 199 /* Output and Generation of Labels */ |
199 | 200 |
200 #define GLOBAL_ASM_OP "\t.global\t" | 201 #define GLOBAL_ASM_OP "\t.global\t" |
201 | 202 |
202 #define JUMP_TABLES_IN_TEXT_SECTION 1 | 203 #define JUMP_TABLES_IN_TEXT_SECTION (TARGET_NOPM ? 0 : 1) |
203 | 204 |
204 /* This is how to output an element of a case-vector that is absolute. */ | 205 /* This is how to output an element of a case-vector that is absolute. */ |
205 | 206 |
206 #define ASM_OUTPUT_ADDR_VEC_ELT(FILE, VALUE) \ | 207 #define ASM_OUTPUT_ADDR_VEC_ELT(FILE, VALUE) \ |
207 fprintf (FILE, "\tjmp\t.L%d\n", VALUE); \ | 208 fprintf (FILE, "\t.long\t.L%d\n", VALUE) \ |
208 | 209 |
209 /* Passing Arguments in Registers */ | 210 /* Passing Arguments in Registers */ |
210 | 211 |
211 /* A C type for declaring a variable that is used as the first | 212 /* A C type for declaring a variable that is used as the first |
212 argument of `FUNCTION_ARG' and other related values. */ | 213 argument of `FUNCTION_ARG' and other related values. */ |
467 #define NO_FUNCTION_CSE 1 | 468 #define NO_FUNCTION_CSE 1 |
468 | 469 |
469 #define ADDR_SPACE_PM 1 | 470 #define ADDR_SPACE_PM 1 |
470 | 471 |
471 #define REGISTER_TARGET_PRAGMAS() do { \ | 472 #define REGISTER_TARGET_PRAGMAS() do { \ |
472 c_register_addr_space ("__flash__", ADDR_SPACE_PM); \ | 473 c_register_addr_space ("__flash__", TARGET_NOPM ? 0 : ADDR_SPACE_PM); \ |
473 } while (0); | 474 } while (0) |
474 | 475 |
475 extern int ft32_is_mem_pm(rtx o); | 476 extern int ft32_is_mem_pm(rtx o); |
476 | 477 |
477 #define ASM_OUTPUT_SYMBOL_REF(stream, sym) \ | 478 #define ASM_OUTPUT_SYMBOL_REF(stream, sym) \ |
478 do { \ | 479 do { \ |