OSDN Git Service

(c_sizeof, build_c_cast): Set TREE_OVERFLOW in addition
[pf3gnuchains/gcc-fork.git] / gcc / toplev.c
index e887421..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;
@@ -1819,6 +1825,16 @@ compile_file (name)
   ASM_IDENTIFY_LANGUAGE (asm_out_file);
 #endif
 
+/* ??? Note: There used to be a conditional here
+   to call assemble_zeros without fail if DBX_DEBUGGING_INFO is defined.
+   This was to guarantee separation between gcc_compiled. and
+   the first function, for the sake of dbx on Suns.
+   However, having the extra zero here confused the Emacs
+   code for unexec, and might confuse other programs too.
+   Therefore, I took out that change.
+   In future versions we should find another way to solve
+   that dbx problem.  -- rms, 23 May 93.  */
+
   /* Don't let the first function fall at the same address
      as gcc_compiled., if profiling.  */
   if (profile_flag || profile_block_flag)
@@ -1914,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.
@@ -1929,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;
@@ -3305,7 +3329,7 @@ You Lose!  You must define PREFERRED_DEBUGGING_TYPE!
   if (write_symbols == DWARF_DEBUG
       && strcmp (language_string, "GNU C++") == 0)
     {
-      warning ("-g option for g++ on SVR4 systems: -g disabled");
+      warning ("-g option not supported for C++ on SVR4 systems");
       write_symbols = NO_DEBUG;
     }
 #endif /* defined(DWARF_DEBUGGING_INFO) */