Commit Graph

52081 Commits

Author SHA1 Message Date
Neil Booth
335d03ec86 * cppexp.c (parse_defined): Warn only if -pedantic.
From-SVN: r70116
2003-08-03 12:23:46 +00:00
Kriang Lerdsuwanakij
79572cb19b re PR c++/9453 (ICE in is_specialization_of, at cp/pt.c:860)
PR c++/9453
	* g++.dg/template/friend15.C: New test.

From-SVN: r70115
2003-08-03 09:42:00 +00:00
Neil Booth
76bf2c9795 cppfiles.c (stack_file): Use file path.
* cppfiles.c (stack_file): Use file path.
testsuite:
	* lib/dg-pch.exp: Work round PCH bug.

From-SVN: r70114
2003-08-03 09:28:25 +00:00
Roger Sayle
178b2b9f0f builtin-types.def (BT_SSIZE): New primitive type.
* builtin-types.def (BT_SSIZE): New primitive type.
	(BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
	BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
	BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
	BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
	* builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
	BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
	BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
	* builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
	few functions that define default attributes using it.
	* c-common.c (c_common_insert_default_attributes): Do nothing.

	* doc/extend.texi: Document these "new" builtins.

From-SVN: r70113
2003-08-03 03:23:18 +00:00
Kaz Kojima
469146c134 linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
* config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
	(LIB_SPEC): Set -lpthread always when -pthread set.  Set -lieee
	when -mieee-fp set and -shared not set.
	(SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.

From-SVN: r70112
2003-08-03 00:48:52 +00:00
GCC Administrator
094838e2c7 Daily bump.
From-SVN: r70110
2003-08-03 00:16:07 +00:00
Kaveh R. Ghazi
8e9dd1eb3d builtins-1.c: Add macro helpers.
* gcc.dg/builtins-1.c: Add macro helpers.  Add missing math
	builtins.  Move cases from builtins-4.c here.

	* gcc.dg/torture/builtin-math-1.c: New test taken from
	bits of gcc.dg/builtins-3.c, gcc.dg/builtins-5.c and also some
	additional cases.

	* gcc.dg/builtins-3.c, gcc.dg/builtins-4.c, gcc.dg/builtins-5.c:
	Delete.

From-SVN: r70108
2003-08-02 19:14:25 +00:00
Nathan Sidwell
fd9aef9d18 re PR c++/9447 (using Base<T>::member does not work)
cp:
	PR c++/9447
	* cp-tree.def (USING_DECL): Document its type.
	* class.c (pushclass): If we're entering a template, push any
	dependent using decls it has.
	* decl2.c (do_class_using_decl): Refactor. Type is NULL iff it is
	a dependent scope.
	* pt.c (tsubst_decl) <USING_DECL case>: Set type.
	(tsubst): Remove USING_DECL checks.
	(type_dependent_expression_p): Remove USING_DECL case.
	* semantics.c (finish_member_declaration): A USING_DECL's type
	indicates whether it is dependent.
testsuite:
	PR c++/9447
	* g++.dg/template/using7.C: New test.

From-SVN: r70107
2003-08-02 18:52:16 +00:00
Neil Booth
49634b3a45 cppfiles.c (struct _cpp_file): Rename once_only_next to next_file.
* cppfiles.c (struct _cpp_file): Rename once_only_next to
	next_file.  Remove import and pragma_once, add once_only.
	(find_file): Add new file structures to the all_files list.
	(should_stack_file): Mark #import-ed files once-only, and
	don't stack them if the file has already been stacked.
	(_cp_mark_file_once_only): Simplify.
	* cpphash.h (struct cpp_reader): Rename once_only_files
	to all_files.  Rename saw_pragma_once to seen_once_only.
	(_cpp_mark_file_once_only): Update prototype.
	* cpplib.c (do_pragma_once): Update.
testsuite:
	* import1.c, import2.c: New tests.

From-SVN: r70106
2003-08-02 16:29:46 +00:00
Neil Booth
cf1ee30c67 cppfiles.c (ENOTDIR): Remove.
* cppfiles.c (ENOTDIR): Remove.
	(open_file_in_dir): Rename find_file_in_dir.  Handle errors
	other than ENOENT here.
	(once_only_file_p): Rename should_stack_file.
	(find_file, open_file_failed, read_file_guts): Report errors
	with full path name.
	(read_file): Move pch handling to should_stack_file.
	(should_stack_file): Handle PCH and once-only issues, and
	reading the file.
	(stack_file): Don't do file reads.

From-SVN: r70104
2003-08-02 12:44:27 +00:00
Michael Koch
7318eb21d1 2003-08-02 Michael Koch <konqueror@gmx.de>
* java/nio/ByteBufferImpl.java
	(getChar): Check remaining bytes, fixed comment about endianess.
	(putChar): Likewise.
	(getShort): Likewise.
	(putShort): Likewise.
	(getInt): Check remaining bytes, fixed conversion, fixed comment about
	endianess.
	(putInt): Likewise.
	(getLong): Likewise.
	(putLong): Likewise.
	(getFloat): Likewise.
	(putFloat): Likewise.
	(getDouble): Likewise.
	(putDouble): Likewise.
	* java/nio/DirectByteBufferImpl.java
	(getChar): Wrapped code, fixed comment about endianess.
	(putchar): Likewise.
	(getShort): Likewise.
	(putShort): Likewise.
	(getInt): Fixed conversion, fixed comment about endianess.
	(putInt): Likewise.
	(getLong): Likewise.
	(putLong): Likewise.
	(getFloat): Likewise.
	(putFloat): Likewise.
	(getDouble): Likewise.
	(putDouble): Likewise.
	* java/nio/MappedByteBufferImpl.java
	(compact): Implemented.
	(getChar): Implemented.
	(putChar): Implemented.
	(getDouble): Implemented.
	(putdouble): Implemented.
	(getFloat): Implemented.
	(putFloat): Implemented.
	(getInt): Implemented.
	(putInt): Implemented.
	(getLong): Implemented.
	(putLong): Implemented.
	(getShort): Implemented.
	(putShort): Implemented.
	* java/nio/channels/FileChannelImpl.java
	(read): Set position where to access file.
	(write): Likewise.
	(transferTo): Flip buffer after read and before write.
	(transferFrom): Likewise.

From-SVN: r70102
2003-08-02 11:17:40 +00:00
Nathan Sidwell
2937079664 cp-tree.h (pushclass): Remove unneeded parameter.
cp:
	* cp-tree.h (pushclass): Remove unneeded parameter.
	* class.c (pushclass): Remove unneeded MODIFY parm. Adjust.
	(push_nested_class): Adjust pushclass call.
	* pt.c (instantiate_class_template): Likewise.
	* semantics.c (begin_class_definition): Likewise.

From-SVN: r70101
2003-08-02 11:01:38 +00:00
Zdenek Dvorak
50612a04e5 libgcov.c (gcov_exit): Cleanup and fix.
* libgcov.c (gcov_exit): Cleanup and fix.
	* profile.c (compute_value_histograms): Don't try to read profiles
	that are not present.

From-SVN: r70100
2003-08-02 10:30:48 +00:00
Michael Koch
7575931c17 2003-08-02 Michael Koch <konqueror@gmx.de>
* gnu/java/lang/ArrayHelper.java
	(equalsArray): Reformated, added method documentation.

From-SVN: r70099
2003-08-02 09:15:05 +00:00
Michael Koch
15b68e0201 2003-08-02 Michael Koch <konqueror@gmx.de>
* java/net/URL.java
	(URL): Added paragraph about the
	gnu.java.net.nocache_protocol_handlers property.
	(ph_cache): Renamed from handlers to match classpath's implementation.
	Reordered it with factory and serialVersionUID member variables.
	(cache_handlers): New member variable.
	(static): New static initializer to initialize cache_handlers from
	gnu.java.net.nocache_protocol_handlers property.
	(URL): Use ph_cache instead of handlers, reformatted some code to
	match classpath's implementation.

From-SVN: r70098
2003-08-02 06:31:02 +00:00
Kaveh R. Ghazi
f53b62e15c * builtins.def: Categorize.
From-SVN: r70097
2003-08-02 06:21:43 +00:00
Kaveh R. Ghazi
f6a4681886 builtins.def (BUILT_IN_CABS, [...]): Mind fp rounding.
* builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
	Mind fp rounding.
	(BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.

From-SVN: r70096
2003-08-02 06:19:40 +00:00
Andreas Tobler
12550591fd 003-08-02 Andreas Tobler <a.tobler@schweiz.ch>
* config.gcc: Enable posix threads by default on darwin.

From-SVN: r70095
2003-08-02 07:51:02 +02:00
Nathanael Nerode
ef09717a89 typeck2.c (add_exception_specifier): Use 'bool' where appropriate.
(cp)
	* typeck2.c (add_exception_specifier): Use 'bool' where appropriate.

From-SVN: r70094
2003-08-02 02:07:49 +00:00
Nathanael Nerode
1c787209c2 Fix typo
From-SVN: r70093
2003-08-02 02:00:56 +00:00
Matt Kraai
333a28b448 Makefile.tpl (check, check-c++): Express dependencies using dependencies rather than commands.
* Makefile.tpl (check, check-c++): Express dependencies using
	dependencies rather than commands.
	* Makefile.in: Regenerate.

From-SVN: r70092
2003-08-02 00:48:19 +00:00
GCC Administrator
5292fe6134 Daily bump.
From-SVN: r70089
2003-08-02 00:16:06 +00:00
Jakub Jelinek
5f77fbd468 cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes even if nehedges1 is 0.
* cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
	even if nehedges1 is 0.

	* g++.dg/eh/crossjump1.C: New test.

From-SVN: r70080
2003-08-02 01:15:55 +02:00
Nathanael Nerode
f4dbf936c7 fixfixes.c, [...]: ANSIfy function prototypes and defintions.
* fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
	fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
	fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
	and defintions.

Add missed (?!) ChangeLog entry from previous commit earlier today:
	* fixinc/inclhack.def (broken_cabs): Make matching more generous.
	* fixinc/fixincl.x: Regenerate.
	* fixinc/tests/base/math.h: Regenerate to match test_text change.

From-SVN: r70078
2003-08-01 23:07:04 +00:00
Rainer Orth
c76becbdce * ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
From-SVN: r70077
2003-08-01 23:00:24 +00:00
Nathanael Nerode
93b8a7a857 inclhack.def (broken_cabs): Make matching more generous.
* fixinc/inclhack.def (broken_cabs): Make matching more generous.
	* fixinc/fixincl.x: Regenerate.
	* fixinc/tests/base/math.h: Regenerate to match test_text change.

From-SVN: r70076
2003-08-01 22:48:24 +00:00
Richard Kenner
f920765d48 except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode, for accesses to exc_ptr.
* except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
	for accesses to exc_ptr.

From-SVN: r70075
2003-08-01 18:17:44 -04:00
Geoffrey Keating
8e5f33ff4a sourcebuild.texi (Front End Directory): Don't make references to libsubdir, it's not part of the interface to frontends.
* doc/sourcebuild.texi (Front End Directory): Don't make references
	to libsubdir, it's not part of the interface to frontends.
	* doc/install.texi (Configuration): Help users read faster by saying
	that GCC's configure options are the standard autoconf ones.
	Mention --libdir.  Update the default rules for finding the
	assembler.  Don't use libsubdir since we haven't said what it means.
	(Specific): In the Solaris 7 notes, update the place to put the
	assembler.
	* doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
	* doc/cpp.texi (Search Path): Actually, the search path
	depends on libdir, which can relocate with cpp.
	* doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
	now a private interface between the Makefile and the driver.

From-SVN: r70073
2003-08-01 21:53:22 +00:00
Richard Henderson
75c2098081 system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
* system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.

        * varasm.c (lookup_constant_def): New function.
        * rtl.h (lookup_constant_def): Declare it.
        * dwarf2out.c (loc_descriptor_from_tree): Use it.
        Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.

From-SVN: r70072
2003-08-01 14:51:13 -07:00
Andrew Cagney
c197e30661 configure.in (noconfigdirs): Do not add GDB when m32r-*-*.
2003-08-01  Andrew Cagney  <cagney@redhat.com>

	* configure.in (noconfigdirs): Do not add GDB when m32r-*-*.
	* configure: Ditto.

From-SVN: r70071
2003-08-01 21:34:32 +00:00
Tom Tromey
a04045d0a2 re PR libgcj/11241 (WeakHashMap throws a "/ zero" ArithmeticException when initialCapacity is explicitly zero)
Fix for PR libgcj/11241:
	* java/util/WeakHashMap.java (WeakHashMap(int,float)): If
	initialCapacity is 0, set it to 1.

From-SVN: r70070
2003-08-01 21:30:14 +00:00
Stephen Crawley
6e42faef6d SocketImpl.java (toString): Display the remote address of an unconnected server socket as "0.0.0.0/0.0.0.0".
2003-08-01  Stephen Crawley <crawley@dstc.edu.au>

	* java/net/SocketImpl.java (toString): Display the remote address
	of an unconnected server socket as "0.0.0.0/0.0.0.0".

From-SVN: r70069
2003-08-01 21:08:33 +00:00
Sascha Brawer
1ce4e666b2 BevelBorder.java, [...]: Prepend "doc-files" to all paths to embedded Javadoc images...
2003-08-01  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/border/BevelBorder.java,
	javax/swing/border/EtchedBorder.java,
	javax/swing/border/LineBorder.java,
	javax/swing/border/MatteBorder.java,
	javax/swing/border/SoftBevelBorder.java,
	javax/swing/plaf/BorderUIResource.java,
	javax/swing/plaf/ComponentUI.java,
	javax/swing/plaf/TreeUI.java,
	javax/swing/plaf/basic/BasicBorders.java,
	javax/swing/plaf/basic/BasicGraphicsUtils.java,
	javax/swing/plaf/basic/BasicTreeUI.java:
	Prepend "doc-files" to all paths to embedded Javadoc images, so
	that the generated documentation contains the correct URL.

From-SVN: r70063
2003-08-01 20:10:22 +00:00
Mark Mitchell
ee935db4b6 re PR c++/11697 (Failure to diagnose class template redeclaration via using declaration)
PR c++/11697
	* decl.c (decls_match): Don't ignore the types of template
	classes.

	PR c++/11744
	* pt.c (tsubst_copy_and_build): Refine Koenig lookup logic.

	PR c++/11697
	* g++.dg/template/using6.C: New test.

	PR c++/11744
	* g++.dg/template/koenig2.C: New test.

From-SVN: r70062
2003-08-01 18:48:50 +00:00
Zack Weinberg
f91f41b294 c-decl.c (gettags, [...]): Delete.
* c-decl.c (gettags, pushdecl_function_level): Delete.
	(last_function_parm_vars): Rename last_function_parm_others.
	(current_function_parm_vars): Rename current_function_parm_others.
	(struct c_scope): Rewrite comment explaining this data structure.
	Add names_last, blocks_last, parms_last fields.  Rename
	incomplete_list to incomplete.
	(SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
	(poplevel): Ignore second argument.  No need to nreverse
	anything.  Restructure such that each list is processed
	exactly once.  Use 'const location_t *locus' syntactic sugar
	variable where useful.  Issue unused variable warnings
	ourselves, do not rely on function.c.
	(insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
	(pushdecl_top_level): Likewise.  Don't call duplicate_decls.
	(implicitly_declare): decl cannot be error_mark_node.
	(undeclared_variable): Manipulate scope structure directly.
	(c_make_fname_decl): Likewise.
	(getdecls, c_init_decl_processing): Fix comment.
	(mark_forward_parm_decls): Use SCOPE_LIST_CONCAT.  No need
	for 'last' variable.
	(grokparms): No need to nreverse parms list.
	(store_parm_decls_newstyle): Set up the parms_last and
	names_last fields of the new scope too.
	(store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
	on parms to begin with; check this under ENABLE_CHECKING.  Set
	up parms_last.
	(check_for_loop_decls): Refer directly to current_scope->tags.
	Use consistent quote style in diagnostics.
	(c_write_global_declarations): The names list is not backward.

	* c-common.h: Don't prototype gettags.
	* c-parse.in: Call poplevel with second argument 0 always.

From-SVN: r70061
2003-08-01 18:41:40 +00:00
Kaveh R. Ghazi
a8eb1db550 * builtins.def: Resort builtins.
From-SVN: r70058
2003-08-01 17:51:56 +00:00
Kaveh R. Ghazi
da7cfe1307 builtins.def (DEF_GCC_BUILTIN, [...]): Prepend "__builtin_" onto NAME with string concatenation.
* builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
	DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
	Prepend "__builtin_" onto NAME with string concatenation.  Remove
	explicit "__builtin_" from each macro call.

	Reformat entire file.

From-SVN: r70057
2003-08-01 17:50:38 +00:00
Kaveh R. Ghazi
ea8eb0b920 builtins.def (ATTR_MATHFN_ERRNO, [...]): New macros.
* builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
	ATTR_MATHFN_FPROUNDING_ERRNO): New macros.  Use throughout.

From-SVN: r70055
2003-08-01 17:48:30 +00:00
Tom Tromey
6ab37e1eef configure: Rebuilt.
* configure: Rebuilt.
	* configure.in (tool_include_dir): Redefine to match gcc.

From-SVN: r70054
2003-08-01 16:17:33 +00:00
Ulrich Weigand
61152e4817 Fix whitespace in last entry.
From-SVN: r70053
2003-08-01 15:49:21 +00:00
Andreas Krebbel
3ef093a825 s390.c (s390_select_ccmode): Do not attempt to use CCL, CCL1, or CCL2 modes with floating point operations.
2003-08-01  Andreas Krebbel <krebbel1@de.ibm.com>

	* config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
	CCL1, or CCL2 modes with floating point operations.

	* config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
	"*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
	"*subdf3_cconly"): New insns.
	("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.

From-SVN: r70052
2003-08-01 15:41:59 +00:00
Kriang Lerdsuwanakij
d6f7c70410 re PR c++/7983 (ICE for friend declaration using typedef in class template)
PR c++/7983
	* g++.dg/parse/typedef4.C: New test.

From-SVN: r70051
2003-08-01 15:41:27 +00:00
Alan Modra
b00badcd91 ffi.c (ffi_prep_args64): Modify for changed gcc structure passing.
* src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
	structure passing.
	(ffi_closure_helper_LINUX64): Likewise.
	* src/powerpc/linux64.S: Remove code writing to parm save area.
	* src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
	address in lr from ffi_closure_helper_LINUX64 call to calculate
	table address.  Optimize function tail.

From-SVN: r70050
2003-08-02 00:49:01 +09:30
Jerry Quinn
2f18d7a1a8 BigDecimal (divide): Correctly handle ROUND_HALF_EVEN when amount is greater than 0.5.
2003-08-01  Jerry Quinn  <jlquinn@optonline.net>
            Mark Wielaard  <mark@klomp.org>

       * java/math/BigDecimal (divide): Correctly handle
       ROUND_HALF_EVEN when amount is greater than 0.5.
       Simplify and optimize code.

Co-Authored-By: Mark Wielaard <mark@klomp.org>

From-SVN: r70049
2003-08-01 15:07:49 +00:00
Kriang Lerdsuwanakij
cbd63935d8 PR c++/8442, c++/8806
PR c++/8442, c++/8806
	* decl.c (qualify_lookup): Accept TEMPLATE_DECL if types are
	preferred.
	(check_elaborated_type_specifier): Add allow_template_p
	parameter.  Check tag mismatch and class template.
	(xref_tag): Add template_header_p parameter.  Add assertion
	that name is an IDENTIFIER_NODE.  Remove implicit typename
	warning.  Simplify lookup process if globalize is true.
	(cxx_init_decl_processing): Adjust call to xref_tag.
	(xref_tag_from_type): Likewise.
	* decl2.c (handle_class_head): Likewise.
	* parser.c (cp_parser_elaborated_type_specifier,
	cp_parser_class_head): Likewise.
	* rtti.c (init_rtti_processing, build_dynamic_cast1,
	tinfo_base_init, emit_support_tinfos): Likewise.
	* class.c (is_base_of_enclosing_class): Remove.
	* pt.c (convert_template_argument): Don't accept RECORD_TYPE as
	template template argument.
	* cp-tree.h (xref_tag): Adjust declaration.
	(is_base_of_enclosing_class): Remove.
	* NEWS: Document template template argument change.

	* g++.dg/template/elab1.C: Likewise.
	* g++.dg/template/type2.C: Likewise.
	* g++.dg/template/ttp3.C: Adjust expected error message.
	* g++.old-deja/g++.law/visibility13.C: Likewise.
	* g++.old-deja/g++.niklas/t135.C: Likewise.
	* g++.old-deja/g++.pt/ttp41.C: Likewise.
	* g++.old-deja/g++.pt/ttp43.C: Use qualified name for template
	template argument.
	* g++.old-deja/g++.pt/ttp44.C: Likewise.

From-SVN: r70048
2003-08-01 15:06:02 +00:00
Nathan Sidwell
ee3071efe5 parser.c (cp_parser_init_declarator, [...]): Reformat.
* parser.c (cp_parser_init_declarator,
	cp_paser_member_declaration): Reformat.
	* pt.c (lookup_template_class, type_unification_real, unify,
	type_dependent_expression_p): Reformat.

From-SVN: r70047
2003-08-01 14:33:46 +00:00
Neil Booth
bf42e45b20 Makefile.in: Refine dependencies.
* Makefile.in: Refine dependencies.
	* c-opts.c (c_common_handle_option): Do nothing for -Wimport.
	* c.opt: Update help for -Wimport.
	* cppfiles.c: Include hashtab.h.  Update comments.
	(stack_file): Read the file before updating dependencies.
	(once_only_file_p): Be smarter about marking once-only files.
	(_cpp_mark_file_once_only): Correct the check for existence on
	the list.
	(open_file_failed): Use name not path, which is NULL.
	* cpphash.h: Don't include hashtab.h.
	(struct _cpp_file): Remove.
	(struct cpp_reader): Update.
	* cppinit.c (cpp_create_reader): Don't initialize warn_import.
	* cpplib.h (struct cpp_options): Remove warn_import.
	(cpp_simplify_path): Remove.

From-SVN: r70045
2003-08-01 14:04:02 +00:00
Nathan Sidwell
a5bcc58230 re PR c++/11295 (ICE when using a non-trivial object in a compound statement expression)
PR c++/11295
	* doc/extend.texi (Statement Expressions): Document C++ semantics.
cp:
	PR c++/11295
	* cp-tree.h (tubst_flags_t): Add tf_stmt_expr_cmpd,
	tf_stmt_expr_body.
	(finish_stmt_expr_expr): Declare.
	* parser.c (cp_parser_primary_expression): Tell
	cp_parser_compount_statement that it is a statement expression.
	(cp_parser_statement, cp_parser_labeled_statement,
	cp_parser_compound_statement, cp_parser_statement_seq_opt): Add
	in_statement_expr_p parameter.
	(cp_parser_expression_statement): Likewise. Call
	finish_stmt_expr_expr for final expression of a statement
	expression.
	(cp_parser_for_init_statement,
	cp_parser_implicitly_scoped_statement,
	cp_parser_already_scoped_statement, cp_parser_function_definition,
	cp_parser_try_block, cp_parser_handled): Adjust.
	* pt.c (tsubst_copy) <STMT_EXPR case>: Pass tf_stmt_expr.
	(tsubst_expr): Process tf_stmt_expr and tf_stmt_exprs flags.
	(tsubst_expr) <EXPR_STMT case>: Check tf_stmt_exprs flag.
	* semantics.c (finish_expr_stmt): Do not deal with statement
	expressions.
	(begin_stmt_expr): Clear last_expr_type.
	(finish_stmt_expr_expr): New.
	(finish_stmt_expr): Process the value expression.
testsuite:
	PR c++/11295
	* g++.dg/ext/stmtexpr1.C: New test.

From-SVN: r70043
2003-08-01 09:34:09 +00:00
Nathan Sidwell
d340e53fc3 typeck.c (build_compound_expr): If RHS is a TARGET_EXPR, put the compound expr inside the target's initializer.
cp:
	* typeck.c (build_compound_expr): If RHS is a TARGET_EXPR, put the
	compound expr inside the target's initializer.
testsuite:
	* g++.dg/opt/tmp1.C: New test.

From-SVN: r70042
2003-08-01 09:16:09 +00:00
Nathan Sidwell
f21e6028bf re PR c++/11525 (ICE/segfault on C++ code)
cp:
	PR c++/11525
	* parser.c (cp_parser_primary_expression): Do not set
	non-constant-p merely because it is a dependent scope.
testsuite:
	PR c++/11525
	* g++.dg/parse/constant4.C: New test.

From-SVN: r70041
2003-08-01 09:10:29 +00:00