From d8803632d248a360a040ff03eff1162988058036 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 10 Aug 2008 01:58:45 +0000 Subject: [PATCH] wrap some long diagnostics, make 'initializer is not a constant' diagnostic a bit more clear (rdar://5646070) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54606 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Basic/DiagnosticKinds.def | 8 +++++--- test/Sema/array-init.c | 4 ++-- test/Sema/compound-literal.c | 4 ++-- test/Sema/cxx-class.cpp | 2 +- test/Sema/init.c | 2 +- test/Sema/static-init.c | 4 ++-- test/Sema/vla.c | 2 +- 7 files changed, 14 insertions(+), 12 deletions(-) diff --git a/include/clang/Basic/DiagnosticKinds.def b/include/clang/Basic/DiagnosticKinds.def index 076ccce0d0..886b2970d1 100644 --- a/include/clang/Basic/DiagnosticKinds.def +++ b/include/clang/Basic/DiagnosticKinds.def @@ -719,7 +719,8 @@ DIAG(err_param_default_argument_references_param, ERROR, DIAG(err_param_default_argument_references_local, ERROR, "default argument references local variable '%0' of enclosing function") DIAG(err_param_default_argument_nonfunc, ERROR, - "default arguments can only be specified for parameters in a function declaration") + "default arguments can only be specified for parameters in a function" + " declaration") DIAG(err_previous_definition, ERROR, "previous definition is here") DIAG(err_previous_use, ERROR, @@ -786,7 +787,7 @@ DIAG(err_at_least_one_initializer_needed_to_size_array, ERROR, DIAG(err_array_size_non_int, ERROR, "size of array has non-integer type '%0'") DIAG(err_init_element_not_constant, ERROR, - "initializer element is not constant") + "initializer element is not a compile-time constant") DIAG(err_block_extern_cant_init, ERROR, "'extern' variable cannot have an initializer") DIAG(warn_extern_init, WARNING, @@ -1140,7 +1141,8 @@ DIAG(err_shufflevector_incompatible_vector, ERROR, DIAG(err_shufflevector_nonconstant_argument, ERROR, "indexes for __builtin_shufflevector must be constant integers") DIAG(err_shufflevector_argument_too_large, ERROR, - "indexes for __builtin_shufflevector must be less than the total number of vector elements") + "indexes for __builtin_shufflevector must be less than the total number" + " of vector elements") DIAG(err_stack_const_level, ERROR, "the level argument for a stack address builtin must be constant") diff --git a/test/Sema/array-init.c b/test/Sema/array-init.c index c1a789ea5b..7aecdda40e 100644 --- a/test/Sema/array-init.c +++ b/test/Sema/array-init.c @@ -4,8 +4,8 @@ extern int foof() = 1; // expected-error{{illegal initializer (only variables ca static int x, y, z; -static int ary[] = { x, y, z }; // expected-error{{initializer element is not constant}} -int ary2[] = { x, y, z }; // expected-error{{initializer element is not constant}} +static int ary[] = { x, y, z }; // expected-error{{initializer element is not a compile-time constant}} +int ary2[] = { x, y, z }; // expected-error{{initializer element is not a compile-time constant}} extern int fileScopeExtern[3] = { 1, 3, 5 }; // expected-warning{{'extern' variable has an initializer}} diff --git a/test/Sema/compound-literal.c b/test/Sema/compound-literal.c index f25d54fc90..5f31ae6648 100644 --- a/test/Sema/compound-literal.c +++ b/test/Sema/compound-literal.c @@ -4,11 +4,11 @@ struct foo { int a, b; }; static struct foo t = (struct foo){0,0}; static struct foo t2 = {0,0}; -static struct foo t3 = t2; // -expected-error {{initializer element is not constant}} +static struct foo t3 = t2; // -expected-error {{initializer element is not a compile-time constant}} static int *p = (int []){2,4}; static int x = (int){1}; // -expected-warning{{braces around scalar initializer}} -static int *p2 = (int []){2,x}; // -expected-error {{initializer element is not constant}} +static int *p2 = (int []){2,x}; // -expected-error {{initializer element is not a compile-time constant}} static int *p3 = (int []){2,"x"}; // -expected-warning {{incompatible pointer to integer conversion initializing 'char [2]', expected 'int'}} typedef struct { } cache_t; // -expected-warning{{use of empty struct extension}} diff --git a/test/Sema/cxx-class.cpp b/test/Sema/cxx-class.cpp index b7702dd24a..1fbff69cb5 100644 --- a/test/Sema/cxx-class.cpp +++ b/test/Sema/cxx-class.cpp @@ -34,7 +34,7 @@ public: int i = 0; // expected-error {{error: 'i' can only be initialized if it is a static const integral data member}} static int si = 0; // expected-error {{error: 'si' can only be initialized if it is a static const integral data member}} static const NestedC ci = 0; // expected-error {{error: 'ci' can only be initialized if it is a static const integral data member}} - static const int nci = vs; // expected-error {{error: initializer element is not constant}} + static const int nci = vs; // expected-error {{error: initializer element is not a compile-time constant}} static const int vi = 0; static const E evi = 0; diff --git a/test/Sema/init.c b/test/Sema/init.c index efc934d57a..b57f046a04 100644 --- a/test/Sema/init.c +++ b/test/Sema/init.c @@ -38,7 +38,7 @@ int *t = &(*s).z; short *a2(void) { short int b; - static short *bp = &b; // expected-error {{initializer element is not constant}} + static short *bp = &b; // expected-error {{initializer element is not a compile-time constant}} return bp; } diff --git a/test/Sema/static-init.c b/test/Sema/static-init.c index 2439d5e714..2f1380062d 100644 --- a/test/Sema/static-init.c +++ b/test/Sema/static-init.c @@ -1,7 +1,7 @@ // RUN: clang -fsyntax-only -verify %s static int f = 10; -static int b = f; // expected-error {{initializer element is not constant}} +static int b = f; // expected-error {{initializer element is not a compile-time constant}} -float r = (float) &r; // expected-error {{initializer element is not constant}} +float r = (float) &r; // expected-error {{initializer element is not a compile-time constant}} long long s = (long long) &s; _Bool t = &t; diff --git a/test/Sema/vla.c b/test/Sema/vla.c index e8956fd78a..5f4857e310 100644 --- a/test/Sema/vla.c +++ b/test/Sema/vla.c @@ -2,7 +2,7 @@ int test1() { typedef int x[test1()]; // vla - static int y = sizeof(x); // expected-error {{not constant}} + static int y = sizeof(x); // expected-error {{not a compile-time constant}} } // PR2347