summaryrefslogtreecommitdiff
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
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
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/dbxout.c16
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.dg/stabs-attrib-vect-darwin.c11
4 files changed, 32 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fea482b414c..2824494573d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2005-04-25 Devang Patel <dpatel@apple.com>
+
+ * dbxout.c (dbxout_type): Emit attribute vector.
+
2005-04-05 Paul Brook <julian@codesourcery.com>
* target-def.h (TARGET_CXX_USE_AEABI_ATEXIT): Define.
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.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 168fcdf50ca..ddd7310e96a 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2005-04-25 Devang Patel <dpatel@apple.com>
+
+ * gcc.dg/stabs-attrib-vect-darwin.c: New test.
+
2005-04-25 Andrew Pinski <pinskia@physics.uc.edu>
PR testsuite/21062
diff --git a/gcc/testsuite/gcc.dg/stabs-attrib-vect-darwin.c b/gcc/testsuite/gcc.dg/stabs-attrib-vect-darwin.c
new file mode 100644
index 00000000000..d380f8e8d00
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/stabs-attrib-vect-darwin.c
@@ -0,0 +1,11 @@
+/* Test Attribute Vector associated with vector type stabs. */
+/* { dg-do compile { target powerpc*-*-darwin* } } */
+/* { dg-options "-gstabs -fno-eliminate-unused-debug-types -faltivec" } */
+
+int main ()
+{
+ vector int vi = { 6,7,8,9 };
+ return 0;
+}
+
+/* { dg-final { scan-assembler ".stabs.*vi\:\\(0,16\\)=\@V" } } */