summaryrefslogtreecommitdiff
path: root/gcc/dbxout.c
diff options
context:
space:
mode:
authordpatel <dpatel@138bc75d-0d04-0410-961f-82ee72b054a4>2005-04-25 20:26:00 +0000
committerdpatel <dpatel@138bc75d-0d04-0410-961f-82ee72b054a4>2005-04-25 20:26:00 +0000
commitae15b0afd8830f1c37bacfaa256bf6ab9f63a9bc (patch)
tree13f5787cb2580f9ba8ab759bf090d2d7e368fb21 /gcc/dbxout.c
parent8f3ab23a5e5969f212365e007002c3f3e7605df9 (diff)
downloadgcc-ae15b0afd8830f1c37bacfaa256bf6ab9f63a9bc.tar.gz
* dbxout.c (dbxout_type): Emit attribute vector.
* gcc.dg/stabs-attrib-vect-darwin.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98737 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/dbxout.c')
-rw-r--r--gcc/dbxout.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/gcc/dbxout.c b/gcc/dbxout.c
index 4cbe16b603f..6ad3b629d10 100644
--- a/gcc/dbxout.c
+++ b/gcc/dbxout.c
@@ -1652,11 +1652,15 @@ dbxout_type (tree type, int full)
tree tem;
tree main_variant;
static int anonymous_type_number = 0;
+ bool vector_type = false;
if (TREE_CODE (type) == VECTOR_TYPE)
- /* The frontend feeds us a representation for the vector as a struct
- containing an array. Pull out the array type. */
- type = TREE_TYPE (TYPE_FIELDS (TYPE_DEBUG_REPRESENTATION_TYPE (type)));
+ {
+ /* The frontend feeds us a representation for the vector as a struct
+ containing an array. Pull out the array type. */
+ type = TREE_TYPE (TYPE_FIELDS (TYPE_DEBUG_REPRESENTATION_TYPE (type)));
+ vector_type = true;
+ }
/* If there was an input error and we don't really have a type,
avoid crashing and write something that is at least valid
@@ -1991,6 +1995,12 @@ dbxout_type (tree type, int full)
break;
}
+ if (vector_type)
+ {
+ have_used_extensions = 1;
+ stabstr_S ("@V;");
+ }
+
/* Output "a" followed by a range type definition
for the index type of the array
followed by a reference to the target-type.