Commit Graph

71349 Commits

Author SHA1 Message Date
Mark Mitchell
bf40d45d18 re PR c++/22173 (Bogus template keyword accepted)
PR c++/22173
	* decl.c (check_template_keyword): Fix thinko.

From-SVN: r105470
2005-10-16 21:57:42 +00:00
Hans-Peter Nilsson
2de0aa52f5 builtins.c (get_builtin_sync_mode): Make unlimited mode_for_size request.
* builtins.c (get_builtin_sync_mode): Make unlimited
	mode_for_size request.

From-SVN: r105469
2005-10-16 21:30:42 +00:00
Andrew Pinski
dddf9a0a08 re PR c++/23959 (-Wswitch-default reports missing default in a template that has one)
2005-10-16  Andrew Pinski  <pinskia@physics.uc.edu>

        PR c++/23959
        * decl.c (pop_switch): Only call c_do_switch_warnings
        when not processing templates.

2005-10-16  Andrew Pinski  <pinskia@physics.uc.edu>

        PR c++/23959
        * g++.dg/warn/Wswitch-default-1.C: New test.
        * g++.dg/warn/Wswitch-default-2.C: New test.

From-SVN: r105466
2005-10-16 14:13:11 -07:00
Mark Mitchell
5bf8b82d52 Correct PR#
From-SVN: r105465
2005-10-16 20:18:53 +00:00
Mark Mitchell
02ed62dd46 re PR c++/22137 (Internal error: Segmentation fault (program cc1plus))
PR c++/22137
	* cp-tree.h (QUALIFIED_NAME_IS_TEMPLATE): New macro.
	(check_template_keyword): New function.
	(finish_id_expression): Change prototoype.
	(finish_qualified_id_expr): Change prototype.
	(build_qualified_name): New function.
	(finish_class_member_access_expr): Change prototype.
	* init.c (build_offset_ref): Use build_qualified_name.
	* mangle.c (write_expression): Likewise.
	* parser.c (cp_parser_primary_expression): Remove qualifying_class
	parameter.  Add address_p and template_arg_p.  Use
	build_qualified_name.
	(cp_parser_id_expression): Default *template_p to
	template_keyword_p.  Check for invalid uses of the template
	keyword.
	(cp_parser_postfix_expression): Eliminate special handling for
	qualified names.  Adjust call to cp_parser_primary_expression.
	(cp_parser_postfix_dot_deref_expression): Adjust call to
	cp_parser_id_expression and finish_class_member_access_expr.
	(cp_parser_template_argument_list): Add comment.
	(cp_parser_template_argument): Adjust use of
	cp_parser_primary_expression.  Remove call to
	finish_qualified_id_expr.
	(cp_parser_lookup_name): Use build_qualified_name.
	* pt.c (tsubst): Use build_qualified_name.
	(tsubst_qualified_id): Likewise.  Adjust call to
	finish_qualified_id_expr.
	(tsubst_copy): Use build_qualified_name.
	(tsubst_copy_and_build): Adjusts call to finish_id_expression and
	finish_class_member_access_expr.
	* semantics.c (finish_non_static_data_member): Use
	build_qualified_name.
	(finish_qualified_id_expr): Add template_p and template_arg_p
	parameters.
	(finish_id_expression): Remove qualifiying_class parameter.  Add
	template_p, done, address_p, and template_arg_p.  Use
	build_qualified_name.  Adjust calls to
	finish_class_member_acess_expr.
	* tree.c (build_qualified_name): New function.
	* typeck.c (check_template_keyword): New function.
	(finish_class_member_access_expr): Add template_p argument.  Check
	for invalid uses of the template keyword.

	PR c++/22137
	* g++.dg/parse/template18.C: New test.
	* g++.dg/template/nontype15.C: Likewise.

From-SVN: r105463
2005-10-16 19:38:57 +00:00
Erik Edelmann
c2b27658fe re PR fortran/22273 (problem to declare a character variable link to an intent(out) object)
2005-10-16  Erik Edelmann  <erik.edelmann@iki.fi>
fortran/
	PR 22273
	* expr.c (check_inquiry): Add "len" to inquiry_function.
