Commit Graph

97077 Commits

Author SHA1 Message Date
Joel Brobecker
678ff8235a * zlib.m4: New file.
From-SVN: r154521
2009-11-24 22:40:46 +00:00
Jason Merrill
108e24453b re PR c++/42137 (error: expected constructor, destructor, or type conversion before ‘{’ token)
PR c++/42137
	* parser.c (cp_parser_mem_initializer_id): Pass typename_type to
	cp_parser_class_name.
	(cp_parser_unqualified_id): Same, rather than class_type.

	PR c++/11764
	* parser.c (cp_parser_expression_statement): Give helpful error
	for constructor name used as type.

From-SVN: r154519
2009-11-24 15:55:24 -05:00
Jason Merrill
3474a3b72b pt.c (determine_specialization): Give helpful error about missing "template<>".
* pt.c (determine_specialization): Give helpful error about missing
	"template<>".

From-SVN: r154518
2009-11-24 15:55:17 -05:00
Eric Botcazou
032d1b710a sem_util.adb (Set_Debug_Info_Needed): For an E_Class_Wide_Subtype, also set the flag on the Equivalent_Type.
* sem_util.adb (Set_Debug_Info_Needed): For an E_Class_Wide_Subtype,
	also set the flag on the Equivalent_Type.
	* gcc-interface/utils.c (finish_record_type): Replace DO_NOT_FINALIZE
	parameter with DEBUG_INFO_P.  Rename FIELDLIST into FIELD_LIST.
	(rest_of_record_type_compilation): Rename FIELDLIST into FIELD_LIST.
	(build_vms_descriptor32): Adjust call to finish_record_type.
	(build_vms_descriptor): Likewise.
	(build_unc_object_type): Likewise.
	* decl.c (gnat_to_gnu_entity): Adjust calls to finish_record_type and
	components_to_record.
	(make_packable_type): Adjust call to finish_record_type.
	(maybe_pad_type): Likewise.  Tweak condition.
	(components_to_record): Likewise.  Replace DO_NOT_FINALIZE parameter
	with MAYBE_UNUSED.  Adjust recursive call.
	(create_variant_part_from): Adjust call to finish_record_type.  Do not
	call rest_of_record_type_compilation on the new record types.
	* trans.c (gigi): Adjust call to finish_record_type.
	* gigi.h (finish_record_type): Adjust prototype and comment.
	(rest_of_record_type_compilation): Adjust comment.

From-SVN: r154515
2009-11-24 20:25:58 +00:00
Eric Botcazou
cbae498bb2 exp_util.adb (Make_CW_Equivalent_Type): Do not mark the type as frozen for targets that do not require front-end layout.
* exp_util.adb (Make_CW_Equivalent_Type): Do not mark the type as
	frozen for targets that do not require front-end layout.
	(New_Class_Wide_Subtype): Always reset the freezing status to False.
	* exp_ch8.adb: Do not 'with' Targparm.
	(Expand_N_Object_Renaming_Declaration): Always freeze a class-wide
	subtype that has been built from the expression.
	* exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
	class wide, freeze the implicit type that has been built from the
	expression at the dereference point.
	* freeze.adb (Freeze_Entity): Adjust comment.
	* gcc-interface/decl.c (Gigi_Equivalent_Type) <E_Class_Wide_Type>:
	Remove useless test.
	* gcc-interface/trans.c (process_freeze_entity): Do not special-case
	class-wide subtypes.

	* s-osinte-aix.adb (clock_gettime): Fix comment.
	* s-osinte-darwin.adb (clock_gettime): Likewise.

From-SVN: r154514
2009-11-24 20:02:40 +00:00
Janis Johnson
828514e401 altivec-32.c: Don't use -m64.
* gcc.target/powerpc/altivec-32.c: Don't use -m64.
	* gcc.target/powerpc/const-compare.c: Require lp64, don't use -m64.
	* gcc.target/powerpc/darwin-bool-1.c: Require ilp32, remove dg-skip-if.
	* gcc.target/powerpc/paired-1.c: Require ilp32, don't use -m32.
	* gcc.target/powerpc/paired-2.c: Ditto.
	* gcc.target/powerpc/paired-3.c: Ditto.
	* gcc.target/powerpc/paired-4.c: Ditto.
	* gcc.target/powerpc/paired-5.c: Ditto.
	* gcc.target/powerpc/paired-6.c: Ditto.
	* gcc.target/powerpc/paired-7.c: Ditto.
	* gcc.target/powerpc/paired-8.c: Ditto.
	* gcc.target/powerpc/paired-9.c: Ditto.
	* gcc.target/powerpc/paired-10.c: Ditto.
	* gcc.target/powerpc/popcount-2.c: Don't use -m32.
	* gcc.target/powerpc/popcount-3.c: Don't use -m64.
	* gcc.target/powerpc/ppc-paired.c: Require ilp32, don't use -m32.
	* gcc.target/powerpc/pr39457.c: Don't use -m64.
	* gcc.target/powerpc/vsx-vector-1.c: Ditto.
	* gcc.target/powerpc/vsx-vector-2.c: Ditto.
	* gcc.target/powerpc/vsx-vector-3.c: Ditto.
	* gcc.target/powerpc/vsx-vector-4.c: Ditto.

From-SVN: r154512
2009-11-24 19:09:26 +00:00
Paolo Carlini
038dc49aff [multiple changes]
2009-11-24  Michael Matz  <matz@suse.de>

	* expr.c (set_storage_via_libcall): Fix build_call_expr call.

2009-11-24  David Binderman  <dcb314@hotmail.com>

	* expr.c (store_field): Remove set but not used local variable
	width_mask.
	(expand_expr_real_2): Remove treeop2.
	* gcse.c (update_ld_motion_stores): Remove new_rtx.
	* haifa-sched.c (max_issue): Remove points.
	(sched_create_recovery_edges): Remove e.
	* ira-costs.c (setup_allocno_cover_class_and_costs): Remove mode.

From-SVN: r154505
2009-11-24 16:53:17 +00:00
Nick Clifton
356aaf8b70 v850.c (function_arg): Fix handling of zero-length function arguments.
* config/v850/v850.c (function_arg): Fix handling of zero-length
        function arguments.

From-SVN: r154503
2009-11-24 15:38:39 +00:00
Michael Matz
a5883ba0de tree.h (union tree_ann_d): Don't declare.
* tree.h (union tree_ann_d): Don't declare.
	(tree_base): Remove ann field.
	(struct var_ann_d): Declare forward.
	(tree_result_decl, tree_parm_decl, tree_var_decl): Add ann field.
	(DECL_VAR_ANN_PTR): New macro.
	* tree-dfa.c (create_var_ann): Rewrite in terms of above macro,
	accept only VAR, PARM or RESULT decls.
	(create_tree_common_ann): Remove.
	(remove_referenced_var): Use DECL_VAR_ANN_PTR.
	* tree-eh.c (lookup_expr_eh_lp): Remove.
	* tree-flow-inline.h (var_ann, get_var_ann): Rewrite in terms of
	DECL_VAR_ANN_PTR.
	(ann_type, tree_common_ann, get_tree_common_ann): Remove.
	* tree-flow.h (enum tree_ann_type): Remove.
	(struct tree_ann_common_d): Remove.
	(struct var_ann_d): Remove common field.
	(union tree_ann_d): Remove.
	(tree_ann_t, tree_ann_common_t): Remove typedefs.
	(tree_common_ann, get_tree_common_ann, ann_type,
	create_tree_common_ann, lookup_expr_eh_lp): Don't declare.
	* tree-ssa.c (delete_tree_ssa): Use DECL_VAR_ANN_PTR.
	* tree.c (copy_node_stat): Use DECL_VAR_ANN_PTR.
	* builtins.c (expand_builtin_memcpy): Use
	currently_expanding_gimple_stmt instead of tree annotation.
	(expand_builtin_memset_args): Ditto.
	* cfgexpand.c (currently_expanding_gimple_stmt): Add global variable.
	(expand_call_stmt): Don't set tree annotation.
	(expand_gimple_basic_block): Set currently_expanding_gimple_stmt.
	* expr.c (expand_expr_real): Don't call lookup_expr_eh_lp.
	* gimple.h (currently_expanding_gimple_stmt): Declare.

From-SVN: r154502
2009-11-24 15:37:32 +00:00
Paolo Carlini
6e0b03f585 dwarf2out.c (add_location_or_const_value_attribute): Remove useless NOTE_VAR_LOCATION_STATUS call.
2009-11-24  Paolo Carlini  <paolo.carlini@oracle.com>

	* dwarf2out.c (add_location_or_const_value_attribute): Remove
	useless NOTE_VAR_LOCATION_STATUS call.
	* cfgrtl.c (commit_one_edge_insertion): Remove useless loop, tidy.

From-SVN: r154501
2009-11-24 15:30:01 +00:00
Rafael Avila de Espindola
8aea79e6c9 lto-wrapper.c (lto_wrapper_exit): Don't try to delete files if being called recursively.
2009-11-24  Rafael Avila de Espindola  <espindola@google.com>

       * lto-wrapper.c (lto_wrapper_exit): Don't try to delete files if
       being called recursively.

From-SVN: r154500
2009-11-24 15:00:15 +00:00
Basile Starynkevitch
338877519d Makefile.in (PLUGIN_HEADERS): Added files...
2009-11-24  Basile Starynkevitch  <basile@starynkevitch.net>

        * gcc/Makefile.in (PLUGIN_HEADERS): Added files: cppdefault.h flags.h
	$(MD5_H) params.def params.h prefix.h tree-inline.h.

--This lifilne, and those below, will be ignored--

M    gcc/ChangeLog
M    gcc/Makefile.in

From-SVN: r154499
2009-11-24 14:43:23 +00:00
Paul Brook
3ed04dbd6f arm.c (arm_compute_save_reg0_reg12_mask): Fix comment typo.
2009-11-24  Paul Brook  <paul@codesourcery.com>

	gcc/
	* gcc/config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Fix comment
	typo.

From-SVN: r154498
2009-11-24 14:04:50 +00:00
Julian Brown
854b8a4057 arm.c (TARGET_DWARF_REGISTER_SPAN): Define.
gcc/
	* config/arm/arm.c (TARGET_DWARF_REGISTER_SPAN): Define.
	(arm_dwarf_register_span): New function.
	(arm_dbx_register_number): Add VFPv3 dwarf numbering.


Co-Authored-By: Paul Brook <paul@codesourcery.com>

From-SVN: r154497
2009-11-24 13:35:26 +00:00
David Binderman
2d8882865f cfgrtl.c (commit_one_edge_insertion): Remove set but not used local variable bb_note.
2009-11-24  David Binderman <dcb314@hotmail.com>

	* cfgrtl.c (commit_one_edge_insertion): Remove set but not used
	local variable bb_note.
        * dominance.c (get_dominated_by): Likewise local var n.
        (output_file_names): Likewise local var idx.
        (add_location_or_const_value_attribute): Likewise local var status.
        * dwarf2out.c (gen_variable_die): Likewise local var field.
        * emit-rtl.c (no_line_numbers): Remove.
	(init_emit_once): Remove line_numbers parameter.
        * rtl.h (init_emit_once): Adjust prototype.
        * toplev.c (backend_init): Adjust init_emit_once call.

From-SVN: r154496
2009-11-24 12:59:00 +00:00
Ulrich Weigand
44018bc325 anonname1.C: Escape backslash in scan-assembler-not regular expression.
* g++.dg/debug/dwarf2/anonname1.C: Escape backslash in
	scan-assembler-not regular expression.

From-SVN: r154495
2009-11-24 12:55:53 +00:00
Richard Guenther
1415abc0e7 re PR tree-optimization/42142 (DCE miscompiles a certain quicksort implementation when optimizing with -O1 or higher)
2009-11-24  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/42142
	* tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1):
	Handle iv-dependent (non-)kills properly.
	(mark_aliased_reaching_defs_necessary): Pass the basic-block
	of the reference statement to mark_aliased_reaching_defs_necessary_1.

	* gcc.c-torture/execute/pr42142.c: New testcase.

