* 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.
From-SVN: r79068
* 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.
From-SVN: r79058
2004-03-06 Benjamin Kosnik <bkoz@redhat.com>
* include/ext/mt_allocator.h (_S_initialize): If
!__GTHREAD_MUTEX_INIT, then initialize _S_thread_freelist_mutex.
From-SVN: r79044
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.
* config/os/hpux/os_defines.h: Remove _GLIBCXX_INST_ATOMICITY_LOCK.
* src/misc-inst.cc: Same.
* config/cpu/hppa/atomicity.h: Same.
* config/linker-map.gnu: Remove types in the signature of atomic
exports, as they may vary.
From-SVN: r79043
* 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.
From-SVN: r79031
* pa.md (icacheflush): Reorder operands to make match_scratch operand
last.
* pa.h (INITIALIZE_TRAMPOLINE): Remove unnecessary scratch argument
from calls to gen_icacheflush.
From-SVN: r79029
[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.
From-SVN: r79004
* 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.
From-SVN: r78990
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.
From-SVN: r78986
* configure.ac: When passing --enable-languages to subdir
configure when host != build, make sure we don't pass an empty
value.
* configure: Regenerate.
From-SVN: r78969
2004-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* trans.c: Reflect GCC changes to fix bootstrap problem.
Add warning for suspicious aliasing unchecked conversion.
2004-03-05 Robert Dewar <dewar@gnat.com>
* 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
* a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
unchecked conversion to spec to avoid warnings.
* s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
to Task_ID
* 7stpopsp.adb: Correct casing in To_Task_ID call
* a-strsea.ads, a-strsea.adb: Minor reformatting
* einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
* errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
Adjust Max_Msg_Length to be clearly large enough.
* fe.h: Define In_Same_Source_Unit
* osint.adb: Add pragma Warnings Off to suppress warnings
* g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
aliasing warnings.
* opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
* par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
* sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
* sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
* sem_prag.adb: Implement pragma No_Strict_Aliasing.
* 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.
2004-03-05 GNAT Script <nobody@gnat.com>
* Make-lang.in: Makefile automatically updated
From-SVN: r78964
2004-03-05 Paolo Bonzini <bonzini@gnu.org>
* simplify-rtx.c (simplify_relational_operation): If
flag_wrapv is set, do not move terms between the two
side of a relational operator.
From-SVN: r78962