better warning for section conflict
authorAndi Kleen <ak@linux.intel.com>
Thu, 9 Jun 2011 06:22:17 +0000 (06:22 +0000)
committerAndi Kleen <ak@gcc.gnu.org>
Thu, 9 Jun 2011 06:22:17 +0000 (06:22 +0000)
gcc/:

2011-06-08  Andi Kleen  <ak@linux.intel.com>

* varasm.c (get_section): Print location of other conflict
for section conflicts.

From-SVN: r174836

gcc/ChangeLog
gcc/varasm.c

index 820bcbd067643a9970f9ec060120db4f1a6bd09d..1c9fa02276cab4155938229215022ad0ad9d0355 100644 (file)
@@ -1,3 +1,8 @@
+2011-06-08  Andi Kleen  <ak@linux.intel.com>
+
+       * varasm.c (get_section): Print location of other conflict
+       for section conflicts.
+
 2011-06-08  Andi Kleen  <ak@linux.intel.com>
 
        * config/i386/driver-i386.c (host_detect_local_cpu):
index 3311c86a9ea1844c67d96860119dc345e5aafc83..a0a0582be76ee4f0f22a58700d7c949527b5dc11 100644 (file)
@@ -313,7 +313,11 @@ get_section (const char *name, unsigned int flags, tree decl)
          if (decl == 0)
            decl = sect->named.decl;
          gcc_assert (decl);
-         error ("%+D causes a section type conflict", decl);
+         error ("%+D causes a section type conflict with %D", 
+                       decl, sect->named.decl);
+         if (decl != sect->named.decl)
+            inform (DECL_SOURCE_LOCATION (sect->named.decl), 
+                   "%qD was declared here", sect->named.decl);
          /* Make sure we don't error about one section multiple times.  */
          sect->common.flags |= SECTION_OVERRIDE;
        }