1a2e2270fSchristos /* Names of various DWARF tags. 2*5173eb0aSchristos Copyright (C) 2012-2024 Free Software Foundation, Inc. 3a2e2270fSchristos 4a2e2270fSchristos This file is part of GNU CC. 5a2e2270fSchristos 6a2e2270fSchristos GNU CC is free software; you can redistribute it and/or modify 7a2e2270fSchristos it under the terms of the GNU General Public License as published by 8a2e2270fSchristos the Free Software Foundation; either version 2, or (at your option) 9a2e2270fSchristos any later version. 10a2e2270fSchristos 11a2e2270fSchristos In addition to the permissions in the GNU General Public License, the 12a2e2270fSchristos Free Software Foundation gives you unlimited permission to link the 13a2e2270fSchristos compiled version of this file into combinations with other programs, 14a2e2270fSchristos and to distribute those combinations without any restriction coming 15a2e2270fSchristos from the use of this file. (The General Public License restrictions 16a2e2270fSchristos do apply in other respects; for example, they cover modification of 17a2e2270fSchristos the file, and distribution when not linked into a combined 18a2e2270fSchristos executable.) 19a2e2270fSchristos 20a2e2270fSchristos GNU CC is distributed in the hope that it will be useful, 21a2e2270fSchristos but WITHOUT ANY WARRANTY; without even the implied warranty of 22a2e2270fSchristos MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23a2e2270fSchristos GNU General Public License for more details. 24a2e2270fSchristos 25a2e2270fSchristos You should have received a copy of the GNU General Public License 26a2e2270fSchristos along with GNU CC; see the file COPYING. If not, write to 27a2e2270fSchristos the Free Software Foundation, 51 Franklin Street - Fifth Floor, 28a2e2270fSchristos Boston, MA 02110-1301, USA. */ 29a2e2270fSchristos 30a2e2270fSchristos #include "dwarf2.h" 31a2e2270fSchristos 32a2e2270fSchristos #define DW_FIRST_TAG(name, value) \ 33a2e2270fSchristos const char *get_DW_TAG_name (unsigned int tag) \ 34a2e2270fSchristos { switch (tag) { \ 35a2e2270fSchristos DW_TAG (name, value) 36a2e2270fSchristos #define DW_END_TAG } return 0; } 37a2e2270fSchristos #define DW_FIRST_FORM(name, value) \ 38a2e2270fSchristos const char *get_DW_FORM_name (unsigned int form) \ 39a2e2270fSchristos { switch (form) { \ 40a2e2270fSchristos DW_FORM (name, value) 41a2e2270fSchristos #define DW_END_FORM } return 0; } 42a2e2270fSchristos #define DW_FIRST_AT(name, value) \ 43a2e2270fSchristos const char *get_DW_AT_name (unsigned int attr) { \ 44a2e2270fSchristos switch (attr) { \ 45a2e2270fSchristos DW_AT (name, value) 46a2e2270fSchristos #define DW_END_AT } return 0; } 47a2e2270fSchristos #define DW_FIRST_OP(name, value) \ 48a2e2270fSchristos const char *get_DW_OP_name (unsigned int op) { \ 49a2e2270fSchristos switch (op) { \ 50a2e2270fSchristos DW_OP (name, value) 51a2e2270fSchristos #define DW_END_OP } return 0; } 52a2e2270fSchristos #define DW_FIRST_ATE(name, value) \ 53a2e2270fSchristos const char *get_DW_ATE_name (unsigned int enc) { \ 54a2e2270fSchristos switch (enc) { \ 55a2e2270fSchristos DW_ATE (name, value) 56a2e2270fSchristos #define DW_END_ATE } return 0; } 57a2e2270fSchristos #define DW_FIRST_CFA(name, value) \ 58a2e2270fSchristos const char *get_DW_CFA_name (unsigned int opc) { \ 59a2e2270fSchristos switch (opc) { \ 60a2e2270fSchristos DW_CFA (name, value) 61a2e2270fSchristos #define DW_END_CFA } return 0; } 624559860eSchristos #define DW_FIRST_IDX(name, value) \ 634559860eSchristos const char *get_DW_IDX_name (unsigned int idx) { \ 644559860eSchristos switch (idx) { \ 654559860eSchristos DW_IDX (name, value) 664559860eSchristos #define DW_END_IDX } return 0; } 674b169a6bSchristos #define DW_FIRST_UT(name, value) \ 684b169a6bSchristos const char *get_DW_UT_name (unsigned int ut) { \ 694b169a6bSchristos switch (ut) { \ 704b169a6bSchristos DW_UT (name, value) 714b169a6bSchristos #define DW_END_UT } return 0; } 72a2e2270fSchristos 73a2e2270fSchristos #define DW_TAG(name, value) case name: return # name ; 74a2e2270fSchristos #define DW_TAG_DUP(name, value) 75a2e2270fSchristos #define DW_FORM(name, value) case name: return # name ; 76a2e2270fSchristos #define DW_AT(name, value) case name: return # name ; 77a2e2270fSchristos #define DW_AT_DUP(name, value) 78a2e2270fSchristos #define DW_OP(name, value) case name: return # name ; 79a2e2270fSchristos #define DW_OP_DUP(name, value) 80a2e2270fSchristos #define DW_ATE(name, value) case name: return # name ; 81a2e2270fSchristos #define DW_ATE_DUP(name, value) 82a2e2270fSchristos #define DW_CFA(name, value) case name: return # name ; 834559860eSchristos #define DW_CFA_DUP(name, value) 844559860eSchristos #define DW_IDX(name, value) case name: return # name ; 854559860eSchristos #define DW_IDX_DUP(name, value) 864b169a6bSchristos #define DW_UT(name, value) case name: return # name ; 87a2e2270fSchristos 88a2e2270fSchristos #include "dwarf2.def" 89a2e2270fSchristos 90a2e2270fSchristos #undef DW_FIRST_TAG 91a2e2270fSchristos #undef DW_END_TAG 92a2e2270fSchristos #undef DW_FIRST_FORM 93a2e2270fSchristos #undef DW_END_FORM 94a2e2270fSchristos #undef DW_FIRST_AT 95a2e2270fSchristos #undef DW_END_AT 96a2e2270fSchristos #undef DW_FIRST_OP 97a2e2270fSchristos #undef DW_END_OP 98a2e2270fSchristos #undef DW_FIRST_ATE 99a2e2270fSchristos #undef DW_END_ATE 100a2e2270fSchristos #undef DW_FIRST_CFA 101a2e2270fSchristos #undef DW_END_CFA 1024559860eSchristos #undef DW_FIRST_IDX 1034559860eSchristos #undef DW_END_IDX 1044b169a6bSchristos #undef DW_END_UT 105a2e2270fSchristos 106a2e2270fSchristos #undef DW_TAG 107a2e2270fSchristos #undef DW_TAG_DUP 108a2e2270fSchristos #undef DW_FORM 109a2e2270fSchristos #undef DW_AT 110a2e2270fSchristos #undef DW_AT_DUP 111a2e2270fSchristos #undef DW_OP 112a2e2270fSchristos #undef DW_OP_DUP 113a2e2270fSchristos #undef DW_ATE 114a2e2270fSchristos #undef DW_ATE_DUP 115a2e2270fSchristos #undef DW_CFA 1164559860eSchristos #undef DW_CFA_DUP 1174559860eSchristos #undef DW_IDX 1184559860eSchristos #undef DW_IDX_DUP 119