From-SVN: r154494
2009-11-24 11:57:26 +00:00
Martin Jambor
09f0dc451d re PR tree-optimization/42154 (Wrong code from (early) SRA)
2009-11-24  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/42154
	* tree-sra.c (struct access): Added comments.
	(sra_modify_expr): Build references to the old aggregate with
	build_ref_for_offset instead of reusing access->expr.
	(load_assign_lhs_subreplacements): Likewise.

	* testsuite/gcc.c-torture/execute/pr42154.c: New test.

From-SVN: r154493
2009-11-24 11:56:14 +01:00
Janus Weil
6c03662614 re PR fortran/42045 ([F03] passing a procedure pointer component to a procedure pointer dummy)
2009-11-24  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/42045
	* resolve.c (resolve_actual_arglist): Make sure procedure pointer
	actual arguments are resolved correctly.
	(resolve_function): An EXPR_FUNCTION which is a procedure pointer
	component, has already been resolved.
	(resolve_fl_derived): Procedure pointer components should not be
	implicitly typed.

2009-11-24  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/42045
	* gfortran.dg/proc_ptr_comp_2.f90: Correct invalid test case.
	* gfortran.dg/proc_ptr_comp_3.f90: Extended test case.
	* gfortran.dg/proc_ptr_comp_24.f90: New.

