Fix --enable-offload-targets/-foffload handling, pt. 2
authortschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 23 Sep 2015 14:52:57 +0000 (14:52 +0000)
committertschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 23 Sep 2015 14:52:57 +0000 (14:52 +0000)
gcc/
* gcc.c (handle_foffload_option): Don't lose the trailing NUL
character when appending to offload_targets.

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

gcc/ChangeLog
gcc/gcc.c

index df71558..ca89477 100644 (file)
@@ -1,5 +1,8 @@
 2015-09-23  Thomas Schwinge  <thomas@codesourcery.com>
 
+       * gcc.c (handle_foffload_option): Don't lose the trailing NUL
+       character when appending to offload_targets.
+
        * configure.ac (offload_targets, OFFLOAD_TARGETS): Separate
        offload targets by commas, not colons.
        * config.in: Regenerate.
index 78b68e2..ef132d6 100644 (file)
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -3657,10 +3657,9 @@ handle_foffload_option (const char *arg)
              size_t offload_targets_len = strlen (offload_targets);
              offload_targets
                = XRESIZEVEC (char, offload_targets,
-                             offload_targets_len + next - cur + 2);
-             if (offload_targets_len)
-               offload_targets[offload_targets_len++] = ':';
-             memcpy (offload_targets + offload_targets_len, target, next - cur);
+                             offload_targets_len + 1 + next - cur + 1);
+             offload_targets[offload_targets_len++] = ':';
+             memcpy (offload_targets + offload_targets_len, target, next - cur + 1);
            }
        }