Stephane Carrez [Sun, 7 Mar 2004 21:01:26 +0000 (22:01 +0100)]
m68hc11.md ("*lshrsi3_const"): Disable for 68HC12.
* config/m68hc11/m68hc11.md ("*lshrsi3_const"): Disable for 68HC12.
("*lshrsi3"): Also accept an immediate for 68HC12.
("*ashrsi3_const"): Likewise.
("*ashrsi3"): Likewise.
("*ashlsi3_const"): Likewise.
("*ashlsi3"): Likewise.
("cmphi_1_hc12"): Compare two hard register by pushing them and
comparing with a pop; don't use a split for that.
("cmphi split"): Disable compare split for 68HC12.
* config/m68hc11/m68hc11.c (m68hc11_notice_update_cc): Invalidate
the status operands if they have side effects.
Stephane Carrez [Sun, 7 Mar 2004 10:00:30 +0000 (11:00 +0100)]
m68hc11.c (m68hc11_gen_movhi): Use 2,-sp to push the stack register.
* config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Use 2,-sp to push
the stack register.
(expand_prologue): Don't make an interrupt or a trap handler a far
symbol.
(m68hc11_initial_elimination_offset): Likewise.
Benjamin Kosnik [Sun, 7 Mar 2004 01:32:43 +0000 (01:32 +0000)]
re PR libstdc++/12658 (Thread safety problems in locale::global() and locale::locale())
2004-03-06 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/12658
* src/locale_init.cc (locale::locale): Lock critical regions with
external mutexes.
(locale::global): Same.
* include/bits/concurrence.h (__glibcxx_mutex_define_initialized):
Add in once bits for cases without __GTHREAD_MUTEX_INIT.
(__glibcxx_mutex_lock): Same.
* config/cpu/generic/atomicity.h: Remove
_GLIBCXX_NEED_GENERIC_MUTEX, use concurrence.h.
* src/misc-inst.cc: Move all locking bits out of this file.
David Edelsohn [Sat, 6 Mar 2004 20:49:30 +0000 (20:49 +0000)]
collect2.c (main): Only export initfunc and finifunc if LD_INIT_SWITCH not defined.
* collect2.c (main): Only export initfunc and finifunc if
LD_INIT_SWITCH not defined.
(scan_prog_file): Only export constructors and destructors if
LD_INIT_SWITCH not defined. Only export symbols not found in
shared objects.
pa.md (icacheflush): Reorder operands to make match_scratch operand last.
* pa.md (icacheflush): Reorder operands to make match_scratch operand
last.
* pa.h (INITIALIZE_TRAMPOLINE): Remove unnecessary scratch argument
from calls to gen_icacheflush.
Ziemowit Laski [Sat, 6 Mar 2004 00:26:42 +0000 (00:26 +0000)]
objc-act.c (synth_module_prologue): Const-qualify objc_selector type if using the GNU runtime...
[gcc/ChangeLog]
2004-03-05 Ziemowit Laski <zlaski@apple.com>
* objc/objc-act.c (synth_module_prologue): Const-qualify
objc_selector type if using the GNU runtime; fix generated
signatures for objc_msg_lookup and objc_msg_lookup_super
to match what GNU ObjC headers provide; reformat and clean up.
(synth_self_and_ucmd_args): Use previously constructed (and
hence possibly const-qualified) objc_selector type.
* config/xtensa/xtensa.c (function_arg): Handle 16-byte aligned args.
(xtensa_va_start): Initialize __va_stk to ($arg_ptr - 32). Adjust
__va_ndx by 2 words when referencing an argument on the stack.
(xtensa_va_arg): Handle 16-byte aligned args. Adjust __va_ndx by 2
words when an arg on the stack is first seen.
Ziemowit Laski [Fri, 5 Mar 2004 21:06:57 +0000 (21:06 +0000)]
hash.h (hash_string, [...]): Add type-casts to make Objective-C++ happy.
2004-03-05 Ziemowit Laski <zlaski@apple.com>
* objc/hash.h (hash_string, compare_strings):
Add type-casts to make Objective-C++ happy.
* objc/typedstream.h (objc_get_stream_class_version):
Rename parameter from 'class' to 'class_name' to make
Objective-C++ happy.
configure.ac: When passing --enable-languages to subdir configure when host != build...
* configure.ac: When passing --enable-languages to subdir
configure when host != build, make sure we don't pass an empty
value.
* configure: Regenerate.
* sinfo.ads: Remove obsolete comment on validate unchecked conversion
node. We now do generate them for gcc back end.
* table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
warning.
* sinput-c.adb: Fix bad name in header.
Add pragma Warnings Off to suppress aliasing warning.
* sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
* snames.h, snames.ads, snames.adb: Add entry for pragma
No_Strict_Aliasing.
2004-03-05 Vincent Celier <celier@gnat.com>
* prj-com.ads: Add hash table Files_Htable to check when a file name
is already a source of another project.
* prj-nmsc.adb (Record_Source): Before recording a new source, check
if its file name is not already a source of another project. Report an
error if it is.
* gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
source file name, call gnatpp with all the sources of the main project.
* vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
of file names.
* vms_data.ads: Correct documentation of new /OPTIMIZE keyword
NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
/RUNTIME_SYSTEM=, converted to --RTS=
/NOTABS, converted to -notabs
2004-03-05 Pascal Obry <obry@gnat.com>
* make.adb: Minor reformatting.
2004-03-05 Ed Schonberg <schonberg@gnat.com>
Part of implemention of AI-262.
* par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
* sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
procedure.
* sem_ch3.adb (Analyze_Component_Declaration): Improve error message
when component type is a partially constrained class-wide subtype.
(Constrain_Discriminated_Type): If parent type has unknown
discriminants, a constraint is illegal, even if full view has
discriminants.
(Build_Derived_Record_Type): Inherit discriminants when deriving a type
with unknown discriminants whose full view is a discriminated record.
* sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
flag, to handle properly derivations of tagged types with unknown
discriminants.
(Analyze_Package_Spec, Analyze_Package_Body): Install
Private_With_Clauses before analyzing private part or body.
* einfo.ads: Indicate that both Has_Unknown_Discriminants and
Has_Discriminants can be true for a given type (documentation).
2004-03-05 Arnaud Charlet <charlet@act-europe.fr>
* s-restri.ads: Fix license (GPL->GMGPL).
* s-tassta.adb: Minor reformatting.
* s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
by calls to Exit_One_ATC_Level, since additional clean up is performed
by this function.
* s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
by calls to Exit_One_ATC_Level, since additional clean up is performed
by this function.
Paolo Bonzini [Fri, 5 Mar 2004 10:17:40 +0000 (10:17 +0000)]
cse.c (cse_end_of_basic_block): Make static.
2004-02-18 Paolo Bonzini <bonzini@gnu.org>
* cse.c (cse_end_of_basic_block): Make static.
* local-alloc.c (function_invariant_p): Move to
reload1.c.
* loop.c (libcall_other_reg, record_excess_regs):
Make static.
* reload1.c (function_invariant_p): Moved here
from local-alloc.c, made static.
* rtl.h (cse_end_of_basic_block, function_invariant_p,
libcall_other_reg, record_excess_regs): Remove
declarations.
ggc-common.c (gt_pch_restore): Don't unmap addr unless we are going to call mmap again.
* ggc-common.c (gt_pch_restore): Don't unmap addr unless we are
going to call mmap again. Read the file into the right place.
Give a fatal error if we have to relocate.
Forgot to mark PR for <URL:http://gcc.gnu.org/ml/gcc-cvs/2004-03/msg00237.html>
PR other/14354
* config/fp-bit.c (_fpdiv_parts): Do not round when pack_d would
round the same. When rounding, clear bits that would cause a
second rounding in pack_d.
(_fpmul_parts): Ditto. Remove #if 0:d code.
fp-bit.c (_fpdiv_parts): Do not round when pack_d would round the same.
* config/fp-bit.c (_fpdiv_parts): Do not round when pack_d would
round the same. When rounding, clear bits that would cause a
second rounding in pack_d.
(_fpmul_parts): Ditto. Remove #if 0:d code.
Ziemowit Laski [Thu, 4 Mar 2004 23:19:29 +0000 (23:19 +0000)]
PR c++/14425, c++/14426
[gcc/ChangeLog]
2004-03-04 Ziemowit Laski <zlaski@apple.com>
PR c++/14425, c++/14426
* config/rs6000/altivec.h (vec_splat_s8, vec_splat_s16,
vec_splat_s32, vec_splat_u8, vec_splat_u16, vec_splat_u32):
Change C++ definitions to accept a 'const int' argument;
the prototypes already do.
* config/rs6000/rs6000.c (rs6000_common_init_builtins):
Rename v4si_ftype_char, v8hi_ftype_char, v16qi_ftype_char,
v4sf_ftype_v4si_char, v4si_ftype_v4sf_char, v4si_ftype_v4si_char,
v8hi_ftype_v8hi_char, v16qi_ftype_v16qi_char,
v16qi_ftype_v16qi_v16qi_char, v8hi_ftype_v8hi_v8hi_char,
v4si_ftype_v4si_v4si_char and v4sf_ftype_v4sf_v4sf_char to
end in ..._int; change them to accept an int instead of a char
as the last parameter.
[gcc/testsuite/ChangeLog]
2004-03-04 Ziemowit Laski <zlaski@apple.com>
PR c++/14425, c++/14426
* g++.dg/ext/altivec-4.C: New test.
* g++.dg/ext/altivec-5.C: New test.
* g++.old-deja/g++.other/linkage1.C: Expect errors about
global variables of a type with no linkage.
* g++.old-deja/g++.other/qual1.C: Name class for 'action'.
* g++.old-deja/g++.mike/misc13.C: Name enum for 'want'.
* g++.old-deja/g++.bugs/900210_01.C: Name enum for 'ep'.
* g++.old-deja/g++.bugs/900210_02.C: Likewise.
* g++.old-deja/g++.bugs/900210_03.C: Likewise.
* g++.old-deja/g++.brendan/bit-fields2.C: Name structure for 's'.
* g++.old-deja/g++.brendan/init10.C: Name structure for 'a'.
* g++.dg/warn/deprecated.C: Name enum Color.
* g++.dg/overload/VLA.C: Name structure for 'b'.
* g++.dg/lookup/anon2.C: Expect diagnostic about type linkage.
Stuart Hastings [Thu, 4 Mar 2004 19:24:21 +0000 (19:24 +0000)]
darwin.h: Darwin/x86 doesn't support CPUs before 686...
2004-03-04 Stuart Hastings <stuart@apple.com>
* gcc/config/i386/darwin.h: Darwin/x86 doesn't support CPUs before
686, tell Darwin assembler to allow prefetch insns, non-empty def
of SUBTARGET_OPTION_TRANSLATE_TABLE.
Eric Botcazou [Thu, 4 Mar 2004 09:01:03 +0000 (10:01 +0100)]
re PR rtl-optimization/14235 (ICE in verify_local_live_at start (flow.c:546))
PR optimization/14235
* expr.c (convert_move): Copy the source to a new pseudo
when converting from a sub-word source to a larger-than-word
register which conflicts with the source.
Zack Weinberg [Thu, 4 Mar 2004 05:49:06 +0000 (05:49 +0000)]
re PR c/13728 (Duplicate parameter names not detected)
PR 13728
* c-decl.c (diagnose_mismatched_decls): Issue an error for two
parameters with the same name, unless one is a forward decl.
Do not issue a redundant-redeclaration warning for forward
decls of parameters.
* gcc.dg/decl-4.c: New testcase.
Kazu Hirata [Thu, 4 Mar 2004 02:57:05 +0000 (02:57 +0000)]
builtin-explog-1.c (PREC): Make it the same as PRECF if sizeof (float) > sizeof (double).
* gcc.dg/torture/builtin-explog-1.c (PREC): Make it the same
as PRECF if sizeof (float) > sizeof (double).
(PRECL): Make it the same as PRECF if
sizeof (float) > sizeof (long double).
Per Bothner [Wed, 3 Mar 2004 23:50:03 +0000 (15:50 -0800)]
Channels.java (newInputStream, [...]): Optimize when argument is a FileChannelImpl.
* java/nio/channels/Channels.java (newInputStream, newOutputStream):
Optimize when argument is a FileChannelImpl.
(newInputStream(FileChannelImpl), newOutputStream(FileChannelImpl)):
New native methods.
* java/nio/channels/natChannels.cc: New file for new native methods.
* Makefile.am: Update accordingly.
Mostafa Hagog [Wed, 3 Mar 2004 16:32:45 +0000 (16:32 +0000)]
common.opt: Add description of the new -fgcse-after-reload flag.
2004-03-03 Mostafa Hagog <mustafa@il.ibm.com>
* common.opt: Add description of the new -fgcse-after-reload flag.
* flags.h (flag_gcse_after_reload): Declaration of global variable.
* gcse.c (reg_used_on_edge ,reg_set_between_after_reload_p,
reg_used_between_after_reload_p, rtx get_avail_load_store_reg,
is_jump_table_basic_block, bb_has_well_behaved_predecessors,
get_bb_avail_insn, hash_scan_set_after_reload,
compute_hash_table_after_reload, eliminate_partially_redundant_loads,
gcse_after_reload, get_bb_avail_insn): New functions to implement
gcse-after-reload.
(gcse_after_reload_main): New function, the main entry point to
gcse-after-reload.
* rtl.h (gcse_after_reload_main): Declaration of the new function.
* opts.c (common_handle_option): Handle the -fgcse-after-reload flag.
* params.def (PARAM_GCSE_AFTER_RELOAD_PARTIAL_FRACTION,
PARAM_GCSE_AFTER_RELOAD_CRITICAL_FRACTION): New parameters for tuning
the gcse after reload optimization.
* params.h (GCSE_AFTER_RELOAD_PARTIAL_FRACTION,
GCSE_AFTER_RELOAD_CRITICAL_FRACTION): Two macros to access the tuning
parameters.
* doc/invoke.texi: Documentation for the new flag gcse-after-reload.