| 123456789101112131415161718192021 | 
							- --- a/gcc/varpool.c
 
- +++ b/gcc/varpool.c
 
- @@ -329,8 +329,16 @@ ctor_for_folding (tree decl)
 
-  
 
-    /* Variables declared 'const' without an initializer
 
-       have zero as the initializer if they may not be
 
- -     overridden at link or run time.  */
 
- -  if (!DECL_INITIAL (real_decl)
 
- +     overridden at link or run time.
 
- +
 
- +     It is actually requirement for C++ compiler to optimize const variables
 
- +     consistently. As a GNU extension, do not enfore this rule for user defined
 
- +     weak variables, so we support interposition on:
 
- +     static const int dummy = 0;
 
- +     extern const int foo __attribute__((__weak__, __alias__("dummy"))); 
 
- +   */
 
- +  if ((!DECL_INITIAL (real_decl)
 
- +       || (DECL_WEAK (decl) && !DECL_COMDAT (decl)))
 
-        && (DECL_EXTERNAL (decl) || decl_replaceable_p (decl)))
 
-      return error_mark_node;
 
-  
 
 
  |