aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/Sema/2007-10-01-BuildArrayRef.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/Sema/2007-10-01-BuildArrayRef.c b/test/Sema/2007-10-01-BuildArrayRef.c
new file mode 100644
index 0000000000..4692731b5c
--- /dev/null
+++ b/test/Sema/2007-10-01-BuildArrayRef.c
@@ -0,0 +1,20 @@
+// RUN: not %clang_cc1_only -c %s -o - > /dev/null
+// PR 1603
+void func()
+{
+ const int *arr;
+ arr[0] = 1; // expected-error {{assignment of read-only location}}
+}
+
+struct foo {
+ int bar;
+};
+struct foo sfoo = { 0 };
+
+int func2()
+{
+ const struct foo *fp;
+ fp = &sfoo;
+ fp[0].bar = 1; // expected-error {{ assignment of read-only member}}
+ return sfoo.bar;
+}