testsuite/
	PR fortran/22273
	* gfortran.dg/spec_expr_2.f90: New.

From-SVN: r105460
2005-10-16 15:59:36 +02:00
Richard Henderson
a9f7c5705b gimplify.c (gimplify_var_or_parm_decl): Split out from ...
* gimplify.c (gimplify_var_or_parm_decl): Split out from ...
        (gimplify_expr): ... here.
        (gimplify_compound_lval): Use it in initial scan loop.  Allow
        fb_lvalue in base expression.

From-SVN: r105458
2005-10-15 22:08:26 -07:00
Jason Merrill
cb807ba36b tweak comment
From-SVN: r105457
2005-10-16 00:01:22 -04:00
Hans-Peter Nilsson
d4d28139a8 debug3.C, [...]: Guard test with { target fpic }.
* g++.dg/debug/debug3.C, g++.dg/ext/visibility/noPLT.C,
	g++.dg/opt/vt1.C, g++.old-deja/g++.other/local-alloc1.C,
	gcc.dg/20001009-1.c, gcc.dg/20010912-1.c, gcc.dg/20020122-4.c,
	gcc.dg/20020415-1.c, gcc.dg/20020430-1.c, gcc.dg/20021018-1.c,
	gcc.dg/20021023-1.c, gcc.dg/20021029-1.c, gcc.dg/20021116-1.c,
	gcc.dg/20030120-1.c, gcc.dg/20030213-1.c, gcc.dg/20030225-1.c,
	gcc.dg/20030702-1.c, gcc.dg/20030708-1.c, gcc.dg/20040311-2.c,
	gcc.dg/inline-2.c: Guard test with { target fpic }.  Remove
	previous target-specific skips and warning-message matches where
	applicable.

From-SVN: r105455
2005-10-16 01:14:19 +00:00
Daniel Berlin
a76b437658 Modify update_version for SVN
From-SVN: r105454
2005-10-16 00:59:09 +00:00
GCC Administrator
9e87dfda26 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r105451.2
2005-10-16 00:16:12 +00:00
Richard Henderson
1e188d1e13 re PR middle-end/23714 (ICE in expand_assignment)
PR 23714
        * builtins.c (expand_builtin_trap): Export.
        * expr.h (expand_builtin_trap): Declare.
        * expr.c (expand_assignment): Emit a trap for integral offsets
        from registers that weren't reduced to bitpos.

        * tree-cfg.c (mark_array_ref_addressable_1): Remove.
        (mark_array_ref_addressable): Remove.
        * tree-flow.h (mark_array_ref_addressable): Remove.
        * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Don't call it.

From-SVN: r105449
2005-10-15 17:07:17 -07:00
Paolo Carlini
48c410a254 functional: Add missing #pragma GCC system_header.
2005-10-15  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/functional: Add missing #pragma GCC system_header.

From-SVN: r105444
2005-10-15 19:46:58 +00:00
Mark Mitchell
550d1bf420 re PR c++/21347 (spurious warning with -Wctor-dtor-privacy)
PR c++/21347
	* class.c (maybe_warn_about_overly_private_class): Lazy
	constructors are public.
	PR c++/21347
	* g++.dg/warn/Wctor-dtor.C: New test.

From-SVN: r105441
2005-10-15 18:13:25 +00:00
James E Wilson
b27cedc611 Fix IA-64 sched-ebb failure due to missing dependencies.
PR target/24232
* sched-deps.c (add_dependence_list): New arg UNCOND.  Fix all callers.
(add_dependence_list_and_free): Likewise.
(sched_analyze_2, case MEM): Delete sched_insns_conditions_mutex_p
call.

From-SVN: r105437
2005-10-15 09:34:13 -07:00
Diego Novillo
2d33a2effd re PR tree-optimization/23141 (ACATS FAIL c45651a fixed point wrong code)
PR 23141
	PR 23142
	* tree-vrp.c (vrp_meet): Fix the intersection of equivalence
	sets VR0->EQUIV and VR1->EQUIV when meeting a range and an
	anti-range.
	(vrp_visit_phi_node): Only prevent infinite iterations when
	the previous result and the new result are both VR_RANGEs.

