Mercurial > hg > CbC > CbC_gcc
diff gcc/coretypes.h @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
line wrap: on
line diff
--- a/gcc/coretypes.h Fri Oct 27 22:46:09 2017 +0900 +++ b/gcc/coretypes.h Thu Oct 25 07:37:49 2018 +0900 @@ -1,5 +1,5 @@ /* GCC core type declarations. - Copyright (C) 2002-2017 Free Software Foundation, Inc. + Copyright (C) 2002-2018 Free Software Foundation, Inc. This file is part of GCC. @@ -46,6 +46,7 @@ typedef int64_t gcov_type; typedef uint64_t gcov_type_unsigned; +struct bitmap_obstack; struct bitmap_head; typedef struct bitmap_head *bitmap; typedef const struct bitmap_head *const_bitmap; @@ -59,6 +60,7 @@ class scalar_int_mode; class scalar_float_mode; class complex_mode; +class fixed_size_mode; template<typename> class opt_mode; typedef opt_mode<scalar_mode> opt_scalar_mode; typedef opt_mode<scalar_int_mode> opt_scalar_int_mode; @@ -66,6 +68,7 @@ template<typename> class pod_mode; typedef pod_mode<scalar_mode> scalar_mode_pod; typedef pod_mode<scalar_int_mode> scalar_int_mode_pod; +typedef pod_mode<fixed_size_mode> fixed_size_mode_pod; /* Subclasses of rtx_def, using indentation to show the class hierarchy, along with the relevant invariant. @@ -132,6 +135,13 @@ struct gomp_target; struct gomp_teams; +/* Subclasses of symtab_node, using indentation to show the class + hierarchy. */ + +class symtab_node; + struct cgraph_node; + class varpool_node; + union section; typedef union section section; struct gcc_options; @@ -323,6 +333,14 @@ typedef std::pair <tree, tree> tree_pair; +/* Define a name->value mapping. */ +template <typename ValueType> +struct kv_pair +{ + const char *const name; /* the name of the value */ + const ValueType value; /* the value of the name */ +}; + #else struct _dont_use_rtx_here_; @@ -396,9 +414,25 @@ #include "signop.h" #include "wide-int.h" #include "wide-int-print.h" + +/* On targets that don't need polynomial offsets, target-specific code + should be able to treat poly_int like a normal constant, with a + conversion operator going from the former to the latter. We also + allow this for gencondmd.c for all targets, so that we can treat + machine_modes as enums without causing build failures. */ +#if (defined (IN_TARGET_CODE) \ + && (defined (USE_ENUM_MODES) || NUM_POLY_INT_COEFFS == 1)) +#define POLY_INT_CONVERSION 1 +#else +#define POLY_INT_CONVERSION 0 +#endif + +#include "poly-int.h" +#include "poly-int-types.h" #include "insn-modes-inline.h" #include "machmode.h" #include "double-int.h" +#include "align.h" /* Most host source files will require the following headers. */ #if !defined (GENERATOR_FILE) #include "real.h"