summaryrefslogtreecommitdiff
path: root/test/Sema/invalid-init-diag.c
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-04-09 00:35:39 +0000
committerDouglas Gregor <dgregor@apple.com>2010-04-09 00:35:39 +0000
commitd4eea8362605807327735727a9098abe1eb23b19 (patch)
treeffa33b82edfd313505b5bf83dac9fd6b6e844fa9 /test/Sema/invalid-init-diag.c
parent355fa3a65d2bffb2cb230e5c3d8cd14ec5570329 (diff)
downloadclang-d4eea8362605807327735727a9098abe1eb23b19.tar.gz
Improve diagnostics when we fail to convert from a source type to a
destination type for initialization, assignment, parameter-passing, etc. The main issue fixed here is that we used rather confusing wording for diagnostics such as t.c:2:9: warning: initializing 'char const [2]' discards qualifiers, expected 'char *' [-pedantic] char *name = __func__; ^ ~~~~~~~~ We're not initializing a 'char const [2]', we're initializing a 'char *' with an expression of type 'char const [2]'. Similar problems existed for other diagnostics in this area, so I've normalized them all with more precise descriptive text to say what we're initializing/converting/assigning/etc. from and to. The warning for the code above is now: t.c:2:9: warning: initializing 'char *' from an expression of type 'char const [2]' discards qualifiers [-pedantic] char *name = __func__; ^ ~~~~~~~~ Fixes <rdar://problem/7447179>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100832 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Sema/invalid-init-diag.c')
-rw-r--r--test/Sema/invalid-init-diag.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/test/Sema/invalid-init-diag.c b/test/Sema/invalid-init-diag.c
index dec7d6c18f..1ade42f31c 100644
--- a/test/Sema/invalid-init-diag.c
+++ b/test/Sema/invalid-init-diag.c
@@ -1,4 +1,4 @@
// RUN: %clang_cc1 %s -verify -fsyntax-only
int a;
-struct {int x;} x = a; // expected-error {{incompatible type initializing 'int', expected 'struct <anonymous}}
+struct {int x;} x = a; // expected-error {{from an expression of incompatible type 'int'}}