packages: crossmingw64-gcc/gcc-branch.diff, crossmingw64-gcc/crossmingw64-g...

pluto pluto at pld-linux.org
Tue Mar 6 10:16:42 CET 2012


Author: pluto                        Date: Tue Mar  6 09:16:42 2012 GMT
Module: packages                      Tag: HEAD
---- Log message:
- updated to 4.6.3.

---- Files affected:
packages/crossmingw64-gcc:
   gcc-branch.diff (1.3 -> 1.4) , crossmingw64-gcc.spec (1.24 -> 1.25) 

---- Diffs:

================================================================
Index: packages/crossmingw64-gcc/gcc-branch.diff
diff -u packages/crossmingw64-gcc/gcc-branch.diff:1.3 packages/crossmingw64-gcc/gcc-branch.diff:1.4
--- packages/crossmingw64-gcc/gcc-branch.diff:1.3	Wed Jan 18 21:52:54 2012
+++ packages/crossmingw64-gcc/gcc-branch.diff	Tue Mar  6 10:16:36 2012
@@ -1,14081 +1,655 @@
-Index: configure
+Index: gcc/targhooks.c
 ===================================================================
---- configure	(.../tags/gcc_4_6_2_release)	(wersja 183284)
-+++ configure	(.../branches/gcc-4_6-branch)	(wersja 183284)
-@@ -5117,7 +5117,7 @@
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_cc_gcc_supports_ada" >&5
- $as_echo "$acx_cv_cc_gcc_supports_ada" >&6; }
+--- gcc/targhooks.c	(.../tags/gcc_4_6_3_release)	(wersja 184979)
++++ gcc/targhooks.c	(.../branches/gcc-4_6-branch)	(wersja 184979)
+@@ -529,6 +529,7 @@
+       case scalar_to_vec:
+       case cond_branch_not_taken:
+       case vec_perm:
++      case vec_promote_demote:
+         return 1;
  
