packages: gcc/gcc-branch.diff - updated
arekm
arekm at pld-linux.org
Wed Feb 1 07:20:45 CET 2012
Author: arekm Date: Wed Feb 1 06:20:45 2012 GMT
Module: packages Tag: HEAD
---- Log message:
- updated
---- Files affected:
packages/gcc:
gcc-branch.diff (1.56 -> 1.57)
---- Diffs:
================================================================
Index: packages/gcc/gcc-branch.diff
diff -u packages/gcc/gcc-branch.diff:1.56 packages/gcc/gcc-branch.diff:1.57
--- packages/gcc/gcc-branch.diff:1.56 Thu Dec 29 15:41:30 2011
+++ packages/gcc/gcc-branch.diff Wed Feb 1 07:20:38 2012
@@ -1,7 +1,7 @@
Index: configure
===================================================================
---- configure (.../tags/gcc_4_6_2_release) (wersja 182722)
-+++ configure (.../branches/gcc-4_6-branch) (wersja 182722)
+--- configure (.../tags/gcc_4_6_2_release) (wersja 183790)
++++ configure (.../branches/gcc-4_6-branch) (wersja 183790)
@@ -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; }
@@ -22,10 +22,22 @@
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 183790)
++++ Makefile.in (.../branches/gcc-4_6-branch) (wersja 183790)
+@@ -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 182722)
-+++ libgcc/config.host (.../branches/gcc-4_6-branch) (wersja 182722)
+--- libgcc/config.host (.../tags/gcc_4_6_2_release) (wersja 183790)
++++ libgcc/config.host (.../branches/gcc-4_6-branch) (wersja 183790)
@@ -145,15 +145,6 @@
asm_hidden_op=.private_extern
tmake_file="t-darwin ${cpu_type}/t-darwin t-slibgcc-darwin"
@@ -44,8 +56,8 @@
# 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 182722)
-+++ libgcc/generic-morestack.c (.../branches/gcc-4_6-branch) (wersja 182722)
+--- libgcc/generic-morestack.c (.../tags/gcc_4_6_2_release) (wersja 183790)
++++ libgcc/generic-morestack.c (.../branches/gcc-4_6-branch) (wersja 183790)
@@ -459,8 +459,8 @@
sigemptyset (&__morestack_initial_sp.mask);
@@ -59,8 +71,8 @@
importantly, pthread_sigmask uses less stack space on x86_64. */
Index: libgcc/ChangeLog
===================================================================
---- libgcc/ChangeLog (.../tags/gcc_4_6_2_release) (wersja 182722)
-+++ libgcc/ChangeLog (.../branches/gcc-4_6-branch) (wersja 182722)
+--- libgcc/ChangeLog (.../tags/gcc_4_6_2_release) (wersja 183790)
++++ libgcc/ChangeLog (.../branches/gcc-4_6-branch) (wersja 183790)
@@ -1,3 +1,16 @@
+2011-12-15 H.J. Lu <hongjiu.lu at intel.com>
+
@@ -80,8 +92,8 @@
* GCC 4.6.2 released.
Index: libtool.m4
===================================================================
---- libtool.m4 (.../tags/gcc_4_6_2_release) (wersja 182722)
-+++ libtool.m4 (.../branches/gcc-4_6-branch) (wersja 182722)
+--- libtool.m4 (.../tags/gcc_4_6_2_release) (wersja 183790)
++++ libtool.m4 (.../branches/gcc-4_6-branch) (wersja 183790)
@@ -2273,7 +2273,7 @@
objformat=`/usr/bin/objformat`
else
@@ -120,8 +132,8 @@
_LT_TAGVAR(ld_shlibs, $1)=no
Index: libgomp/configure
===================================================================
---- libgomp/configure (.../tags/gcc_4_6_2_release) (wersja 182722)
-+++ libgomp/configure (.../branches/gcc-4_6-branch) (wersja 182722)
+--- libgomp/configure (.../tags/gcc_4_6_2_release) (wersja 183790)
++++ libgomp/configure (.../branches/gcc-4_6-branch) (wersja 183790)
@@ -9317,7 +9317,7 @@
;;
@@ -178,8 +190,8 @@
freebsd3.[01]* | freebsdelf3.[01]*)
Index: libgomp/ChangeLog
===================================================================
---- libgomp/ChangeLog (.../tags/gcc_4_6_2_release) (wersja 182722)
-+++ libgomp/ChangeLog (.../branches/gcc-4_6-branch) (wersja 182722)
+--- libgomp/ChangeLog (.../tags/gcc_4_6_2_release) (wersja 183790)
++++ libgomp/ChangeLog (.../branches/gcc-4_6-branch) (wersja 183790)
@@ -1,3 +1,7 @@
+2011-11-20 Andreas Tobler <andreast at fgznet.ch>
+
@@ -190,8 +202,8 @@
* GCC 4.6.2 released.
Index: libquadmath/configure
===================================================================
---- libquadmath/configure (.../tags/gcc_4_6_2_release) (wersja 182722)
-+++ libquadmath/configure (.../branches/gcc-4_6-branch) (wersja 182722)
+--- libquadmath/configure (.../tags/gcc_4_6_2_release) (wersja 183790)
++++ libquadmath/configure (.../branches/gcc-4_6-branch) (wersja 183790)
@@ -8727,7 +8727,7 @@
;;
@@ -221,8 +233,8 @@
freebsd3.[01]* | freebsdelf3.[01]*)
Index: libquadmath/ChangeLog
===================================================================
---- libquadmath/ChangeLog (.../tags/gcc_4_6_2_release) (wersja 182722)
-+++ libquadmath/ChangeLog (.../branches/gcc-4_6-branch) (wersja 182722)
+--- libquadmath/ChangeLog (.../tags/gcc_4_6_2_release) (wersja 183790)
++++ libquadmath/ChangeLog (.../branches/gcc-4_6-branch) (wersja 183790)
@@ -1,3 +1,7 @@
+2011-11-20 Andreas Tobler <andreast at fgznet.ch>
+
@@ -231,10 +243,287 @@
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 183790)
++++ gcc/doc/invoke.texi (.../branches/gcc-4_6-branch) (wersja 183790)
+@@ -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 182722)
-+++ gcc/c-family/ChangeLog (.../branches/gcc-4_6-branch) (wersja 182722)
+--- gcc/c-family/ChangeLog (.../tags/gcc_4_6_2_release) (wersja 183790)
++++ gcc/c-family/ChangeLog (.../branches/gcc-4_6-branch) (wersja 183790)
@@ -1,3 +1,15 @@
+2011-11-04 Eric Botcazou <ebotcazou at adacore.com>
+
@@ -253,8 +542,8 @@
* 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 182722)
-+++ gcc/c-family/c-common.c (.../branches/gcc-4_6-branch) (wersja 182722)
+--- gcc/c-family/c-common.c (.../tags/gcc_4_6_2_release) (wersja 183790)
++++ gcc/c-family/c-common.c (.../branches/gcc-4_6-branch) (wersja 183790)
@@ -1236,13 +1236,7 @@
&& (op1 = get_base_address (op0)) != NULL_TREE
&& TREE_CODE (op1) == INDIRECT_REF
@@ -377,8 +666,8 @@
/* Warn for A ?: C expressions (with B omitted) where A is a boolean
Index: gcc/c-family/c-common.h
===================================================================
---- gcc/c-family/c-common.h (.../tags/gcc_4_6_2_release) (wersja 182722)
-+++ gcc/c-family/c-common.h (.../branches/gcc-4_6-branch) (wersja 182722)
+--- gcc/c-family/c-common.h (.../tags/gcc_4_6_2_release) (wersja 183790)
++++ gcc/c-family/c-common.h (.../branches/gcc-4_6-branch) (wersja 183790)
@@ -916,7 +916,8 @@
extern void verify_sequence_points (tree);
@@ -389,17 +678,178 @@
/* Places where an lvalue, or modifiable lvalue, may be required.
Used to select diagnostic messages in lvalue_error and
+Index: gcc/tree-loop-distribution.c
+===================================================================
+--- gcc/tree-loop-distribution.c (.../tags/gcc_4_6_2_release) (wersja 183790)
++++ gcc/tree-loop-distribution.c (.../branches/gcc-4_6-branch) (wersja 183790)
+@@ -63,6 +63,51 @@
+ predecessor a node that writes to memory. */
+ static bitmap upstream_mem_writes;
+
++/* Returns true when DEF is an SSA_NAME defined in LOOP and used after
++ the LOOP. */
++
++static bool
++ssa_name_has_uses_outside_loop_p (tree def, loop_p loop)
++{
++ imm_use_iterator imm_iter;
++ use_operand_p use_p;
++
++ FOR_EACH_IMM_USE_FAST (use_p, imm_iter, def)
++ if (loop != loop_containing_stmt (USE_STMT (use_p)))
++ return true;
++
++ return false;
++}
++
++/* Returns true when STMT defines a scalar variable used after the
++ loop. */
++
++static bool
++stmt_has_scalar_dependences_outside_loop (gimple stmt)
++{
++ tree name;
++
++ switch (gimple_code (stmt))
++ {
++ case GIMPLE_CALL:
++ case GIMPLE_ASSIGN:
++ name = gimple_get_lhs (stmt);
++ break;
++
++ case GIMPLE_PHI:
++ name = gimple_phi_result (stmt);
++ break;
++
++ default:
++ return false;
++ }
++
++ return (name
++ && TREE_CODE (name) == SSA_NAME
++ && ssa_name_has_uses_outside_loop_p (name,
++ loop_containing_stmt (stmt)));
++}
++
+ /* Update the PHI nodes of NEW_LOOP. NEW_LOOP is a duplicate of
+ ORIG_LOOP. */
+
+@@ -332,10 +377,18 @@
+ {
+ gimple stmt = gsi_stmt (bsi);
+
+- if (gimple_code (stmt) != GIMPLE_LABEL
+- && !is_gimple_debug (stmt)
+- && bitmap_bit_p (partition, x++)
+- && is_gimple_assign (stmt)
++ if (gimple_code (stmt) == GIMPLE_LABEL
++ || is_gimple_debug (stmt))
++ continue;
++
++ if (!bitmap_bit_p (partition, x++))
++ continue;
++
++ /* If the stmt has uses outside of the loop fail. */
++ if (stmt_has_scalar_dependences_outside_loop (stmt))
++ goto end;
++
++ if (is_gimple_assign (stmt)
+ && !is_gimple_reg (gimple_assign_lhs (stmt)))
+ {
+ /* Don't generate the builtins when there are more than
+@@ -826,48 +879,6 @@
+ }
+ }
+
+-/* Returns true when DEF is an SSA_NAME defined in LOOP and used after
+- the LOOP. */
+-
+-static bool
+-ssa_name_has_uses_outside_loop_p (tree def, loop_p loop)
+-{
+- imm_use_iterator imm_iter;
+- use_operand_p use_p;
+-
+- FOR_EACH_IMM_USE_FAST (use_p, imm_iter, def)
+- if (loop != loop_containing_stmt (USE_STMT (use_p)))
+- return true;
+-
+- return false;
+-}
+-
+-/* Returns true when STMT defines a scalar variable used after the
+- loop. */
+-
+-static bool
+-stmt_has_scalar_dependences_outside_loop (gimple stmt)
+-{
+- tree name;
+-
+- switch (gimple_code (stmt))
+- {
+- case GIMPLE_ASSIGN:
+- name = gimple_assign_lhs (stmt);
+- break;
+-
+- case GIMPLE_PHI:
+- name = gimple_phi_result (stmt);
+- break;
+-
+- default:
+- return false;
+- }
+-
+- return TREE_CODE (name) == SSA_NAME
+- && ssa_name_has_uses_outside_loop_p (name, loop_containing_stmt (stmt));
+-}
+-
+ /* Returns true when STMT will be code generated in a partition of RDG
+ different than PART and that will not be code generated as a
+ builtin. */
+Index: gcc/java/ChangeLog
+===================================================================
+--- gcc/java/ChangeLog (.../tags/gcc_4_6_2_release) (wersja 183790)
++++ gcc/java/ChangeLog (.../branches/gcc-4_6-branch) (wersja 183790)
+@@ -1,3 +1,8 @@
++2012-01-23 Andreas Schwab <schwab at linux-m68k.org>
++
++ * lang.c (java_init_options_struct): Set
++ frontend_set_flag_trapping_math.
++
+ 2011-10-26 Release Manager
+
+ * GCC 4.6.2 released.
+Index: gcc/java/lang.c
+===================================================================
+--- gcc/java/lang.c (.../tags/gcc_4_6_2_release) (wersja 183790)
++++ gcc/java/lang.c (.../branches/gcc-4_6-branch) (wersja 183790)
+@@ -1,6 +1,6 @@
+ /* Java(TM) language-specific utility routines.
+ Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+- 2005, 2006, 2007, 2008, 2010 Free Software Foundation, Inc.
++ 2005, 2006, 2007, 2008, 2010, 2012 Free Software Foundation, Inc.
+
+ This file is part of GCC.
+
+@@ -550,6 +550,7 @@
+
+ /* In Java floating point operations never trap. */
+ opts->x_flag_trapping_math = 0;
++ opts->frontend_set_flag_trapping_math = true;
+
+ /* In Java arithmetic overflow always wraps around. */
+ opts->x_flag_wrapv = 1;
Index: gcc/DATESTAMP
===================================================================
---- gcc/DATESTAMP (.../tags/gcc_4_6_2_release) (wersja 182722)
<<Diff was trimmed, longer than 597 lines>>
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/gcc/gcc-branch.diff?r1=1.56&r2=1.57&f=u
More information about the pld-cvs-commit
mailing list