From-SVN: r105436
2005-10-15 10:30:36 -04:00
Ranjit Mathew
7b71de2644 tree-into-ssa.c (mark_def_sites): Correct minor typo in function comment.
* tree-into-ssa.c (mark_def_sites): Correct minor typo in function
	comment.

From-SVN: r105435
2005-10-15 12:17:16 +00:00
Jie Zhang
f53d286953 * MAINTAINERS (Write After Approval): Add self.
From-SVN: r105429
2005-10-15 01:45:20 +00:00
GCC Administrator
79275223c7 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r105425.2
2005-10-15 00:16:45 +00:00
Volker Reichelt
24871154f3 re PR c/23439 ("f(){for" crashes the C frontend)
PR c/23439
	* c-parser.c (c_parser_for_statement): Use location of RID_FOR
	to initialize loc.

	* gcc.dg/for-1.c: New test.

From-SVN: r105422
2005-10-14 21:35:47 +00:00
Mark Mitchell
3c955a0481 re PR c++/19565 (g++ does not warn about overflow in conversion but gcc does)
PR c++/19565
	* g++.dg/warn/Wconversion1.C: New test.
	* g++.dg/ext/packed4.C: Compile with -w.
	* g++.dg/opt/20050511-1.C: Likewise.
	* g++.old-deja/g++.other/warn4.C: Compiler with -Wconversion.

From-SVN: r105421
2005-10-14 19:50:08 +00:00
Jakub Jelinek
21dac32c3c primary.c (match_boz_constant): Add missing break after gfc_error.
* primary.c (match_boz_constant): Add missing break after gfc_error.

	* gfortran.dg/boz_5.f90: New test.

From-SVN: r105420
2005-10-14 21:40:29 +02:00
Nathan Sidwell
b8ad8c93ef re PR c++/17796 (Too many unused parameter warnings emitted.)
PR c++/17796
	* optimize.c (update_cloned_parm): Add FIRST parameter. Use it.
	(maybe_clone_body): Track the first clone.

From-SVN: r105415
2005-10-14 16:36:49 +00:00
Per Bothner
d2c979efb7 re PR preprocessor/21250 (line number 0 for <built-in> causes GAS to complain)
PR preprocessor/21250
	* c-ppoutput.c (print_line): Print internal line 0 as 1.

From-SVN: r105408
2005-10-14 07:56:45 -07:00
Nathan Sidwell
c0e22534e4 re PR c++/22551 ([ICE] in tree_low_cst, at tree.c:3843)
.:	PR c++/22551
	* c-common.c (c_add_case_label): Clear LOW_VALUE and HIGH_VALUE's
	overflow flags.  Refactor some conditionals.
testsuite:
	PR c++/22551
	* g++.dg/other/switch2.C: New.

From-SVN: r105405
2005-10-14 12:55:33 +00:00
Uros Bizjak
771c0562b5 fpu-387.h (set_fpu): Remove extra ":" in stmxcsr.
* config/fpu-387.h (set_fpu): Remove extra ":" in stmxcsr.
	Change cw and cw_sse variables to unsigned.
	(SSE): New definition.
	(has_sse): Use it.

From-SVN: r105402
2005-10-14 13:06:11 +02:00
Paolo Carlini
76f5f4414f hashtable (hashtable::m_erase): Rename to erase_node.
2005-10-14  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/hashtable (hashtable::m_erase): Rename to erase_node.
	(hashtable::erase(iterator), erase(const_iterator)): Adjust.

From-SVN: r105401
2005-10-14 10:43:30 +00:00
Nathan Sidwell
a93770efeb re PR java/23620 (Segfault compiling inner interfaces)
PR java/23620
	* class.c (make_class): Create empty binfo here.
	(set_super_info): Only create binfo if we have superclasses.

Co-Authored-By: Wil Mahan <wmahan@gmail.com>