From-SVN: r154492
2009-11-24 09:16:32 +01:00
Andy Hutchinson
aa62c18876 * gcc.c-torture/execute/pr40404.c: Use long for bitfield on 16bit int targets.
From-SVN: r154487
2009-11-24 01:22:52 +00:00
GCC Administrator
a67a5c0297 Daily bump.
From-SVN: r154485
2009-11-24 00:16:49 +00:00
Andy Hutchinson
939aa29f00 * gcc-dg/Wtype-limits.c: Add line to correct line numbers.
From-SVN: r154482
2009-11-23 23:46:19 +00:00
Uros Bizjak
c84f404273 i386.md (add<mode>3_carry): Change insn pattern to expander.
* config/i386/i386.md (add<mode>3_carry): Change insn pattern
        to expander.
        (sub<mode>3_carry): Ditto.
        (x86_mov<mode>cc_0_m1): Ditto.
        (*add<mode>3_carry): New insn pattern. Use VOIDmode match_operator
        for ix86_carry_flag_operator operator predicate.
        (*sub<mode>3_carry): Ditto.
        (*x86_mov<mode>cc_0_m1): Ditto.
        (*addsi3_carry_zext): Use VOIDmode match_operator for
        ix86_carry_flag_operator operator predicate.
        (*subsi3_carry_zext): Ditto.
        (*x86_mov<mode>cc_0_m1_s): Ditto.
        (*x86_mov<mode>cc_0_m1_neg): Ditto.
        * config/i386/predocates.md (ix86_carry_flag_operator): Do not
        check operator sub-expressions for FLAGS_REG and const0_rtx.
        * config/i386/i386.c (*ix86_gen_sub3_carry): Update prototype.
        (ix86_expand_int_movcc): Update calls to gen_x86_mov{si,di}cc_0_m1.
        (ix86_expand_int_addcc): Update calls to
        gen_{add,sub}{qi,hi,si,di}3_carry.  Do not set mode of compare_op.
        (ix86_expand_strlensi_unroll_1): Update calls to ix86_gen_sub3_carry.
        Do not set mode of compare operation.

