OSDN Git Service

(c_sizeof, build_c_cast): Set TREE_OVERFLOW in addition
[pf3gnuchains/gcc-fork.git] / gcc / toplev.c
index a7db37c..05fef4d 100644 (file)
@@ -1,5 +1,5 @@
 /* Top level of GNU C compiler
-   Copyright (C) 1987, 1988, 1989, 1992 Free Software Foundation, Inc.
+   Copyright (C) 1987, 1988, 1989, 1992, 1993 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -545,6 +545,8 @@ char *lang_options[] =
   "-fno-builtin",
   "-fno-ident",
   "-fident",
+  "-fdollars-in-identifiers",
+  "-fnodollars-in-identifiers",
   "-ansi",
   "-Wimplicit",
   "-Wno-implicit",
@@ -628,6 +630,8 @@ char *lang_options[] =
   "-fno-nonnull-objects",
   "-fimplement-inlines",
   "-fno-implement-inlines",
+  "-fexternal-templates",
+  "-fno-external-templates",
 
   "-Wreturn-type",
   "-Wno-return-type",
@@ -637,6 +641,8 @@ char *lang_options[] =
   "-Wno-enum-clash",
   "-Wtemplate-debugging",
   "-Wno-template-debugging",
+  "-Wctor-dtor-privacy",
+  "-Wno-ctor-dtor-privacy",
 
   /* these are for obj c */
   "-lang-objc",
@@ -1002,7 +1008,7 @@ report_error_function (file)
        {
          fprintf (stderr, " from %s:%d", p->name, p->line);
          if (p->next)
-           fprintf (stderr, ",");
+           fprintf (stderr, ",\n                ");
        }
       fprintf (stderr, ":\n");
       last_error_tick = input_file_stack_tick;
@@ -1924,7 +1930,11 @@ compile_file (name)
            && (TREE_ADDRESSABLE (decl)
                || TREE_ADDRESSABLE (DECL_ASSEMBLER_NAME (decl)))
            && ! DECL_EXTERNAL (decl))
-         output_inline_function (decl);
+         {
+           temporary_allocation ();
+           output_inline_function (decl);
+           permanent_allocation ();
+         }
 
        /* Warn about any function
           declared static but not defined.
@@ -1939,7 +1949,11 @@ compile_file (name)
            && DECL_EXTERNAL (decl)
            && ! TREE_PUBLIC (decl))
          {
-           pedwarn_with_decl (decl, 
+           /* This should be a pedwarn, except that there is
+              no easy way to prevent it from happening when the
+              name is used only inside a sizeof.
+              This at least avoids being incorrect.  */
+           warning_with_decl (decl, 
                               "`%s' declared `static' but never defined");
            /* This symbol is effectively an "extern" declaration now.  */
            TREE_PUBLIC (decl) = 1;