From-SVN: r105399
2005-10-14 08:46:55 +00:00
Nathan Sidwell
2acb1af9aa re PR c++/23984 (second operand of PLUS_EXPR is NULL (in constructor))
cp:
	PR c++/23984
	* class.c (build_base_path): The vtable is always the first thing
	in the vtt.
testsuite:
	PR c++/23984
	* g++.dg/init/ctor7.C: New.

From-SVN: r105396
2005-10-14 08:38:59 +00:00
Andrew Pinski
9da32d6309 re PR tree-optimization/21304 (very long compile times with large cpp file from kdebindings)
2005-10-13  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/21304
        * tree-dfa.c (add_referenced_var): Only look at decls which
        have TREE_CONSTANT or TREE_READONLY set instead of if
        !TREE_PUBLIC or !TREE_CONSTANT.

From-SVN: r105390
2005-10-13 20:01:42 -07:00
David Edelsohn
e4785e43ff re PR c++/23730 (ICE instead of reporting a call to a non-existent member function)
PR c++/23730
        * g++.dg/parse/crash32.C: New test.

From-SVN: r105389
2005-10-13 22:33:11 -04:00
James E Wilson
acd1a829b8 Add missing docs for f95-cpp-input.
* doc/invoke.texi: For -x, add f95-cpp-input.

From-SVN: r105388
2005-10-13 19:29:10 -07:00
James E Wilson
47530dd98d The language name changed from f95 to fortran last month.
* doc/install.texi: For --enable-languages doc, change f95 to fortran.

From-SVN: r105387
2005-10-13 18:57:19 -07:00
GCC Administrator
3b33069477 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r105382.2
2005-10-14 00:16:14 +00:00
Mark Mitchell
6c06fbce5c re PR c++/20721 (crossing of a initialization left undetected on goto)
PR c++/20721
	* cp-tree.h (DECL_NONTRIVIALLY_INITIALIZED_P): New macro.
	* decl.c (duplicate_decls): Merge it into new declarations.
	(decl_jump_unsafe): Use it, rather than DECL_INITIAL.
	(cp_finish_decl): Set it, when appropriate.
	PR c++/20721
	* g++.dg/init/goto2.C: New test.