From-SVN: r154480
2009-11-24 00:18:02 +01:00
H.J. Lu
ecd883d483 re PR testsuite/42086 (FAIL: gcc.target/ia64/fptr-1.c execution test)
2009-11-23  H.J. Lu  <hongjiu.lu@intel.com>

	PR testsuite/42086
	* gcc.target/ia64/fptr-1.c: Make it a compile test.

From-SVN: r154478
2009-11-23 14:55:54 -08:00
Janis Johnson
da60b46b23 lto.exp (lto_option_list): Rename from option_list.
* lib/lto.exp (lto_option_list): Rename from option_list.
	* lib/compat.exp (compat_option_list): Rename from option_list.

From-SVN: r154477
2009-11-23 22:49:20 +00:00
Andy Hutchinson
3d0cc4ae1a raw-string-1.c: Require-effective-target wchar.
* gcc-dg/raw-string-1.c: Require-effective-target wchar.
* gcc-dg/raw-string-2.c: Ditto.
* gcc-dg/utf-array-short-wchar.c: Ditto.
* gcc-dg/utf-array.c: Ditto.
* gcc-dg/utf8-2.c: Ditto.

From-SVN: r154476
2009-11-23 22:40:18 +00:00
Jan Hubicka
cefdbe2fe9 re PR middle-end/42151 (verify_cgraph_node failed with -O3 -Winline)
PR middle-end/42151
	* ipa-inline.c (inline_transform): Avoid ICE when transform is called
	twice.

