Commit Graph

61850 Commits

Author SHA1 Message Date
Roger Sayle
d211a298ce re PR c++/7503 ((x < Y ? X : Y) used for assignment causes wrong code)
PR c++/7503
	* tree.c (lvalue_p_1):  Disallow MIN_EXPR and MAX_EXPR as lvalues
	if either operand has side-effects.
	* typeck.c (rationalize_conditional_expr): Assert that neither
	operand of MIN_EXPR or MAX_EXPR has side-effects.
	(build_modify_expr):  Add support for MIN_EXPR and MAX_EXPR.
	Check that the "lhs" is a valid lvalue, i.e. that neither operand
	of a MIN_EXPR or MAX_EXPR has a side-effect.

	* g++.dg/opt/pr7503-1.C: New testcase for COND_EXPR lvalues.
	* g++.dg/opt/pr7503-2.C: New testcase for <? and >? lvalues.
	* g++.dg/opt/pr7503-3.C: New testcase for invalid <? lvalue errors.
	* g++.dg/opt/pr7503-4.C: New testcase for <?= and >?= assignments.
	* g++.dg/opt/pr7503-5.C: New testcase for side-effects with <?=.

From-SVN: r87810
2004-09-21 16:20:12 +00:00
Daniel Berlin
f0c721ad7c c-typeck.c (build_function_call): Give name of object we are attempting to call in error message.
2004-09-21  Daniel Berlin <dberlin@dberlin.org>

	* c-typeck.c (build_function_call): Give name of object
	we are attempting to call in error message.
	* c-objc-common.c (c_tree_printer): Call pp_expression,
	not return false, for 'E' case.

From-SVN: r87809
2004-09-21 15:42:44 +00:00
Nathan Sidwell
5775a06aa6 cp-tree.h (struct lang_type_header): Remove uses_multiple_inheritance field.
* cp-tree.h (struct lang_type_header): Remove
	uses_multiple_inheritance field.
	(TYPE_USES_MULTIPLE_INHERITANCE): Remove.
	(TYPE_BASE_CONVS_MAY_REQUIRE_CODE_P): Remove.
	(TYPE_USES_VIRTUAL_BASECLASSES): Remove.
	(DECL_NEEDS_VTT_PARM_P): Use CLASSTYPE_VBASECLASSES.
	(TYPE_CONTAINS_VPTR_P): Likewise.
	* call.c (add_template_candidate_real): Use
	CLASSTYPE_VBASECLASSES.
	(build_special_member_call): Likewise.
	* class.c (finish_struct_bits): Remove
	TYPE_BASE_CONVS_MAY_REQUIRE_CODE_P & TYPE_USES_VIRTUAL_BASECLASSES
	bookkeeping.
	(check_bases_and_members): Use TYPE_CONTAINS_VPTR_P.
	(create_vtable_ptr): Remove TYPE_BASE_CONVS_MAY_REQUIRE_CODE_P
	bookkeeping.
	(build_vtt_inits): Use CLASSTYPE_VBASECLASSES.
	(accumulate_vtbl_inits, build_vbase_offset_vtbl_entries):
	Likewise.
	* decl.c (xref_basetypes): Remove TYPE_USES_MULTIPLE_INHERITANCE,
	TYPE_BASE_CONVS_MAY_REQUIRE_CODE_P, TYPE_USES_VIRTUAL_BASECLASSES
	bookkeeping.
	(cxx_maybe_build_cleanup): Use CLASSTYPE_VBASECLASSES.
	* decl2.c (maybe_retrofit_in_chrg): Likewise.
	* init.c (expand_member, push_base_cleanups): Likewise.
	* pt.c (instantiate_class_template): Remove
	TYPE_USES_MULTIPLE_INHERITANCE,
	TYPE_BASE_CONVS_MAY_REQUIRE_CODE_P, TYPE_USES_VIRTUAL_BASECLASSES
	bookkeeping.
	* ptree.c (cxx_print_type): Remove TYPE_USES_MULTIPLE_INHERITANCE
	check.
	* typeck2.c (process_init_constructor): Replace some sorrys with
	asserts.

From-SVN: r87808
2004-09-21 15:39:00 +00:00
Olivier Hainque
2494e67370 decl.c (gnat_to_gnu_entity): Check for a dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P.
2004-09-21  Olivier Hainque  <hainque@act-europe.fr>

	* decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
	dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
	ensures proper handling of types with rep clauses, which might have
	their TYPE_SIZE set already.

