aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--decl.c1
-rw-r--r--test/typedef-qual.c3
-rw-r--r--test/typedef-qual.qbe1
3 files changed, 5 insertions, 0 deletions
diff --git a/decl.c b/decl.c
index 53aca7f..d81f54b 100644
--- a/decl.c
+++ b/decl.c
@@ -349,6 +349,7 @@ declspecs(struct scope *s, enum storageclass *sc, enum funcspec *fs, int *align)
if (!d || d->kind != DECLTYPE)
goto done;
t = d->type;
+ tq |= d->qual;
++ntypes;
next();
break;
diff --git a/test/typedef-qual.c b/test/typedef-qual.c
new file mode 100644
index 0000000..b027dab
--- /dev/null
+++ b/test/typedef-qual.c
@@ -0,0 +1,3 @@
+typedef const int T;
+const int x;
+T x;
diff --git a/test/typedef-qual.qbe b/test/typedef-qual.qbe
new file mode 100644
index 0000000..7cf0e40
--- /dev/null
+++ b/test/typedef-qual.qbe
@@ -0,0 +1 @@
+export data $x = align 4 { z 4 }