[C++] Fix automatic variables in nested $(call

An omitted argument should be blank, even if it's nested inside another
call statement that did have that argument passed.

Android uses missing arguments as defaults in many places.
diff --git a/testcase/nested_call.mk b/testcase/nested_call.mk
new file mode 100644
index 0000000..f9a401d
--- /dev/null
+++ b/testcase/nested_call.mk
@@ -0,0 +1,17 @@
+define inner
+{$(1)|$(origin 1),$(2)|$(origin 2)}
+endef
+
+define macro
+$(call inner,$(1)) \
+$(call inner,test2) \
+$(call inner,test3,) \
+$(call inner,test4,macro) \
+$(call inner)
+endef
+
+2=global
+
+test:
+	@echo "$(call macro,test1)"
+	@echo "$(call macro)"