From-SVN: r105380
2005-10-13 23:59:57 +00:00
Andrew Haley
02f3e085c7 re PR java/24251 (BC-compiled interfaces in libgcj can't be called from non-BC code)
2005-10-12  Andrew Haley  <aph@redhat.com>

	PR java/24251
	* link.cc (ensure_method_table_complete): Install Miranda methods
	for interfaces too.

From-SVN: r105375
2005-10-13 17:36:07 +00:00
Thomas Koenig
c1d70e1a52 unix.c (fd_alloc_r_at): Use read() instead of do_read() only in case of special files (e.g.
2005-10-13  Thomas Koenig  <Thomas.Koenig@online.de>

	* io/unix.c(fd_alloc_r_at):  Use read() instead of do_read()
	only in case of special files (e.g. terminals).

From-SVN: r105373
2005-10-13 16:15:30 +00:00
Richard Earnshaw
8c210c4104 re PR libstdc++/23926 (libstdc++-v3 configure failed)
PR libstdc++/23926
	* acinclude.m4 (port_specific_symbol_files): More symbol versioning
	fixes.
	* configure: Regenerate.

From-SVN: r105371
2005-10-13 15:24:09 +00:00
Uros Bizjak
8d1d0da541 * config/fpu-387.h (set_fpu): Add "=m" for stmxcsr.
From-SVN: r105369
2005-10-13 14:54:30 +02:00
Sebastian Pop
b2ebf9137c re PR tree-optimization/24262 (ICE: verify_ssa failed with -O -msse2 -ftree-vectorize)
PR tree-optimization/24262
	* tree-data-ref.c (analyze_offset_expr): Check that init is invariant
	in loop all the time.

From-SVN: r105368
2005-10-13 11:52:57 +00:00
Mark Mitchell
8ca4bf259c re PR c++/22464 (ICE on classes in template functions which attempt closure)
PR c++/22464
	* semantics.c (finish_id_expression): Issue errors about uses of
	local variables in containing functions even in templates.
	PR c++/22180
	* call.c (build_new_method_call): Correct pretty-printing of
	destructor names.
	* pt.c (tsubst_qualified_id): Recognize invalid uses of "~T" as an
	identifier.
	PR c++/23694
	* decl.c (start_method): Return error_mark_node for errors.
	PR c++/23307
	* pt.c (push_template_decl_real): Complain about attempts to
	declare template variables.
	PR c++/22352
	* pt.c (tsubst_template_parms): Set processing_template_decl while
	processing the parameters.
	(tsubst_decl): Set processing_template_decl when substituting into
	a TEMPLATE_DECL.
	PR c++/22405
	* pt.c (most_specialized_instantiation): Robustify.
	PR c++/22464
	* g++.dg/template/crash/41.C: New test.
	PR c++/22180
	* g++.dg/template/crash40.C: New test.
	PR c++/23694
	* g++.dg/parse/friend5.C: New test.

	PR c++/23307
	* g++.dg/template/crash38.C: New test.

	PR c++/22352
	* g++.dg/template/friend38.C: New test.

	PR c++/22405
	* g++.dg/template/crash39.C: New test.

From-SVN: r105365
2005-10-13 08:38:40 +00:00
Hans-Peter Nilsson
f05c19d126 libstdc++.exp (libstdc++_init): Require native testing before setting v3-sharedlib to 1.
* testsuite/lib/libstdc++.exp (libstdc++_init): Require
	native testing before setting v3-sharedlib to 1.

From-SVN: r105361
2005-10-13 07:29:39 +00:00
Joe Buck
abf513b5af howto.html: Use reference to ifstream when including iosfwd.
2005-10-12  Joe Buck  <Joe.Buck@synopsys.com>

	* docs/html/27_io/howto.html: Use reference to ifstream when
	including iosfwd.

From-SVN: r105356
2005-10-13 04:15:44 +00:00
Hans-Peter Nilsson
48f99ad622 dwarf-char1.c, [...]: Skip for mmix-*-*
* gcc.dg/debug/dwarf2/dwarf-char1.c,
	gcc.dg/debug/dwarf2/dwarf-char2.c,
	gcc.dg/debug/dwarf2/dwarf-char3.c: Skip for mmix-*-*

From-SVN: r105349
2005-10-13 02:00:18 +00:00
Hans-Peter Nilsson
4f7ddf0635 * gcc.dg/intmax_t-1.c: Remove mmix-*-* from dg-error statement.
From-SVN: r105343
2005-10-13 00:54:07 +00:00
GCC Administrator
d5fe1b9f75 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r105340.2
2005-10-13 00:16:14 +00:00
Richard Henderson
52dd234b21 re PR c/24255 (__transparent_union__ mishandled)
PR c/24255
        * tree.h (DECL_TRANSPARENT_UNION): Remove.
        * function.c (assign_parm_find_data_types): Don't support it.
        * print-tree.c (print_node): Likewise.
        * c-common.c (handle_transparent_union_attribute): Likewise.
        Use build_duplicate_type.
        * tree-inline.c (remap_type_1): Split out of remap_type;
        properly remap aggregate fields.
        (build_duplicate_type): New.
        * doc/extend.texi (Variable Attributes): Remove documentation
        for transparent_union.

From-SVN: r105338
2005-10-12 16:34:09 -07:00
Eric Botcazou
6deb033913 re PR target/24284 (ICE (Segmentation fault))
PR target/24284
	* config/sparc/sparc.c (gen_stack_pointer_inc): Build by hand.
	(gen_stack_pointer_dec): Likewise.

From-SVN: r105336
2005-10-12 22:12:39 +00:00
Danny Smith
43d9ad1dbd re PR target/21275 (gcc 4.0.0 crash with mingw when using stdout in global var)
PR middle-end/21275
	PR middle-end/21766
	* target.h (struct gcc_target): Add valid_dllimport_attribute_p
	target hook.
	(struct cxx): Add adjust_class_at_definition target hook.
	* target-def.h: (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): New define,
	defaulting to hook_bool_tree_true. Add to TARGET_INITIALIZER
	(TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): New define, defaulting to
	hook_void_tree. Add to TARGET_CXX.
	* tree.h (struct decl_with_vis): Rename non_addr_const_p field to
	dllimport_flag.
	(DECL_NON_ADDR_CONSTANT_P): Replace with DECL_DLLIMPORT_P macro.
	* tree.c (merge_dllimport_decl_attributes): Check DECL_DLLIMPORT_P
	instead of attribute. Check for dllexport override.  Warn if
	inconsistent dll linkage. Don't lose old dllimport if decl has
	had address referenced.   Tweak lookup of dllimport atribute.
	(handle_dll_attribute): Check targetm.valid_dllimport_attribute_p
	for target specific rules.  Don't add dllimport attribute if
	DECL_DECLARED_INLINE_P.  Set DECL_DLLIMPORT_P when adding
	dllimport attribute.
	(staticp): Replace DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P.
	* varasm.c (initializer_constant_valid_p): Replace
	DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P

	PR target/21801
	PR target/23589
	* config.gcc (i[34567]86-*-cygwin*): Add winnt-cxx.o to
	'cxx_target_objs', winnt-stubs,o to 'extra_objs'.
	(i[34567]86-*-mingw32*): Likewise.

	* doc/tm.texi (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Document.
	(TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Document.

	* config/i386/winnt.c (i386_pe_dllimport_p): Factor out
	C++-specific code. Change return value to bool.
	(i386_pe_dllimport_p): Likewise.
	(associated_type): Simplify and make language-independent
	(i386_pe_encode_section_info): Replace override of ambiguous
	dllimport symbol refs with a gcc_assert.
	(i386_pe_valid_dllimport_attribute_p): Define.
	* config/i386/winnt-cxx.c: New file. Define C++ versions of
	i386_pe_type_dllimport_p, i386_pe_type_dllexport_p,
	i386_pe_adjust_class_at_definition.
	* config/i386/winnt-stubs.c: New file. Define stub versions of
	lang-specific functions.
	* config/i386/i386-protos.h: Declare winnt-[cxx|stubs].c functions
	i386_pe_type_dllimport_p, i386_pe_type_dllexport_p,
	i386_pe_adjust_class_at_definition.
	(i386_pe_valid_dllimport_attribute_p): Declare.
	* config/i386/cygming.h (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Define.
	(TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Define.
	* config/i386/t-cygming: Add rules for winnt-cxx.o, winnt-stubs.o.

	PR target/19704
	* config/i386/i386.c (ix86_function_ok_for_sibcall): Replace test for
	dllimport attribute with test of DECL_DLLIMPORT_P.


cp
	PR target/21801
	PR target/23589
	* class.c (finish_struct_1): Call
	targetm.cxx.adjust_class_at_definition.


testsuite
	* gcc.dg/dll-2.c: Add tests for warnings.
	* gcc.dg/dll-3.c: Likewise.
	* gcc.dg/dll-4.c: Likewise.

	* g++.dg/ext/dllimport1.C: Adjust tests for warnings.
	* g++.dg/ext/dllimport2.C: Likewise.
	* g++.dg/ext/dllimport3.C: Likewise.
	* g++.dg/ext/dllimport7.C: Likewise.
	* g++.dg/ext/dllimport8.C: Likewise.
	* g++.dg/ext/dllimport9.C: Likewise.

From-SVN: r105332
2005-10-12 20:54:50 +00:00
Paul Thomas
bce7137612 [multiple changes]
2005-10-12  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/24092
	* trans-types.c (gfc_get_derived_type): Insert code to obtain backend
	declaration for derived types, building if necessary.  Return the
	derived type if the fields have been built by this process.  Otherwise,
	continue as before but using the already obtained backend_decls for the
	derived type components.  Change the gcc_assert to act on the field.

2005-10-10  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/24092
	* gfortran.dg/derived_pointer_recursion.f90: New test.

From-SVN: r105331
2005-10-12 20:41:28 +00:00