Patchwork fix for 48208 and 48260 on darwin

login
register
mail settings
Submitter Mike Stump
Date March 30, 2011, 2:46 p.m.
Message ID <52BD07D4-98A4-4FEC-B466-F53E6D74CE59@comcast.net>
Download mbox | patch
Permalink /patch/88929/
State New
Headers show

Comments

Mike Stump - March 30, 2011, 2:46 p.m.
On Mar 30, 2011, at 5:41 AM, gcchelp.5.adept@0sg.net wrote:
> Tests that now fail, but worked before:
> 
> g++.dg/warn/Wstrict-aliasing-float-ref-int-obj.C  (test for warnings, line 7)
> 
> Tests that now work, but didn't before:
> 
> g++.dg/warn/Wstrict-aliasing-float-ref-int-obj.C  (test for warnings, line 7)

Yeah, someone thought it would be funny to have two test cases with the same exact name, and then to have one of them fail and the other one work, so, technically, what it said is true.

I've now applied the patch for you.  In the future, by sure to attach the diffs as a file, as Mail eats white spacing in odd ways which corrupts patches.

Thanks.
2011-03-30  Christian Schüler  <cschueler@gmx.de>

	PR/driver 48208
	* config/c.opt (F): Added 'Driver' to -F option.
	PR/driver 48260
	* config/darwin-driver.c (darwin_driver_init): Add '-arch' to handler function.
	* config/darwin.opt: Added '-arch' option.

Patch

Index: c-family/c.opt
===================================================================
--- c-family/c.opt	(revision 171691)
+++ c-family/c.opt	(working copy)
@@ -201,7 +201,7 @@ 
 C ObjC C++ ObjC++ Undocumented Var(flag_preprocess_only)
 
 F
-C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)
+Driver C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)
 -F <dir>	Add <dir> to the end of the main framework include path
 
 H
Index: config/darwin.opt
===================================================================
--- config/darwin.opt	(revision 171691)
+++ config/darwin.opt	(working copy)
@@ -31,6 +31,9 @@ 
 allowable_client
 Driver Separate Alias(Zallowable_client)
 
+arch
+Driver RejectNegative Separate
+
 arch_errors_fatal
 Driver Alias(Zarch_errors_fatal)
 
Index: config/darwin-driver.c
===================================================================
--- config/darwin-driver.c	(revision 171691)
+++ config/darwin-driver.c	(working copy)
@@ -161,6 +161,15 @@ 
 	continue;
       switch ((*decoded_options)[i].opt_index)
 	{
+#if DARWIN_X86
+	case OPT_arch:
+	  if (!strcmp ((*decoded_options)[i].arg, "i386"))
+	    generate_option (OPT_m32, NULL, 1, CL_DRIVER, &(*decoded_options)[i]);
+	  else if (!strcmp ((*decoded_options)[i].arg, "x86_64"))
+	    generate_option (OPT_m64, NULL, 1, CL_DRIVER, &(*decoded_options)[i]);
+	  break;
+#endif
+
 	case OPT_filelist:
 	case OPT_framework:
 	  ++*decoded_options_count;