OSDN Git Service

2007-05-04 Dirk Mueller <dmueller@suse.de>
authormueller <mueller@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 4 May 2007 00:46:02 +0000 (00:46 +0000)
committermueller <mueller@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 4 May 2007 00:46:02 +0000 (00:46 +0000)
        * c.opt(Wmain,ffreestanding): Enable for C++,ObjC++.

        * cp-tree.h (DECL_MAIN_P): only if -ffreestanding is
        not in effect.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124404 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/c.opt
gcc/cp/ChangeLog
gcc/cp/cp-tree.h

index 1add00f..afb5846 100644 (file)
@@ -1,3 +1,7 @@
+2007-05-04  Dirk Mueller  <dmueller@suse.de>
+
+       * c.opt(Wmain,ffreestanding): Enable for C++,ObjC++.
+
 2007-05-03  Jan Hubicka  <jh@suse.cz>
 
        * fold-const.c (fold_unary): Convert (T1)(X op Y) into ((T1)X op (T1)Y),
index 61aaf82..0635fdc 100644 (file)
--- a/gcc/c.opt
+++ b/gcc/c.opt
@@ -271,7 +271,7 @@ C ObjC C++ ObjC++ Var(warn_long_long) Init(1) Warning
 Do not warn about using \"long long\" when -pedantic
 
 Wmain
-C ObjC Warning
+C ObjC C++ ObjC++ Warning
 Warn about suspicious declarations of \"main\"
 
 Wmissing-braces
@@ -551,7 +551,7 @@ C++ ObjC++
 Scope of for-init-statement variables is local to the loop
 
 ffreestanding
-C ObjC
+C ObjC C++ ObjC++
 Do not assume that standard C libraries and \"main\" exist
 
 fgnu-keywords
index d0b0dd9..52bf5e8 100644 (file)
@@ -1,3 +1,8 @@
+2007-05-04  Dirk Mueller  <dmueller@suse.de>
+
+       * cp-tree.h (DECL_MAIN_P): only if -ffreestanding is
+       not in effect.
+
 2007-05-02  Seongbae Park  <seongbae.park@gmail.com>
 
        PR c++/31663
index fb682c7..df067c9 100644 (file)
@@ -303,7 +303,8 @@ typedef struct ptrmem_cst * ptrmem_cst_t;
 #define DECL_MAIN_P(NODE)                              \
    (DECL_EXTERN_C_FUNCTION_P (NODE)                    \
     && DECL_NAME (NODE) != NULL_TREE                   \
-    && MAIN_NAME_P (DECL_NAME (NODE)))
+    && MAIN_NAME_P (DECL_NAME (NODE)))                  \
+    && flag_hosted
 
 /* The overloaded FUNCTION_DECL.  */
 #define OVL_FUNCTION(NODE) \