Author: syang
Date: 2010-12-03 12:51:12 -0500 (Fri, 03 Dec 2010)
New Revision: 3416

Modified:
   trunk/osprey-gcc-4.2.0/gcc/tree.c
Log:
Fix to bug #594

approved by : Gautam


Modified: trunk/osprey-gcc-4.2.0/gcc/tree.c
===================================================================
--- trunk/osprey-gcc-4.2.0/gcc/tree.c   2010-12-03 13:04:25 UTC (rev 3415)
+++ trunk/osprey-gcc-4.2.0/gcc/tree.c   2010-12-03 17:51:12 UTC (rev 3416)
@@ -10522,6 +10522,23 @@
         if (CPR()) {   /* C++ */
          switch (TREE_CODE(t)) {
            case FUNCTION_DECL:
+             
+             if (!DECL_LANG_SPECIFIC (t)) {
+               /* Following C++ snippet necessitates the need of condition 
+                * "if (!DECL_LANG_SPECIFIC(t))"
+                * 
+                *   #pragma weak bar1 = foo1
+                *   extern "C" void foo1 (void) { }
+                *
+                *  The front end creates a decl tree both for bar1() and 
foo1().
+                *  The decl.lang_specific field of the decl tree for bar1() is 
NULL,
+                *  as evidenced in maybe_apply_pending_pragma_weaks(). 
+                *  If the <t> being procesed is the decl tree for bar1(), 
calling 
+                *  macros like DECL_GLOBAL_CTOR_P will incur segamentation 
fault.
+                */
+               break;
+             }
+
              _gs_bv(cp_decl_flags, GS_DECL_GLOBAL_CTOR_P,
                     DECL_GLOBAL_CTOR_P(t));
              _gs_bv(cp_decl_flags, GS_DECL_GLOBAL_DTOR_P,


------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to