OSDN Git Service

* opts.c (target_handle_option): Do not assert that loc ==
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 17 Nov 2010 12:21:39 +0000 (12:21 +0000)
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 17 Nov 2010 12:21:39 +0000 (12:21 +0000)
UNKNOWN_LOCATION.

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

gcc/ChangeLog
gcc/opts.c

index 91ae63e..a131549 100644 (file)
@@ -1,3 +1,8 @@
+2010-11-17  Joseph Myers  <joseph@codesourcery.com>
+
+       * opts.c (target_handle_option): Do not assert that loc ==
+       UNKNOWN_LOCATION.
+
 2010-11-17  Jakub Jelinek  <jakub@redhat.com>
            Richard Guenther  <rguenther@suse.de>
 
index d4d7f1d..6c2fca3 100644 (file)
@@ -521,7 +521,7 @@ target_handle_option (struct gcc_options *opts,
                      struct gcc_options *opts_set,
                      const struct cl_decoded_option *decoded,
                      unsigned int lang_mask ATTRIBUTE_UNUSED, int kind,
-                     location_t loc,
+                     location_t loc ATTRIBUTE_UNUSED,
                      const struct cl_option_handlers *handlers ATTRIBUTE_UNUSED,
                      diagnostic_context *dc)
 {
@@ -530,7 +530,10 @@ target_handle_option (struct gcc_options *opts,
   gcc_assert (dc == global_dc);
   gcc_assert (decoded->canonical_option_num_elements <= 2);
   gcc_assert (kind == DK_UNSPECIFIED);
-  gcc_assert (loc == UNKNOWN_LOCATION);
+  /* Although the location is not passed down to
+     targetm.handle_option, do not make assertions about its value;
+     options may come from optimize attributes and having the correct
+     location in the handler is not generally important.  */
   return targetm.handle_option (decoded->opt_index, decoded->arg,
                                decoded->value);
 }