From-SVN: r154475
2009-11-23 22:27:15 +00:00
Andy Hutchinson
83a4e6e992 * gcc.dg/torture/pr37868.c: Use smaller bitfield for 16bit int targets.
From-SVN: r154474
2009-11-23 22:21:21 +00:00
Andy Hutchinson
dc8926ce36 * gcc.dg/tree-ssa/pr33920.c: Remove warning check for 16 bit targets.
From-SVN: r154473
2009-11-23 22:17:21 +00:00
Andy Hutchinson
1ba1aa534c * gcc-dg/Wtype-limits.c: Remove XFAIL for avr target.
From-SVN: r154472
2009-11-23 22:14:25 +00:00
Andy Hutchinson
0422d54667 re PR c/36470 (sizeof UTF-32 is 2 on AVR)
PR testsuite/36470
* gcc.dg/utf-cvt.c: Skip int test for 16bit int targets.
Enable short test for avr target.
* gcc.dg/utf32-1.c: Enable test for avr and m32 targets.
* gcc.dg/utf32-2.c: Ditto.
* gcc.dg/utf32-3.c: Ditto.
* gcc.dg/utf32-4.c: Enable test for non-32bit targets.

From-SVN: r154471
2009-11-23 22:10:18 +00:00
Andy Hutchinson
c806393f02 * gcc.dg/tree-ssa/asmgoto-1.c: Suppress warnings.
From-SVN: r154470
2009-11-23 21:57:11 +00:00
Andy Hutchinson
7f557ec7a2 * gcc.c-torture/execute/ipa-sra-2.x: New. Skip test for 16bit targets.
From-SVN: r154469
2009-11-23 21:50:27 +00:00
Andy Hutchinson
08915830e8 sms-6.c: Use long for 16 bit int targets.
* gcc.dg/sms-6.c: Use long for 16 bit int targets.
* gcc.dg/sms-7.c: Ditto.

From-SVN: r154468
2009-11-23 21:43:22 +00:00
Andy Hutchinson
fb64cb7c3a pr36998.c: Frame pointer required for avr target.
* gcc.dg/pr36998.c: Frame pointer required for avr target.
* gcc.dg/debug/pr41264-1.c: Use long if int size 16bit or smaller.
* gcc.dg/pr39226.c: Use smaller bitfield if int size is 16bit.
* gcc.dg/pr41340.c: Test requires long pointer target.
* gcc.dg/profile-generate-3.c: Test requires profiling support.

From-SVN: r154467
2009-11-23 21:38:32 +00:00
Andy Hutchinson
04f3ccd55a block-1.c: Require 32-bit or larger array support.
* gcc.dg/graphite/block-1.c: Require 32-bit or larger array support.
* gcc.dg/graphite/block-3.c: Ditto.
* gcc.dg/graphite/block-4.c: Ditto.
* gcc.dg/graphite/block-5.c: Ditto.
* gcc.dg/graphite/block-6.c: Ditto.
* gcc.dg/graphite/interchange-0.c: Ditto.
* gcc.dg/graphite/interchange-1.c: Ditto.
* gcc.dg/graphite/interchange-2.c: Ditto.
* gcc.dg/graphite/interchange-3.c: Ditto.
* gcc.dg/graphite/interchange-4.c: Ditto.
* gcc.dg/graphite/interchange-5.c: Ditto.
* gcc.dg/graphite/interchange-6.c: Ditto.
* gcc.dg/graphite/run-id-1.c: Ditto.
* gcc.dg/graphite/scop-16.c: Ditto.
* gcc.dg/graphite/scop-17.c: Ditto.
* gcc.dg/graphite/scop-18.c: Ditto.
* gcc.dg/graphite/scop-matmult.c: Ditto.
* gcc.dg/graphite/pr40157.c: Require 32bit or larger int.
* gcc.dg/graphite/id-15.c: Ditto.

