Mercurial > hg > CbC > CbC_gcc
comparison gcc/coretypes.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 /* GCC core type declarations. | 1 /* GCC core type declarations. |
2 Copyright (C) 2002-2017 Free Software Foundation, Inc. | 2 Copyright (C) 2002-2018 Free Software Foundation, Inc. |
3 | 3 |
4 This file is part of GCC. | 4 This file is part of GCC. |
5 | 5 |
6 GCC is free software; you can redistribute it and/or modify it under | 6 GCC is free software; you can redistribute it and/or modify it under |
7 the terms of the GNU General Public License as published by the Free | 7 the terms of the GNU General Public License as published by the Free |
44 #ifndef USED_FOR_TARGET | 44 #ifndef USED_FOR_TARGET |
45 | 45 |
46 typedef int64_t gcov_type; | 46 typedef int64_t gcov_type; |
47 typedef uint64_t gcov_type_unsigned; | 47 typedef uint64_t gcov_type_unsigned; |
48 | 48 |
49 struct bitmap_obstack; | |
49 struct bitmap_head; | 50 struct bitmap_head; |
50 typedef struct bitmap_head *bitmap; | 51 typedef struct bitmap_head *bitmap; |
51 typedef const struct bitmap_head *const_bitmap; | 52 typedef const struct bitmap_head *const_bitmap; |
52 struct simple_bitmap_def; | 53 struct simple_bitmap_def; |
53 typedef struct simple_bitmap_def *sbitmap; | 54 typedef struct simple_bitmap_def *sbitmap; |
57 typedef const struct rtx_def *const_rtx; | 58 typedef const struct rtx_def *const_rtx; |
58 class scalar_mode; | 59 class scalar_mode; |
59 class scalar_int_mode; | 60 class scalar_int_mode; |
60 class scalar_float_mode; | 61 class scalar_float_mode; |
61 class complex_mode; | 62 class complex_mode; |
63 class fixed_size_mode; | |
62 template<typename> class opt_mode; | 64 template<typename> class opt_mode; |
63 typedef opt_mode<scalar_mode> opt_scalar_mode; | 65 typedef opt_mode<scalar_mode> opt_scalar_mode; |
64 typedef opt_mode<scalar_int_mode> opt_scalar_int_mode; | 66 typedef opt_mode<scalar_int_mode> opt_scalar_int_mode; |
65 typedef opt_mode<scalar_float_mode> opt_scalar_float_mode; | 67 typedef opt_mode<scalar_float_mode> opt_scalar_float_mode; |
66 template<typename> class pod_mode; | 68 template<typename> class pod_mode; |
67 typedef pod_mode<scalar_mode> scalar_mode_pod; | 69 typedef pod_mode<scalar_mode> scalar_mode_pod; |
68 typedef pod_mode<scalar_int_mode> scalar_int_mode_pod; | 70 typedef pod_mode<scalar_int_mode> scalar_int_mode_pod; |
71 typedef pod_mode<fixed_size_mode> fixed_size_mode_pod; | |
69 | 72 |
70 /* Subclasses of rtx_def, using indentation to show the class | 73 /* Subclasses of rtx_def, using indentation to show the class |
71 hierarchy, along with the relevant invariant. | 74 hierarchy, along with the relevant invariant. |
72 Where possible, keep this list in the same order as in rtl.def. */ | 75 Where possible, keep this list in the same order as in rtl.def. */ |
73 class rtx_def; | 76 class rtx_def; |
130 struct gomp_sections; | 133 struct gomp_sections; |
131 struct gomp_single; | 134 struct gomp_single; |
132 struct gomp_target; | 135 struct gomp_target; |
133 struct gomp_teams; | 136 struct gomp_teams; |
134 | 137 |
138 /* Subclasses of symtab_node, using indentation to show the class | |
139 hierarchy. */ | |
140 | |
141 class symtab_node; | |
142 struct cgraph_node; | |
143 class varpool_node; | |
144 | |
135 union section; | 145 union section; |
136 typedef union section section; | 146 typedef union section section; |
137 struct gcc_options; | 147 struct gcc_options; |
138 struct cl_target_option; | 148 struct cl_target_option; |
139 struct cl_optimization; | 149 struct cl_optimization; |
321 class context; | 331 class context; |
322 } | 332 } |
323 | 333 |
324 typedef std::pair <tree, tree> tree_pair; | 334 typedef std::pair <tree, tree> tree_pair; |
325 | 335 |
336 /* Define a name->value mapping. */ | |
337 template <typename ValueType> | |
338 struct kv_pair | |
339 { | |
340 const char *const name; /* the name of the value */ | |
341 const ValueType value; /* the value of the name */ | |
342 }; | |
343 | |
326 #else | 344 #else |
327 | 345 |
328 struct _dont_use_rtx_here_; | 346 struct _dont_use_rtx_here_; |
329 struct _dont_use_rtvec_here_; | 347 struct _dont_use_rtvec_here_; |
330 struct _dont_use_rtx_insn_here_; | 348 struct _dont_use_rtx_insn_here_; |
394 #if !defined (USED_FOR_TARGET) | 412 #if !defined (USED_FOR_TARGET) |
395 #include "insn-modes.h" | 413 #include "insn-modes.h" |
396 #include "signop.h" | 414 #include "signop.h" |
397 #include "wide-int.h" | 415 #include "wide-int.h" |
398 #include "wide-int-print.h" | 416 #include "wide-int-print.h" |
417 | |
418 /* On targets that don't need polynomial offsets, target-specific code | |
419 should be able to treat poly_int like a normal constant, with a | |
420 conversion operator going from the former to the latter. We also | |
421 allow this for gencondmd.c for all targets, so that we can treat | |
422 machine_modes as enums without causing build failures. */ | |
423 #if (defined (IN_TARGET_CODE) \ | |
424 && (defined (USE_ENUM_MODES) || NUM_POLY_INT_COEFFS == 1)) | |
425 #define POLY_INT_CONVERSION 1 | |
426 #else | |
427 #define POLY_INT_CONVERSION 0 | |
428 #endif | |
429 | |
430 #include "poly-int.h" | |
431 #include "poly-int-types.h" | |
399 #include "insn-modes-inline.h" | 432 #include "insn-modes-inline.h" |
400 #include "machmode.h" | 433 #include "machmode.h" |
401 #include "double-int.h" | 434 #include "double-int.h" |
435 #include "align.h" | |
402 /* Most host source files will require the following headers. */ | 436 /* Most host source files will require the following headers. */ |
403 #if !defined (GENERATOR_FILE) | 437 #if !defined (GENERATOR_FILE) |
404 #include "real.h" | 438 #include "real.h" |
405 #include "fixed-value.h" | 439 #include "fixed-value.h" |
406 #include "hash-table.h" | 440 #include "hash-table.h" |