1. 22 Sep, 2004 6 commits
  2. 21 Sep, 2004 34 commits
    • varasm.c (default_assemble_integer): Return false for values wider than the target word size. · a13fd905
      	* varasm.c (default_assemble_integer): Return false for values wider
      	than the target word size.  Works around GAS bug.
      
      From-SVN: r87827
      Paul Brook committed
    • natMethod.cc (_Jv_CallAnyMethodA): Indentation fix. · 3a3d0225
      	* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA):
      	Indentation fix.
      
      From-SVN: r87825
      Tom Tromey committed
    • parser.c (cp_lexer_peek_token, [...]): Don't handle CPP_PRAGMA tokens specially. · 36952dea
      	* parser.c (cp_lexer_peek_token, cp_lexer_consume_token):
      	Don't handle CPP_PRAGMA tokens specially.
      	(cp_lexer_handle_pragma): Use cp_lexer_consume_token.  Don't
      	purge the token; do clear token->value after processing.  Add
      	assertion at beginning that token->value is nonzero.
      	(cp_parser_statement, cp_parser_declaration_seq_opt): Handle
      	CPP_PRAGMA as a full statement or declaration in its own right.
      
      From-SVN: r87822
      Zack Weinberg committed
    • reg-notes.def (REG_DEP_TRUE): New entry, place first so it gets value 0. · 52c5701b
      	* reg-notes.def (REG_DEP_TRUE): New entry, place first so it
      	gets value 0.
      	* print-rtl.c (print_rtx): Print the name of a REG_NOTE even
      	if it has value 0.
      
      From-SVN: r87821
      Zack Weinberg committed
    • 2004-09-21 Michael Koch <konqueror@gmx.de> · 93880692
      	* java/net/Socket.java
      	(getLocalAddress): Return InetAddress.ANY_IF if not bound yet.
      
      From-SVN: r87817
      Michael Koch committed
    • MacSpi.java (clone): Provide meaningful implementation. · 448a698b
      2004-09-21  Casey Marshall  <csm@gnu.org>
      
      	* javax/crypto/MacSpi.java (clone): Provide meaningful
      	implementation.
      
      From-SVN: r87816
      Casey Marshall committed
    • Fix bootstrap. · e72222ac
      	* gjavah.c (free_method_name_list): Fix function definition so
      	it's a proper C prototype.
      
      From-SVN: r87815
      Matt Austern committed
    • re PR c++/15049 ([DR 278/132/216/338/389/319] global variables with anonymous types are legal) · 6bdb98d1
      PR c++/15049
      	* cp/decl.c (grokvardecl): Accept declarations of global variables
      	using anonymous types.
      	* testsuite/g++.dg/other/anon3.C: New.
      
      From-SVN: r87814
      Matt Austern committed
    • re PR libgcj/16869 (too long list of arguments in "make clean") · 34f87940
      	PR libgcj/16869:
      	* Makefile.in: Rebuilt.
      	* Makefile.am (MOSTLYCLEANFILES): Removed.
      	(mostlyclean-local): Remove header files.
      
      From-SVN: r87813
      Tom Tromey committed
    • re PR java/17575 (gcjh does not clear its function name cache between files) · b8b639c9
      	PR java/17575:
      	* gjavah.c (free_method_name_list): New method.
      	(main): Call it.
      
      From-SVN: r87812
      Tom Tromey committed
    • TreeMap.java (root): Don't initialize. · d23cb229
      2004-09-21  Mark Wielaard  <mark@klomp.org>
      
      	* java/util/TreeMap.java (root): Don't initialize.
      	(TreeMap(Comparator)): Call fabricateTree(0).
      	(fabricateTree): Initialize root and size when count is 0.
      
      From-SVN: r87811
      Mark Wielaard committed
    • re PR c++/7503 ((x < Y ? X : Y) used for assignment causes wrong code) · d211a298
      
      	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
      Roger Sayle committed
    • c-typeck.c (build_function_call): Give name of object we are attempting to call in error message. · f0c721ad
      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
      Daniel Berlin committed
    • cp-tree.h (struct lang_type_header): Remove uses_multiple_inheritance field. · 5775a06a
      	* 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
      Nathan Sidwell committed
    • decl.c (gnat_to_gnu_entity): Check for a dummy designated type via TYPE_MODE… · 2494e673
      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
      Olivier Hainque committed
    • decl.c (gnat_to_gnu_type, [...]): Wrap modular packed array types in both… · 910d20fc
      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
      Robert Dewar committed
    • 2004-09-21 Casey Marshall <csm@gnu.org> · f1b18462
      	* java/security/cert/X509CRLSelector.java:
      	(match): remove unreachable try-catch clauses.
      	Reported by: Dalibor Topic <robilad@kaffe.org>
      
      From-SVN: r87805
      Andreas Tobler committed
    • ByteBuffer.java (hashCode): Implemented. · 9413382e
      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
      Sven de Marothy committed
    • libgfortran.h: define gfc_alloca() · c6847e25
      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
      Steven G. Kargl committed
    • [multiple changes] · 936f1f06
      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
      Andreas Tobler committed
    • re PR libfortran/17286 (namelist containing more than one value cannot contain… · 77747e5f
      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
      Bud Davis committed
    • decl.c (reshape_init_array): Initialize max_index_cst to fix bootstrap failure. · b6ad178e
      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
      Andreas Tobler committed
    • PR libstdc++/12882 (cont) · dd5d134b
      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
      Paolo Carlini committed
    • X500Principal.java: Replaced with GNU Crypto's version. · fd375c53
      2004-09-21  Andreas Tobler  <a.tobler@schweiz.ch>
      
      	* javax/security/auth/x500/X500Principal.java: Replaced with GNU
      	Crypto's version.
      
      From-SVN: r87796
      Andreas Tobler committed
    • [multiple changes] · 6f5ce93b
      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
      Andreas Tobler committed
    • re PR rtl-optimization/17482 (GCSE after reload replacing changing instructions) · c93320c4
      	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
      Steven Bosscher committed
    • re PR rtl-optimization/17266 (Libgfortran doesn't build) · 15ee342b
      	PR rtl-optimization/17266
      	* regmove.c (optimize_reg_copy_3): Make a new SUBREG for each insn.
      
      From-SVN: r87793
      Eric Botcazou committed
    • re PR c++/17530 (failure to emit inline function) · 9b60dfd7
      	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
      Mark Mitchell committed
    • re PR rtl-optimization/14851 (suboptimal fp division with -ffast-math) · 79b82df3
              PR rtl-optimization/14851
              * rtlanal.c (commutative_operand_precedence): Calculate
              precedence of stripped constant.
      
      From-SVN: r87788
      Uros Bizjak committed
    • tree-ssanames.c (make_ssa_name): No longer need to clear, then initialize key elements here. · 6f2aec07
      
      	* 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
      Jeff Law committed
    • c-common.c (fix_string_type): Build the unqualified array type unconditionally... · c162c75e
      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
      Matt Austern committed
    • Makefile.in: Fix flags.h dependencies to be $(FLAGS_H). · 5cfa8766
      2004-09-20  Daniel Berlin  <dberlin@dberlin.org>
      
      	* Makefile.in: Fix flags.h dependencies to be $(FLAGS_H).
      
      From-SVN: r87785
      Daniel Berlin committed
    • Daily bump. · d6c0b27a
      From-SVN: r87783
      GCC Administrator committed
    • re PR middle-end/17126 (ICE with -fno-unit-at-a-time and -O3) · d21bede3
      	PR middle-end/17126
      	* tree-optimize.c (update_inlined_to_pointers): Fix the recursion.
      	(tree_rest_of_compilation): Cleanup.
      
      From-SVN: r87780
      Jan Hubicka committed