From-SVN: r154466
2009-11-23 21:34:15 +00:00
Jan Hubicka
43558bcc9d ipa-cp.c (ipcp_compute_node_scale): Work around completely wrong profile updates.
* ipa-cp.c (ipcp_compute_node_scale): Work around completely
	wrong profile updates.
	* predict.c (counts_to_freqs): Be expected for ENTRY/EXIT block
	having largest frequency.
	* ira-live.c (ira_implicitly_set_insn_hard_regs): Silecne
	used uninitalized warning.
	* tree-optimize.c (execute_fixup_cfg): Rescale entry and exit block
	frequencies.

From-SVN: r154462
2009-11-23 20:01:29 +00:00
Eric Botcazou
bf92569441 Fix nits
From-SVN: r154459
2009-11-23 19:14:59 +00:00
Eric Botcazou
4405947961 decl.c (gnat_to_gnu_entity): Pass the list of attributes when building the corresponding variable of a constant.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Pass the list
	of attributes when building the corresponding variable of a constant.
	* gcc-interface/utils.c (create_var_decl_1): Do not process attributes
	for constants.

From-SVN: r154458
2009-11-23 18:55:50 +00:00
Steve Ellcey
c5b966389e inline2.c: Modify scan.
2009-11-23  Steve Ellcey  <sje@cup.hp.com>

	* gcc.dg/debug/dwarf2/inline2.c: Modify scan.

From-SVN: r154456
2009-11-23 17:05:41 +00:00
Uros Bizjak
e0d909dba9 alpha.md (*cmp_sadd_sidi): Use gen_lowpart instead of gen_rtx_REG to generate operand 5.
* config/alpha/alpha.md (*cmp_sadd_sidi): Use gen_lowpart instead
	of gen_rtx_REG to generate operand 5.
	(*cmp_ssub_sidi): Ditto.

From-SVN: r154455
2009-11-23 17:59:47 +01:00
Richard Henderson
2f951ef47f i386.c (avx_vpermilp_parallel): Fix sign compare mismatch.
* config/i386/i386.c (avx_vpermilp_parallel): Fix sign compare
        mismatch.

From-SVN: r154451
2009-11-23 08:12:06 -08:00
Jakub Jelinek
87501227a9 re PR middle-end/42095 (g++.dg/lto/20081118-1 cp_lto_20081118-1_0.o-cp_lto_20081118-1_1.o link)
PR middle-end/42095
	* tree.c: Include cgraph.h.
	(cp_fix_function_decl_p): Don't return true for same_body aliases.
	* Make-lang.in (cp/tree.o): Depend on $(CGRAPH_H).

From-SVN: r154449
2009-11-23 17:10:19 +01:00
Eric Botcazou
a7194bfea9 re PR ada/42153 (s-osinte.adb:46:21: missing body for "To_Duration" declared at s-osinte.ads:216)
2009-11-23  Eric Botcazou  <ebotcazou@adacore.com>
            Laurent GUERBY  <laurent@guerby.net>

	PR ada/42153
        * s-osinte-linux.ads (struct_timeval): Delete.
        * s-osinte-hpux.ads (struct_timeval, To_Duration, To_Timeval): 
        Delete.
        * s-osinte-kfreebsd-gnu.ads: Likewise.
        * s-osinte-rtems.ads: Likewise.
        * s-osinte-aix.ads: Likewise.
        * s-osinte-hpux-dce.ads: Likewise.
        * s-osinte-darwin.ads: Likewise.
        * s-osinte-solaris-posix.ads: Likewise.
        * s-osinte-irix.ads: Likewise.
        * s-osinte-solaris.ads: Likewise.
        * s-osinte-hpux-dce.adb (To_Duration, To_Timeval): Delete.
        * s-osinte-irix.adb: Likewise.
        * s-osinte-solaris.adb: Likewise.
        * s-osinte-rtems.adb: Likewise. Minor reformatting.
        * s-osinte-aix.adb (To_Duration, To_Timeval): Delete.
        (clock_gettime): Use cal.c timeval_to_duration.
        * s-osinte-darwin.adb: Likewise.


