A recent patch increased GCC's memory consumption in some cases!
gcctest@suse.de
gcctest@suse.de
Wed May 9 10:19:00 GMT 2007
Hi,
I am a friendly script caring about memory consumption in GCC. Please
contact jh@suse.cz if something is going wrong.
Comparing memory consumption on compilation of combine.i, insn-attrtab.i,
and generate-3.4.ii I got:
comparing empty function compilation at -O0 level:
Overall memory needed: 7413k -> 7492k
Peak memory use before GGC: 2324k
Peak memory use after GGC: 1997k
Maximum of released memory in single GGC run: 327k
Garbage: 479k -> 480k
Leak: 2374k
Overhead: 516k -> 516k
GGC runs: 3
comparing empty function compilation at -O0 -g level:
Overall memory needed: 7429k -> 7508k
Peak memory use before GGC: 2352k
Peak memory use after GGC: 2025k
Maximum of released memory in single GGC run: 327k
Garbage: 482k -> 482k
Leak: 2407k
Overhead: 521k -> 521k
GGC runs: 3
comparing empty function compilation at -O1 level:
Overall memory needed: 7517k -> 7532k
Peak memory use before GGC: 2324k
Peak memory use after GGC: 1997k
Maximum of released memory in single GGC run: 327k
Garbage: 485k -> 485k
Leak: 2376k
Overhead: 517k -> 517k
GGC runs: 3
comparing empty function compilation at -O2 level:
Overall memory needed: 7525k -> 7560k
Peak memory use before GGC: 2325k
Peak memory use after GGC: 1997k
Maximum of released memory in single GGC run: 328k
Garbage: 488k -> 488k
Leak: 2376k
Overhead: 517k -> 517k
GGC runs: 4
comparing empty function compilation at -O3 level:
Overall memory needed: 7525k -> 7560k
Peak memory use before GGC: 2325k
Peak memory use after GGC: 1997k
Maximum of released memory in single GGC run: 328k
Garbage: 488k -> 488k
Leak: 2376k
Overhead: 517k -> 517k
GGC runs: 4
comparing combine.c compilation at -O0 level:
Overall memory allocated via mmap and sbrk increased from 17673k to 22416k, overall 26.84%
Amount of produced GGC garbage increased from 37683k to 38397k, overall 1.89%
Overall memory needed: 17673k -> 22416k
Peak memory use before GGC: 9015k -> 9018k
Peak memory use after GGC: 8255k -> 8231k
Maximum of released memory in single GGC run: 1874k -> 1595k
Garbage: 37683k -> 38397k
Leak: 7000k -> 7000k
Overhead: 4753k -> 4988k
GGC runs: 279 -> 280
comparing combine.c compilation at -O0 -g level:
Overall memory allocated via mmap and sbrk increased from 19569k to 24332k, overall 24.34%
Peak amount of GGC memory still allocated after garbage collecting increased from 9975k to 9990k, overall 0.15%
Amount of produced GGC garbage increased from 38050k to 38747k, overall 1.83%
Overall memory needed: 19569k -> 24332k
Peak memory use before GGC: 10751k -> 10757k
Peak memory use after GGC: 9975k -> 9990k
Maximum of released memory in single GGC run: 1558k -> 1891k
Garbage: 38050k -> 38747k
Leak: 9884k -> 9892k
Overhead: 5460k -> 5694k
GGC runs: 270 -> 272
comparing combine.c compilation at -O1 level:
Overall memory allocated via mmap and sbrk increased from 29989k to 35296k, overall 17.70%
Amount of produced GGC garbage increased from 52532k to 53953k, overall 2.70%
Overall memory needed: 29989k -> 35296k
Peak memory use before GGC: 17844k -> 17829k
Peak memory use after GGC: 17651k
Maximum of released memory in single GGC run: 1450k -> 1344k
Garbage: 52532k -> 53953k
Leak: 7051k -> 7051k
Overhead: 5910k -> 6222k
GGC runs: 357 -> 362
comparing combine.c compilation at -O2 level:
Overall memory allocated via mmap and sbrk increased from 34341k to 37080k, overall 7.98%
Amount of produced GGC garbage increased from 69075k to 70449k, overall 1.99%
Overall memory needed: 34341k -> 37080k
Peak memory use before GGC: 17874k
Peak memory use after GGC: 17667k
Maximum of released memory in single GGC run: 1392k -> 1366k
Garbage: 69075k -> 70449k
Leak: 7167k -> 7171k
Overhead: 7992k -> 8318k
GGC runs: 414 -> 420
comparing combine.c compilation at -O3 level:
Overall memory allocated via mmap and sbrk increased from 40693k to 43600k, overall 7.14%
Amount of produced GGC garbage increased from 94384k to 96008k, overall 1.72%
Amount of memory still referenced at the end of compilation increased from 7272k to 7279k, overall 0.10%
Overall memory needed: 40693k -> 43600k
Peak memory use before GGC: 18146k
Peak memory use after GGC: 17822k
Maximum of released memory in single GGC run: 3636k
Garbage: 94384k -> 96008k
Leak: 7272k -> 7279k
Overhead: 11263k -> 11660k
GGC runs: 443 -> 449
comparing insn-attrtab.c compilation at -O0 level:
Overall memory allocated via mmap and sbrk increased from 92885k to 140888k, overall 51.68%
Peak amount of GGC memory allocated before garbage collecting increased from 58836k to 59786k, overall 1.61%
Amount of produced GGC garbage increased from 129388k to 132107k, overall 2.10%
Overall memory needed: 92885k -> 140888k
Peak memory use before GGC: 58836k -> 59786k
Peak memory use after GGC: 33331k -> 32792k
Maximum of released memory in single GGC run: 33675k -> 34625k
Garbage: 129388k -> 132107k
Leak: 9612k -> 9582k
Overhead: 13888k -> 14379k
GGC runs: 216 -> 220
comparing insn-attrtab.c compilation at -O0 -g level:
Overall memory allocated via mmap and sbrk increased from 94117k to 142140k, overall 51.02%
Peak amount of GGC memory allocated before garbage collecting increased from 59998k to 60948k, overall 1.58%
Amount of produced GGC garbage increased from 129349k to 132072k, overall 2.10%
Overall memory needed: 94117k -> 142140k
Peak memory use before GGC: 59998k -> 60948k
Peak memory use after GGC: 34492k -> 33953k
Maximum of released memory in single GGC run: 33676k -> 34626k
Garbage: 129349k -> 132072k
Leak: 11544k
Overhead: 14285k -> 14776k
GGC runs: 213 -> 218
comparing insn-attrtab.c compilation at -O1 level:
Overall memory allocated via mmap and sbrk increased from 110189k to 153780k, overall 39.56%
Amount of produced GGC garbage increased from 233014k to 237316k, overall 1.85%
Overall memory needed: 110189k -> 153780k
Peak memory use before GGC: 63393k -> 63440k
Peak memory use after GGC: 60767k -> 60815k
Maximum of released memory in single GGC run: 24882k -> 24426k
Garbage: 233014k -> 237316k
Leak: 9731k -> 9732k
Overhead: 26089k -> 26779k
GGC runs: 244 -> 249
comparing insn-attrtab.c compilation at -O2 level:
Amount of produced GGC garbage increased from 269022k to 271019k, overall 0.74%
Overall memory needed: 169409k -> 167968k
Peak memory use before GGC: 63528k -> 63584k
Peak memory use after GGC: 61065k -> 61114k
Maximum of released memory in single GGC run: 21237k -> 23381k
Garbage: 269022k -> 271019k
Leak: 9724k -> 9725k
Overhead: 31664k -> 32152k
GGC runs: 266 -> 273
comparing insn-attrtab.c compilation at -O3 level:
Amount of produced GGC garbage increased from 300278k to 302287k, overall 0.67%
Overall memory needed: 182245k -> 178480k
Peak memory use before GGC: 75550k -> 75615k
Peak memory use after GGC: 71470k -> 71528k
Maximum of released memory in single GGC run: 21971k -> 25685k
Garbage: 300278k -> 302287k
Leak: 9728k -> 9729k
Overhead: 32921k -> 33409k
GGC runs: 267 -> 276
comparing Gerald's testcase PR8361 compilation at -O0 level:
Overall memory allocated via mmap and sbrk increased from 145895k to 153928k, overall 5.51%
Amount of produced GGC garbage increased from 207126k to 209084k, overall 0.95%
Overall memory needed: 145895k -> 153928k
Peak memory use before GGC: 89180k -> 89181k
Peak memory use after GGC: 88297k -> 88298k
Maximum of released memory in single GGC run: 18129k
Garbage: 207126k -> 209084k
Leak: 51176k -> 51182k
Overhead: 23513k -> 24300k
GGC runs: 409 -> 411
comparing Gerald's testcase PR8361 compilation at -O0 -g level:
Overall memory allocated via mmap and sbrk increased from 163559k to 174140k, overall 6.47%
Amount of produced GGC garbage increased from 212809k to 214778k, overall 0.93%
Overall memory needed: 163559k -> 174140k
Peak memory use before GGC: 101737k -> 101738k
Peak memory use after GGC: 100729k -> 100730k
Maximum of released memory in single GGC run: 18434k
Garbage: 212809k -> 214778k
Leak: 74491k -> 74497k
Overhead: 29409k -> 30197k
GGC runs: 381 -> 383
comparing Gerald's testcase PR8361 compilation at -O1 level:
Overall memory allocated via mmap and sbrk increased from 141608k to 150328k, overall 6.16%
Amount of produced GGC garbage increased from 342093k to 345357k, overall 0.95%
Overall memory needed: 141608k -> 150328k
Peak memory use before GGC: 100515k -> 100526k
Peak memory use after GGC: 99503k -> 99507k
Maximum of released memory in single GGC run: 17480k -> 17478k
Garbage: 342093k -> 345357k
Leak: 51758k -> 51757k
Overhead: 30472k -> 31242k
GGC runs: 527 -> 530
comparing Gerald's testcase PR8361 compilation at -O2 level:
Overall memory allocated via mmap and sbrk increased from 147916k to 157800k, overall 6.68%
Amount of produced GGC garbage increased from 388868k to 391971k, overall 0.80%
Overall memory needed: 147916k -> 157800k
Peak memory use before GGC: 101308k -> 101312k
Peak memory use after GGC: 100304k -> 100302k
Maximum of released memory in single GGC run: 17477k -> 17475k
Garbage: 388868k -> 391971k
Leak: 52844k -> 52844k
Overhead: 35881k -> 36651k
GGC runs: 577 -> 578
comparing Gerald's testcase PR8361 compilation at -O3 level:
Overall memory allocated via mmap and sbrk increased from 149088k to 160096k, overall 7.38%
Amount of produced GGC garbage increased from 421793k to 424714k, overall 0.69%
Overall memory needed: 149088k -> 160096k
Peak memory use before GGC: 102906k -> 102903k
Peak memory use after GGC: 101885k -> 101883k
Maximum of released memory in single GGC run: 17911k -> 17909k
Garbage: 421793k -> 424714k
Leak: 53145k -> 53143k
Overhead: 38426k -> 39165k
GGC runs: 599 -> 604
comparing PR rtl-optimization/28071 testcase compilation at -O0 level:
Overall memory allocated via mmap and sbrk increased from 244569k to 344480k, overall 40.85%
Amount of produced GGC garbage increased from 144428k to 144990k, overall 0.39%
Overall memory needed: 244569k -> 344480k
Peak memory use before GGC: 81018k -> 80312k
Peak memory use after GGC: 58757k -> 58051k
Maximum of released memory in single GGC run: 44133k -> 43619k
Garbage: 144428k -> 144990k
Leak: 7724k -> 7532k
Overhead: 23300k -> 24697k
GGC runs: 79 -> 74
comparing PR rtl-optimization/28071 testcase compilation at -O0 -g level:
Overall memory allocated via mmap and sbrk increased from 245389k to 345272k, overall 40.70%
Amount of produced GGC garbage increased from 144537k to 145095k, overall 0.39%
Overall memory needed: 245389k -> 345272k
Peak memory use before GGC: 81665k -> 80958k
Peak memory use after GGC: 59403k -> 58697k
Maximum of released memory in single GGC run: 44122k -> 43608k
Garbage: 144537k -> 145095k
Leak: 9492k -> 9300k
Overhead: 23796k -> 25193k
GGC runs: 87 -> 83
comparing PR rtl-optimization/28071 testcase compilation at -O1 level:
Overall memory allocated via mmap and sbrk increased from 243741k to 305296k, overall 25.25%
Amount of produced GGC garbage increased from 223287k to 232826k, overall 4.27%
Overall memory needed: 243741k -> 305296k
Peak memory use before GGC: 83516k -> 83378k
Peak memory use after GGC: 74900k
Maximum of released memory in single GGC run: 39417k
Garbage: 223287k -> 232826k
Leak: 20967k -> 20967k
Overhead: 29202k -> 31896k
GGC runs: 81
comparing PR rtl-optimization/28071 testcase compilation at -O2 level:
Overall memory allocated via mmap and sbrk increased from 264001k to 317504k, overall 20.27%
Amount of produced GGC garbage increased from 229973k to 240713k, overall 4.67%
Overall memory needed: 264001k -> 317504k
Peak memory use before GGC: 79886k
Peak memory use after GGC: 74900k
Maximum of released memory in single GGC run: 33022k
Garbage: 229973k -> 240713k
Leak: 21057k -> 21057k
Overhead: 31220k -> 34134k
GGC runs: 91 -> 92
comparing PR rtl-optimization/28071 testcase compilation at -O3 -fno-tree-pre -fno-tree-fre level:
Ovarall memory allocated via mmap and sbrk decreased from 1297677k to 1036836k, overall -25.16%
Amount of produced GGC garbage increased from 363312k to 369016k, overall 1.57%
Overall memory needed: 1297677k -> 1036836k
Peak memory use before GGC: 190659k
Peak memory use after GGC: 178175k
Maximum of released memory in single GGC run: 80667k -> 80835k
Garbage: 363312k -> 369016k
Leak: 46424k -> 46424k
Overhead: 43892k -> 46339k
GGC runs: 72 -> 74
Head of the ChangeLog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2007-05-08 15:38:34.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2007-05-08 21:27:25.000000000 +0000
@@ -1,329 +1,6 @@
-2007-05-08 Simon Martin <simartin@users.sourceforge.net>
-
- PR 31847
- * tree-dump.c (dump_options): Don't use TDF_DIAGNOSTIC in "*-all" tree
- dumps.
-
-2007-05-08 Sandra Loosemore <sandra@codesourcery.com>
- Nigel Stephens <nigel@mips.com>
-
- * config/mips/mips.h (MAX_FPRS_PER_FMT): Renamed from FP_INC.
- Update comments and all uses.
- (MIN_FPRS_PER_FMT): Define.
- * config/mips/mips.c (function_arg): Fix to correctly handle
- the -mips32r2 -mfp64 -mabi=32 case.
- (override_options): Enable use of odd-numbered registers for
- SFmode values on MIPS32.
- (mips_save_reg_p): Save whole floating-point register pair if
- either half is used.
- (compute_frame_size): Fix comment.
-
-2007-05-08 Jie Zhang <jie.zhang@analog.com>
-
- * config/bfin/bfin-protos.h (bfin_expand_epilogue): Add a third
- argument of type bool.
- * config/bfin/bfin.c (add_to_reg): Add epilogue_p as a fourth
- argument. Safely select temporary P register according to it.
- (do_link): Change call site of add_to_reg accordingly.
- (do_unlink): Add epilogue_p as a fourth argument and pass it
- to add_to_reg.
- (expand_interrupt_handler_epilogue): Change call of do_unlink
- accordingly.
- (bfin_expand_prologue): Add a third argument sibcall_p.
- * config/bfin/bfin.md (epilogue): Change call of
- bfin_expand_epilogue accordingly.
- (sibcall_epilogue): Likewise.
- (eh_return_internal): Likewise.
-
- * config/bfin/bfin-protos.h (enum bfin_cpu): Add
- BFIN_CPU_BF534, BFIN_CPU_BF536 and BFIN_CPU_BF561.
- * config/bfin/bfin.c (bfin_handle_option): Handle
- -mcpu=bf534, -mcpu=bf536 and -mcpu=bf561.
- * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS):
- Support bf534, bf536 and bf561.
- * doc/invoke.texi (Blackfin Options): Document -mcpu and -msim.
-
-2007-05-08 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/31854
- * config/i386/i386.c (ix86_function_regparm): Process local
- functions only when TREE_CODE (decl) equals FUNCTION_DECL.
-
-2007-05-07 Mike Stump <mrs@apple.com>
-
- * doc/invoke.texi (Warning Options): Document that -Wempty-body
- also checks for and while statements in C++.
-
-2007-05-07 Nathan Froyd <froydnj@codesourcery.com>
-
- * gcc.c (at_file_supplied): New variable.
- (main): Set it if we expanded argv.
- (do_spec_1): Pass an @-file to the linker if we were called with
- an @-file argument and HAVE_GNU_LD.
- * collect2.c (at_file_supplied): New variable.
- (response_file): New variable.
- (collect_exit): Unlink response_file if necessary.
- (handler): Likewise.
- (do_wait): Likewise.
- (main): Set at_file_supplied if we expanded argv.
- (collect_execute): Pass an @-file to subprocesses if we were called
- with an @-file argument.
- * configure.ac: Add define for HAVE_GNU_LD.
- * configure: Regenerate.
- * config.in: Regenerate.
-
-2007-05-07 Naveen.H.S <naveen.hs@kpitcummins.com>
-
- * config/m32c/muldiv.md (mulhisi3_c): Limit the mode of the 2nd
- operand to HI mode.
- (mulsi3): New.
- (divsi3): New.
- (udivsi3): New.
-
-2007-05-07 Jayant Sonar <jayants@kpitcummins.com>
-
- * config/m32c/m32c.c (SYMBOL_FLAG_FUNCVEC_FUNCTION): Define.
- (TARGET_ENCODE_SECTION_INFO): Re-define.
- (m32c_encode_section_info): New
- (function_vector_handler): New
- (current_function_special_page_vector): New
- (m32c_special_page_vector_p): New.
- * config/m32c/m32c-protos.h (m32c_special_page_vector_p):
- Prototype.
- * config/m32c/jump.md: Added instruction JSRS for functions
- with attribute "function_vector".
- * doc/extend.texi (function_vector): Added description
- for M16C, M32C targets.
-
-2007-05-07 DJ Delorie <dj@redhat.com>
-
- PR 31794
- * config/m32c/shift.md (ashlpsi3_i, ashrpsi3_i, ashlpsi3,
- ashrpsi3, lshrpsi3): Update shift count constraint.
-
-2007-05-07 Danny Smith <dannysmith@users.sourceforge.net>
- Nathan Froyd <froydnj@codesourcery.com>
-
- PR 22133
- * c-incpath.c (add_path): Strip trailing path separators.
-
-2007-05-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-ssa-dom.c (tree_ssa_dominator_optimize): Reset cfg_altered.
- Free dominance info before purging EH edges.
- (eliminate_degenerate_phis): Likewise.
- (propagate_rhs_into_lhs): Set cfg_altered to true instead of 1.
-
-2007-05-07 Jan Hubicka <jh@suse.cz>
-
- * gimplify.c (gimplify_expr): Do not crash when folding
- (void *)(int)&a + 4.
-
-2007-05-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR driver/31694
- * c-opts.c (lang_fortran): Make it non static.
- * c-common.h (lang_fortran): New prototype.
- * c-cppbuiltin.c (c_cpp_builtins): Create a __GFORTRAN__ if the
- -lang-fortran option was passed by the driver.
-
-2007-05-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * timevar.c (timevar_print): Test ENABLE_ASSERT_CHECKING instead
- of ASSERT_CHECKING. Tweak message.
-
-2007-05-06 Revital Eres <eres@il.ibm.com>
-
- PR 30957
- * loop-unroll.c (insert_var_expansion_initialization):
- Initialize the expansions with -zero instead of +zero.
-
-2007-05-05 Aurelien Jarno <aurelien@aurel32.net>
-
- * config/pa/pa.md: Split tgd_load, tld_load and tie_load
- into pic and non-pic versions. Mark r19 as used for
- tgd_load_pic, tld_load_pic and tie_load_pic. Mark r27 as used
- for tgd_load, tld_load and tie_load .
- * config/pa/pa.c (legitimize_tls_address): Emit pic or non-pic
- version of tgd_load, tld_load and tie_load depending on the
- value of flag_pic.
-
-2007-05-04 Ulrich Drepper <drepper@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- * crtstuff.c (HIDDEN_DTOR_LIST_END): New macro.
- (__do_global_dtors_aux): Use more paranoid loop to run
- destructors if HIDDEN_DTOR_LIST_END.
- (__DTOR_END__): Export as a hidden symbol when HIDDEN_DTOR_LIST_END.
-
-2007-05-04 Jakub Jelinek <jakub@redhat.com>
-
- * varasm.c (align_variable): Don't increase alignment for
- DECL_THREAD_LOCAL_P variables above BITS_PER_WORD through
- DATA_ALIGNMENT or CONSTANT_ALIGNMENT.
-
-2007-05-04 Josh Conner <jconner@apple.com>
-
- * basic-block.h (cdi_direction): Assign values to all enumeration
- constants.
- (dom_computed): Remove.
- (dom_info_state): New.
- (set_dom_info_availability): New.
- * tree-ssa-loop-im.c (determine_invariantness): Initialize
- walk_data.dom_direction.
- * cfghooks.c (delete_basic_block): Use dom_info_available_p()
- instead of dom_computed[].
- (split_edge): Likewise.
- (create_basic_block): Likewise.
- (merge_blocks): Likewise.
- * ifcvt.c (find_if_header): Likewise.
- * tree-cfgcleanup.c (cleanup_tree_cfg): Likewise.
- * tree-ssa-dce.c (remove_dead_stmt): Likewise.
- * tree-ssa.c (verify_ssa): Likewise.
- * tree-cfg.c (tree_verify_flow_info): Likewise.
- (remove_edge_and_dominated_blocks): Likewise.
- * dominance.c (dom_computed): Make static.
- (calc_dfs_tree_nonrec): Change third param to a bool.
- (calc_dfs_tree): Change second param to a bool.
- (calc_idioms): Change second param to a bool. Use
- dom_convert_dir_to_idx.
- (init_dom_info): Validate dir before using.
- (dom_convert_dir_to_idx): New.
- (calculate_dominance_info): Use dom_convert_dir_to_idx. New
- variable 'reverse' used for calling calc_dfs_tree and calc_idoms.
- (free_dominance_info): Use dom_convert_dir_to_idx.
- (get_immediate_dominator): Likewise.
- (set_immediate_dominator): Likewise.
- (get_dominated_by): Likewise.
- (redirect_immediate_dominators): Likewise.
- (nearest_common_denominator): Likewise.
- (dominated_by_p): Likewise.
- (bb_dom_dfs_in): Likewise.
- (bb_dom_dfs_out): Likewise.
- (recount_dominator): Likewise.
- (iterate_fix_dominators): Likewise.
- (add_to_dominance_info): Likewise.
- (delete_from_dominance_info): Likewise.
- (first_dom_son): Likewise.
- (next_dom_son): Likewise.
- (dom_info_available_p): Likewise.
- (dom_info_state): New.
- (set_dom_info_availability): New.
-
-2007-05-04 Andreas Krebbel <krebbel1@de.ibm.com>
-
- * config/s390/s390.md ("fix_trunc<mode>di2", "fix_trunc<mode>si2"):
- Expander removed.
- ("fix_trunc<DSF:mode><GPR:mode>2"): Expander added.
-
-2007-05-04 Bob Wilson <bob.wilson@acm.org>
-
- * config/xtensa/xtensa.md (adddi3, adddi_carry): Delete.
- (subdi3, subdi_carry): Delete.
-
-2007-05-04 Jan Hubicka <jh@suse.cz>
- Richard Guenther <rguenther@suse.de>
-
- * opts.c (decode_options): Do not fiddle with inlining
- parameters in case of optimizing for size.
- * ipa-inline.c (cgraph_decide_recursive_inlining): When optimizing
- for size do nothing.
- (cgraph_decide_inlining_of_small_function): When optimizing for
- size never inline functions increasing caller size.
- (cgraph_early_inlining): Inline for size when optimizing for size.
-
-2007-04-18 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * config/bfin/bfin.md (<optab>di3): Now a define_expand which expands
- logical operations piecewise.
- (<optab>di_zesidi_di, <optab>di_sesidi_di, negdi2, one_cmpldi2,
- zero_extendsidi2, subdi_di_zesidi, subdi_zesidi_di, subdi_di_sesidi,
- subdi_sesidi_di): Delete.
- (add_with_carry): Produce carry in CC instead of a DREG to shorten
- the generated sequence. Allow three-reg add in constraints. Rewrite
- the rtl expression for carry to avoid zero_extend of a constant.
- (sub_with_carry): New pattern.
- (adddi3, subdi3): Change into define_expand. For subtract, generate a
- different sequence not involving jumps.
- (notbi): Now a named pattern.
-
-2007-05-04 Bradley Lucier <lucier@math.purdue.edu>
-
- * doc/invoke.texi (i386 and x86-64 Options) [-mpc32, -mpc64, -mpc80]:
- Add the note about a significant loss of accuracy of some
- mathematical routines when these options are used.
-
-2007-05-04 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
-
- * haifa-sched.c (rtx_vec_t): New typedef.
- (contributes_to_priority_p): Extract piece of priority () into new
- static function.
- (priority): Use the function. Add assertion.
- (rank_for_schedule, set_priorities): Add assertion to check that
- insn's priority is initialized.
- (clear_priorities, calc_priorities): Change signature. Make it update
- all relevant insns. Update all callers ('add_to_speculative_block ()'
- and 'create_block_check_twin ()').
- * sched-int.h (struct haifa_insn_data): Remove field 'priority_known'.
- Add new field 'priority_status'.
- (INSN_PRIORITY_STATUS): New macro.
- (INSN_PRIORITY_KNOWN): Change to use INSN_PRIORITY_STATUS.
-
-2007-05-04 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
-
- * sched-ebb.c (debug_ebb_dependencies): New static function.
- (init_ready_list): Use it.
-
- * sched-rgn.c (debug_dependencies): Split into 'debug_dependencies ()'
- with changed signature and 'debug_rgn_dependencies ()'.
- (debug_rgn_dependencies): New static function.
- (init_ready_list): Use it.
-
- * sched-int.h (debug_dependencies): Declare.
-
-2007-05-04 Andreas Krebbel <krebbel1@de.ibm.com>
-
- * libgcc-std.ver (__ffssi2): Added to GCC_4.3.0 section.
-
-2007-05-04 Dirk Mueller <dmueller@suse.de>
-
- * c.opt(Wmain,ffreestanding): Enable for C++,ObjC++.
-
-2007-05-03 Jan Hubicka <jh@suse.cz>
-
- * fold-const.c (fold_unary): Convert (T1)(X op Y) into ((T1)X op (T1)Y),
- for pointer type in more cases than before.
-
- * gimplify.c (gimplify_expr): Fold (void *)&a + 4.
-
- * tree-object-size.c (plus_expr_object_size): When operand size is
- unknown, return unknown.
-
-2007-05-03 Dirk Mueller <dmueller@suse.de>
-
- * doc/invoke.texi (-m386,-m486,-mpentium,-mpentiumpro): Remove.
-
- * config/i386/i386.h (CC1_CPU_SPEC): Remove handling for deprecated
- options.
-
- * config/i386/i386.opt (m386,m486,mpentium,mpentiumpro): Remove.
-
-2007-05-03 Janis Johnson <janis187@us.ibm.com>
-
- * doc/sourcebuild.texi (Test Directives) Clarify dg-excess-errors.
-
-2007-05-03 Joseph Myers <joseph@codesourcery.com>
-
- * config/soft-fp/double.h, config/soft-fp/extended.h,
- config/soft-fp/floatundidf.c, config/soft-fp/floatundisf.c,
- config/soft-fp/floatunsidf.c, config/soft-fp/floatunsisf.c,
- config/soft-fp/op-2.h, config/soft-fp/op-4.h,
- config/soft-fp/op-common.h, config/soft-fp/quad.h: Update from
- glibc CVS.
-
2007-05-03 Ian Lance Taylor <iant@google.com>
- * config/rs6000/rs6000.c (rs6000_override_options): Don't set
+ * config/rs6000/rs6000.c (rs6000_override_options): Don't se
MASK_PPC_GFXOPT for 8540 or 8548.
2007-05-03 Uros Bizjak <ubizjak@gmail.com>
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog.cp 2007-05-08 13:30:21.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/cp/ChangeLog 2007-05-08 21:26:36.000000000 +0000
@@ -1,20 +1,3 @@
-2007-05-07 Mike Stump <mrs@apple.com>
-
- * parser.c (check_empty_body): Add.
- (cp_parser_iteration_statement): Add call to check_empty_body.
-
-2007-05-05 Geoffrey Keating <geoffk@apple.com>
-
- PR 31775
- * mangle.c (write_mangled_name): Mangle static variable names.
- (write_unqualified_name): Use local-source-name for
- namespace-scope static variables.
-
-2007-05-04 Dirk Mueller <dmueller@suse.de>
-
- * cp-tree.h (DECL_MAIN_P): only if -ffreestanding is
- not in effect.
-
2007-05-02 Seongbae Park <seongbae.park@gmail.com>
PR c++/31663
@@ -1104,7 +1087,7 @@
* pt.c: Fix a comment typo.
-2007-01-02 Ian Lance Taylor <iant@google.com>
+2006-01-02 Ian Lance Taylor <iant@google.com>
* semantics.c (maybe_convert_cond): Optionally warn when using an
assignment as a condition.
@@ -1164,3 +1147,7019 @@
canonical reduced type parameter.
(any_template_arguments_need_structural_equality_p): New.
+2006-12-31 Simon Martin <simartin@users.sourceforge.net>
+
+ PR c++/29731
+ * parser.c (cp_parser_primary_expression): Return error_mark_node when
+ a statement-expression is found outside of a function body.
+
+2006-12-28 Kazu Hirata <kazu@codesourcery.com>
+
+ * cp-tree.h (TYPE_NAMESPACE_SCOPE_P, TYPE_FUNCTION_SCOPE_P):
+ Remove.
+
+ * decl2.c: Fix a comment typo.
+
+2006-12-21 Andrew Pinski <pinskia@gmail.com>
+
+ PR C++/30225
+ * decl.c (cxx_builtin_function): Only copy the decl if adding
+ it to the std namespace.
+
+2006-12-21 Andrew Pinski <pinskia@gmail.com>
+
+ PR C++/30168
+ * optimize.c (update_cloned_parm): Copy DECL_GIMPLE_REG_P also.
+
+2006-12-22 Kazu Hirata <kazu@codesourcery.com>
+
+ * decl.c: Fix a coment typo.
+
+2006-12-18 Ian Lance Taylor <iant@google.com>
+
+ * decl.c (start_preparsed_function): Add support for
+ -Wmissing-declarations.
+
+2006-12-16 Simon Martin <simartin@users.sourceforge.net>
+
+ PR c++/29475
+ * cp-tree.h (struct deferred_access_check): New structure to represent a
+ deferred access check. It replaces the previous representation as a tree.
+ (get_deferred_access_checks): Return a vector of struct
+ deferred_access_check instead of a tree list.
+ (perform_access_checks): Take a vector of struct deferred_access_check
+ instead of a tree list.
+ * semantics.c (struct deferred_access): Store the deferred access checks
+ as a vector of struct deferred_access_check instead of a tree list.
+ (push_deferring_access_checks): Handle the change in struct
+ deferred_access.
+ (get_deferred_access_checks): Likewise.
+ (pop_to_parent_deferring_access_checks): Likewise.
+ (perform_or_defer_access_check): Likewise.
+ (perform_access_checks): Take a vector of struct deferred_access_check
+ instead of a tree list.
+ * parser.c (struct tree_check): New structure to store various data
+ associated with a CPP_NESTED_NAME_SPECIFIER or CPP_TEMPLATE_ID token.
+ (struct cp_token): Changed the value field to be a union with a pointer to
+ a struct tree_check for CPP_NESTED_NAME_SPECIFIER or CPP_TEMPLATE_ID
+ tokens and a tree field for all other tokens.
+ (eof_token): Adjusted due to the change in struct cp_token.
+ (cp_lexer_get_preprocessor_token): Likewise.
+ (cp_lexer_purge_token): Likewise.
+ (cp_lexer_purge_tokens_after): Likewise.
+ (cp_lexer_print_token): Likewise.
+ (cp_parser_error): Likewise.
+ (cp_parser_identifier): Likewise.
+ (cp_parser_string_literal): Likewise.
+ (cp_parser_primary_expression): Likewise.
+ (cp_parser_unqualified_id): Likewise.
+ (cp_parser_parenthesized_expression_list): Likewise.
+ (cp_parser_storage_class_specifier_opt): Likewise.
+ (cp_parser_function_specifier_opt): Likewise.
+ (cp_parser_type_specifier): Likewise.
+ (cp_parser_simple_type_specifier): Likewise.
+ (cp_parser_initializer_list): Likewise.
+ (cp_parser_member_specification_opt): Likewise.
+ (cp_parser_attribute_list): Likewise.
+ (cp_parser_objc_expression): Likewise.
+ (cp_parser_objc_protocol_qualifiers): Likewise.
+ (cp_parser_objc_selector): Likewise.
+ (cp_parser_objc_declaration): Likewise.
+ (cp_parser_objc_statement): Likewise.
+ (cp_parser_omp_clause_name): Likewise.
+ (cp_parser_omp_clause_default): Likewise.
+ (cp_parser_omp_clause_schedule): Likewise.
+ (cp_parser_omp_parallel): Likewise.
+ (cp_parser_initial_pragma): Likewise.
+ (pragma_lex): Likewise.
+ (cp_parser_pre_parsed_nested_name_specifier): Likewise.
+ (cp_parser_nested_name_specifier_opt): Likewise.
+ Use cp_token::u::tree_check_value to save the token's value, the
+ associated deferred checks and its qualifying scope.
+ (cp_parser_template_id): Likewise.
+ (cp_parser_template_declaration_after_export): Adjusted the call to
+ get_deferred_access_checks.
+ (cp_parser_init_declarator): Take the access checks as a vector of struct
+ deferred_access_check instead of a tree list.
+ (cp_parser_single_declaration): Likewise.
+ (cp_parser_perform_template_parameter_access_checks): Likewise.
+ (cp_parser_simple_declaration): Adjusted the call to
+ cp_parser_init_declarator.
+ (cp_parser_explicit_specialization): Adjusted the call to
+ cp_parser_single_declaration.
+
+2006-12-13 Ian Lance Taylor <iant@google.com>
+
+ PR c++/19564
+ PR c++/19756
+ * parser.c (cp_parser_expression_stack_entry): Add field
+ lhs_type.
+ (cp_parser_binary_expression): Track tree code of left hand side
+ of expression. Use it when calling build_x_binary_op.
+ (cp_parser_selection_statement): Add if_p parameter. Change all
+ callers. Warn about ambiguous else.
+ (cp_parser_statement): Add if_p parameter. Change all callers.
+ (cp_parser_implicitly_scoped_statement): Likewise.
+ * typeck.c (build_x_binary_op): Add parameters arg1_code and
+ arg2_code. Change all callers. Call warn_about_parentheses.
+ * cp-tree.h (build_x_binary_op): Update declaration.
+
+2006-12-12 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+ * decl.c (build_enumerator): Update error message to match C
+ front-end.
+
+2006-12-11 Jan Hubicka <jh@suse.cz>
+
+ * decl2.c (var_finalized_p): Update for renamed varpool functions.
+
+2006-12-09 Zack Weinberg <zackw@panix.com>
+
+ * parser.c (yydebug, enum pragma_omp_clause): Delete.
+
+2006-12-07 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/29732
+ * cp-tree.h (DECL_USE_TEMPLATE): Mention partial specializations.
+ (explicit_class_specialization_p): Declare.
+ * pt.c (explicit_class_specialization_p): New function.
+ * parser.c (cp_parser_init_declarator): Check correct number of
+ template parameters for in-class function definitions.
+ (cp_parser_check_declrator_template_parameters): Stop looking for
+ template classes when we find an explicit specialization.
+
+2006-12-07 Lee Millward <lee.millward@codesourcery.com>
+
+ PR c++/29980
+ * cp_parser_elaborated_type_specifier: Check
+ the return value of check_elaborated_type_specifier.
+
+2006-12-06 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/29730
+ * parser.c (cp_parser_init_declarator): Reject initialization of
+ functions.
+
+2006-12-05 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/29729
+ * decl2.c (check_member_template): Move check for member
+ templates in local classes to ...
+ * parser.c (cp_parser_template_declaration_after_export):
+ ... here.
+
+ PR c++/29728
+ * decl.c (check_array_designated_initializer): New function.
+ (maybe_deduce_size_from_array_init): Use it.
+ (reshape_init_array): Likewise.
+
+2006-12-05 Aldy Hernandez <aldyh@redhat.com>
+
+ Merge from gimple-tuples-branch.
+
+ 2006-10-05 Aldy Hernandez <aldyh@redhat.com>
+
+ * cp-gimplify.c (cp_gimplify_expr): Adjust for GIMPLE_MODIFY_STMT.
+ (cxx_omp_clause_apply_fn): Adjust for GIMPLE_MODIFY_STMT.
+ (cxx_omp_clause_copy_ctor): Same.
+ (cxx_omp_clause_assign_op): Same.
+
+ 2006-09-28 Aldy Hernandez <aldyh@redhat.com>
+
+ * cp-tree.h (union lang_tree_node): Gimple statements do not
+ have a TREE_CHAIN.
+ (TREE_INDIRECT_USING): Look in base.
+
+2006-12-04 Jan Hubicka <jh@suse.cz>
+
+ * cp-objcp-common.c (cp_expr_size): Return NULL in the case
+ size is undefined.
+
+2006-12-04 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/29733
+ * pt.c (tsubst_decl): Disallow variables of function type.
+
+ PR c++/29632
+ * call.c (add_builtin_candidate): Do not permit NULL pointer
+ constants to be compared with template parameters.
+
+2006-12-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * pt.c (for_each_template_parm_r) <INTEGER_TYPE>: New case.
+ Call for_each_template_parm on TYPE_MIN_VALUE and TYPE_MAX_VALUE.
+
+2006-12-03 Richard Henderson <rth@redhat.com>
+ Andrew Pinski <pinskia@gmail.com>
+
+ PR C++/14329
+ * error.c (cp_printer) <'D'>: Handle DECL_DEBUG_EXPR.
+
+2006-12-02 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR C++/30033
+ * decl.c (cp_tree_node_structure): Handle STATIC_ASSERT.
+
+2006-12-02 Kazu Hirata <kazu@codesourcery.com>
+
+ * name-lookup.c: Follow spelling conventions.
+
+2006-12-01 Geoffrey Keating <geoffk@apple.com>
+
+ * decl.c (poplevel): Check DECL_INITIAL invariant.
+ (duplicate_decls): Preserve DECL_INITIAL when eliminating
+ a new definition in favour of an old declaration.
+ (start_preparsed_function): Define and document value of
+ DECL_INITIAL before and after routine.
+ (finish_function): Check DECL_INITIAL invariant.
+ * parser.c
+ (cp_parser_function_definition_from_specifiers_and_declarator):
+ Skip duplicate function definitions.
+
+2006-12-01 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/30022
+ * typeck.c (type_after_usual_arithmetic_conversions):
+ Fix assertion for vector types.
+ (build_binary_op): Use temporary for inner type of vector types.
+
+2006-12-01 Ryan Mansfield <rmansfield@qnx.com>
+
+ PR c++/29066
+ * typeck.c (build_binary_op): Fix pointer to member function
+ comparison for ptrmemfunc_vbit_in_delta targets.
+
+2006-12-01 Dirk Mueller <dmueller@suse.de>
+
+ PR c++/18313
+ * decl.c (grokdeclarator): Warn for type qualifiers on return
+ type for non-dependent types.
+ * pt.c (tsubst_function_type): Warn for type qualifiers on
+ return type for dependent types.
+
+2006-11-30 Geoffrey Keating <geoffk@apple.com>
+
+ * rtti.c (get_tinfo_decl): Handle return value from
+ pushdecl_top_level_and_finish.
+
+2006-11-29 Lee Millward <lee.millward@codesourcery.com>
+
+ PR c++/29022
+ * parser.c (cp_parser_class_head): Move processing
+ of any base classes to...
+ (cp_parser_class_specifier) ...here. Take an extra
+ tree* parameter for any base classes. Only process
+ them if the opening brace was found.
+
+2006-11-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/29735
+ * decl.c (grokfndecl): Check main's type after applying
+ attributes, not before.
+
+2006-11-27 Mark Mitchell <mark@codesourcery.com>
+
+ * class.c (build_vcall_offset_vtbl_entries): Do not add vcall
+ entries for a primary construction virtual table.
+
+2006-11-26 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/29886
+ * parser.c (cp_parser): Add in_function_body.
+ (cp_parser_new): Initialize it.
+ (cp_parser_primary_expression): Use parser->in_function_body
+ instead of at_function_scope_p.
+ (cp_parser_asm_definition): Likewise.
+ (cp_parser_direct_declarator): Likewise.
+ (cp_parser_class_specifier): Clear parser->in_function_body.
+ (cp_parser_constructor_declarator_p): Use parser->in_function_body
+ instead of at_function_scope_p.
+ (cp_parser_function_body_after_declarator): Set
+ parser->in_function_body.
+
+2006-11-21 Douglas Gregor <doug.gregor@gmail.com>
+
+ * cp-tree.def (STATIC_ASSERT): New.
+ * cp-objcp-common.c (cp_tree_size): Handle STATIC_ASSERT.
+ * error.c (dump_decl): Handle STATIC_ASSERT.
+ * cp-tree.h (STATIC_ASSERT_CONDITION): New.
+ (STATIC_ASSERT_MESSAGE): New.
+ (STATIC_ASSERT_SOURCE_LOCATION): New.
+ (struct tree_static_assert): New.
+ (enum cp_tree_node_structure_enum): Add TS_CP_STATIC_ASSERT.
+ (union lang_tree_node): Add static_assertion.
+ (finish_static_assert): Declare.
+ * cxx-pretty-print.c (pp_cxx_statement): Handle STATIC_ASSERT.
+ (pp_cxx_declaration): Handle STATIC_ASSERT.
+ * pt.c (instantiate_class_template): Handle
+ STATIC_ASSERT members.
+ (tsubst_expr): Handle STATIC_ASSERT statements.
+ * semantics.c (finish_static_assert): New.
+ * lex.c (D_CPP0X): New.
+ (reswords): Add static_assert keyword.
+ (init_reswords): If not flag_cpp0x, mask out C++0x keywords.
+ * parser.c (cp_parser_block_declaration): Parse static
+ assertions.
+ (cp_parser_static_assert): New.
+ (cp_parser_member_declaration): Parse static assertions.
+
+2006-11-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/29570
+ * decl.c (cp_finish_decl): Check for value dependent brace enclosed
+ scalar initializer.
+
+ PR c++/29734
+ * cp-tree.h (WANT_VECTOR): Define.
+ (WANT_ARITH): Add WANT_VECTOR.
+ * cvt.c (build_expr_type_conversion): Handle vector types.
+ * typeck.c (build_unary_op): Add WANT_VECTOR to
+ build_expr_type_conversion flags.
+
+2006-11-20 Simon Martin <simartin@users.sourceforge.net>
+
+ PR c++/29475
+ * cp-tree.h (enforce_access, perform_or_defer_access_check): Added an
+ extra argument that represents the declaration to use to print
+ potential error messages.
+ * init.c (build_offset_ref): Adjusted the call to
+ perform_or_defer_access_check.
+ * class.c (alter_access, resolve_address_of_overloaded_function):
+ Likewise.
+ * decl.c (make_typename_type, make_unbound_class_template): Likewise.
+ * search.c (lookup_member): Likewise.
+ * friend.c (add_friend): Likewise.
+ * parser.c (cp_parser_template_id,
+ cp_parser_pre_parsed_nested_name_specifier): Likewise.
+ * semantics.c (finish_non_static_data_member,
+ check_accessibility_of_qualified_id, finish_id_expression): Likewise.
+ (pop_to_parent_deferring_access_checks, perform_access_checks,
+ perform_or_defer_access_check): Adjusted the call to enforce_access.
+ * call.c (enforce_access): Use the new extra argument to build the
+ error message.
+ (build_op_delete_call): Adjusted the call to
+ perform_or_defer_access_check.
+ (build_over_call): Likewise.
+
+2006-11-16 Dirk Mueller <dmueller@suse.de>
+
+ * name-lookup.c (begin_scope): Use GGC_CNEW instead of
+ GGC_NEW and memset.
+
+2006-11-13 Roger Sayle <roger@eyesopen.com>
+
+ * rtti.c (get_pseudo_ti_init): Ensure that the offset field of the
+ base type info initializer has the correct type.
+
+2006-11-13 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/29518
+ * pt.c (coerce_template_parms): Do not skip_evaluation while
+ substituting template arguments.
+
+2006-11-11 Richard Guenther <rguenther@suse.de>
+
+ * typeck.c (build_unary_op): Remove handling of FIX_CEIL_EXPR,
+ FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
+
+2006-11-03 Roger Sayle <roger@eyesopen.com>
+
+ * call.c (build_op_delete_call): Test user-visible type against
+ size_type_node, instead of against the internal type, sizetype.
+ * class.c (type_requires_array_cookie): Likewise.
+ * mangle.c (write_builtin_type) <INTEGER_TYPE>: Remove special
+ handling of TYPE_IS_SIZETYPE.
+ * typeck.c (type_after_usual_arithmetic_conversions): Remove
+ special case handling of TYPE_IS_SIZETYPE.
+ (comptypes): Likewise.
+
+2006-11-01 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * decl.c (get_atexit_node): Reference atexit, not __cxa_exit.
+ if targetm.cxx.use_atexit_for cxa_atexit.
+ (start_cleanup_fn): Likewise.
+ (register_dtor_fn): Likewise.
+
+2006-09-25 Geoffrey Keating <geoffk@apple.com>
+
+ * decl2.c (cp_write_global_declarations): Rename from
+ cp_finish_file.
+ * cp-lang.c (finish_file): Don't call cp_finish_file.
+ * cp-tree.h (cp_write_global_declarations): Rename from
+ cp_finish_file.
+ * cp-objcp-common.h (LANG_HOOKS_WRITE_GLOBALS): Define to
+ cp_write_global_declarations.
+
+2006-10-31 Geoffrey Keating <geoffk@apple.com>
+
+ * name-lookup.c (get_anonymous_namespace_name): New.
+ (push_namespace_with_attribs): Use get_anonymous_namespace_name.
+ * decl2.c (start_objects): Update for rename of
+ get_file_function_name_long.
+
+2006-10-30 Dirk Mueller <dmueller@suse.de>
+
+ PR c++/28704
+ * decl.c (grokdeclarator): Duplicate diagnostic message
+ for easier translation.
+ * decl.c (grokdeclarator): Fix line-wrapping.
+
+2006-10-30 Dirk Mueller <dmueller@suse.de>
+
+ PR c++/6321
+ * decl.c (grokfndecl): Use check_main_parameter_types.
+
+2006-10-30 Dirk Mueller <dmueller@suse.de>
+
+ PR c++/28669
+ * decl.c (grokfndecl): Duplicate warning message for
+ easier translation.
+
+2006-10-30 Dirk Mueller <dmueller@suse.de>
+
+ * typeck.c (build_unary_op): Fix indenting. Use G_().
+
+2006-10-29 Dirk Mueller <dmueller@suse.de>
+
+ PR c++/29089
+ * typeck.c (build_unary_op): Duplicate warning message
+ for easier translation.
+
+2006-10-29 Dirk Mueller <dmueller@suse.de>
+
+ PR c++/16307
+ * typeck.c (build_array_ref): Warn for char subscriptions
+ on pointers.
+
+2006-10-29 Kazu Hirata <kazu@codesourcery.com>
+
+ * decl.c: Fix a comment typo.
+
+2006-10-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR C++/29295
+ * typeck.c (build_unary_op): Use same_type_p when comparing to
+ boolean type.
+
+2006-10-29 Dirk Mueller <dmueller@suse.de>
+
+ PR c++/29033
+ * typeck.c (build_binary_op): Duplicate warning message
+ for better translation.
+
+2006-10-23 Rafael Avila de Espindola <rafael.espindola@gmail.com>
+
+ * decl.c (builtin_function_1): Move common code to
+ add_builtin_function.
+ (builtin_function): Rename to cxx_builtin_function.
+ Change the signature.
+ * call.c: Include langhooks.h.
+ (build_java_interface_fn_ref): Replace calls to
+ builtin_function with add_builtin_function.
+ * Make-lang.in (cp/call.o): Depend on langhooks.h.
+ * cp-objcp-common.h (LANG_HOOKS_BUILTIN_FUNCTION): Define as
+ cxx_builtin_function.
+ * cp-tree.h (builtin_function): Rename to cxx_builtin_function.
+ Change the signature.
+
+2006-10-22 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/20647
+ * rtti.c (tinfo_base_init): The type info string is always global.
+
+2006-10-20 Lee Millward <lee.millward@codesourcery.com>
+ Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/28053
+ * decl2.c (grokbitfield): Detect invalid non-integral
+ types earlier when possible.
+
+2006-10-18 Mark Shinwell <shinwell@codesourcery.com>
+
+ PR c++/26884
+ * typeck2.c (digest_init): Raise error upon attempts to
+ initialize arrays with variables.
+
+2006-10-17 Lee Millward <lee.millward@codesourcery.com>
+
+ PR c++/27952
+ * cp-tree.h (xref_basetypes): Return bool instead of void.
+ * decl.c (xref_basetypes): Adjust definition. Return false
+ if the class bases are invalid.
+ * parser.c (cp_parser_class_head): Check the return value
+ from xref_basetypes.
+
+2006-10-17 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/28261
+ * parser.c (cp_lexer_next_token_is_decl_specifier_keyword): Add
+ comment.
+
+ PR c++/28261
+ * parser.c (cp_lexer_next_token_is_decl_specifier_keyword): New
+ function.
+ (cp_parser_constructor_declarator_p): Use it.
+ (cp_parser_check_type_definition): Return a value indicating
+ whether or not the definition is valid.
+ (cp_parser_enum_specifier): Skip invalid enum definitions.
+
+2006-10-17 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/29039
+ * typeck2.c (build_functional_cast): Don't zero-initialize
+ non-PODs; instead, call their constructors.
+ * method.c (synthesize_method): Always build mem-initializers, if
+ we're synthesizing the default constructor.
+
+2006-10-17 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/27270
+ * decl.c (reshape_init_class): Move check for designated
+ to ...
+ * parser.c (cp_parser_initializer_list): ... here.
+ * pt.c (tsubst_copy_and_build): Use finish_compound_literal.
+
+2006-10-16 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/27270
+ * typeck2.c (process_init_constructor_array): Reword comment.
+ * pt.c (tsubst_copy_and_built): Call reshape_init before calling
+ digest_init.
+
+ PR c++/29408
+ * parser.c (cp_parser_using_declaration): Stop parsing when
+ something goes wrong with an access declaration.
+
+ PR c++/29435
+ * typeck.c (cxx_sizeof_or_alignof_type): Complete non-dependent
+ types when their sizes are required. Refine test for VLAs.
+
+ PR c++/28211
+ * parser.c (cp_parser_template_argument): Don't consider "&var" a
+ possible constant-expression.
+ * pt.c (convert_nontype_argument): Refine handling of arguments of
+ pointer type.
+
+2006-10-13 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/28506
+ * parser.c (function_declarator_p): New function.
+ (cp_parser_init_declarator): Use it.
+ (cp_parser_member_declaration): Likewise.
+
+2006-10-12 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/29318
+ * rtti.c (get_tinfo_decl): Refuse to create type info objects for
+ variably modified types.
+
+2006-10-12 Lee Millward <lee.millward@codesourcery.com>
+
+ PR c++/27961
+ * decl.c (start_decl): Return error_mark_node if a
+ function is initialized like a variable.
+ (check_var_type): If a variable of field is declared void,
+ set the type to error_mark_node.
+ (grokdeclarator): Check the return type of check_var_type.
+ * class.c (finish_struct_1): Robustify.
+
+2006-10-11 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/29175
+ * decl.c (check_initializer): Issue errors about trying to
+ initialize arrays whose elements have variable size.
+
+2006-10-11 Lee Millward <lee.millward@codesourcery.com>
+
+ PR c++/29024
+ * cp-tree (struct cp_decl_specifier_seq): Rename to
+ conflicting_specifiers_p
+ * parser.c (cp_parser_set_storage_class): Set
+ conflicting_specifiers_p for the input decl specifier
+ if a typedef specifier is present. Rename uses of
+ multiple_specifiers_p to conflicting_specifiers_p.
+ (cp_parser_decl_specifier_seq) <RID_TYPEDEF>: If a storage
+ class specifier has already been set for this declaration,
+ set conflicting_specifiers_p to true on the decl_specs.
+ * decl.c (grokdeclarator): Rename uses of
+ multiple_specifiers_p to conflicting_specifiers_p.
+
+2006-10-10 Brooks Moses <bmoses@stanford.edu>
+
+ * Make-lang.in: Added "c++.pdf" target support.
+
+2006-10-10 Richard Guenther <rguenther@suse.de>
+
+ PR rtl-optimization/29323
+ * decl.c (finish_function): Set TREE_NOTHROW only for
+ functions that bind local.
+
+2006-10-09 Richard Henderson <rth@redhat.com>
+
+ Revert emutls patch.
+
+2006-10-04 Richard Henderson <rth@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * decl.c (grokvardecl): Don't error if !have_tls.
+ (grokdeclarator): Likewise.
+ * parser.c (cp_parser_omp_threadprivate): Likewise.
+
+2006-10-03 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/29020
+ * friend.c (do_friend): Improve comments; add assertion.
+ * parser.c (cp_parser_nested_name_specifier_opt): Resolve
+ typenames for qualified names used in declarations, even when
+ caching qualified name lookup.
+
+ PR c++/29138
+ * decl2.c (grokfield): Don't handle access declarations here.
+ * parser.c (cp_parser_using_declaration): Handle access
+ declarations too.
+ (cp_parser_block_declaration): Adjust calls to
The results can be reproduced by building a compiler with
--enable-gather-detailed-mem-stats targetting x86-64
and compiling preprocessed combine.c or testcase from PR8632 with:
-fmem-report --param=ggc-min-heapsize=1024 --param=ggc-min-expand=1 -Ox -Q
The memory consumption summary appears in the dump after detailed listing
of the places they are allocated in. Peak memory consumption is actually
computed by looking for maximal value in {GC XXXX -> YYYY} report.
Your testing script.
More information about the Gcc-regression
mailing list