svn commit: r223715 - head/contrib/gcc

Ulrich Spoerlein uqs at FreeBSD.org
Fri Jul 1 20:45:56 UTC 2011


Author: uqs
Date: Fri Jul  1 20:45:55 2011
New Revision: 223715
URL: http://svn.freebsd.org/changeset/base/223715

Log:
  - Fix typo in check_for_nested_with_variably_modified present
  - Implement -Wvariable-decl.
  - Port -Wtrampolines support from gcc3.
  (all three also via OpenBSD)
  
  PR:		gnu/127136, gnu/157019
  Submitted by:	Henning Petersen, Pedro Giffuni
  MFC after:	6 weeks

Modified:
  head/contrib/gcc/c-decl.c
  head/contrib/gcc/c.opt
  head/contrib/gcc/common.opt
  head/contrib/gcc/tree-nested.c

Modified: head/contrib/gcc/c-decl.c
==============================================================================
--- head/contrib/gcc/c-decl.c	Fri Jul  1 19:23:25 2011	(r223714)
+++ head/contrib/gcc/c-decl.c	Fri Jul  1 20:45:55 2011	(r223715)
@@ -4340,6 +4340,8 @@ grokdeclarator (const struct c_declarato
 			  pedwarn ("ISO C90 forbids variable-size array %qs",
 				   name);
 		      }
+		    if (warn_variable_decl)
+		      warning (0, "variable-sized array %qs", name);
 		  }
 
 		if (integer_zerop (size))

Modified: head/contrib/gcc/c.opt
==============================================================================
--- head/contrib/gcc/c.opt	Fri Jul  1 19:23:25 2011	(r223714)
+++ head/contrib/gcc/c.opt	Fri Jul  1 20:45:55 2011	(r223715)
@@ -404,6 +404,10 @@ Wtraditional
 C ObjC Var(warn_traditional)
 Warn about features not present in traditional C
 
+Wtrampolines
+Common Var(warn_trampolines)
+Warn when trampolines are emitted
+
 Wtrigraphs
 C ObjC C++ ObjC++
 Warn if trigraphs are encountered that might affect the meaning of the program

Modified: head/contrib/gcc/common.opt
==============================================================================
--- head/contrib/gcc/common.opt	Fri Jul  1 19:23:25 2011	(r223714)
+++ head/contrib/gcc/common.opt	Fri Jul  1 20:45:55 2011	(r223715)
@@ -189,6 +189,10 @@ Wunused-variable
 Common Var(warn_unused_variable)
 Warn when a variable is unused
 
+Wvariable-decl
+Common Var(warn_variable_decl)
+Warn about variable-sized declarations.
+
 Wvolatile-register-var
 Common Var(warn_register_var)
 Warn when a register variable is declared volatile

Modified: head/contrib/gcc/tree-nested.c
==============================================================================
--- head/contrib/gcc/tree-nested.c	Fri Jul  1 19:23:25 2011	(r223714)
+++ head/contrib/gcc/tree-nested.c	Fri Jul  1 20:45:55 2011	(r223715)
@@ -750,7 +750,7 @@ check_for_nested_with_variably_modified 
   for (cgn = cgn->nested; cgn ; cgn = cgn->next_nested)
     {
       for (arg = DECL_ARGUMENTS (cgn->decl); arg; arg = TREE_CHAIN (arg))
-	if (variably_modified_type_p (TREE_TYPE (arg), 0), orig_fndecl)
+	if (variably_modified_type_p (TREE_TYPE (arg), orig_fndecl))
 	  return true;
 
       if (check_for_nested_with_variably_modified (cgn->decl, orig_fndecl))
@@ -1621,6 +1621,10 @@ convert_tramp_reference (tree *tp, int *
 	 it doesn't need a trampoline.  */
       if (DECL_NO_STATIC_CHAIN (decl))
 	break;
+      if (warn_trampolines)
+	{
+	warning(0, "local function address taken needing trampoline generation");
+	}
 
       /* Lookup the immediate parent of the callee, as that's where
 	 we need to insert the trampoline.  */


More information about the svn-src-all mailing list