Switch instruction_set to *string

So that the contents gets replaced when prepended/appended instead of
merged.

Test: Set instruction_set in a cc_defaults, and in a module.
Change-Id: I0f2c789231d89efa1ab053f9dc118cd19f11b0e6
diff --git a/cc/compiler.go b/cc/compiler.go
index 102bc7a..0a2d7bd 100644
--- a/cc/compiler.go
+++ b/cc/compiler.go
@@ -62,7 +62,7 @@
 
 	// the instruction set architecture to use to compile the C/C++
 	// module.
-	Instruction_set string `android:"arch_variant"`
+	Instruction_set *string `android:"arch_variant"`
 
 	// list of directories relative to the root of the source tree that will
 	// be added to the include path using -I.
@@ -277,7 +277,7 @@
 			"-D__ANDROID_API__=__ANDROID_API_FUTURE__", "-D__ANDROID_VNDK__")
 	}
 
-	instructionSet := compiler.Properties.Instruction_set
+	instructionSet := proptools.String(compiler.Properties.Instruction_set)
 	if flags.RequiredInstructionSet != "" {
 		instructionSet = flags.RequiredInstructionSet
 	}