Patches applied to gcc-4.4.3: Please include a change to this file with each patch, *and* each subsequent modification of the patch. Do NOT combine patch checkins, keep them separate. Append new entries to the end of this file. Each entry shall include: * The list of files modified by the patch, * The status of the patch. Should be one of: - already upstream (indicate upstream revision), - not yet upstream, or - google-local (not applicable upstream). * The local 'owner' responsible for the patch, and * A description of the patch (preferably including bug numbers). Please include entries for both local patches and for patches which have been checked in to (or back-ported from) the upstream sources. When checking in changes made upstream, add an entry to this file but DO NOT add entries to the GNU ChangeLog files. gcc/Makefile.in gcc/configure gcc/configure.ac gcc/doc/install.texi Added --with-native-system-header-dir to specify the location of /usr/include instead of having it hard-coded. This is especially useful when building a sysroot'ed cross-compiler and you want to relocate everything inside the system root. Without this, the Makefile and configure scripts assume system header files live in /usr/include (or in usr/include under the system root directory). This option is (partially) overridden in the Makefile by targets whose makefile fragments define NATIVE_SYSTEM_HEADER_DIR. For those, the include searching done in configure wasn't relevant or correct anyway. Owner: cgd Status: not yet upstream gcc/Makefile.in gcc/config/i386/linux.h gcc/config/i386/linux64.h gcc/config/linux.h gcc/configure gcc/configure.ac gcc/doc/install.texi Added --with-runtime-root-prefix to specify a prefix to be added to be beginning of paths used at runtime (e.g., the path to the dynamic linker. Owner: cgd Status: not yet upstream Makefile.in Makefile.tpl configure configure.ac config/mt-gnu Fold SYSROOT_CFLAGS_FOR_TARGET (set by --with-build-sysroot) into FLAGS_FOR_TARGET. The old mechanism breaks target libraries which use libtool (e.g. libmudflap) because libtool filters out --sysroot when linking. However, FLAGS_FOR_TARGET gets hard-coded into libtool's LTCC variable, so any flags set there are used unconditionally. Owner: aaw Status: not yet upstream gcc/testsuite/gcc.dg/tree-prof/bb-reorg.c gcc/testsuite/gcc.dg/tree-prof/pr34999.c Chronic failing tests marked locally as ilp32-only, to permit the gcc continuous build to scan for a clean sweep of testsuite tests. Ideally these tests would be marked XFAIL, but XFAIL functionality is not currently supported by the code that drives these tests. Owner: simonb Status: Local. Not needed upstream. ltmain.sh Sort output of 'find' to ensure deterministic builds. Owner: cgd Status: upstream in libtool (commit id 74c8993c178a1386ea5e2363a01d919738402f30) gcc/Makefile.in Override date in pod2man invocation for reproducible builds. Owner: cgd Status: not yet upstream gcc/fortran/module.c Don't include date in .mod files for reproducible builds. Owner: cgd Status: not yet upstream gcc/Makefile.in gcc/configure gcc/configure.ac Include build sysroot in GCC_FOR_TARGET, and use $(GCC_FOR_TARGET) when running tests. Fixes many test failures when GCC is configured with --with-build-sysroot. Owner: aaw Status: not yet upstream libgomp/configure libgomp/configure.ac libgomp/testsuite/config/default.exp libgomp/testsuite/gompconfig.exp.in libgomp/testsuite/lib/libgomp.exp Pass CC to the libgomp testsuite. This is required for running tests against GRTE-in-Perforce (i.e. with a custom build sysroot). Owner: aaw Status: not yet upstream libmudflap/configure libmudflap/configure.ac libmudflap/testsuite/lib/libmudflap.exp libmudflap/testsuite/mfconfig.exp.in Pass CC and CXX to the libgomp testsuites. This is required for running tests against GRTE-in-Perforce (i.e. with a custom build sysroot). Owner: aaw Satus: not yet upstream gcc/config.gcc gcc/config/i386/linux.h gcc/config/i386/linux64.h gcc/config/linux-grtev2.h When using GRTE and linking statically, instead of just -lc link: -lc -lnss_borg -lnss_cache -lnss_dns -lnss_files -lresolv Owner: aaw Status: local gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-4.c Mark gcc.dg/torture/stackalign/builtin-apply-4.c as XFAIL due to http://b/2070963. Owner: aaw Status: Local. libmudflap/testsuite/libmudflap.c++/pass41-frag.cxx Force test to use -O when building for i?86 and x86_64 to work around an expected failure. Owner: aaw Status: local libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc Un-XFAIL this test for linux. Owner: aaw Status: not yet upstream libiberty/testsuite/test-demangle.c Rename getline get_line to avoid conflicts with system functions of the same name. http://sourceware.org/bugzilla/show_bug.cgi?id=10197 Owner:aaw Status: backport of upstream rev. 148526. ltoptions.m4 boehm-gc/configure gcc/configure libffi/configure libgfortran/configure libgomp/configure libjava/classpath/configure libjava/configure libmudflap/configure libobjc/configure libssp/configure libstdc++-v3/configure zlib/configure Modify the --with-pic configuration option to accept a list of library names. In this mode, the specified libraries are built with PIC, whereas all other libraries are built with the default mode. Owner: aaw Status: not yet upstream gcc/Makefile.in Create GXX_FOR_TARGET and GFORTRAN_FOR_TARGET make variables and pass these to tests. This fixes g++ and gfortran tests when --with-build-sysroot is passed to configure. Owner: aaw Status: not yet upstream gcc/testsuite/g++.dg/rtti/repo1.C This test fails if configured with --with-build-sysroot because --sysroot is not propagated to COLLECT_GCC_OPTIONS (breaking -frepo). Since we don't care about -frepo, disable the test. Owner: aaw Status: local gcc/config.in gcc/configure gcc/configure.ac gcc/doc/install.texi gcc/gcc.c Apply upstream "enable build-id" patch: http://gcc.gnu.org/ml/gcc-patches/2009-04/msg02366.html http://gcc.gnu.org/ml/gcc-patches/2009-04/txt00165.txt Owner: ppluzhnikov Status: already upstream gcc/toplev.c Handle '%E' format in default_tree_printer. From: http://gcc.gnu.org/ml/gcc-patches/2008-11/msg01115.html Owner: cgd Status: upstream rev. 146294 (in 4.5) gcc/config/i386/i386.c Use __x86.get_pc_thunk rather than __i686.get_pc_thunk as the prefix of 32-bit PC-getting thunk names to facilitate conversion of gcc -S output into .S files. (__i686 is defined as 1 by the preprocessor if -mtune=pentiumpro or later is used. If thunk names use __i686, then when converting gcc -S output into .S files people need to replace __i686 with some other string.) Owner: cgd Status: not yet upstream gcc/final.c Provide a (Google-internal) documentation reference to help people cope with stack frame size warnings. Owner: cgd Status: local change. gcc/config/arm/eabi.h gcc/config/arm/eabi.opt gcc/config/arm/t-arm-elf gcc/doc/invoke.texi Bring 4.4.3 to the same set of -mandroid options as Android 4.4.0. Owner: jingyu Status: rejected by upstream. gcc/c-opts.c gcc/testsuite/gcc.dg/cpp/missing-header-MD.c gcc/testsuite/gcc.dg/cpp/missing-header-MMD.c gcc/testsuite/gcc.dg/cpp/missing-sysheader-MD.c gcc/testsuite/gcc.dg/cpp/missing-sysheader-MMD.c libcpp/files.c libcpp/include/cpplib.h When using -MMD, treat missing system headers as errors so that no output is generated. http://b/1954331 Owner: cgd Status: upstream revs. 151879 and 151894 (in 4.5) gcc/Makefile.in libiberty/cp-demangle.c libiberty/testsuite/demangle-expected Fix crash when demangling 'DFA' and similar strings. Make sure that unwind.h is world-readable. Owner: cgd Status: upstream revs. 156226 and r157392 (in 4.5) gcc/doc/cpp.texi gcc/gcov-io.c gcc/loop-iv.c gcc/testsuite/gcc.dg/tree-prof/val-prof-7.c gcc/tree-flow-inline.h gcc/value-prof.c libcpp/directives.c - Do not open gcda/gcno files in write mode unnecessarily. - Fix a bug in gimple_stringop_fixed_value where it assumed all stringops have 3 arguments, even though bzero only has two. - Call df_note_add_problem in iv_analysis_loop_init since loop-iv calls single_set which depends on the notes being correct. This fixes an ICE caused by GCSE invalidating the notes, and the invalid notes being used by IV opts. - Backport upstream revision 150544. This makes the compiler more robust in the face of bad .gcda files by initializing pid_map to NULL rather than leaving uninitialized values in it. - Backport upstream revision 152612. Do not mark #ident and #sccs as deprecated. - Backport upstream revision 146299. This fixes an inverted test in get_lineno. Owner: nvachhar Status: upstream in r152419, r151864, r150038, r150544, r152612, r146299 gcc/Makefile.in Fix bug introduced in cl/39455-p2 (fix is in cl/39929-p2): - Create GXX_FOR_TARGET and GFORTRAN_FOR_TARGET make variables and pass these - to tests. This fixes g++ and gfortran tests when --with-build-sysroot is - passed to configure. Owner: aaw Status: not yet upstream gcc/testsuite/gcc.misc-tests/linkage.exp Add -m64 to the native C compilation if the file being linked to from the built gcc is a 64-bit object. https://mondrian.corp.google.com/changelist/32047-p2 Owner: simonb Status: upstream (in 4.5, r149997) libstdc++-v3/include/backward/hashtable.h http://b/742065 http://b/629994 Reduce min size of hashtable for hash_map, hash_set from 53 to 5. Backport of upstream revision 145132. Owner: iant Status: upstream 145132 in gcc 4.5.0 gcc/testsuite/gcc.misc-tests/linkage.exp Add -m32 to the native 'cc' command issued by linkage.exp for cases where the target gcc is 32-bit but the native cc is 64-bit by default. https://mondrian.corp.google.com/changelist/34572-p2 Owner: simonb Status: not upstream (ghardy only) libstdc++-v3/include/backward/hashtable.h http://b/629994 Do not iterate over buckets if hashtable is empty. Backport of upstream revision 145318. Owner: iant Status: upstream 145318 in gcc 4.5.0 libstdc++-v3/include/backward/hashtable.h Don't compare against deleted element when erasing from a hash table. Backport of upstream revision 145788. Owner: iant Status: upstream 145788 in gcc 4.5.0 gcc/common.opt gcc/gimplify.c gcc/tree-vrp.c gcc/testsuite/g++.dg/other/no-strict-enum-precision-1.C gcc/testsuite/g++.dg/other/no-strict-enum-precision-2.C gcc/testsuite/g++.dg/other/no-strict-enum-precision-3.C Implement -fno-strict-enum-precision. Fix root cause of bug 2077625. Owner: rus. Status: not yet upstream. gcc/ifcvt.c Use the locus information from the if-statment (rather than the then path) for all the instructions after if conversion. Owner: nvachhar Status: Not yet upstream gcc/coverage.c gcc/coverage.h gcc/gcc.c gcc/gcov-dump.c gcc/gcov-io.c gcc/gcov-io.h gcc/gcov.c gcc/libgcov.c gcc/profile.c gcc/tree.c gcc/tree.h gcc/testsuite/gcc.dg/tree-prof/prof-robust-1.c gcc/testsuite/g++.dg/tree-prof/prof-robust-1.C Profile data format change to tolerate source code changes. This is not a backport, as the patch hasn't been submitted yet. Owner: nvachhar Status: Not yet upstream gcc/doc/gcov.texi gcc/gcov.c Adding a new option -i/--intermediate-format to gcov. Intermediate format contains line coverage and branch coverage information. Owner: nvachhar Status: not yet upstream gcc/gcc.c gcc/doc/invoke.texi Backport --no-canonical-prefixes to gcc to bypass realpath() when making exec and other prefixes from argv[0]. Owner: simonb Status: Committed upstream for gcc 4.5 (trunk, mainline) as revision 149702. gcc/config/i386/i386.c gcc/testsuite/gcc.dg/all_one_m128i.c Add support for all 1's m128i constant. Also pulled in upstream 4.5 patch (r150520) to fix a regression Owner: davidxl Status: in upstream 4.5 gcc/dbgcnt.def gcc/tree-ssa-ccp.c Add debug count support for ccp pass Owner: davidxl Status: in upstream 4.5 gcc/basic-block.h gcc/cfgrtl.c gcc/common.opt gcc/dominance.c gcc/ira-emit.c gcc/ira-int.h gcc/ira.c gcc/testsuite/g++.dg/tree-ssa/dom-invalid.C gcc/tree-ssa.c Fix a verify SSA ICE in mustang FDO build Owner: davidxl Status: upstream 4.5 has a different fix. Not needed. Treat it as already in. gcc/ipa-cp.c gcc/profile.c Fix insane profile count for MT programs Owner: davidxl Status: not in upstream gcc/value-prof.c Check for insane indirect call target Owner: davidxl Status: not in upstream gcc/tree-ssa-loop-niter.c Enhancement in loop iteration count estimation Owner: davidxl Status: not in upstream gcc/Makefile.in gcc/testsuite/g++.dg/uninit-pred-1_a.C gcc/testsuite/g++.dg/uninit-pred-1_b.C gcc/testsuite/g++.dg/uninit-pred-2_a.C gcc/testsuite/g++.dg/uninit-pred-2_b.C gcc/testsuite/g++.dg/uninit-pred-loop-1_a.cc gcc/testsuite/g++.dg/uninit-pred-loop-1_b.cc gcc/testsuite/g++.dg/uninit-pred-loop-1_c.cc gcc/testsuite/g++.dg/uninit-pred-loop_1.cc gcc/testsuite/gcc.dg/uninit-11.c gcc/testsuite/gcc.dg/uninit-5.c gcc/testsuite/gcc.dg/uninit-pred-2_a.c gcc/testsuite/gcc.dg/uninit-pred-2_b.c gcc/testsuite/gcc.dg/uninit-pred-2_c.c gcc/testsuite/gcc.dg/uninit-pred-3_a.c gcc/testsuite/gcc.dg/uninit-pred-3_b.c gcc/testsuite/gcc.dg/uninit-pred-3_c.c gcc/testsuite/gcc.dg/uninit-pred-3_d.c gcc/testsuite/gcc.dg/uninit-pred-3_e.c gcc/testsuite/gcc.dg/uninit-pred-4_a.c gcc/testsuite/gcc.dg/uninit-pred-4_b.c gcc/testsuite/gcc.dg/uninit-pred-5_a.c gcc/testsuite/gcc.dg/uninit-pred-5_b.c gcc/testsuite/gcc.dg/uninit-pred-6_a.c gcc/testsuite/gcc.dg/uninit-pred-6_b.c gcc/testsuite/gcc.dg/uninit-pred-6_c.c gcc/testsuite/gcc.dg/uninit-pred-6_d.c gcc/testsuite/gcc.dg/uninit-pred-6_e.c gcc/testsuite/gcc.dg/uninit-pred-7_a.c gcc/testsuite/gcc.dg/uninit-pred-7_b.c gcc/testsuite/gcc.dg/uninit-pred-7_c.c gcc/testsuite/gcc.dg/uninit-pred-8_a.c gcc/testsuite/gcc.dg/uninit-pred-8_b.c gcc/testsuite/gcc.dg/uninit-pred-8_c.c gcc/testsuite/gcc.dg/uninit-pred-9_a.c gcc/testsuite/gcc.dg/uninit-pred-9_b.c gcc/tree-flow.h gcc/tree-ssa-uninit.c gcc/tree-ssa.c Predicate aware uninitialized variable warning Owner: davidxl Status: not in upstream gcc/Makefile.in gcc/dbgcnt.def gcc/doc/invoke.texi gcc/common.opt gcc/params.def gcc/passes.c gcc/sbitmap.c gcc/sbitmap.h gcc/timevar.def gcc/tree-pass.h gcc/tree-ssa-lrs.c Live range shrinking optimization Owner: davidxl Status: Not in GCC mainline gcc/mcf.c gcc/params.def gcc/doc/invoke.texi Make the number of iterations used to cancel cycles in MCF a parameter. Print out a message when cycle cancellation exits early due to this limit. Owner: nvachhar Status: Not yet upstream gcc/tree-ssa-lrs.c Comparison of unsigned and signed integer leads to build error Owner: davidxl Status: Not in upstream (should bundle with other LRS changes) gcc/gimple-low.c gcc/testsuite/g++.dg/warn/Wuninitialized-5.C gcc/testsuite/g++.dg/warn/pragma-system_header3.h gcc/testsuite/g++.dg/warn/unit-1.C gcc/testsuite/gcc.dg/pr39666-2.c gcc/testsuite/gcc.dg/uninit-I.c gcc/testsuite/gcc.dg/uninit-pr19430.c gcc/testsuite/gcc.dg/uninit-pr20644.c gcc/testsuite/gfortran.dg/pr25923.f90 gcc/testsuite/gfortran.dg/pr39666-2.f90 Make merged return statements use the last line of the function as their line number. Update the test suite accordingly. Owner: nvachhar Status: Not yet upstream gcc/gcc.c Accept both -no-canonical-prefixes and -canonical-prefixes. Make -no-canonical-prefixes the default. Owner: simonb Status: Not yet upstream. gcc/dbgcnt.c Fix a bug in debug counter name parsing Owner: davidxl Status: submitted upstream 4.5 gcc/fold-const.c gcc/Makefile.in Fix 2045297 Owner: davidxl Status: Not submitted gcc/cgraph.h gcc/common.opt gcc/ipa-inline.c gcc/opts.c gcc/params.def Implement heuristic which limits i-cache footprint during inlining. The size of hot components of the call graph are limited to a parameterized value. Heuristic is enabled by default with FDO, and can be explicitly enabled/disabled with -flimit-hot-components. Owner: meheff Status: Not yet upstream gcc/config/rs6000/rs6000.c Fix for http://b/1836944 Owner: dnovillo Status: In GCC 4.5 as of rev 148568. gcc/ifcvt.c Remove stale regnotes after if conversion Owner: raksit Status: Not in upstream gcc/cfgloopmanip.c Fix segfault when deleting paths during loop unrolling. Owner: meheff Status: Not in mainline yet. gcc/coverage.c gcc/opts.c gcc/opts.h gcc/testsuite/g++.dg/tree-prof/dom-invalid.C gcc/testsuite/g++.dg/tree-ssa/dom-invalid.C gcc/testsuite/gcc.dg/pr26570.c gcc/testsuite/gcc.dg/pr32773.c gcc/testsuite/gcc.dg/tree-prof/pr26570.c gcc/testsuite/gcc.dg/tree-prof/pr32773.c Disable -fprofile-use when no .gcda file is found. Owner: nvachhar Status: not yet upstream. gcc/opts.c gcc/doc/invoke.texi Change the default behavior of -ftracer with FDO. Now it is off with -fprofile-use. The old behavior can be restored with -fprofile-use -ftracer. Owner: singhai Status: local gcc/cfgexpand.c Fix the bug when there is lhs to a built-in call expression, we should make annotation on the tree node before adding the lhs to the tree node. Otherwise later functions such as expand_builtin_memcpy will not be able to read the profile information from the call expression node. Owner: dehao Status: Not yet upstream gcc/Makefile.in gcc/basic-block.h gcc/common.opt gcc/coverage.c gcc/doc/invoke.texi gcc/flags.h gcc/ipa-inline.c gcc/ira-int.h gcc/mcf.c gcc/modulo-sched.c gcc/opts.c gcc/opts.h gcc/params.def gcc/passes.c gcc/postreload-gcse.c gcc/predict.c gcc/profile.c gcc/profile.h gcc/regs.h gcc/sched-ebb.c gcc/sched-rgn.c gcc/timevar.def gcc/toplev.c gcc/toplev.h gcc/tracer.c gcc/tree-inline.c gcc/tree-pass.h gcc/tree-sample-profile.c gcc/tree-sample-profile.h Port Sample FDO from GCC 4.4.0 Owner: nvachhar Status: not yet upstream gcc/Makefile.in gcc/c-pch.c gcc/ggc-common.c gcc/timevar.def Add timers for PCH image creation and reconstruction. Owner: dnovillo Status: Upstream in gcc 4.6 at svn revision 158266. libstdc++-v3/libsupc++/Makefile.am libstdc++-v3/libsupc++/Makefile.in libstdc++-v3/src/Makefile.am libstdc++-v3/src/Makefile.in Add -fno-omit-frame-pointer to eh_throw.cc, eh_terminate.cc and functexcept.cc compilation flags, so google3 frame-based unwinder could work (this fixes //base:terminate_test failure). Owner: ppluznikov Status: google-local patch. Makefile.in Makefile.tpl configure.ac gcc/Makefile.in gcc/ada/gcc-interface/Make-lang.in gcc/attribs.c gcc/c-parser.c gcc/common.opt gcc/config.gcc gcc/config.in gcc/configure gcc/configure.ac gcc/cp/Make-lang.in gcc/cp/decl.c gcc/cp/parser.c gcc/diagnostic.c gcc/doc/gccint.texi gcc/doc/gty.texi gcc/doc/invoke.texi gcc/doc/plugins.texi gcc/doc/sourcebuild.texi gcc/fortran/Make-lang.in gcc/gcc-plugin.h gcc/gcc.c gcc/gengtype.c gcc/ggc-common.c gcc/ggc-page.c gcc/ggc-zone.c gcc/ggc.h gcc/java/Make-lang.in gcc/objc/Make-lang.in gcc/objcp/Make-lang.in gcc/opts.c gcc/passes.c gcc/plugin-version.c gcc/plugin.c gcc/plugin.h gcc/system.h gcc/testsuite/g++.dg/README gcc/testsuite/g++.dg/dg.exp gcc/testsuite/g++.dg/plugin/attribute_plugin-test-1.C gcc/testsuite/g++.dg/plugin/attribute_plugin.c gcc/testsuite/g++.dg/plugin/dumb-plugin-test-1.C gcc/testsuite/g++.dg/plugin/dumb_plugin.c gcc/testsuite/g++.dg/plugin/header-plugin-test.C gcc/testsuite/g++.dg/plugin/header_plugin.c gcc/testsuite/g++.dg/plugin/plugin.exp gcc/testsuite/g++.dg/plugin/self-assign-test-1.C gcc/testsuite/g++.dg/plugin/self-assign-test-2.C gcc/testsuite/g++.dg/plugin/self-assign-test-3.C gcc/testsuite/g++.dg/plugin/selfassign.c gcc/testsuite/gcc.dg/plugin/ggcplug-test-1.c gcc/testsuite/gcc.dg/plugin/ggcplug.c gcc/testsuite/gcc.dg/plugin/one_time-test-1.c gcc/testsuite/gcc.dg/plugin/one_time_plugin.c gcc/testsuite/gcc.dg/plugin/plugin.exp gcc/testsuite/gcc.dg/plugin/self-assign-test-1.c gcc/testsuite/gcc.dg/plugin/self-assign-test-2.c gcc/testsuite/gcc.dg/plugin/selfassign.c gcc/testsuite/gcc.dg/plugin/start_unit-test-1.c gcc/testsuite/gcc.dg/plugin/start_unit_plugin.c gcc/testsuite/lib/plugin-support.exp gcc/testsuite/lib/target-supports.exp gcc/timevar.def gcc/toplev.c gcc/tree-pass.h Backport plugin functionality from upstream. This corresponds to SVN revisions: 144439, 144758, 145075, 145458, 146274, 146195, 146187, 146183, 146078, 146059, 146962, 147130, 147180, 147244, 147908, 146998, 147197, 147208, 147499, 147516, 147772, 147878, 148015, 148515, 148566, 148612, 148783, 148806, 149100, 149313, 149648, 149064, 150967 and 153472. Status: Upstream in gcc 4.5.0. gcc/Makefile.in gcc/tree-inline.c gcc/testsuite/gcc.dg/ipa/ipacost-1.c Backport upstream mainline change 145126 for http://b/1735058. This changes naming of cloned functions from e.g. T.1203() to .clone.0(). Owner: ppluzhnikov Status: in 4.5 mainline. gcc/mcf.c Use minimum cost circulation instead of minimum cost flow to ensure that function entry and exit weights can be adjusted. Owner: nvachhar Status: Not yet upstream libstdc++-v3/include/bits/stl_vector.h libstdc++-v3/include/ext/sso_string_base.h libstdc++-v3/include/ext/vstring.h libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc Various debug checks, controlled by __google_stl_debug_{vector,string} macros. Owner : ppluzhnikov Status: local. gcc/tree-ssa.c Fix false uninitialized warning on empty struct Owner: davidxl Status: Not in upstream libstdc++-v3/include/backward/hash_map libstdc++-v3/include/backward/hash_set Permit disabling the backward warning for hash_map and hash_set. Backport of upstream revision 158281 Owner: iant Status: upstream 158281 in gcc 4.6.0 doc/invoke.texi gcc/opts.c Backport 147249. Change location of debugging dumps to the output file directory. Owner: meheff Status: In GCC 4.5. gcc/config/i386/chkstk.asm gcc/config/i386/cygwin.asm gcc/config/i386/i386.c gcc/config/i386/i386.md gcc/config/i386/t-cygming gcc/config/i386/t-i386 gcc/config/i386/t-interix Implement stack probing for x86 by extending -mstack-arg-probe to work on all x86 targets (it worked on only Windows x86 targets earlier). Also, change the meaning of -fstack-check to mean -mstack-arg-probe on x86. A similar patch was sent to the gcc-patches@ mailing list, only to be rejected by Eric Botcazou because he claimed to have a superior -fstack-check implementation in the works. So this patch will not be submitted upstream. This google-local patch will become unnecessary when Eric Botcazou's new -fstack-check implementation comes in -- the middle-end part is submitted to gcc-4.5, and the x86 target-specific part is yet to be submitted: http://gcc.gnu.org/ml/gcc-patches/2009-08/msg00167.html http://gcc.gnu.org/ml/gcc-patches/2009-09/msg00091.html Owner: raksit Status: google-local gcc/Makefile.in gcc/alias.h gcc/basic-block.h gcc/c-decl.c gcc/c-lang.c gcc/c-opts.c gcc/c-tree.h gcc/cgraph.c gcc/cgraph.h gcc/cgraphbuild.c gcc/cgraphunit.c gcc/common.opt gcc/coverage.c gcc/coverage.h gcc/cp/Make-lang.in gcc/cp/cp-lang.c gcc/cp/cp-objcp-common.c gcc/cp/cp-tree.h gcc/cp/decl.c gcc/cp/decl2.c gcc/cp/friend.c gcc/cp/mangle.c gcc/cp/name-lookup.c gcc/cp/name-lookup.h gcc/cp/parser.c gcc/cp/pt.c gcc/cp/rtti.c gcc/cp/semantics.c gcc/dbgcnt.def gcc/doc/invoke.texi gcc/dwarf2out.c gcc/dyn-ipa.c gcc/except.c gcc/function.c gcc/function.h gcc/gcov-dump.c gcc/gcov-io.c gcc/gcov-io.h gcc/incpath.c gcc/incpath.h gcc/ipa-inline.c gcc/ipa.c gcc/l-ipo.c gcc/l-ipo.h gcc/langhooks-def.h gcc/langhooks.c gcc/langhooks.h gcc/libgcov.c gcc/opts.c gcc/opts.h gcc/params.def gcc/passes.c gcc/predict.c gcc/profile.c gcc/toplev.c gcc/toplev.h gcc/tree-inline.c gcc/tree-inline.h gcc/tree-pass.h gcc/tree-profile.c gcc/tree-sra.c gcc/value-prof.c gcc/value-prof.h gcc/varasm.c gcc/varpool.c libgcc/Makefile.in LIPO implementation. Owner: davidxl, raksit Status: Not in mainline yet. gcc/cgraph.h gcc/common.opt gcc/ipa-inline.c gcc/params.def Pessimize stack accounting during inlining, and change maximum frame size to 16K. Previous stack frame accounting behavior can be re-enabled with: -fno-pessimistic-inline-stack-limit --param=large-stack-frame=256 \ --param=large-stack-frame-growth=1000 Status: Not yet upstream. gcc/testsuite/gcc.dg/tree-ssa/ivopt_1.c gcc/testsuite/gcc.dg/tree-ssa/ivopt_2.c gcc/testsuite/gcc.dg/tree-ssa/ivopt_3.c gcc/testsuite/gcc.dg/tree-ssa/ivopt_4.c gcc/testsuite/gcc.dg/tree-ssa/ivopt_5_sink.c gcc/testsuite/gcc.dg/tree-ssa/ivopt_6.c gcc/testsuite/gcc.dg/tree-ssa/ivopt_7.c gcc/tree-flow.h gcc/tree-ssa-address.c gcc/tree-ssa-loop-ivopts.c IVOPT enhancement Owner: davidxl Status: Not yet upstream doc/invoke.texi gcc/ipa-inline.c gcc/params.def gcc/testsuite/gcc.dg/matrix/matrix-1.c gcc/testsuite/gcc.dg/matrix/transpose-1.c gcc/testsuite/gcc.dg/matrix/transpose-2.c gcc/testsuite/gcc.dg/matrix/transpose-3.c gcc/testsuite/gcc.dg/matrix/transpose-4.c gcc/testsuite/gcc.dg/matrix/transpose-5.c gcc/testsuite/gcc.dg/matrix/transpose-6.c Add parameter to increase inlined function size limits when profile information is available. Also, increase not-declared-inline function size limit to declared-inline function size limit. Original inlining behavior can be recreated with --param=max-inline-insns-auto=90 and --param=inline-limit-increase-with-profile=0. Owner: meheff Status: google-local patch gcc/config.gcc gcc/config/arm/eabi.h gcc/config/arm/t-arm-elf gcc/config/arm/t-mlib-armv7a gcc/config/arm/t-mlib-mandroid Add --with-multilib-list option for arm targets that include t-arm-elf file. Owner: jingyu status: rejected by upstream. gcc/coverage.c Avoid ICE if the working directory does not exist. Owner: nvachhar Status: not yet upstream gcc/Makefile.in gcc/cgraph.h gcc/common.opt gcc/cp/error.c gcc/ipa-inline.c gcc/opts.c Add -finline-plan-= option which reads a list of edges to inline from a file. Owner: meheff Status: Not yet upstream gcc/tree-ssa-loop-unswitch.c Fix a problematic logic in tree unswitch loop pass. Owner: jingyu Status: Back port from trunk (4.6) rev 158138. gcc/tree-profile.c Make __gcov_indirect_call_counters and __gcov_indirect_call_callee TLS to avoid race conditions in value profiling. Owner: nvachhar Status: Upstream in rev 142953, but reverted due to problems on Darwin. gcc/libgcov.c gcc/tree-profile.c Use existing option to control whether the middle-end and target use TLS or not. Owner: jingyu Status: not yet upstream gcc/basic-block.h gcc/cfghooks.c gcc/config.in gcc/configure gcc/configure.ac gcc/dbxout.c gcc/debug.c gcc/debug.h gcc/defaults.h gcc/dwarf2out.c gcc/final.c gcc/gimple-pretty-print.c gcc/sdbout.c gcc/tree-cfg.c gcc/vmsdbgout.c gcc/xcoffout.c gcc/xcoffout.h Add support for discriminators in the debug line number table. Integrated CLs 29911, 29948, 30485, 32495 from v13. Owner: ccoutant Status: In GCC 4.5. gcc/gcse.c gcc/tree-ssa-loop-im.c Use a counter to avoid excessive load/store motions in tree and RTL level. This fixes 2394580: regression with compiler/openssl/speed for v13-FDO due to loop invarient motion and load/store motion. Owner: xur Status: google-local patch gcc/c-opts.c gcc/coverage.c gcc/gcov-io.h gcc/l-ipo.c gcc/tree-sample-profile.c gcc/tree-sample-profile.h gcc/common.opt gcc/doc/invoke.texi Add LIPO support for Sample FDO. Owner: dehao Status: not yet upstream gcc/testsuite/g++.dg/init/copy7.C Merge fix for a broken test. Revision 146744. Owner: dougkwan Status: In GCC mainline 4.5 libstdc++-v3/include/bits/stl_algo.h libstdc++-v3/include/bits/stl_tree.h Check for strict weak ordering, controlled by __google_stl_debug_{rbtree,compare} macros. Owner: ppluzhnikov Status: local gcc/dwarf2out.c Apply upstream fix for http://b/1949954 Owner: ppluzhnikov Status: This is upstream (4.5) mainline change 149235. gcc/config/i386/i386.c gcc/config/i386/i386.md gcc/config/i386/i386.opt gcc/doc/invoke.texi gcc/testsuite/gcc.dg/20050503-1.c Adds the flag -minline-compares. If flag is not given, strcmp and memcmp are not inlined. Owner: martint Status: Not yet upstream. gcc/common.opt gcc/doc/invoke.texi gcc/dwarf2.h gcc/dwarf2out.c gcc/flags.h gcc/opts.c gcc/varasm.c Add -gdwarf-4 option to enable use of COMDAT sections for debug type information. Integrated CLs 25995, 29761, 29764, 29765, 33091, 33375, 33538, 38904 from v13. Owner: ccoutant Status: upstream at rev 152421 (in 4.5) gcc/timevar.def gcc/toplev.c gcc/c-parser.c gcc/cp/parser.c gcc/cp/pt.c Adding timevars for major components within the parser. Owner: crowl Status: not yet upstream gcc/ipa-inline.c Increase verbosity of some inlining dumps. Also dump of callgraph containing inlining specific information when -fdump-ipa-inline-details is specified. Owner: meheff Status: Not yet upstream. gcc/cgraph.c gcc/cgraph.h gcc/cgraphbuild.c gcc/cgraphunit.c gcc/common.opt gcc/doc/invoke.texi gcc/ipa-inline.c gcc/params.def Change inlining heuristic to allow inlining of cold edges with FDO if callee is sufficiently hot. Helps propagation of context into hot functions. Owner: meheff Status: not yet upstream gcc/ipa-inline.c Fixed fprintf format argument mismatch caused by bad merge. Owner: meheff Status: Local patch. gcc/basic-block.h gcc/cfghooks.c gcc/cfglayout.c gcc/common.opt gcc/dwarf2out.c gcc/final.c gcc/gimple-pretty-print.c gcc/print-rtl.c gcc/rtl.h gcc/toplev.c gcc/tree-cfg.c gcc/tree-pretty-print.c gcc/tree.c gcc/tree.h gcc/doc/invoke.texi Change discriminator tracking from per-basic-block to per-instruction. Add -gstrict-dwarf and -gno-strict-dwarf options to control output of discriminator information in line number tables when not generating DWARF version 4. Integrated CLs 36569 and 38251 from v13. Owner: ccoutant Status: To be submitted upstream. gcc/config/arm/arm.md gcc/config/arm/constraints.md Optimization for addition of register and constant. Owner: carrot status: This is upstream (4.5) mainline change 148452. gcc/tree-sample-profile.c gcc/tree-sample-profile.h gcc/params.def gcc/doc/invoke.texi Add support for using discriminator information when doing SampleFDO attribution. Owner: nvachhar Status: Not yet upstream gcc/config/arm/arm.c Optimization for push/pop lr by computing the maximum possible function size and remove the too conservative assumption that every jump may be far jump. Owner: carrot Status: Not yet upstream. gcc/cfgcleanup.c gcc/cfglayout.c gcc/cfgrtl.c gcc/combine-stack-adj.c gcc/combine.c gcc/config/arm/arm.c gcc/config/bfin/bfin.md gcc/config/i386/i386.c gcc/config/i386/i386.h gcc/config/i386/i386.md gcc/config/vax/vax.c gcc/dwarf2out.c gcc/dwarf2out.h gcc/emit-rtl.c gcc/final.c gcc/function.c gcc/haifa-sched.c gcc/insn-notes.def gcc/jump.c gcc/recog.c gcc/reg-notes.def gcc/reload1.c gcc/rtl.def gcc/rtl.h gcc/rtlanal.c gcc/tree.h Fixes for unwind info in function epilogues. Owner: ppluzhnikov Status: This is combination of (4.5) mainline changes 146201, 147995, 148011, 148055, 148066 and 148067. gcc/cgraph.c gcc/cgraph.h gcc/params.def gcc/passes.c gcc/tree-dump.c gcc/tree-pass.h Add dump file option 'cgraph' which dumps the call graph to a separate dump file in VCG format with a '.cgraph.vcg' extension. Example usage: -fdump-ipa-inline-cgraph. Owner: meheff Status: not yet upstream gcc/tree-ssa-reassoc.c Integrate CL 39465-p2 to stabilize qsort. Owner: dougkwan Status: In mainline 4.6 revision 158449. gcc/ifcvt.c gcc/optabs.c gcc/optabs.h gcc/testsuite/gcc.c-torture/execute/ifcvt-onecmpl-abs-1.c gcc/testsuite/gcc.target/i386/ifcvt-onecmpl-abs-1.c If-convert statements of the form 'if (val <0) valnot = ~val;' Owner: eraman Status: In GCC mainline 4.5 at 152253. gcc/tree-ssa-sccvn.c Integrate CL 29019 to stabilize qsort. Owner: dougkwan status: In upstream 4.5 147508. gcc/gcc.c Pass --save-temps option to as to allow as to be replaced by a wrapper that needs to know whether -save-temps was passed to gcc. Owner: eraman Status: local gcc/config/arm/arm.md gcc/testsuite/gcc.c-torture/20090721-1.c Integrate CL 32054-p2 to fix a test. The first part of CL 32054-p2 is already in gcc-4.4.3. This CL integrates mainline gcc patch http://gcc.gnu.org/ml/gcc-patches/2009-07/msg01175.html only. Owner dougkwan Status: In mainline 4.5 revision 149951. gcc/config/arm/arm.c gcc/config/arm/arm.md gcc/testsuite/gcc.target/arm/pr40482.c Fix for failing to shift a small constant to get a larger one. Owner: carrot status: This is upstream (4.5) mainline change 148728. gcc/ifcvt.c Optimization for conditional expression. Owner: carrot Status: This is upstream (4.5) mainline change 148961. gcc/cgraph.c Fixed several build warnings in cgraph.c. No functional change. Owner: meheff Status: Local patch. gcc/tree-ssa-sink.c gcc/testsuite/gcc.dg/tree-ssa/ssa-sink-5.c Stop sinking expression if the target bb post dominates from bb. Owner: carrot Status: This is upstream (4.5) mainline change 149082. gcc/tree-ssa-pre.c gcc/tree-ssa-sccvn.c gcc/testsuite/g++.dg/warn/Warray-bounds.C gcc/testsuite/gcc.dg/Warray-bounds.c gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-11.c gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-21.c gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-26.c gcc/testsuite/gcc.dg/vect/slp-widen-mult-s16.c gcc/testsuite/gcc.dg/vect/slp-widen-mult-u8.c gcc/testsuite/gcc.dg/vect/vect-35.c gcc/testsuite/gcc.dg/vect/vect-multitypes-16.c gcc/testsuite/gcc.dg/vect/vect-multitypes-17.c gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u8a.c gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u8b.c gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c Remove redundant store and enable pre for -Os when it won't hurt size. Also add several missing cases in tree-ssa-sccvn.c. Owner: carrot Status: Backported from upstream changes 145172, 145189 and 153491. gcc/target.h gcc/target-def.h gcc/targhooks.h gcc/targhooks.c gcc/doc/tm.texi gcc/config/arm/arm.c gcc/ifcvt.c gcc/recog.c gcc/sched-rgn.c gcc/final.c gcc/bb-reorder.c Change the usage of macro HAVE_conditional_execution to new target hook have_conditional_execution. And add an arm specific implementation of the hook. This can enable more if conversion optimization opportunities. Owner: carrot Status: Backported from upstream change 153584. gcc/c-format.c gcc/testsuite/gcc.dg/format/gcc_diag-1.c Merge %E warning fix. Revision 146638. Owner: espindola Status: In GCC mainline. gcc/cfgexpand.c gcc/gimple-pretty-print.c gcc/graphite.c gcc/ipa-struct-reorg.c gcc/lambda-code.c gcc/omp-low.c gcc/tree-cfg.c gcc/tree-cfgcleanup.c gcc/tree-flow-inline.h gcc/tree-flow.h gcc/tree-inline.c gcc/tree-into-ssa.c gcc/tree-loop-distribution.c gcc/tree-outof-ssa.c gcc/tree-parloops.c gcc/tree-phinodes.c gcc/tree-predcom.c gcc/tree-ssa-loop-manip.c gcc/tree-ssa-loop-ivopts.c gcc/tree-ssa-phiopt.c gcc/tree-ssa-phiprop.c gcc/tree-ssa-pre.c gcc/tree-ssa-threadupdate.c gcc/tree-ssa.c gcc/tree-switch-conversion.c gcc/tree-tailcall.c gcc/tree-vect-transform.c gcc/tree-vectorizer.c gcc/tree.h Backport of upstream patch to track debug locus information in PHI node arguments. Owner: ccoutant Status: Backport from upstream at 150267. gcc/config/arm/arm.md gcc/testsuite/gcc.target/arm/pr40835.c Add peephole2 patterns to remove compare after move instructions. Owner: carrot Status: Backported from upstream change 153895. gcc/gcc.c Fix 2031001. Don't search /usr/libexec/gcc and /usr/lib/gcc. Owner: espindola Status: In gcc 4.5 at revision 151054. gcc/Makefile.in gcc/common.opt gcc/doc/invoke.texi gcc/passes.c gcc/rtl-factoring.c gcc/testsuite/gcc.c-torture/compile/pr11832.c gcc/testsuite/gcc/c-torture/compile/pr33009.c Integrate CL 32048-p2. Eliminate abstract RTL sequences related code and test cases. Owner: dougkwan Status: In gcc 4.5 at revision 145374. gcc/testsuite/gcc.target/arm/neon/polytypes.c Integrate CL 32570-p2 to fix broken test. Owner: dougkwan Status: In GCC 4.5 at revision 150287. gcc/configure gcc/configure.ac Integrate CL 38924-p2 to fix a problem where the gcc configure script checks for particular versions of ld for certain features when building with gold as the linker. Owner: dougkwan Status: In GCC 4.6 at revsion 158106. gcc/testsuite/gcc.target/arm/pr40835.c Restrict the test for thumb1 target to avoid spurious fails when testing thumb2 target. Owner: carrot Status: Backported from upstream change 154644. gcc/config/arm/thumb2.md Add split to thumb2_extendsidi2 so more optimization could be done with it. Owner: carrot Status: Backport from upstream patch 148014. gcc/final.c Avoid garbage collecting the memory used by -fdebug-prefix-map. Owner: espindola Status: Backported from upstream revision 150759. gcc/ChangeLog.lock-annotations gcc/Makefile.in gcc/attribs.c gcc/c-common.c gcc/c-cppbuiltin.c gcc/c-decl.c gcc/c-parser.c gcc/common.opt gcc/cp/ChangeLog.lock-annotations gcc/cp/call.c gcc/cp/decl2.c gcc/cp/lex.c gcc/cp/parser.c gcc/cp/pt.c gcc/cp/semantics.c gcc/gimplify.c gcc/passes.c gcc/pointer-set.c gcc/pointer-set.h gcc/toplev.c gcc/tree-threadsafe-analyze.h gcc/tree.h gcc/testsuite/ChangeLog.lock-annotations gcc/testsuite/g++.dg/README gcc/testsuite/g++.dg/thread-ann/thread_annot_common.h gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-1.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-10.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-11.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-12.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-13.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-14.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-15.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-16.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-17.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-18.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-19.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-2.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-20.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-21.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-22.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-23.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-24.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-25.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-26.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-27.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-28.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-29.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-3.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-30.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-31.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-32.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-33.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-34.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-35.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-36.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-37.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-38.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-39.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-4.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-40.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-41.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-42.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-5.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-6.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-7.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-8.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-9.C gcc/testsuite/gcc.dg/thread_annot_common_c.h gcc/testsuite/gcc.dg/thread_annot_lock-23.c gcc/testsuite/gcc.dg/thread_annot_lock-24.c gcc/testsuite/gcc.dg/thread_annot_lock-25.c gcc/testsuite/gcc.dg/thread_annot_lock-26.c gcc/testsuite/gcc.dg/thread_annot_lock-27.c gcc/testsuite/gcc.dg/thread_annot_lock-42.c Port the lock annotation/analysis support from the external GCC thread-annotations branch (up to revision 144735). Owner: lcwu Status: in the GCC thread-annotations branch. gcc/tree-threadsafe-analyze.c gcc/testsuite/g++.dg/thread-ann/thread_annot_common.h gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-43.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-44.C Add support for releasable scoped lock (e.g. ReleasableMutexLock or std::unique_lock). Also fix an issue when populating the intial lock sets. We need to canonicalize the locks before adding them to the set. Owner: lcwu Status: not yet upstream gcc/ipa-inline.c gcc/opts.c Disable thread-safety analysis when ipa early inlining is enabled (possibly by FDO or coverage options). Owner: lcwu Status: Not yet upstream gcc/tree-threadsafe-analyze.c gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-45.C When forming the canonical expression for a lock, skip the compiler-generated base object field(s). Owner: lcwu Status: Not yet upstream gcc/tree-threadsafe-analyze. gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-46.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-47.C Fix an issue in annotalysis where annotations on virtual functions are silently ignored. When analyzing a gimple call statement, if a callee doesn't have a functino decl, we now also check whether it is an OBJ_TYPE_REF, and if so, try to get the corresponding function decl from the object. Owner: lcwu Status: Not yet upstream gcc/cp/class.c gcc/cp/cp-lang.c gcc/cp/cp-tree.h gcc/langhooks-def.h gcc/langhooks.c gcc/langhooks.h gcc/tree-threadsafe-analyze.c Make function get_virtual_function_decl a langhook. This fixes a link issue when building the fortran compiler. Owner: lcwu Status: Not yet upstream gcc/cp/error.c gcc/c-pretty-print.c Enhance GCC pretty-print/error-reporting mechanism to allow '%E' format modifier to work with SSA names. Owner: lcwu Status: not yet upstream gcc/config/arm/arm.md gcc/testsuite/gcc.target/arm/pr40670.c Backport upstream patch 155427. Pass floating point constant moves to integer registers as mov immediates for thumb1. Owner: carrot Status: In GCC 4.5 at revision 155427. gcc/config/arm/arm.c Add a new function thumb1_size_rtx_costs to model the code size for thumb1 instructions. Owner: carrot Status: In GCC 4.6 at revision 158110. gcc/config/arm/arm.c gcc/config/arm/lib1funcs.asm gcc/config/arm/t-arm-elf gcc/config/arm/t-linux gcc/config/arm/t-pe gcc/config/arm/t-strongarm-elf gcc/config/arm/t-symbian gcc/config/arm/t-vxworks gcc/config/arm/t-wince-pe Integrate CL 28544-p2 to implement 64-bit multiplication run-time function __aeabi_lmul in hand optimized ARM code. Owner: dougkwan Status: submitted to upstream but not yet approved. gcc/config/arm/arm.c gcc/config/arm/arm.md gcc/config/arm/thumb2.md Simplify the code sequence to load GOT address for thumb2. Owner: carrot Status: In GCC 4.5 at revision 156428. gcc/cp/decl.c gcc/cp/decl2.c gcc/dbxout.c gcc/debug.c gcc/debug.h gcc/dwarf2out.c gcc/sdbout.c gcc/vmsdbgout.c gcc/testsuite/gcc.dg/debug/dwarf2/aranges-fnsec-1.c Integrate CLs 33560, 34401, 37005, 38625. Backport upstream patch to fix invalid use of DW_OP_regx in DWARF info (b/1560232). Apply upstream change to fix b/1279996 (missing debug info for typedef of anonymous struct). http://gcc.gnu.org/ml/gcc-patches/2009-02/msg00749.html http://gcc.gnu.org/ml/gcc-patches/2009-04/msg01386.html Backport fix for corrupted rangelist (b/2304062). http://gcc.gnu.org/ml/gcc-patches/2009-12/msg00994.html http://gcc.gnu.org/ml/gcc-patches/2009-12/msg01055.html Fix problem (b/2124157) where an implicit destructor has incorrect source position information. Based on a series of three commits upstream at r151061-151063, only the first of which was posted: http://gcc.gnu.org/ml/gcc-patches/2009-08/msg01315.html Owner: ccoutant Status: In GCC 4.5. gcc/dwarf2out.c gcc/testsuite/g++.dg/debug/dwarf2/dwarf4-typedef.C Integrate CLs 39124, 39152. Add check to prevent moving locally-scoped types into type units. (b/2482645) Fix problem in gcc where a local typedef in a member function could produce an ICE in output_die. (b/2479745) Owner: ccoutant Status: Not yet upstream gcc/cp/cp-lang.c gcc/gimple.c gcc/langhooks-def.h gcc/langhooks.h gcc/langhooks.c gcc/tree-flow.h gcc/tree-ssa-dce.c gcc/testsuite/g++.dg/tree-ssa/vptr_init_dse.C gcc/testsuite/g++.dg/tree-ssa/vptr_init_dse2.C Enhancing dead code elimination to eliminate useless vptr field initialization. Owner: davidxl Status: not submitted gcc/cp/class.c gcc/cp/cp-lang.c gcc/cp/cp-tree.h gcc/langhooks-def.h gcc/langhooks.h gcc/tree-threadsafe-analyze.c Change to use language hooks for C++ frontend specific code to solve a crosstool build problem triggered with -fkeep-inline-functions flag. Owner: lcwu Status: Not yet upstream gcc/c-common.c gcc/c-common.h gcc/c-parser.c gcc/common.opt gcc/cp/init.c gcc/cp/parser.c gcc/fold-const.c gcc/testsuite/g++.dg/plugin/selfassign.c gcc/testsuite/g++.dg/warn/Wself-assign-1.C gcc/testsuite/g++.dg/warn/Wself-assign-2.C gcc/testsuite/gcc.dg/plugin/selfassign.c gcc/testsuite/gcc.dg/wself-assign-1.c Implement the self-assignment detection in the front-end and add a new flag -Wself-assign to control the warning. Owner: lcwu Status: Not yet upstream gcc/fold-const.c gcc/testsuite/g++.dg/warn/Wself-assign-3.C Fix operand_equal_p to handle CAST_EXPR and the case where either (or both) of the operands is NULL. The problem was triggered by enabling -Wself-assign. Owner: lcwu Status: Not yet upstream gcc/c-common.c gcc/fold-const.c gcc/tree.h A follow-up patch to CL 39437-p2. Add a new flag (enum member) to control whether operand_equal_p should allow and handle NULL operands. Use this flag when calling operand_equal_p during self-assign detection. Also remove the code that handles CAST_EXPR to preserve the original semantics of operand_equal_p. Owner: lcwu Status: Not yet upstream gcc/cgraph.h Add prototype for cgraph_gate_ipa_early_inlining(). Earlier it was static. Owner: singhai Status: local gcc/cp/optimize.c Rewrites the body of deleting destructor by calling complete destructor and delete function. Owner: carrot Status: This is upstream (4.5) mainline change 151673. gcc/config/arm/arm.c gcc/config/arm/arm.md Simplify the static variable's address calculation when -fpic is specified. Owner: carrot Status: In GCC 4.6 at revision 158189. gcc/optabs.c gcc/config/arm/arm.c gcc/testsuite/gcc.target/arm/thumb-andsi.c Fine tuning the constant code size cost so compiler can choose better instructions for AND operation. Owner: carrot Status: Backport from GCC 4.5 patch 157582. gcc/doc/invoke.texi gcc/loop-unroll.c gcc/params.def gcc/tree-ssa-loop-ivcanon.c gcc/testsuite/gcc.dg/vect/vect.exp gcc/testsuite/gcc.dg/vect/O3-vect-pr34223.c Integrate CLs 30929-p2 and 31066-p2 from v13. Add parameter to control loop peeling/unrolling when profile feedback information is available. Fix a test failure due to peeling parameter change. Owner: singhai Status: local Makefile.def Makefile.in Makefile.tpl config/bootstrap-O1.mk config/bootstrap-O3.mk config/bootstrap-debug.mk config/mt-gnu config/multi.m4 gcc/Makefile.in gcc/doc/install.texi gcc/java/Make-lang.in libjava/configure libjava/configure.ac Port revion 147415. This passes -fdebug-prefix-map to stages 2 and 3. Fixes bug 2045437. Owner: espindola Status: Backported from upstream revision 147415. gcc/predict.c Integrate patch 38477-p2. When -ffunction-sections is used with -freorder-functions, the functions are not placed in a unique section. This patch fixes this bug. Please refer to bug : http://b/2095706. Owner: tmsriram Status: Not yet upstream. gcc/c-opts.c gcc/c.opt gcc/cp/call.c gcc/cp/cp-tree.h gcc/doc/invoke.texi gcc/testsuite/g++.dg/warn/Wnull-conversion-1.C gcc/testsuite/g++.dg/warn/Wnull-conversion-2.C Implement a new warning flag '-Wnull-conversion' that warns about peculiar, but valid, conversions from/to NULL. Owner: lcwu Status: Not yet upstream gcc/testsuite/g++.old-deja/g++.other/null1.C Modified this old test case as we now don't warn about converting a NULL pointer to an unsigned long if the NULL value is used to implicitly instantiate a template. This file was left out of CL-39123 accidentally. Owner: lcwu Status: Not yet upstream gcc/c-decl.c gcc/common.opt gcc/cp/name-lookup.c gcc/doc/invoke.texi gcc/opts.c gcc/testsuite/g++.dg/warn/Wshadow-compatible-local-1.C gcc/testsuite/g++.dg/warn/Wshadow-local-1.C gcc/testsuite/g++.dg/warn/Wshadow-local-2.C gcc/testsuite/gcc.dg/Wshadow-compatible-local-1.c gcc/testsuite/gcc.dg/Wshadow-local-1.c gcc/testsuite/gcc.dg/Wshadow-local-2.c Add two new shadow warning flags: "-Wshadow-local" which warns if a local variable shadows another local variable or parameter, and "-Wshadow-compatible-local" which warns if a local variable shadows another local variable or parameter whose type is compatible with that of the shadowing variable. Owner: lcwu Status: Not yet upstream gcc/common.opt gcc/doc/invoke.texi gcc/dwarf2out.c gcc/flags.h gcc/opts.c gcc/tree-ssa-live.c gcc/testsuite/gcc.dg/debug/dwarf2/mlt1.c gcc/testsuite/gcc.dg/debug/dwarf2/mlt2.c Integrate CLs 37104, 40427. Add -gmlt option to produce debug info with minimal line tables. Change -gmlt option processing so -g overrides and sets level 2 (b/2596501). Owner: ccoutant Status: not yet upstream gcc/c-common.c gcc/c-opts.c gcc/c.opt gcc/doc/invoke.texi gcc/testsuite/g++.dg/warn/Wreal-conversion-1.C gcc/testsuite/gcc.dg/Wreal-conversion-1.c Implement a new warning flag '-Wreal-conversion' that warns about implicit type conversions from real (double or float) to integral values. Owner: lcwu Status: Not yet upstream gcc/cp/call.c gcc/cp/cvt.c gcc/cp/init.c gcc/testsuite/g++.dg/warn/Wunused-13.C gcc/testsuite/g++.dg/warn/Wunused-14.C gcc/testsuite/g++.dg/warn/Wunused-15.C Fix an inconsistent behavior issue between C and C++ frontends with '-Wunused-value' option. C++ frontend didn't warn on "effect-less" indirect reference operations ('*'). (See http://b/issue?id=1725646) This CL also contains the fix for http://b/issue?id=1795805 and fix for PR c++/39875. Owner: lcwu Status: in 4.5 mainline at r146132, r146454, and r146825. gcc/calls.c gcc/common.opt gcc/dbxout.c gcc/debug.c gcc/debug.h gcc/dwarf2out.c gcc/emit-rtl.c gcc/final.c gcc/sdbout.c gcc/vmsdbgout.c gcc/testsuite/g++.dg/debug/dwarf2/icf.C Integrate CL 33377 and backport fix for PR debug/41700. Add support for debugging with identical code folding (ICF). Backport of upstream patches at 152577 and 153719. Owner: ccoutant Status: In gcc 4.5 gcc/Makefile.in gcc/common.opt gcc/tree-pass.h gcc/passes.c gcc/timevar.def gcc/config/i386/i386.c gcc/implicit-zee.c Integrate 30304-p2. New optimization pass to eliminate redundant zero extenstion eliminations in x86_64. Triggered by using -O2 in x86_64. Owner: tmsriram Status: Not yet upstream. gcc/opts.c gcc/testsuite/gcc.dg/Wshadow-local-3.c Fix a bug in the implementation of -Wshadow-local and -Wshadow-compatible-local warnings both of which would be enabled if -Wno-shadow is used. Owner: lcwu Status: not yet upstream gcc/c-common.c gcc/doc/invoke.texi gcc/fold-const.c gcc/testsuite/g++.dg/warn/Wself-assign-4.C gcc/testsuite/gcc.dg/wself-assign-2.c gcc/tree.h Fix an issue in the self-assign warning so that we don't emit warnings on the statements that are not syntactically but semantically self-assignment after constant-folding, e.g. x = x + 0. Also add documentaion for -Wself-assign flag. Owner: lcwu Status: not yet upstream gcc/tree-ssa-reassoc.c gcc/testsuite/gcc.dg/tree-ssa/reassoc-19.c Handle pointer minus in the tree re-association pass so we can avoid hoisting (-b) from a + (-b) out of a loop. Owner: carrot Status: In GCC 4.6 at revision 158105. gcc/config/arm/eabi.h Add GNU-stack annotation to all Android code to fix a potential serious security problem. http://b/issue?id=2623907. Owner: jingyu Status: google local gcc/ipa-inline.c gcc/tree-sample-profile.c gcc/tree-sample-profile.h gcc/predict.c Fix the way ipa-inline decides for callsites that's been inlined in the profile run. Basically, we not only need to read the inline stack of the stmt, but also the previous inline decision by traversing the the inlined_to field of the call edge. Owner: dehao Status: not yet upstream gcc/tree-sample-profile.c Fix the warning produced by the previous check-in Owner: dehao Status: not yet upstream gcc/fold-const.c gcc/testsuite/gcc.target/i386/pr41442.c Simplify boolean expressions of the form "(A && B) || ~B" and "(A || B) && ~B". Owner: carrot Status: In GCC 4.6 at revision 158689. gcc/config/arm/predicates.md gcc/config/arm/arm.md gcc/testsuite/gcc.target/arm/thumb-cbranchqi.c Convert the sequence of load a signed byte and compare with 0 to load an unsigned byte and compare with 127, because the addressing mode of unsigned byte load is more flexible than signed byte load. Owner: carrot Status: In GCC 4.6 at revision 158407. gcc/mcf.c Fix the bug in MCF so that: 1. forward edge and back edge will have separate costs. 2. negative cycle can be found across the entry BB and the exit BB. 3. modify the way we manipulate CAP_INFINITY. CAP_INFINITY + any_number should still be CAP_INFINITY Owner: Dehao Status: not yet upstream gcc/tree-sample-profile.c Fix the bug when the caller function don't have profile, the compiler will use the static profile to guess the profile. However, during inlining, we might find the profile there. At this point, we want to mark the profile status as PROFILE_READ. Owner: Dehao Status: not yet upstream gcc/tree-sample-profile.c gcc/tree-sample-profile.h Use the entry count in the profile to annotate the entry block of the CFG. Owner: Dehao Status: not yet upstream gcc/Makefile.in Rename FLAGS_FOR_TARGET to COMMON_FLAGS_FOR_TARGET to prevent the following prior change: - Create GXX_FOR_TARGET and GFORTRAN_FOR_TARGET make variables and pass these - to tests. This fixes g++ and gfortran tests when --with-build-sysroot is - passed to configure. - Owner: aaw - Status: not yet upstream from conflicting with this prior change: - Port revion 147415. This passes -fdebug-prefix-map to stages - 2 and 3. Fixes bug 2045437. - Owner: espindola - Status: Backported from upstream revision 147415. Conflict shows up as exec fail with cc1plus when running g++ unit tests from the top-level gcc-4.4.3 directory with 'make check-gcc-c++': Owner: simonb Status: not yet upstream gcc/basic-block.h gcc/cfgcleanup.c gcc/ifcvt.c gcc/rtl.def gcc/rtl.h gcc/testsuite/gcc.target/arm/pr42496.c Avoid if-converting two basic blocks if they are same. Instead merge them. Owner: carrot Status: In GCC 4.6 at revision 158357. gcc/config/arm/thumb2.md gcc/testsuite/gcc.target/arm/pr42879.c Replace "tst r3, 1" with "lsls r3, r3, 31" in thumb2, since tst instruction is 32 bit and lsls is 16 bit. Owner: carrot Status: In GCC 4.6 at revision 159212. gcc/tree-ssa-lrs.c Integrate CL 40942: fix a bug in tree operand negating. Owner: davidxl Status: not in upstream gcc/doc/invoke.texi gcc/tree-sample-profile.c gcc/common.opt Add flag for using entry count to annotate entry block. Owner: dehao Status: not yet upstream gcc/common.opt Add the missing common.opt file in the last checkin. Owner: dehao Status: not yet upstream gcc/config/arm/arm.h gcc/config/avr/avr.h gcc/config/i386/i386.h gcc/config/mips/mips.h gcc/config/picochip/picochip.h gcc/config/sparc/sparc.h gcc/config/xtensa/xtensa.h gcc/doc/tm.texi gcc/ira-color.c gcc/ira.c gcc/system.h Adjust register allocation order according to target's requirement. Avoid accumulating the save/restore cost for callee saved registers if there is no more cost, such as code size for thumb instructions. Owner: carrot Status: In GCC 4.6 at revision 158911. gcc/tree-sample-profile.h gcc/tree-sample-profile.c gcc/value-prof.c Add sample based value profile optimizations to GCC. Owner: dehao Status: not yet upstream gcc/config/arm/arm.h gcc/config/arm/constraints.md gcc/config/arm/thumb2.md gcc/config/arm/vfp.md Allow using high registers when optimising for size for thumb2. Also split high/low registers usage in load/store instructions. Owner: carrot Status: In GCC 4.6 at revision 158378 and 148788. gcc/c-common.c gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-48.C gcc/testsuite/g++.dg/thread-ann/thread_annot_lock-49.C gcc/tree-threadsafe-analyze.c gcc/tree-threadsafe-analyze.h Fix a false negative bug (b/2698785) which was caused by not canonicalizing lock expressions used in annotations. Owner: lcwu Status: not yet upstream gcc/Makefile.in gcc/common.opt gcc/coverage.c gcc/doc/invoke.texi gcc/opts.c gcc/testsuite/gcc.dg/tree-prof/wcoverage-mismatch.c Make -Wcoverage-mismatch consistent in behavior with other -W options. Owner: nvachhar Status: In GCC 4.6 at r159050. gcc/cgraph.h gcc/cgraphunit.c gcc/l-ipo.c gcc/varpool.c Fix a lipo bug exposed by Dehao's lipo patch: A weak decl was being multiply emitted, and this caused the assembler to bork. The fix is to go thru the varpool-queue before emitting variables, and remove duplicates of weak variables. Owner: raksit Status: not yet upstream gcc/coverage.c gcc/dyn-ipa.c gcc/gcov-io.h Bug identified and fixed by Dehao: LIPO's direct call instrumentation had a bug which could cause function-id mismatches, resulting in incorrect module grouping decisions. Owner: raksit Status: not yet upstream gcc/config/i386/i386.c gcc/params.def gcc/params.h gcc/tree-ssa-loop-prefetch.c gcc/testsuite/gcc.dg/tree-ssa/loop-28.c gcc/testsuite/gcc.dg/tree-ssa/prefetch-3.c gcc/testsuite/gcc.dg/tree-ssa/prefetch-5.c gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c gcc/testsuite/gcc.dg/tree-ssa/prefetch-7.c gcc/testsuite/gcc.dg/tree-ssa/prefetch-8.c gcc/testsuite/gcc.dg/tree-ssa/update-unroll-1.c gcc/testsuite/gcc.target/i386/opt-1.c gcc/testsuite/gcc.target/i386/opt-2.c Integrate CLs 41076 and 41115. Tune prefetch heuristics and fix regressions in prefetch loop array pass. Backport patch from gcc 4.5 revision 150726. Fix several broken tests due to prefetch heuristic changes in cl/41076-p2. Owner: singhai Status: google local * gcc.dg/tree-ssa/prefetch-8.c: New test. gcc/tree-ssa-dce.c Enhance vptr init DSE to allow delete call to be in different (postdom) bb of init stmt's bb. Owner: davidxl Status: not yet upstream gcc/Makefile.in gcc/config/arm/arm.c gcc/config/arm/arm.md gcc/doc/tm.texi gcc/hooks.c gcc/hooks.h gcc/passes.c gcc/simplify-got.c gcc/target-def.h gcc/target.h gcc/tree-pass.h gcc/timevar.def gcc/testsuite/gcc.target/arm/got1.c gcc/testsuite/gcc.target/arm/got2.c Use relocation R_ARM_GOT_PREL to simplify global address loading if -fpic is specified. Owner: carrot Status: not yet upstream. gcc/collect2.c gcc/common.opt gcc/configure.ac gcc/configure gcc/doc/invoke.texi gcc/exec-tool.in gcc/gcc.c gcc/opts.c integrate CL 41399. Add -fuse-ld= option to select linker. This CL merges the gcc part of this up-stream patch. http://gcc.gnu.org/ml/gcc-patches/2010-04/msg00402.html Owner: dougkwan Status: binutils part in upstream, gcc part pending approval. gcc/simplify-got.c Temporarily disable R_ARM_GOT_PREL optimization for thumb2, since two benchmarks have runtime errors (http://b/issue?id=2749619). Will enable the optimization pass once the bug is fixed. Owner: jingyu Status: google local config.sub gcc/config.gcc gcc/config/linux.h gcc/config/linux.opt gcc/config/alpha/linux-elf.h gcc/config/alpha/linux.h gcc/config/rs6000/linux.h gcc/config/rs6000/linux64.h gcc/config/rs6000/sysv4.h gcc/doc/invoke.texi gcc/testsuite/gcc.dg/glibc-uclibc-1.c gcc/testsuite/gcc.dg/glibc-uclibc-2.c gcc/config/arm/eabi.h gcc/config/arm/eabi.opt gcc/config/arm/t-linux-androideabi gcc/config/arm/t-arm-elf gcc/config/arm/t-mlib-armv7a gcc/config/arm/t-mlib-mandroid gcc/config/linux-android.h gcc/config/linux-android.opt gcc/gthr-posix.h libstdc++-v3/acinclude.m4 libstdc++-v3/config/os/bionic/ctype_base.h libstdc++-v3/config/os/bionic/ctype_inline.h libstdc++-v3/config/os/bionic/ctype_noninline.h libstdc++-v3/config/os_bionic/os_defines.h libstdc++-v3/configure libstdc++-v3/configure.host Backport androideabi target and bionic support from upstream. Remove local mandroid patch (CL39911-p2) and local multilib patch (CL40150-p2). Owner: jingyu Status: Back port upstream patches: r159820, r159917, r159918, r159978, r160095, r160096 gcc/config/linux.h Disable sincos optimization for Android target. Owner: jingyu Status: keep it local gcc/config/arm/arm.c gcc/config/arm/thumb2.md Fix a problematic pattern which crashes Android browser and camera. Owner: jingyu Status: Back port upstream patch r157942 gcc/config/arm/arm.h Add .note.GNU-stack annotation to all ARM targeted codes. Owner: jingyu Status: keep it local