]> granicus.if.org Git - clang/commitdiff
fix one more this-is-not-a-constant error. test included
authorNuno Lopes <nunoplopes@sapo.pt>
Mon, 1 Sep 2008 18:42:41 +0000 (18:42 +0000)
committerNuno Lopes <nunoplopes@sapo.pt>
Mon, 1 Sep 2008 18:42:41 +0000 (18:42 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55609 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaDecl.cpp
test/Sema/array-init.c

index bf7c690ac2bcb9d20d104943f71d0c7af3ba8c51..d93a5eca5f8058598fec7388eb0e3eb0ba5f751d 100644 (file)
@@ -1269,6 +1269,9 @@ bool Sema::CheckForConstantInitializer(Expr *Init, QualType DclT) {
   if (Init->getType()->isArrayType())
     return false;
 
+  if (Init->getType()->isFunctionType())
+    return false;
+
   Diag(Init->getExprLoc(), diag::err_init_element_not_constant,
        Init->getSourceRange());
   return true;
index 7d6e6c6d281d359937eba6906ad7fa555941d367..bf3d83d2654ce8912e35cc68f9c2c5a2569c7225 100644 (file)
@@ -235,3 +235,6 @@ struct soft_segment_descriptor gdt_segs[] = {
        {(int) &dblfault_tss},
        { (int)xpto},
 };
+
+static void sppp_ipv6cp_up();
+const struct {} ipcp = { sppp_ipv6cp_up }; //expected-warning{{empty struct extension}} expected-warning{{excess elements in array initializer}}