--if test x$GNATBIND != xno && test x$GNATMAKE != xno && test x$acx_cv_cc_gcc_supports_ada != xno; then
-+if test "x$GNATBIND" != xno && test "x$GNATMAKE" != xno && test x$acx_cv_cc_gcc_supports_ada != xno; then
-   have_gnat=yes
- else
-   have_gnat=no
-@@ -6944,10 +6944,6 @@
-     extra_arflags_for_target=" -X32_64"
-     extra_nmflags_for_target=" -B -X32_64"
-     ;;
--  *-*-darwin[3-9]*)
--    # ranlib before Darwin10 requires the -c flag to look at common symbols.
--    extra_ranlibflags_for_target=" -c"
--    ;;
-   mips*-*-pe | sh*-*-pe | *arm-wince-pe)
-     target_makefile_frag="config/mt-wince"
-     ;;
-Index: Makefile.in
-===================================================================
---- Makefile.in	(.../tags/gcc_4_6_2_release)	(wersja 183284)
-+++ Makefile.in	(.../branches/gcc-4_6-branch)	(wersja 183284)
-@@ -60017,6 +60017,7 @@
- install-gcc: maybe-install-fixincludes
- install-gcc: maybe-install-lto-plugin
- install-strip-gcc: maybe-install-strip-fixincludes
-+install-strip-gcc: maybe-install-strip-lto-plugin
- configure-libcpp: configure-libiberty
- 
- configure-stage1-libcpp: configure-stage1-libiberty
-Index: libgcc/config.host
-===================================================================
---- libgcc/config.host	(.../tags/gcc_4_6_2_release)	(wersja 183284)
-+++ libgcc/config.host	(.../branches/gcc-4_6-branch)	(wersja 183284)
-@@ -145,15 +145,6 @@
-   asm_hidden_op=.private_extern
-   tmake_file="t-darwin ${cpu_type}/t-darwin t-slibgcc-darwin"
-   ;;
--*-*-freebsd[12] | *-*-freebsd[12].* | *-*-freebsd*aout*)
--  # This is the place-holder for the generic a.out configuration
--  # of FreeBSD.  No actual configuration resides here since
--  # there was only ever a bare-bones ix86 configuration for
--  # a.out and it exists solely in the machine-specific section.
--  # This place-holder must exist to avoid dropping into
--  # the generic ELF configuration of FreeBSD (i.e. it must be
--  # ordered before that section).
--  ;;
- *-*-freebsd*)
-   # This is the generic ELF configuration of FreeBSD.  Later
-   # machine-specific sections may refine and add to this
-Index: libgcc/generic-morestack.c
-===================================================================
---- libgcc/generic-morestack.c	(.../tags/gcc_4_6_2_release)	(wersja 183284)
-+++ libgcc/generic-morestack.c	(.../branches/gcc-4_6-branch)	(wersja 183284)
-@@ -459,8 +459,8 @@
-   sigemptyset (&__morestack_initial_sp.mask);
- 
-   sigfillset (&__morestack_fullmask);
--#ifdef __linux__
--  /* On Linux, the first two real time signals are used by the NPTL
-+#ifdef __GLIBC__
-+  /* In glibc, the first two real time signals are used by the NPTL
-      threading library.  By taking them out of the set of signals, we
-      avoiding copying the signal mask in pthread_sigmask.  More
-      importantly, pthread_sigmask uses less stack space on x86_64.  */
-Index: libgcc/ChangeLog
-===================================================================
---- libgcc/ChangeLog	(.../tags/gcc_4_6_2_release)	(wersja 183284)
-+++ libgcc/ChangeLog	(.../branches/gcc-4_6-branch)	(wersja 183284)
-@@ -1,3 +1,16 @@
-+2011-12-15  H.J. Lu  <hongjiu.lu at intel.com>
-+
-+	Backport from mainline
-+	2011-12-14  H.J. Lu  <hongjiu.lu at intel.com>
-+
-+	* generic-morestack.c (__generic_morestack_set_initial_sp): Check
-+	__GLIBC__ instead of __linux__ when using __SIGRTMIN.
-+
-+2011-11-23  Gerald Pfeifer  <gerald at pfeifer.com>
-+
-+	* config.host (*-*-freebsd[12], *-*-freebsd[12].*,
-+	*-*-freebsd*aout*): Remove.
-+
- 2011-10-26  Release Manager
- 
- 	* GCC 4.6.2 released.
-Index: libtool.m4
-===================================================================
---- libtool.m4	(.../tags/gcc_4_6_2_release)	(wersja 183284)
-+++ libtool.m4	(.../branches/gcc-4_6-branch)	(wersja 183284)
-@@ -2273,7 +2273,7 @@
-     objformat=`/usr/bin/objformat`
-   else
-     case $host_os in
--    freebsd[[123]]*) objformat=aout ;;
-+    freebsd[[23]].*) objformat=aout ;;
-     *) objformat=elf ;;
-     esac
-   fi
-@@ -2291,7 +2291,7 @@
-   esac
-   shlibpath_var=LD_LIBRARY_PATH
-   case $host_os in
--  freebsd2*)
-+  freebsd2.*)
-     shlibpath_overrides_runpath=yes
-     ;;
-   freebsd3.[[01]]* | freebsdelf3.[[01]]*)
-@@ -4804,7 +4804,7 @@
-       ;;
- 
-     # Unfortunately, older versions of FreeBSD 2 do not have this feature.
--    freebsd2*)
-+    freebsd2.*)
-       _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-       _LT_TAGVAR(hardcode_direct, $1)=yes
-       _LT_TAGVAR(hardcode_minus_L, $1)=yes
-@@ -5751,7 +5751,7 @@
-         esac
-         ;;
- 
--      freebsd[[12]]*)
-+      freebsd2.*)
-         # C++ shared libraries reported to be fairly broken before
- 	# switch to ELF
-         _LT_TAGVAR(ld_shlibs, $1)=no
-Index: libgomp/configure
-===================================================================
---- libgomp/configure	(.../tags/gcc_4_6_2_release)	(wersja 183284)
-+++ libgomp/configure	(.../branches/gcc-4_6-branch)	(wersja 183284)
-@@ -9317,7 +9317,7 @@
-       ;;
- 
-     # Unfortunately, older versions of FreeBSD 2 do not have this feature.
--    freebsd2*)
-+    freebsd2.*)
-       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-       hardcode_direct=yes
-       hardcode_minus_L=yes
-@@ -10230,7 +10230,7 @@
-     objformat=`/usr/bin/objformat`
-   else
-     case $host_os in
--    freebsd[123]*) objformat=aout ;;
-+    freebsd[23].*) objformat=aout ;;
-     *) objformat=elf ;;
-     esac
-   fi
-@@ -10248,7 +10248,7 @@
-   esac
-   shlibpath_var=LD_LIBRARY_PATH
-   case $host_os in
--  freebsd2*)
-+  freebsd2.*)
-     shlibpath_overrides_runpath=yes
-     ;;
-   freebsd3.[01]* | freebsdelf3.[01]*)
-@@ -13164,7 +13164,7 @@
-       ;;
- 
-     # Unfortunately, older versions of FreeBSD 2 do not have this feature.
--    freebsd2*)
-+    freebsd2.*)
-       archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-       hardcode_direct_FC=yes
-       hardcode_minus_L_FC=yes
-@@ -13869,7 +13869,7 @@
-     objformat=`/usr/bin/objformat`
-   else
-     case $host_os in
--    freebsd[123]*) objformat=aout ;;
-+    freebsd[23].*) objformat=aout ;;
-     *) objformat=elf ;;
-     esac
-   fi
-@@ -13887,7 +13887,7 @@
-   esac
-   shlibpath_var=LD_LIBRARY_PATH
-   case $host_os in
--  freebsd2*)
-+  freebsd2.*)
-     shlibpath_overrides_runpath=yes
-     ;;
-   freebsd3.[01]* | freebsdelf3.[01]*)
-Index: libgomp/ChangeLog
-===================================================================
---- libgomp/ChangeLog	(.../tags/gcc_4_6_2_release)	(wersja 183284)
-+++ libgomp/ChangeLog	(.../branches/gcc-4_6-branch)	(wersja 183284)
-@@ -1,3 +1,7 @@
-+2011-11-20  Andreas Tobler  <andreast at fgznet.ch>
-+
-+	* configure: Regenerate.
-+
- 2011-10-26  Release Manager
- 
- 	* GCC 4.6.2 released.
-Index: libquadmath/configure
-===================================================================
---- libquadmath/configure	(.../tags/gcc_4_6_2_release)	(wersja 183284)
-+++ libquadmath/configure	(.../branches/gcc-4_6-branch)	(wersja 183284)
-@@ -8727,7 +8727,7 @@
-       ;;
- 
-     # Unfortunately, older versions of FreeBSD 2 do not have this feature.
--    freebsd2*)
-+    freebsd2.*)
-       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-       hardcode_direct=yes
-       hardcode_minus_L=yes
-@@ -9643,7 +9643,7 @@
-     objformat=`/usr/bin/objformat`
-   else
-     case $host_os in
--    freebsd[123]*) objformat=aout ;;
-+    freebsd[23].*) objformat=aout ;;
-     *) objformat=elf ;;
-     esac
-   fi
-@@ -9661,7 +9661,7 @@
-   esac
-   shlibpath_var=LD_LIBRARY_PATH
-   case $host_os in
--  freebsd2*)
-+  freebsd2.*)
-     shlibpath_overrides_runpath=yes
-     ;;
-   freebsd3.[01]* | freebsdelf3.[01]*)
-Index: libquadmath/ChangeLog
-===================================================================
---- libquadmath/ChangeLog	(.../tags/gcc_4_6_2_release)	(wersja 183284)
-+++ libquadmath/ChangeLog	(.../branches/gcc-4_6-branch)	(wersja 183284)
-@@ -1,3 +1,7 @@
-+2011-11-20  Andreas Tobler  <andreast at fgznet.ch>
-+
-+	* configure: Regenerate.
-+
- 2011-10-26  Release Manager
- 
- 	* GCC 4.6.2 released.
-Index: gcc/doc/invoke.texi
-===================================================================
---- gcc/doc/invoke.texi	(.../tags/gcc_4_6_2_release)	(wersja 183284)
-+++ gcc/doc/invoke.texi	(.../branches/gcc-4_6-branch)	(wersja 183284)
-@@ -7527,8 +7527,8 @@
- bodies are read from these ELF sections and instantiated as if they
- had been part of the same translation unit.
- 
--To use the link-timer optimizer, @option{-flto} needs to be specified at
--compile time and during the final link.  For example,
-+To use the link-time optimizer, @option{-flto} needs to be specified at
-+compile time and during the final link.  For example:
- 
- @smallexample
- gcc -c -O2 -flto foo.c
-@@ -7536,25 +7536,25 @@
- gcc -o myprog -flto -O2 foo.o bar.o
- @end smallexample
- 
--The first two invocations to GCC will save a bytecode representation
-+The first two invocations to GCC save a bytecode representation
- of GIMPLE into special ELF sections inside @file{foo.o} and
-- at file{bar.o}.  The final invocation will read the GIMPLE bytecode from
-- at file{foo.o} and @file{bar.o}, merge the two files into a single
--internal image, and compile the result as usual.  Since both
-+ at file{bar.o}.  The final invocation reads the GIMPLE bytecode from
-+ at file{foo.o} and @file{bar.o}, merges the two files into a single
-+internal image, and compiles the result as usual.  Since both
- @file{foo.o} and @file{bar.o} are merged into a single image, this
--causes all the inter-procedural analyses and optimizations in GCC to
-+causes all the interprocedural analyses and optimizations in GCC to
- work across the two files as if they were a single one.  This means,
--for example, that the inliner will be able to inline functions in
-+for example, that the inliner is able to inline functions in
- @file{bar.o} into functions in @file{foo.o} and vice-versa.
- 
--Another (simpler) way to enable link-time optimization is,
-+Another (simpler) way to enable link-time optimization is:
- 
- @smallexample
- gcc -o myprog -flto -O2 foo.c bar.c
- @end smallexample
- 
--The above will generate bytecode for @file{foo.c} and @file{bar.c},
--merge them together into a single GIMPLE representation and optimize
-+The above generates bytecode for @file{foo.c} and @file{bar.c},
-+merges them together into a single GIMPLE representation and optimizes
- them as usual to produce @file{myprog}.
- 
- The only important thing to keep in mind is that to enable link-time
-@@ -7564,30 +7564,22 @@
- To make whole program optimization effective, it is necessary to make
- certain whole program assumptions.  The compiler needs to know
- what functions and variables can be accessed by libraries and runtime
--outside of the link time optimized unit.  When supported by the linker,
--the linker plugin (see @option{-fuse-linker-plugin}) passes to the
--compiler information about used and externally visible symbols.  When
-+outside of the link-time optimized unit.  When supported by the linker,
-+the linker plugin (see @option{-fuse-linker-plugin}) passes information
-+to the compiler about used and externally visible symbols.  When
- the linker plugin is not available, @option{-fwhole-program} should be
--used to allow the compiler to make these assumptions, which will lead
-+used to allow the compiler to make these assumptions, which leads
- to more aggressive optimization decisions.
- 
- Note that when a file is compiled with @option{-flto}, the generated
--object file will be larger than a regular object file because it will
--contain GIMPLE bytecodes and the usual final code.  This means that
--object files with LTO information can be linked as a normal object
--file.  So, in the previous example, if the final link is done with
-+object file is larger than a regular object file because it 
-+contains GIMPLE bytecodes and the usual final code.  This means that
-+object files with LTO information can be linked as normal object
-+files; if @option{-flto} is not passed to the linker, no
-+interprocedural optimizations are applied.
- 
-- at smallexample
--gcc -o myprog foo.o bar.o
-- at end smallexample
--
--The only difference will be that no inter-procedural optimizations
--will be applied to produce @file{myprog}.  The two object files
-- at file{foo.o} and @file{bar.o} will be simply sent to the regular
--linker.
--
- Additionally, the optimization flags used to compile individual files
--are not necessarily related to those used at link-time.  For instance,
-+are not necessarily related to those used at link time.  For instance,
- 
- @smallexample
- gcc -c -O0 -flto foo.c
-@@ -7595,37 +7587,42 @@
- gcc -o myprog -flto -O3 foo.o bar.o
- @end smallexample
- 
--This will produce individual object files with unoptimized assembler
--code, but the resulting binary @file{myprog} will be optimized at
-- at option{-O3}.  Now, if the final binary is generated without
-- at option{-flto}, then @file{myprog} will not be optimized.
-+This produces individual object files with unoptimized assembler
-+code, but the resulting binary @file{myprog} is optimized at
-+ at option{-O3}.  If, instead, the final binary is generated without
-+ at option{-flto}, then @file{myprog} is not optimized.
- 
--When producing the final binary with @option{-flto}, GCC will only
--apply link-time optimizations to those files that contain bytecode.
-+When producing the final binary with @option{-flto}, GCC only
-+applies link-time optimizations to those files that contain bytecode.
- Therefore, you can mix and match object files and libraries with
--GIMPLE bytecodes and final object code.  GCC will automatically select
-+GIMPLE bytecodes and final object code.  GCC automatically selects
- which files to optimize in LTO mode and which files to link without
- further processing.
- 
--There are some code generation flags that GCC will preserve when
-+There are some code generation flags that GCC preserves when
- generating bytecodes, as they need to be used during the final link
- stage.  Currently, the following options are saved into the GIMPLE
- bytecode files: @option{-fPIC}, @option{-fcommon} and all the
- @option{-m} target flags.
- 
--At link time, these options are read-in and reapplied.  Note that the
--current implementation makes no attempt at recognizing conflicting
--values for these options.  If two or more files have a conflicting
--value (e.g., one file is compiled with @option{-fPIC} and another
--isn't), the compiler will simply use the last value read from the
--bytecode files.  It is recommended, then, that all the files
--participating in the same link be compiled with the same options.
-+At link time, these options are read in and reapplied.  Note that the
-+current implementation makes no attempt to recognize conflicting
-+values for these options.  If different files have conflicting option
-+values (e.g., one file is compiled with @option{-fPIC} and another
-+isn't), the compiler simply uses the last value read from the
-+bytecode files.  It is recommended, then, that you compile all the files
-+participating in the same link with the same options.
- 
-+If LTO encounters objects with C linkage declared with incompatible
-+types in separate translation units to be linked together (undefined
-+behavior according to ISO C99 6.2.7), a non-fatal diagnostic may be
-+issued.  The behavior is still undefined at runtime.
-+
- Another feature of LTO is that it is possible to apply interprocedural
- optimizations on files written in different languages.  This requires
--some support in the language front end.  Currently, the C, C++ and
-+support in the language front end.  Currently, the C, C++ and
- Fortran front ends are capable of emitting GIMPLE bytecodes, so
--something like this should work
-+something like this should work:
- 
- @smallexample
- gcc -c -flto foo.c
-@@ -7637,49 +7634,43 @@
- Notice that the final link is done with @command{g++} to get the C++
- runtime libraries and @option{-lgfortran} is added to get the Fortran
- runtime libraries.  In general, when mixing languages in LTO mode, you
--should use the same link command used when mixing languages in a
--regular (non-LTO) compilation.  This means that if your build process
--was mixing languages before, all you need to add is @option{-flto} to
-+should use the same link command options as when mixing languages in a
-+regular (non-LTO) compilation; all you need to add is @option{-flto} to
- all the compile and link commands.
- 
--If LTO encounters objects with C linkage declared with incompatible
--types in separate translation units to be linked together (undefined
--behavior according to ISO C99 6.2.7), a non-fatal diagnostic may be
--issued.  The behavior is still undefined at runtime.
--
- If object files containing GIMPLE bytecode are stored in a library archive, say
- @file{libfoo.a}, it is possible to extract and use them in an LTO link if you
--are using a linker with linker plugin support.  To enable this feature, use
--the flag @option{-fuse-linker-plugin} at link-time:
-+are using a linker with plugin support.  To enable this feature, use
-+the flag @option{-fuse-linker-plugin} at link time:
- 
- @smallexample
- gcc -o myprog -O2 -flto -fuse-linker-plugin a.o b.o -lfoo
- @end smallexample
- 
--With the linker plugin enabled, the linker will extract the needed
--GIMPLE files from @file{libfoo.a} and pass them on to the running GCC
-+With the linker plugin enabled, the linker extracts the needed
-+GIMPLE files from @file{libfoo.a} and passes them on to the running GCC
- to make them part of the aggregated GIMPLE image to be optimized.
- 
--If you are not using a linker with linker plugin support and/or do not 
--enable linker plugin then the objects inside @file{libfoo.a}
--will be extracted and linked as usual, but they will not participate
-+If you are not using a linker with plugin support and/or do not
-+enable the linker plugin, then the objects inside @file{libfoo.a}
-+are extracted and linked as usual, but they do not participate
- in the LTO optimization process.
- 
--Link time optimizations do not require the presence of the whole program to
-+Link-time optimizations do not require the presence of the whole program to
- operate.  If the program does not require any symbols to be exported, it is
--possible to combine @option{-flto} and with @option{-fwhole-program} to allow
-+possible to combine @option{-flto} and @option{-fwhole-program} to allow
- the interprocedural optimizers to use more aggressive assumptions which may
- lead to improved optimization opportunities. 
- Use of @option{-fwhole-program} is not needed when linker plugin is
- active (see @option{-fuse-linker-plugin}).
- 
--Regarding portability: the current implementation of LTO makes no
--attempt at generating bytecode that can be ported between different
-+The current implementation of LTO makes no
-+attempt to generate bytecode that is portable between different
- types of hosts.  The bytecode files are versioned and there is a
- strict version check, so bytecode files generated in one version of
- GCC will not work with an older/newer version of GCC.
- 
--Link time optimization does not play well with generating debugging
-+Link-time optimization does not work well with generation of debugging
- information.  Combining @option{-flto} with
- @option{-g} is currently experimental and expected to produce wrong
- results.
-@@ -7693,15 +7684,15 @@
- You can also specify @option{-flto=jobserver} to use GNU make's 
- job server mode to determine the number of parallel jobs. This 
- is useful when the Makefile calling GCC is already executing in parallel.
--The parent Makefile will need a @samp{+} prepended to the command recipe
--for this to work. This will likely only work if @env{MAKE} is 
-+You must prepend a @samp{+} to the command recipe in the parent Makefile
-+for this to work.  This option likely only works if @env{MAKE} is
- GNU make.
- 
- This option is disabled by default.
- 
- @item -flto-partition=@var{alg}
- @opindex flto-partition
--Specify the partitioning algorithm used by the link time optimizer.
-+Specify the partitioning algorithm used by the link-time optimizer.
- The value is either @code{1to1} to specify a partitioning mirroring
- the original source files or @code{balanced} to specify partitioning
- into equally sized chunks (whenever possible).  Specifying @code{none}
-@@ -7718,27 +7709,29 @@
- 
- @item -flto-report
- Prints a report with internal details on the workings of the link-time
--optimizer.  The contents of this report vary from version to version,
--it is meant to be useful to GCC developers when processing object
-+optimizer.  The contents of this report vary from version to version.
-+It is meant to be useful to GCC developers when processing object
- files in LTO mode (via @option{-flto}).
- 
- Disabled by default.
- 
- @item -fuse-linker-plugin
--Enables the use of linker plugin during link time optimization.  This option
--relies on the linker plugin support in linker that is available in gold
-+Enables the use of a linker plugin during link-time optimization.  This
-+option relies on the linker plugin support in linker that is available in gold
- or in GNU ld 2.21 or newer.
- 
--This option enables the extraction of object files with GIMPLE bytecode out of
--library archives. This improves the quality of optimization by exposing more
--code the the link time optimizer.  This information specify what symbols 
--can be accessed externally (by non-LTO object or during dynamic linking).
--Resulting code quality improvements on binaries (and shared libraries that do
--use hidden visibility) is similar to @code{-fwhole-program}.  See
-- at option{-flto} for a description on the effect of this flag and how to use it.
-+This option enables the extraction of object files with GIMPLE bytecode out
-+of library archives. This improves the quality of optimization by exposing
-+more code to the link-time optimizer.  This information specifies what
-+symbols can be accessed externally (by non-LTO object or during dynamic
-+linking).  Resulting code quality improvements on binaries (and shared
-+libraries that use hidden visibility) are similar to @code{-fwhole-program}.
-+See @option{-flto} for a description of the effect of this flag and how to
-+use it.
- 
--Enabled by default when LTO support in GCC is enabled and GCC was compiled
--with a linker supporting plugins (GNU ld 2.21 or newer or gold).
-+This option is enabled by default when LTO support in GCC is enabled
-+and GCC was configured for use with
-+a linker supporting plugins (GNU ld 2.21 or newer or gold).
- 
- @item -fcompare-elim
- @opindex fcompare-elim
-Index: gcc/c-family/ChangeLog
-===================================================================
---- gcc/c-family/ChangeLog	(.../tags/gcc_4_6_2_release)	(wersja 183284)
-+++ gcc/c-family/ChangeLog	(.../branches/gcc-4_6-branch)	(wersja 183284)
-@@ -1,3 +1,15 @@
-+2011-11-04  Eric Botcazou  <ebotcazou at adacore.com>
-+
-+	PR c++/50608
-+	* c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
-+	(fold_offsetof_1): Make global.  Remove STOP_REF argument and adjust.
-+	<INDIRECT_REF>: Return the argument.
-+	<ARRAY_REF>: Remove special code for negative offset.
-+	Call fold_build_pointer_plus instead of size_binop.
-+	(fold_offsetof): Remove STOP_REF argument and adjust.
-+	* c-common.h (fold_offsetof_1): Declare.
-+	(fold_offsetof): Remove STOP_REF argument.
-+
- 2011-10-26  Release Manager
- 
- 	* GCC 4.6.2 released.
-Index: gcc/c-family/c-common.c
-===================================================================
---- gcc/c-family/c-common.c	(.../tags/gcc_4_6_2_release)	(wersja 183284)
-+++ gcc/c-family/c-common.c	(.../branches/gcc-4_6-branch)	(wersja 183284)
-@@ -1236,13 +1236,7 @@
- 	  && (op1 = get_base_address (op0)) != NULL_TREE
- 	  && TREE_CODE (op1) == INDIRECT_REF
- 	  && TREE_CONSTANT (TREE_OPERAND (op1, 0)))
--	{
--	  tree offset = fold_offsetof (op0, op1);
--	  op1
--	    = fold_convert_loc (loc, TREE_TYPE (expr), TREE_OPERAND (op1, 0));
--	  ret = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (expr), op1,
--				 offset);
--	}
-+	ret = fold_convert_loc (loc, TREE_TYPE (expr), fold_offsetof_1 (op0));
-       else if (op0 != orig_op0 || in_init)
- 	ret = in_init
- 	  ? fold_build1_initializer_loc (loc, code, TREE_TYPE (expr), op0)
-@@ -8459,20 +8453,15 @@
-     return uc;
- }
- 
--/* Build the result of __builtin_offsetof.  EXPR is a nested sequence of
--   component references, with STOP_REF, or alternatively an INDIRECT_REF of
--   NULL, at the bottom; much like the traditional rendering of offsetof as a
--   macro.  Returns the folded and properly cast result.  */
-+/* Fold an offsetof-like expression.  EXPR is a nested sequence of component
-+   references with an INDIRECT_REF of a constant at the bottom; much like the
-+   traditional rendering of offsetof as a macro.  Return the folded result.  */
- 
--static tree
--fold_offsetof_1 (tree expr, tree stop_ref)
-+tree
-+fold_offsetof_1 (tree expr)
- {
--  enum tree_code code = PLUS_EXPR;
-   tree base, off, t;
- 
--  if (expr == stop_ref && TREE_CODE (expr) != ERROR_MARK)
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/crossmingw64-gcc/gcc-branch.diff?r1=1.3&r2=1.4&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/crossmingw64-gcc/crossmingw64-gcc.spec?r1=1.24&r2=1.25&f=u



More information about the pld-cvs-commit mailing list