1 /* Types shared between arm and aarch64.
3 Copyright (C) 2009-2025 Free Software Foundation, Inc.
4 Contributed by Arm Ltd.
6 This file is part of GCC.
8 GCC is free software; you can redistribute it and/or modify it
9 under the terms of the GNU General Public License as published
10 by the Free Software Foundation; either version 3, or (at your
11 option) any later version.
13 GCC is distributed in the hope that it will be useful, but WITHOUT
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
16 License for more details.
18 You should have received a copy of the GNU General Public License
19 along with GCC; see the file COPYING3. If not see
20 <http://www.gnu.org/licenses/>. */
22 #ifndef GCC_AARCH_COMMON_H
23 #define GCC_AARCH_COMMON_H
25 /* Enum describing the various ways that the
26 aarch*_parse_{arch,tune,cpu,extension,fmv_extension} functions can fail.
27 This way their callers can choose what kind of error to give. */
29 enum aarch_parse_opt_result
31 AARCH_PARSE_OK
, /* Parsing was successful. */
32 AARCH_PARSE_MISSING_ARG
, /* Missing argument. */
33 AARCH_PARSE_INVALID_FEATURE
, /* Invalid feature modifier. */
34 AARCH_PARSE_INVALID_ARG
, /* Invalid arch, tune, cpu arg. */
35 AARCH_PARSE_DUPLICATE_FEATURE
/* Duplicate feature modifier. */
38 /* Function types -msign-return-address should sign. */
39 enum aarch_function_type
{
40 /* Don't sign any function. */
42 /* Non-leaf functions. */
43 AARCH_FUNCTION_NON_LEAF
,
48 #endif /* GCC_AARCH_COMMON_H */