OSDN Git Service

* init.c (build_new): Allow enumeration types for the array-bounds
[pf3gnuchains/gcc-fork.git] / gcc / c-lang.c
index f8cefb3..53ebdab 100644 (file)
@@ -39,11 +39,14 @@ Boston, MA 02111-1307, USA.  */
 static int c_tree_printer PARAMS ((output_buffer *));
 static int c_missing_noreturn_ok_p PARAMS ((tree));
 static void c_init PARAMS ((void));
+static void c_init_options PARAMS ((void));
 static void c_post_options PARAMS ((void));
 
 /* Each front end provides its own.  */
 struct lang_hooks lang_hooks = {c_init,
                                NULL, /* c_finish */
+                               c_init_options,
+                               c_decode_option,
                                c_post_options};
 
 /* Post-switch processing.  */
@@ -53,18 +56,8 @@ c_post_options ()
   cpp_post_options (parse_in);
 }
 
-/* Each of the functions defined here
-   is an alternative to a function in objc-actions.c.  */
-int
-lang_decode_option (argc, argv)
-     int argc;
-     char **argv;
-{
-  return c_decode_option (argc, argv);
-}
-
-void
-lang_init_options ()
+static void
+c_init_options ()
 {
   parse_in = cpp_create_reader (CLK_GNUC89);
 
@@ -77,10 +70,11 @@ c_init ()
 {
   c_common_lang_init ();
 
-  /* If still unspecified, make it match pedantic && -std=c99.  */
+  /* If still unspecified, make it match -std=c99
+     (allowing for -pedantic-errors).  */
   if (mesg_implicit_function_declaration < 0)
     {
-      if (pedantic && flag_isoc99)
+      if (flag_isoc99)
        mesg_implicit_function_declaration = flag_pedantic_errors ? 2 : 1;
       else
        mesg_implicit_function_declaration = 0;
@@ -194,10 +188,9 @@ start_cdtor (method_type)
   tree body;
 
   start_function (void_list_node_1,
-                 build_parse_node (CALL_EXPR, fnname,
-                                   tree_cons (NULL_TREE, NULL_TREE,
-                                              void_list_node_1),
-                                   NULL_TREE),
+                 build_nt (CALL_EXPR, fnname,
+                           tree_cons (NULL_TREE, NULL_TREE, void_list_node_1),
+                           NULL_TREE),
                  NULL_TREE, NULL_TREE);
   store_parm_decls ();