Co-Authored-By: Laurent GUERBY <laurent@guerby.net>

From-SVN: r154446
2009-11-23 14:56:58 +00:00
Dodji Seketeli
aa373032bf re PR c++/14777 (typedef doesn't fully expose base class type)
Fix PR c++/14777

gcc/cp/ChangeLog:

	PR c++/14777
	* cp-tree.def <TEMPLATE_INFO>: Declare new kind of tree
	node.
	* cp-tree.h (struct tree_template_info,
	struct qualified_typedef_usage_s): New.
	(cp_tree_node_structure_enum): add TS_CP_TEMPLATE_INFO.
	(union lang_tree_node): Add template_info.
	(TI_TEMPLATE, TI_ARGS, TI_TYPEDEFS_NEEDING_ACCESS_CHECKING):
	Adjust.
	(build_template_info): Declare.
	(get_types_needing_access_check): Adjust return type.
	(add_typedef_to_current_template_for_access_check): Declare.
	* cp-objcp-common.c (cp_tree_size): Handle TEMPLATE_INFO.
	* semantics.c (add_typedef_to_current_template_for_access_check):
	Split from ...
	(check_accessibility_of_qualified_id): ... here.
	* decl.c (make_typename_type): Use it.
	* pt.c (build_template_info): Define.
	(check_explicit_specialization, find_parameter_packs_r,
	push_template_decl_real, lookup_template_class,
	for_each_template_parm_r, tsubst_decl, tsubst): Use
	build_template_info.
	(get_types_needing_access_check): Adjust return type.
	(append_type_to_template_for_access_check_1): Record the
	location of the usage point of the typedef. Adjust to TEMPLATE_INFO.
	(append_type_to_template_for_access_check): Add new location
	parameter. Pass it to append_type_to_template_for_access_check_1.
	Adjust to TEMPLATE_INFO.
	(perform_typedefs_access_check): Temporarily set input_location to
	the usage point of the typedef we are checking access for. Adjust
	to new TEMPLATE_INFO tree node.
	* tree.c (bind_template_template_parm): Use build_template_info.
	* call.c (add_template_candidate_real): Likewise.
	* decl.c (grokfndecl): Likewise.
	(cp_tree_node_structure): Handle TEMPLATE_INFO.

gcc/testsuite/ChangeLog:

	PR c++/14777
	* g++.dg/template/typedef13.C: Adjust.
	* g++.dg/template/typedef19.C: Adjust.
	* g++.dg/template/typedef20.C: Adjust.
	* g++.dg/template/typedef22.C: New test.

From-SVN: r154443
2009-11-23 14:29:50 +01:00
Rainer Orth
75d05d2ab7 * adaint.h: Assume large file support on IRIX only if _LFAPI.
From-SVN: r154442
2009-11-23 13:19:14 +00:00
Paul Brook
1586899ee9 arm.c (arm_compute_save_reg0_reg12_mask): Add special case for noreturn functions.
2009-11-23  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Add special
	case for noreturn functions.
	(arm_compute_save_reg_mask): Remove special noreturn handling.

From-SVN: r154441
2009-11-23 13:03:28 +00:00
Richard Guenther
0230277c25 tree-dfa.c (get_ref_base_and_extent): Adjust maximum access size for DECL bases.
2009-11-23  Richard Guenther  <rguenther@suse.de>

	* tree-dfa.c (get_ref_base_and_extent): Adjust maximum access
	size for DECL bases.

From-SVN: r154433
2009-11-23 10:44:17 +00:00
Ben Elliston
5120dc389f pex-unix.c (pex_child_error): Improve warning avoidance by checking the results of write(3) and exiting with...
* pex-unix.c (pex_child_error): Improve warning avoidance by
	checking the results of write(3) and exiting with -2 if any write
	returns a negative value.

Co-Authored-By: Ian Lance Taylor <iant@google.com>

From-SVN: r154431
2009-11-23 15:42:32 +11:00
GCC Administrator
5154a159df Daily bump.
From-SVN: r154430
2009-11-23 00:16:51 +00:00