This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH: Remove 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'


On Wed, Dec 12, 2012 at 9:30 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> After further investigation, I found
>
> RAW_CXX_TARGET_EXPORTS = \
>         $(BASE_TARGET_EXPORTS) \
>         CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
>         CXX="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS";
> export CXX;
> ...
>
> all-stage1-target-libsanitizer: configure-stage1-target-libsanitizer
>         @[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
>         @r=`${PWD_COMMAND}`; export r; \
>         s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
>         TFLAGS="$(STAGE1_TFLAGS)"; \
>         $(RAW_CXX_TARGET_EXPORTS)  \
>         cd $(TARGET_SUBDIR)/libsanitizer && \
>         $(MAKE) $(BASE_FLAGS_TO_PASS) \
>                 CFLAGS="$(CFLAGS_FOR_TARGET)" \
>                 CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
>                 LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
>                 CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
>                 CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
>                 LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
>                 $(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)'
> 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'  \
>                   \
>                 TFLAGS="$(STAGE1_TFLAGS)" \
>                 $(TARGET-stage1-target-libsanitizer)
>
> The problem is
>
> CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'
>
> Those are bogus since
>
> 1. We never set RAW_CXX_FOR_TARGET.
> 2. We have set
>
>         CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
>         CXX="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS";
> export CXX;
>
> in RAW_CXX_TARGET_EXPORTS.  There is no need to do anything.
>

Here is a patch to remove 'CXX=$$(RAW_CXX_FOR_TARGET)'
'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'.  Tested on
Linux/x86-64.  OK to install?

Thanks.

-- 
H.J.
---
2012-12-12  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.tpl (target_modules): Remove 'CXX=$$(RAW_CXX_FOR_TARGET)'
	'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'.
	* Makefile.in: Regenerated.

diff --git a/Makefile.tpl b/Makefile.tpl
index 5cdc119..dbcd5c3 100644
--- a/Makefile.tpl
+++ b/Makefile.tpl
@@ -1281,7 +1281,7 @@ maybe-[+make_target+]-[+module+]:
[+make_target+]-[+module+]

 [+ all prefix="target-" subdir="$(TARGET_SUBDIR)"
        exports="$(RAW_CXX_TARGET_EXPORTS)"
-       args="$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)'
'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'" +]
+       args="$(EXTRA_TARGET_FLAGS)" +]
 [+ ELSE +]
 [+ configure prefix="target-" subdir="$(TARGET_SUBDIR)"
 	     check_multilibs=true
@@ -1313,11 +1313,7 @@ ELSE normal_cxx +]
 	$(NORMAL_TARGET_EXPORTS) \[+
 ENDIF raw_cxx +]
 	(cd $(TARGET_SUBDIR)/[+module+] && \
-	  $(MAKE) $(TARGET_FLAGS_TO_PASS) [+
-	    IF raw_cxx
-	      +] 'CXX=$$(RAW_CXX_FOR_TARGET)'
'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' [+
-	    ENDIF raw_cxx
-	  +] [+extra_make_flags+] check)
+	  $(MAKE) $(TARGET_FLAGS_TO_PASS) [+extra_make_flags+] check)
 [+ ENDIF no_check +]
 @endif target-[+module+]


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]