/*
  Copyright (C) 2000-2010 Silicon Graphics, Inc.  All Rights Reserved.
  Portions Copyright (C) 2008-2012 SN Systems Ltd. All Rights Reserved.
  Portions Copyright (C) 2009-2012 David Anderson. All Rights Reserved.

  This program is free software; you can redistribute it and/or modify it
  under the terms of version 2.1 of the GNU Lesser General Public License
  as published by the Free Software Foundation.

  This program is distributed in the hope that it would be useful, but
  WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

  Further, this software is distributed without any warranty that it is
  free of the rightful claim of any third person regarding infringement
  or the like.  Any license provided herein, whether implied or
  otherwise, applies only to this software file.  Patent licenses, if
  any, provided herein do not apply to combinations of this program with
  other software, or any other product whatsoever.

  You should have received a copy of the GNU Lesser General Public
  License along with this program; if not, write the Free Software
  Foundation, Inc., 59 Temple Place - Suite 330, Boston MA 02111-1307,
  USA.

*/

#include <dwarf.h>

/*  list for semantic check of tag-attr relation.
    See tag_attr.list for details.

    Notes:
        If new top level TAGs are added/removed, update EXT_ATTR_TABLE_ROWS
        If new child TAGs are added/removed, update EXT_ATTR_TABLE_COLS

        EXT_ATTR_TABLE_ROWS is defined in tag_tree.c and specifies the
        maximum number of top level TAGs.
        Current value is 10.

        EXT_ATTR_TABLE_COLS is defined in tag_tree.c and specifies the
        maximum number of entries for the top level TAGs.
        Current value is 10.
*/

/* Common DWARF extensions */

0xffffffff
DW_TAG_structure_type
DW_AT_containing_type

0xffffffff
DW_TAG_compile_unit
DW_AT_APPLE_optimized /* Used by LLVM */
DW_AT_GNU_dwo_id

0xffffffff
DW_TAG_member
DW_AT_GNU_guarded_by    /* gcc.gnu.org/wiki/ThreadSafetyAnnotationsInDWARF */
DW_AT_GNU_pt_guarded_by /* gcc.gnu.org/wiki/ThreadSafetyAnnotationsInDWARF */
DW_AT_GNU_guarded       /* gcc.gnu.org/wiki/ThreadSafetyAnnotationsInDWARF */
DW_AT_GNU_pt_guarded    /* gcc.gnu.org/wiki/ThreadSafetyAnnotationsInDWARF */

0xffffffff
DW_TAG_array_type
DW_AT_GNU_vector

0xffffffff
DW_TAG_subprogram
DW_AT_MIPS_linkage_name  /* Used by GNU, SGI-IRIX, and others. */
DW_AT_MIPS_fde /* SGI-IRIX uses this */
DW_AT_GNU_locks_excluded /* gcc.gnu.org/wiki/ThreadSafetyAnnotationsInDWARF */
DW_AT_GNU_exclusive_locks_required
DW_AT_GNU_shared_locks_required
DW_AT_APPLE_omit_frame_ptr  /* Used by LLVM */
DW_AT_APPLE_optimized /* Used by LLVM */
DW_AT_GNU_all_tail_call_sites
DW_AT_GNU_all_call_sites

0xffffffff
DW_TAG_variable
DW_AT_MIPS_linkage_name   /* Used by GNU, SGI-IRIX, and others. */
DW_AT_GNU_guarded_by
DW_AT_GNU_pt_guarded_by
DW_AT_GNU_guarded
DW_AT_GNU_pt_guarded

0xffffffff
DW_TAG_GNU_template_template_parameter
DW_AT_decl_column
DW_AT_decl_file
DW_AT_decl_line
DW_AT_name
DW_AT_GNU_template_name
DW_AT_GNU_guarded_by /* GNU changed the name of 0x2108! */

0xffffffff
DW_TAG_GNU_template_parameter_pack
DW_AT_decl_column
DW_AT_decl_file
DW_AT_decl_line
DW_AT_name

0xffffffff
DW_TAG_GNU_formal_parameter_pack
DW_AT_decl_column
DW_AT_decl_file
DW_AT_decl_line
DW_AT_name

0xffffffff
DW_TAG_GNU_call_site
DW_AT_abstract_origin
DW_AT_low_pc
DW_AT_sibling
DW_AT_GNU_tail_call

0xffffffff
DW_TAG_GNU_call_site_parameter
DW_AT_GNU_call_site_value
DW_AT_abstract_origin
DW_AT_location

0xffffffff
DW_TAG_constant
DW_AT_GNU_numerator
DW_AT_GNU_denominator

0xffffffff
DW_TAG_subrange_type
DW_AT_GNU_bias

0xffffffff
DW_TAG_inlined_subroutine
DW_AT_GNU_discriminator  /* Used by LLVM */

0xffffffff
DW_TAG_lexical_block

0xffffffff