From-SVN: r87807
2004-09-21 17:34:36 +02:00
Robert Dewar
910d20fcb8 decl.c (gnat_to_gnu_type, [...]): Wrap modular packed array types in both little- and big-endian cases.
2004-09-21  Robert Dewar  <dewar@gnat.com>

	* decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
	packed array types in both little- and big-endian cases. This change
	ensures that we no longer count on the unused bits being initialized
	for such types (and in particular ensures that equality testing will
	only read the relevant bits).
	Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
	These changes mean that we no longer need to initialize small packed
	arrays.
	(gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
	optimization to an LJM field as to its parent field.

	* ada-tree.h:, trans.c, utils.c, utils2.c:
	Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P

From-SVN: r87806
2004-09-21 17:31:03 +02:00
Andreas Tobler
f1b1846249 2004-09-21 Casey Marshall <csm@gnu.org>
* java/security/cert/X509CRLSelector.java:
	(match): remove unreachable try-catch clauses.
	Reported by: Dalibor Topic <robilad@kaffe.org>

From-SVN: r87805
2004-09-21 17:30:20 +02:00
Sven de Marothy
9413382eec ByteBuffer.java (hashCode): Implemented.
2004-09-21  Sven de Marothy <sven@physto.se>

	* java/nio/ByteBuffer.java (hashCode): Implemented.
	* java/nio/CharBuffer.java: Likewise.
	* java/nio/DoubleBuffer.java: Likewise.
	* java/nio/FloatBuffer.java: Likewise.
	* java/nio/LongBuffer.java: Likewise.
	* java/nio/IntBuffer.java: Likewise.
	* java/nio/ShortBuffer.java: Likewise.

From-SVN: r87804
2004-09-21 15:50:13 +02:00
Steven G. Kargl
c6847e25b9 libgfortran.h: define gfc_alloca()
2004-09-21  Steven G. Kargl  <kargls@comcast.net>

* libgfortran.h: define gfc_alloca()
* intrinsics/env.c (getenv, get_environment_variable_i4): Use it.

From-SVN: r87801
2004-09-21 14:38:34 +02:00
Andreas Tobler
936f1f0641 [multiple changes]
2004-09-21  Andreas Tobler  <a.tobler@schweiz.ch>

	* javax/security/auth/x500/X500Principal.java: Fix some merge glitches.

2004-09-21  Michael Koch  <konqueror@gmx.de>

	* javax/net/ssl/SSLServerSocket.java:
	Removed comment about "Do not edit this file, it's generated.".

From-SVN: r87800
2004-09-21 13:25:26 +02:00
Bud Davis
77747e5f2d re PR libfortran/17286 (namelist containing more than one value cannot contain whitespace or newlines for READ)
2004-09-21  Bud Davis  <bdavis9659@comcast.net>

        PR fortran/17286
        * io/list_read.c (namelist_read): ignore spaces after
        the '=' for namelist reads.

2004-09-21  Bud Davis  <bdavis9659@comcast.net>

        PR fortran/17286
        * gfortran.dg/pr17286.f90: New test.

From-SVN: r87799
2004-09-21 11:22:47 +00:00
Andreas Tobler
b6ad178e2e decl.c (reshape_init_array): Initialize max_index_cst to fix bootstrap failure.
2004-09-21  Andreas Tobler  <a.tobler@schweiz.ch>

	* decl.c (reshape_init_array): Initialize max_index_cst to fix
	bootstrap failure.

From-SVN: r87798
2004-09-21 11:22:00 +02:00
Paolo Carlini
dd5d134bc9 PR libstdc++/12882 (cont)
2004-09-21  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/12882 (cont)
	* acinclude.m4 (GLIBCXX_CHECK_LFS): Check for fstat64 too.
	* configure: Regenerate.
	* config/io/basic_file_stdio.cc (__basic_file<>::showmanyc): When
	_GLIBCXX_USE_LFS use fstat64 and lseek64, thus providing a non
	trivial showmanyc for large files too.

From-SVN: r87797
2004-09-21 09:06:08 +00:00
Andreas Tobler
fd375c5381 X500Principal.java: Replaced with GNU Crypto's version.
2004-09-21  Andreas Tobler  <a.tobler@schweiz.ch>

	* javax/security/auth/x500/X500Principal.java: Replaced with GNU
	Crypto's version.

From-SVN: r87796
2004-09-21 10:35:11 +02:00
Andreas Tobler
6f5ce93bab [multiple changes]
2004-09-21  Andreas Tobler  <a.tobler@schweiz.ch>

	Import the big Crypto/Jessie/Security merge from Classpath.

	* Makefile.am: Add imported files.
	* Makefile.in: Regenerate.

	2004-08-14  Casey Marshall <csm@gnu.org>

	The Big Crypto Merge of 2004.

	* javax/security/auth/x500/X500Principal.java: Replaced with GNU
	Crypto's version.

	Files imported from GNU Crypto.
	* javax/crypto/BadPaddingException.java
	* javax/crypto/Cipher.java
	* javax/crypto/CipherInputStream.java
	* javax/crypto/CipherOutputStream.java
	* javax/crypto/CipherSpi.java
	* javax/crypto/EncryptedPrivateKeyInfo.java
	* javax/crypto/ExemptionMechanism.java
	* javax/crypto/ExemptionMechanismException.java
	* javax/crypto/ExemptionMechanismSpi.java
	* javax/crypto/IllegalBlockSizeException.java
	* javax/crypto/KeyAgreement.java
	* javax/crypto/KeyAgreementSpi.java
	* javax/crypto/KeyGenerator.java
	* javax/crypto/KeyGeneratorSpi.java
	* javax/crypto/Mac.java
	* javax/crypto/MacSpi.java
	* javax/crypto/Makefile.am
	* javax/crypto/NoSuchPaddingException.java
	* javax/crypto/NullCipher.java
	* javax/crypto/NullCipherImpl.java
	* javax/crypto/SealedObject.java
	* javax/crypto/SecretKey.java
	* javax/crypto/SecretKeyFactory.java
	* javax/crypto/SecretKeyFactorySpi.java
	* javax/crypto/ShortBufferException.java
	* javax/crypto/interfaces/DHKey.java
	* javax/crypto/interfaces/DHPrivateKey.java
	* javax/crypto/interfaces/DHPublicKey.java
	* javax/crypto/interfaces/PBEKey.java
	* javax/crypto/spec/DESKeySpec.java
	* javax/crypto/spec/DESedeKeySpec.java
	* javax/crypto/spec/DHGenParameterSpec.java
	* javax/crypto/spec/DHParameterSpec.java
	* javax/crypto/spec/DHPrivateKeySpec.java
	* javax/crypto/spec/DHPublicKeySpec.java
	* javax/crypto/spec/IvParameterSpec.java
	* javax/crypto/spec/PBEKeySpec.java
	* javax/crypto/spec/PBEParameterSpec.java
	* javax/crypto/spec/RC2ParameterSpec.java
	* javax/crypto/spec/RC5ParameterSpec.java
	* javax/crypto/spec/SecretKeySpec.java
	* javax/security/auth/AuthPermission.java
	* javax/security/auth/DestroyFailedException.java
	* javax/security/auth/Destroyable.java
	* javax/security/auth/Policy.java
	* javax/security/auth/PrivateCredentialPermission.java
	* javax/security/auth/RefreshFailedException.java
	* javax/security/auth/Refreshable.java
	* javax/security/auth/Subject.java
	* javax/security/auth/SubjectDomainCombiner.java
	* javax/security/auth/callback/Callback.java
	* javax/security/auth/callback/CallbackHandler.java
	* javax/security/auth/callback/ChoiceCallback.java
	* javax/security/auth/callback/ConfirmationCallback.java
	* javax/security/auth/callback/LanguageCallback.java
	* javax/security/auth/callback/NameCallback.java
	* javax/security/auth/callback/PasswordCallback.java
	* javax/security/auth/callback/TextInputCallback.java
	* javax/security/auth/callback/TextOutputCallback.java
	* javax/security/auth/callback/UnsupportedCallbackException.java
	* javax/security/auth/login/AccountExpiredException.java
	* javax/security/auth/login/AppConfigurationEntry.java
	* javax/security/auth/login/Configuration.java
	* javax/security/auth/login/CredentialExpiredException.java
	* javax/security/auth/login/FailedLoginException.java
	* javax/security/auth/login/LoginContext.java
	* javax/security/auth/login/LoginException.java
	* javax/security/auth/login/NullConfiguration.java
	* javax/security/auth/x500/X500PrivateCredential.java
	* javax/security/sasl/AuthenticationException.java
	* javax/security/sasl/AuthorizeCallback.java
	* javax/security/sasl/RealmCallback.java
	* javax/security/sasl/RealmChoiceCallback.java
	* javax/security/sasl/Sasl.java
	* javax/security/sasl/SaslClient.java
	* javax/security/sasl/SaslClientFactory.java
	* javax/security/sasl/SaslException.java
	* javax/security/sasl/SaslServer.java
	* javax/security/sasl/SaslServerFactory.java
	* org/ietf/jgss/ChannelBinding.java
	* org/ietf/jgss/GSSContext.java
	* org/ietf/jgss/GSSCredential.java
	* org/ietf/jgss/GSSException.java
	* org/ietf/jgss/GSSManager.java
	* org/ietf/jgss/GSSName.java
	* org/ietf/jgss/MessageProp.java
	* org/ietf/jgss/Oid.java
	* org/ietf/jgss/MessagesBundle.properties

	Files imported from Jessie <http://www.nongnu.org/jessie/>
	* javax/net/ServerSocketFactory.java
	* javax/net/SocketFactory.java
	* javax/net/VanillaServerSocketFactory.java
	* javax/net/VanillaSocketFactory.java
	* javax/net/ssl/HandshakeCompletedEvent.java
	* javax/net/ssl/HandshakeCompletedListener.java
	* javax/net/ssl/HostnameVerifier.java
	* javax/net/ssl/HttpsURLConnection.java
	* javax/net/ssl/KeyManager.java
	* javax/net/ssl/KeyManagerFactory.java
	* javax/net/ssl/KeyManagerFactorySpi.java
	* javax/net/ssl/ManagerFactoryParameters.java
	* javax/net/ssl/SSLContext.java
	* javax/net/ssl/SSLContextSpi.java
	* javax/net/ssl/SSLException.java
	* javax/net/ssl/SSLHandshakeException.java
	* javax/net/ssl/SSLKeyException.java
	* javax/net/ssl/SSLPeerUnverifiedException.java
	* javax/net/ssl/SSLPermission.java
	* javax/net/ssl/SSLProtocolException.java
	* javax/net/ssl/SSLServerSocket.java
	* javax/net/ssl/SSLServerSocketFactory.java
	* javax/net/ssl/SSLSession.java
	* javax/net/ssl/SSLSessionBindingEvent.java
	* javax/net/ssl/SSLSessionBindingListener.java
	* javax/net/ssl/SSLSessionContext.java
	* javax/net/ssl/SSLSocket.java
	* javax/net/ssl/SSLSocketFactory.java
	* javax/net/ssl/TrivialHostnameVerifier.java
	* javax/net/ssl/TrustManager.java
	* javax/net/ssl/TrustManagerFactory.java
	* javax/net/ssl/TrustManagerFactorySpi.java
	* javax/net/ssl/X509KeyManager.java
	* javax/net/ssl/X509TrustManager.java
	* javax/security/cert/Certificate.java
	* javax/security/cert/CertificateEncodingException.java
	* javax/security/cert/CertificateException.java
	* javax/security/cert/CertificateExpiredException.java
	* javax/security/cert/CertificateNotYetValidException.java
	* javax/security/cert/CertificateParsingException.java
	* javax/security/cert/X509CertBridge.java
	* javax/security/cert/X509Certificate.java

	2004-08-20  Casey Marshall  <csm@gnu.org>

	* java/security/cert/X509CRLSelector.java: New file.
	* java/security/cert/X509CertSelector.java: New file.

From-SVN: r87795
2004-09-21 10:33:35 +02:00
Steven Bosscher
c93320c457 re PR rtl-optimization/17482 (GCSE after reload replacing changing instructions)
PR rtl-optimization/17482
	* postreload-gcse.c (reg_avail_info, oprs_unchanged_p,
	load_killed_in_block_p): Clarify comments.
	(record_last_reg_set_info): Make static inline.
	(mark_call, mark_set, mark_clobber, mark_oprs_set): Remove.
	(record_opr_changes): New function to replace the above.
	(compute_hash_table): Clarify comments.  Use record_opr_changes.
	(reg_set_between_after_reload_p): Clean up.
	(reg_used_between_after_reload_p): Likewise.
	(eliminate_partially_redundant_load): Clarify comments.

From-SVN: r87794
2004-09-21 07:48:29 +00:00
Eric Botcazou
15ee342b73 re PR rtl-optimization/17266 (Libgfortran doesn't build)
PR rtl-optimization/17266
	* regmove.c (optimize_reg_copy_3): Make a new SUBREG for each insn.

From-SVN: r87793
2004-09-21 05:57:55 +00:00
Mark Mitchell
9b60dfd716 re PR c++/17530 (failure to emit inline function)
PR c++/17530
	* pt.c (tsubst): Fix parentheses to accomodate emacs.
	(tsubst_baselink): If we get a single function, mark it as used.

	PR c++/17530
	* g++.dg/template/static7.C: New test.

From-SVN: r87791
2004-09-21 05:44:10 +00:00
Uros Bizjak
79b82df36c re PR rtl-optimization/14851 (suboptimal fp division with -ffast-math)
PR rtl-optimization/14851
        * rtlanal.c (commutative_operand_precedence): Calculate
        precedence of stripped constant.

From-SVN: r87788
2004-09-21 07:10:54 +02:00
Jeff Law
6f2aec072e tree-ssanames.c (make_ssa_name): No longer need to clear, then initialize key elements here.
* tree-ssanames.c (make_ssa_name): No longer need to clear, then
	initialize key elements here.
	(release_ssa_name): Zero the released SSA_NAME here.
	* tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): New macros.
	(struct tree_ssa_name): Add new "equiv" field.
	* tree-ssa-dom.c (const_and_copies): Kill the global varray.
	(tree_ssa_dominator_optimize): No longer allocate, resize or
	clear CONST_AND_COPIES.
	(get_value_for, set_value_for): Kill.
	(thread_across_edge): Get/set the equivalency using
	SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
	(restore_vars_to_original_value): Likewise.
	(record_equivalences_from_phis): Likewise.
	(record_dominating_conditions): Likewise.
	(record_const_or_copy, record_equality): Likewise.
	(lookup_avail_expr): Likewise.
	(record_equivalences_from_stmt, cprop_operand): Likewise.
	(cprop_into_successor_phis): No longer need to pass around
	CONST_AND_COPIES.  Callers updated. Get equivalences via
	SSA_NAME_EQUIV.
	(cprop_into_phis): Likewise.

Co-Authored-By: Jan Hubicka <jh@suse.cz>

From-SVN: r87787
2004-09-20 21:19:00 -06:00
Matt Austern
c162c75e43 c-common.c (fix_string_type): Build the unqualified array type unconditionally...
2004-09-20  Matt Austern <austern@apple.com>
	    Zack Weinberg  <zack@codesourcery.com>

	* c-common.c (fix_string_type): Build the unqualified array
	type unconditionally, then use c_build_qualified_type to get
	the proper const-qualified variant, and set its
	TYPE_MAIN_VARIANT to refer to the unqualified type.
	* c-lex.c (c_lex_return_raw_string): New global.
	(c_lex_with_flags): Honor it.
	* c-pragma.h: Declare it.

cp:
	* decl.c (make_rtl_for_nonlocal_decl, start_preparsed_function):
	Apply lbasename to input_filename before passing to get_fileinfo.
	* semantics.c (begin_class_definition): Likewise.
	* lex.c (handle_pragma_interface): Apply get_fileinfo to the
	correct filename.  Rename variables to be less confusing.
	(handle_pragma_implementation): Likewise.  Disable "appears
	after file is included" diagnostic.

	* parser.c (struct cp_token): Add in_system_header fiag.
	(CP_TOKEN_BLOCK_NUM_TOKENS, struct cp_token_block)
	(CP_TOKEN_BUFFER_SIZE, cp_token_cache_push_token)
	(CPP_NONE, cp_lexer_read_token): Delete.
	(struct cp_lexer): Remove first_token, string_tokens,
	main_lexer_p fields.  Clarify comments.
	(struct cp_token_cache): Now just a pair of pointers.
	(CP_LEXER_BUFFER_SIZE): New #define.
	(CPP_PURGED): New fake token type.
	(cp_lexer_new_from_token_array, cp_lexer_destroy)
	(cp_lexer_peek_token_emit_debug_info, cp_lexer_skip_purged_tokens)
	(cp_lexer_handle_pragma, cp_token_cache_new, cp_parser_string_literal):
	New functions.
	(cp_lexer_new_from_tokens): Now a simple wrapper around
	cp_lexer_new_from_token_array.
	(cp_lexer_set_source_position_from_token): Also update
	in_system_header.
	(cp_lexer_next_token, cp_lexer_prev_token, cp_lexer_advance_token):
	Don't wrap round.
	(cp_lexer_token_difference): Dont handle wrapping round.
	(cp_lexer_new_main): Enable pragma deferral and raw strings,
	read the entire translation unit through c_lex_with_flags into
	this lexer's buffer, then turn raw strings back off again.
	(cp_lexer_grow_buffer): Adjust for buffer no longer being circular.
	(cp_lexer_get_preprocessor_token): No need to handle not being
	the main lexer.  Set token->in_system_header too.
	(cp_lexer_peek_token): Skip purged tokens.  Feed pragma tokens
	to cp_lexer_handle_pragma.  No need to call cp_lexer_read_token.
	(cp_lexer_peek_nth_token): Likewise.
	(cp_lexer_purge_token): Mark the token PURGED, don't shift all
	the other tokens down.
	(cp_lexer_purge_tokens_after): Likewise.
	(cp_lexer_save_tokens, cp_lexer_rollback_tokens): Don't worry
	about there being no tokens.
	(cp_lexer_print_token): Revise to give useful information on
	all tokens.
	(struct cp_parser): Add field translate_strings_p.
	(cp_parser_new): Initialize it.
	(cp_parser_translation_unit): Destroy the lexer when done.
	(cp_parser_parameter_declaration): Restructure saving of
	default arguments.
	(cp_parser_save_member_function_body): Likewise.
	(cp_parser_check_for_invalid_template_id)
	(cp_parser_nested_name_specifier_opt, cp_parser_template_id):
	Adjust calls to cp_lexer_advance_token.
	(cp_parser_skip_to_closing_parenthesis, cp_parser_declaration):
	No need to fiddle c_lex_string_translate.
	(cp_parser_primary_expression, cp_parser_linkage_specification)
	(cp_parser_asm_definition, cp_parser_asm_specification_opt)
	(cp_parser_asm_operand_list, cp_parser_asm_clobber_list)
	Use cp_parser_string_literal.
	(cp_parser_attribute_list): Save and restore
	parser->translate_strings_p, not c_lex_string_translate.
	(cp_parser_cache_group): Delete.
	(cp_parser_cache_group_1): Rename cp_parser_cache_group.  Do
	not take a cache argument.

From-SVN: r87786
2004-09-21 02:22:45 +00:00
Daniel Berlin
5cfa876635 Makefile.in: Fix flags.h dependencies to be $(FLAGS_H).
2004-09-20  Daniel Berlin  <dberlin@dberlin.org>

	* Makefile.in: Fix flags.h dependencies to be $(FLAGS_H).

From-SVN: r87785
2004-09-21 01:00:11 +00:00
GCC Administrator
d6c0b27afa Daily bump.
From-SVN: r87783
2004-09-21 00:16:13 +00:00
Jan Hubicka
d21bede3c1 re PR middle-end/17126 (ICE with -fno-unit-at-a-time and -O3)
PR middle-end/17126
	* tree-optimize.c (update_inlined_to_pointers): Fix the recursion.
	(tree_rest_of_compilation): Cleanup.

From-SVN: r87780
2004-09-21 00:08:53 +00:00
Ulrich Weigand
37337e55bf s390.c (s390_select_rtx_section): Remove.
* config/s390/s390.c (s390_select_rtx_section): Remove.
	(TARGET_ASM_SELECT_RTX_SECTION): Do not redefine.

From-SVN: r87779
2004-09-20 23:42:00 +00:00
Kaz Kojima
455786b6c7 sh.c (sh_expand_prologue): Add a REG_FRAME_RELATED_EXPR note to pretend a direct save from the original...
* config/sh/sh.c (sh_expand_prologue): Add a REG_FRAME_RELATED_EXPR
	note to pretend a direct save from the original register when an
	intermediate register is used for the save.

From-SVN: r87778
2004-09-20 23:10:00 +00:00
Giovanni Bajo
3d142be23b re PR c++/14179 (out of memory while parsing array with many initializers)
PR c++/14179
	* decl.c (reshape_init): Extract array handling into...
	(reshape_init_array): New function. Use integers instead of trees
	for indices. Handle out-of-range designated initializers.

From-SVN: r87777
2004-09-20 23:05:40 +00:00
Kaveh R. Ghazi
2c82eecc78 tsystem.h (alloca): Provide a default definition.
* tsystem.h (alloca): Provide a default definition.

	Revert:
	2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
	    * unwind-dw2.c: Call __builtin_alloca, not alloca.

From-SVN: r87775
2004-09-20 22:23:12 +00:00
Steven Bosscher
d3907cc356 lex.c (cxx_init): Don't set the ridpointer for RID_NULL to null_node.
* lex.c (cxx_init): Don't set the ridpointer for RID_NULL
	to null_node.

From-SVN: r87774
2004-09-20 21:03:56 +00:00
Andrew Pinski
4c9d875031 re PR tree-optimization/17558 (internal compiler error: in merge_alias_info, at tree-ssa-copy.c:182)
2004-09-20  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/17558
        * gcc.c-torture/compile/pr17558.c: New test.

From-SVN: r87773
2004-09-20 13:58:23 -07:00
Andrew Pinski
b1940f0c23 re PR tree-optimization/17558 (internal compiler error: in merge_alias_info, at tree-ssa-copy.c:182)
2004-09-20  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/17558
        * tree-ssa-copy.c (may_propagate_copy): Only allow if the
        aliasing sets are the same rather than just conflicting.

From-SVN: r87772
2004-09-20 13:53:08 -07:00
Jan Hubicka
1a94c545f0 cgraph.c (cgraph_unnest_node): New function.
* cgraph.c (cgraph_unnest_node): New function.
	(c_finalize): Rename to ....
	(c_warn_unused_result_recursivly): ... this one; do only the warning
	(finish_function): Finalize the toplevel function; do not lower nested tree.
	* cgraph.h (cgraph_unnest_node): Declare.
	* cgraphunit.c (decide_is_function_needed): Do not use cgraph
	nestedness datastructure.
	* cse.c (cse_insn): Do not cprop nonlocal LABEL_REFs.
	* reload1.c (set_label_offsets): Fix call of set_label_offsets.
	* tree-nested.c (finlize_nesting_tree_1):  Use un-nesting code.

From-SVN: r87771
2004-09-20 20:41:20 +00:00
Jan Hubicka
8f2353433c re PR middle-end/16460 (ICE when compiling glibc (ld-ctype.c))
PR middle-end/16460

	* cgraph.c (cgraph_unnest_node): New function.
	(c_finalize): Rename to ....
	(c_warn_unused_result_recursivly): ... this one; do only the warning
	(finish_function): Finalize the toplevel function; do not lower nested tree.
	* cgraph.h (cgraph_unnest_node): Declare.
	* cgraphunit.c (decide_is_function_needed): Do not use cgraph
	nestedness datastructure.
	* cse.c (cse_insn): Do not cprop nonlocal LABEL_REFs.
	* reload1.c (set_label_offsets): Fix call of set_label_offsets.
	* tree-nested.c (finlize_nesting_tree_1):  Use un-nesting code.

	* utils.c (gnat_finalize): Remove.
	(end_subprog_body): Directly call cgraph_finalize_function;
	do not lower the nested functions.

	* trans-decl.c (build_entry_thunks): Finalize the function; do not lower
	tree.
	(gfc_generate_function_code): Likewise.

From-SVN: r87770
2004-09-20 20:38:29 +00:00
Richard Henderson
04161e2bde alpha.c (some_small_symbolic_operand_int): Rename from some_small_symbolic_operand_1; export.
* config/alpha/alpha.c (some_small_symbolic_operand_int): Rename
        from some_small_symbolic_operand_1; export.
        (some_small_symbolic_operand): Remove.
        * config/alpha/alpha.md (some_small_symbolic_operand splitter): Remove
        extra C check.
        * config/alpha/predicates.md (some_small_symbolic_operand): New.

From-SVN: r87769
2004-09-20 13:13:39 -07:00
Jan Hubicka
bb033fd806 predict.c (return_prediction): New function.
* predict.c (return_prediction): New function.
	(apply_return_prediction): Likewise.
	(tree_bb_level_predictions): Likewise.
	(tree_estimate_probability): Add noreturn exit edges; call
	bb_level_predictions; fix logic of return heuristics.
	(predict_paths_leading_to):  Rescuesce from old CVS version of
	process_note_prediction function.
	* predict.def (PRED_TREE_EARLY_RETURN): New predictor.

From-SVN: r87768
2004-09-20 18:43:30 +00:00
Richard Sandiford
348f5701fc sdata-section.h (SDATA_SECTION): Don't use an attribute if SKIP_ATTRIBUTE is defined.
* gcc.dg/compat/sdata-section.h (SDATA_SECTION): Don't use an attribute
	if SKIP_ATTRIBUTE is defined.

From-SVN: r87766
2004-09-20 18:02:53 +00:00
Andreas Krebbel
ea50629789 s390.c (s390_frame_info): Added alignment statement for floating point register area on stack.
2004-09-20  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.c (s390_frame_info): Added alignment statement for
	floating point register area on stack.

From-SVN: r87765
2004-09-20 17:25:39 +00:00
Tobias Schlüter
da89fba81f re PR fortran/15957 (Error in array assignments; 'shape'-related stuff)
fortran/
PR fortran/15957
* simplify.c (gfc_simplify_reshape): Set shape of return value
correctly.

testsuite/
PR fortran/15957
* gfortran.dg/pr15957.f90: New test.

From-SVN: r87764
2004-09-20 19:22:50 +02:00
Jakub Jelinek
096759ebec * predict.c (expr_expected_value): Use *_CLASS_P macros.
From-SVN: r87763
2004-09-20 18:56:12 +02:00
Dorit Naishlos
1cdcb2cfd1 vect-74.c: Avoid floating point precision error in comparison.
* gcc.dg/vect/vect-74.c: Avoid floating point precision error
        in comparison.
        * gcc.dg/vect/vect-79.c: Likewise.
        * gcc.dg/vect/vect-80.c: Likewise.

From-SVN: r87762
2004-09-20 16:26:24 +00:00
Daniel Berlin
d6fd4b8d11 tree-ssa-pre.c (compute_antic_aux): Use malloc'd worklist, to avoid generating useless garbage.
2004-09-20  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-pre.c (compute_antic_aux): Use malloc'd worklist, to avoid
	generating useless garbage.

From-SVN: r87760
2004-09-20 15:45:21 +00:00
Paolo Bonzini
c2dda19b3b builtins.c (fold_builtin): Call the new omonymous target hook for machine-dependent built-ins.
2004-09-20  Paolo Bonzini  <bonzini@gnu.org>

	* builtins.c (fold_builtin): Call the new omonymous
	target hook for machine-dependent built-ins.
	* target-def.h (TARGET_FOLD_BUILTIN): New.
	* target.h (struct gcc_target): Add the fold_builtin hook.
	* targhooks.c (default_fold_builtin): New.
	* targhooks.h (default_fold_builtin): Declare it.

From-SVN: r87756
2004-09-20 14:47:20 +00:00
Robert Dewar
bb9be5eb9c re PR ada/17540 (Duplicate symbols while building Ada)
2004-09-20  Robert Dewar  <dewar@gnat.com>

	PR ada/17540

	* freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
	if an address clause is present, since that means that the Import
	should be ignored.

From-SVN: r87755
2004-09-20 14:07:47 +02:00
Kazu Hirata
d4a9b3a336 cfg.c, [...]: Fix comment typos.
* cfg.c, tree-ssa-threadupdate.c, tree-vectorizer.c: Fix
	comment typos.

From-SVN: r87753
2004-09-20 11:17:22 +00:00
Tobias Schlüter
b898b8d923 re PR fortran/15750 (IOLENGTH form of INQUIRE statement not implemented)
PR fortran/15750
* gfortran.fortran-torture/execute/iolength_2.f90: New test.

From-SVN: r87752
2004-09-20 13:09:47 +02:00
Arnaud Charlet
796ef2e2d5 * 5tsystem.ads: Removed, no longer used.
From-SVN: r87751
2004-09-20 10:43:00 +02:00
Ira Rosen
479b66524f vect-13.c: Added xfail for non ppc platforms.
2004-09-20  Ira Rosen  <irar@il.ibm.com>

        * gcc.dg/vect/vect-13.c: Added xfail for non ppc platforms.
        * gcc.dg/vect/vect-74.c: Split into 3 tests (vect-79.c, vect-80.c).
        * gcc.dg/vect/vect-62.c: New testcase.
        * gcc.dg/vect/vect-63.c: New testcase.
        * gcc.dg/vect/vect-64.c: New testcase.
        * gcc.dg/vect/vect-65.c: New testcase.
        * gcc.dg/vect/vect-66.c: New testcase.
        * gcc.dg/vect/vect-67.c: New testcase.
        * gcc.dg/vect/vect-68.c: New testcase.
        * gcc.dg/vect/vect-69.c: New testcase.
        * gcc.dg/vect/vect-79.c: New testcase.
        * gcc.dg/vect/vect-80.c: New testcase.

From-SVN: r87745
2004-09-20 07:17:06 +00:00
Richard Sandiford
073cbad3bb re PR target/17565 ([3.3 only] asms in delay slots)
PR target/17565
	* config/mips/mips.md (define_asm_attributes): Set can_delay to no.

From-SVN: r87744
2004-09-20 06:54:52 +00:00
Roger Sayle
95c53c62a0 mh-x86omitfp: New host makefile fragment.
* config/mh-x86omitfp: New host makefile fragment.  Add
	-fomit-frame-pointer to the default BOOT_CFLAGS.
	* configure.in: Use it to speed up bootstrap on some IA-32 hosts.
	* configure: Regenerate.

From-SVN: r87741
2004-09-20 00:58:42 +00:00
GCC Administrator
82b0258299 Daily bump.
From-SVN: r87739
2004-09-20 00:16:14 +00:00
Jan Hubicka
58016611d8 * predict.c (estimate_probability): Remove unnecesary code.
From-SVN: r87736
2004-09-20 00:05:38 +00:00