* config/i386/i386.c (ix86_emit_i387_log1p): New function.
* config/i386/i386-protos.h (ix86_emit_i387_log1p):
Prototype here.
* config/i386/i386.md (UNSPEC_FYL2XP1): New unspec to represent
x87's fyl2xp1 instruction.
(*fyl2x_xf3): Rename insn definition to fyl2x_xf3.
(fyl2xp1_xf3): New pattern to implement fyl2xp1 x87 instruction.
(log1psf2, log1pdf2, log1pxf2): New expanders to implement log1pf,
log1p and log1pl built-ins as inline x87 intrinsics.
* testsuite/gcc.dg/builtins-33.c: Also check log1p*.
Jerry Quinn [Fri, 7 May 2004 04:57:57 +0000 (04:57 +0000)]
SimpleTimeZone.java (startTimeMode, [...]): New members.
2004-05-07 Jerry Quinn <jlquinn@optonline.net>
* java/util/SimpleTimeZone.java (startTimeMode, endTimeMode,
WALL_TIME, STANDARD_TIME, UTC_TIME): New members.
(SimpleTimeZone): Tweak docs. Add new variation.
(setStartRule,setEndRule): Add new variations. Use
startTimeMode and endTimeMode.
re PR rtl-optimization/15296 ([3.4 only] Delayed branch scheduling causing invalid code on cris-*)
PR optimization/15296
* reorg.c (fill_simple_delay_slots): Use next_real_insn when
getting last consecutive label at a branch.
(relax_delay_slots): Similar, near top of loop.
Alan Modra [Fri, 7 May 2004 02:01:13 +0000 (02:01 +0000)]
rs6000.h (STACK_BOUNDARY): Use 128 bit for either TARGET_ALTIVEC or TARGET_ALTIVEC_ABI.
* config/rs6000/rs6000.h (STACK_BOUNDARY): Use 128 bit for either
TARGET_ALTIVEC or TARGET_ALTIVEC_ABI.
* config/rs6000/sysv4.h (ABI_STACK_BOUNDARY): Likewise.
(STACK_BOUNDARY): Delete.
Bryce McKinlay [Thu, 6 May 2004 17:54:30 +0000 (17:54 +0000)]
Run the jni tests using the interpreter.
* testsuite/libjava.jni/jni.exp (gcj_jni_compile_c_to_so): Append
options_cxx to shared lib compile command.
(gcj_jni_test_one): Pass cxxflags to gcj_jni_compile_c_to_so, so
they are used to link the shared lib, not the main binary.
Use libjava_invoke to run gij.
Ranjit Mathew [Thu, 6 May 2004 17:43:48 +0000 (17:43 +0000)]
Fixes PR java/9685, PR java/15073
Fixes PR java/9685, PR java/15073
* parse.y (accessibility_string): New method.
(not_accessible_field_error): Use accessibility_string()
instead of java_accstring_lookup().
(resolve_qualified_expression_name): Check with
check_pkg_class_access() before allowing access using
qualified names.
Fix comment typo.
Use check_pkg_class_access() instead of not_accessible_p()
for unqualified types.
(not_accessible_p): Use DECL_CONTEXT (member) instead of
REFERENCE for package-private access checking.
(patch_method_invocation): Use accessibility_string() instead
of java_accstring_lookup().
* doc/invoke.texi: Document -mvr4130-align.
* config/mips/mips.h (MASK_VR4130_ALIGN, TARGET_VR4130_ALIGN)
(TUNE_MIPS4120, TUNE_MIPS4130): New macros.
(TUNE_MACC_CHAINS): Include TUNE_MIPS4120 and TUNE_MIPS4130.
(TARGET_SWITCHES): Add -mvr4130-align and -mno-vr4130-align.
* config/mips/mips.md: Include sched-int.h.
(USEFUL_INSN_P, SEQ_BEGIN, SEQ_END, FOR_EACH_SUBINSN): New macros.
(mips_rtx_costs): Set integer multiplication costs for TUNE_MIPS4130.
(override_options): Enable -mvr4130-align at -O3 and above.
(mips_sim_insn): New variable.
(mips_sim): New structure.
(mips_sim_reset, mips_sim_init, mips_sim_next_cycle, mips_sim_wait_reg)
(mips_sim_wait_regs_2, mips_sim_wait_regs_1, mips_sim_wait_regs)
(mips_sim_wait_units, mips_sim_wait_insn, mips_sim_record_set)
(mips_sim_issue_insn, mips_sim_issue_nop, mips_sim_finish_insn)
(vr4130_avoid_branch_rt_conflict, vr4130_align_insns): New functions.
(mips_reorg): Call vr4130_align_insns.
(vr4130_last_insn): New variable.
(vr4130_true_reg_dependence_p_1, vr4130_true_reg_dependence_p)
(vr4130_swap_insns_p, vr4130_reorder): New functions.
(mips_sched_reorder, mips_variable_issue): Hook in vr4130 code.
(mips_issue_rate): Return 2 for PROCESSOR_R4130.
(mips_use_dfa_pipeline_interface): Return true for the same.
* config/mips/4130.md: New file.
* config/mips/mips.md: Include it. Add a peephole2 to convert
"mult;mflo" into "mtlo;macc".
(*macc, *umul_acc_di, *smul_acc_di): Use $1 rather than $0 as the
target of maccs.
(*msac_using_macc): New pattern.
Bryce McKinlay [Thu, 6 May 2004 14:06:28 +0000 (14:06 +0000)]
defineclass.cc (_Jv_ClassReader::prepare_pool_entry): Use verify_field_signature and verify_method_signature...
* defineclass.cc (_Jv_ClassReader::prepare_pool_entry): Use
verify_field_signature and verify_method_signature, not
_Jv_VerifyFieldSignature and _Jv_VerifyMethodSigntature.
(_Jv_ClassReader::handleField): Likewise.
(_Jv_ClassReader::handleMethod): Likewise.
Michael Koch [Thu, 6 May 2004 10:25:02 +0000 (10:25 +0000)]
gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c, [...]: New files.
2004-05-06 Michael Koch <konqueror@gmx.de>
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkGenericPeer.c:
New files.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.c:
Include gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.h.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c:
Moved GtkCheckboxGroupPeer_dispose and GtkCheckboxGroupPeer_remove to
their own source file.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c:
Moved GtkGenericPeer_dispose and GtkComponentPeer_requestFocus to
their own source file. Removed GtkComponentPeer_gtkWidgetSetUsize.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c
(create): Define variable on top of function.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c
(menu_pos): Prototyped.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
(setTitle): Removed.
* jni/gtk-peer/gthread-jni.c
(gdk_threads_wake): Removed.
* Makefile.am (gtk_c_source_files): Added new files
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c and
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkGenericPeer.c.
* Makefile.in: Regenerated.
Uros Bizjak [Thu, 6 May 2004 05:19:24 +0000 (07:19 +0200)]
optabs.h (enum optab_index): Add new OTI_fmod and OTI_drem.
* optabs.h (enum optab_index): Add new OTI_fmod and OTI_drem.
(fmod_optab): Define corresponding macros.
* optabs.c (init_optabs): Initialize fmod_optab and drem_optab.
* genopinit.c (optabs): Implement fmod_optab and drem_optab
using fmod?f3 and drem?f3 patterns.
* builtins.c (expand_builtin_mathfn_2): Handle BUILT_IN_FMOD{,F,L}
using fmod_optab and BUILT_IN_DREM{,F,L} using drem_optab.
(expand_builtin): Expand BUILT_IN_FMOD{,F,L} and
BUILT_IN_DREM{,F,L} using expand_builtin_mathfn_2 if
flag_unsafe_math_optimizations is set.
* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FPREM_F,
UNSPEC_FPREM_U, UNSPEC_FPREM1_F and UNSPEC_FPREM1_U.
* config/i386/i386.c (ix86_emit_fp_unordered_jump): New function.
* config/i386/i386-protos.h (ix86_emit_fp_unordered_jump):
Prototype here.
* config/i386/i386.md (UNSPEC_FPREM_F, UNSPEC_FPREM_U,
UNSPEC_FPREM1_F, UNSPEC_FPREM1_U): New unspecs to represent x87's
fprem and fprem1 instructions.
(*x86_fnstsw_1): Change input parameter to (reg:CCFP 18).
Rename insn definition to x86_fnstsw_1.
(fpremxf4, fprem1xf4): New patterns to implement fprem and fprem1
x87 instructions.
(fmodsf3, fmoddf3, fmodxf3): New expanders to implement fmodf, fmod
and fmodl built-ins as inline x87 intrinsics.
(dremsf3, dremdf3, dremxf3): New expanders to implement dremf, drem
and dreml built-ins as inline x87 intrinsics.
Mike Stump [Wed, 5 May 2004 18:25:52 +0000 (18:25 +0000)]
darwin-c.c (add_framework): Copy the directory name as it can be freed later.
* config/darwin-c.c (add_framework): Copy the directory name as it
can be freed later. Also, ensure we always allocate enough room
for the cached framework information.
(find_subframework_header): Keep track of the directory where the
subframework header was found.
(framework_construct_pathname): Speed up by not trying to re-add a
framework.
* cppfiles.c (search_path_exhausted): Arrange for the missing
header callback to be able to set the directory where the header
was found.
(cpp_get_dir): Add.
* cpplib.h (missing_header_cb): Add a parameter.
(cpp_get_dir): Add.
Arnaud Charlet [Wed, 5 May 2004 10:09:56 +0000 (12:09 +0200)]
[multiple changes]
2004-05-05 Emmanuel Briot <briot@act-europe.fr>
* g-os_lib.ads (Invalid_Time): New constant
* adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
return OS_Time instead of time_t to match what is imported by Ada.
Now return -1 if the file doesn't exist, instead of a random value
2004-05-05 Robert Dewar <dewar@gnat.com>
* usage.adb: Add line for -gnatR?s switch
* sem_ch13.adb, exp_ch2.adb: Minor reformatting
* g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
and for Match (Data_First, Data_last)
* lib-writ.adb (Write_With_Lines): Ensure that correct index number is
written when we are dealing with multi-unit files.
2004-05-05 Jerome Guitton <guitton@act-europe.fr>
* Makefile.in: Remove unused targets and variables.
2004-05-05 Vincent Celier <celier@gnat.com>
* switch-m.adb: New gnatmake switch -eI
* vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
of new gnatmake switch -eInnn.
* makegpr.adb: Take into account new parameters Index and Src_Index in
Prj.Util.
* clean.adb: Implement support for multi-unit sources, including new
switch -i.
* gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
Src_Index.
* make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
(Extract_From_Q): New out parameter Index
(Mark, Is_Marked): Subprograms moved to Makeutl
(Switches_Of): New parameter Source_Index
(Add_Switch): New parameter Index
(Check): New parameter Source_Index
(Collect_Arguments): New parameter Source_Index
(Collect_Arguments_And_Compile): New parameter Source_Index
(Compile): New parameter Source_Index
Put subprograms in alphabetical order
Add support for multi-source sources, including in project files.
* makeutl.ads, makeutl.adb (Unit_Index_Of): New function
(Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
Make.
* makeusg.adb: New gnatmake switch -eInnn
* mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
Prj.Util.Value_Of.
* opt.ads (Main_Index): New variable, defaulted to 0.
* osint.ads, osinte.adb (Add_File): New parameter Index
(Current_Source_Index): New function
* prj.adb: Take into account new components Index and Src_Index
* prj.ads (String_Element): New component Index
(Variable_Value): New component Index
(Array_Element): New component Src_Index
* prj-attr.adb: Indicate that optional index may be specified for
attributes Main, Executable, Spec, Body and some of Switches.
* prj-attr.ads (Attribute_Kind): New values for optional indexes
(Attribute_Record): New component Optional_Index
* prj-com.ads (File_Name_Data): New component Index
* prj-dect.adb (Parse_Attribute_Declaration): Process optional index
* prj-env.adb (Put): Output optional index
* prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
attributes Spec and Body.
* prj-nmsc.adb: Process optional indexes
* prj-pp.adb: Ouput "at" for optional indexes
* prj-proc.adb: Take into account optional indexes
* prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
Optional_Index. For string literal,
process optional index when Optional_Index is True.
(Parse_Expresion): New Boolean parameter Optional_Index
* prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
(Set_Source_Index_Of): New procedure
* prj-util.adb (Executable_Of, Value_Of): Take into account optional
index.
* prj-util.ads (Executable_Of): New parameter Index
(Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
New parameter Src_Index, defaulted to 0.
2004-05-05 Ed Schonberg <schonberg@gnat.com>
PR ada/15257
* sem_ch3.adb (Access_Definition): If this is an access parameter
whose designated type is imported through a limited_with clause, do
not add the enclosing subprogram to the list of private dependents of
the type.
2004-05-05 Ed Schonberg <schonberg@gnat.com>
PR ada/15258
* sem_ch6.adb (Base_Types_Match): True if one type is imported through
a limited_with clause, and the other is its non-limited view.
* exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
Stand.Boolean_Literals to produce references to entities
Standard_False and Standard_True from compile-time computed boolean
values.
* stand.ads (Boolean_Literals): New variable, provides the entity
values for False and True, for use by the expander.
* adaint.c, raise.c: Caste CRTL function return value
to avoid gcc error on 32/64 bit IVMS.
* Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
target = IA64/VMS.
* init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
* 5qsystem.ads (Address): Declare as Long_Integer
(Short_Address): Declare as 32 bit subtype of Address
Declare abstract address operations to avoid gratuitous ambiguities.
2004-05-05 Jose Ruiz <ruiz@act-europe.fr>
* gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
instead of the old Boolean_Entry_Barriers.
Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
Bernard Giroud [Wed, 5 May 2004 07:31:05 +0000 (09:31 +0200)]
Patch from Bernard Giroud.
* gcc/gcc/vmsdbgout.c (vms_func_node, vms_func_ref): New.
(func_table): Change type from char ** to vms_func_ref.
(write_rtnbeg): Update to reflect func_table change. Use
fde->funcdef_number instead of rtnnum in output.
(write_rtnend, vmxdbgout_begin_function, vmsdbgout_init): Likewise.
Paolo Bonzini [Wed, 5 May 2004 07:23:00 +0000 (07:23 +0000)]
re PR target/14899 (wrong code due to change in compatibility rules for vector types)
gcc/ChangeLog:
2004-05-04 Paolo Bonzini <bonzini@gnu.org>
Richard Henderson <rth@redhat.com>
PR target/14899
* c-common.c (vector_types_convertible_p): New function.
* c-typeck.c (comptypes): Recurse on vector types.
(convert_for_assignment): Use vector_types_convertible_p.
(digest_init): Use vector_types_convertible_p to check
validness of constant vector initializers; otherwise treat
them as scalars.
* tree.c (make_or_reuse_type): New.
(build_common_tree_nodes): Use it.
* cp/call.c (standard_conversion): Likewise.
* cp/typeck.c (comptypes): Recurse on vector types.
(convert_for_assignment): Use vector_types_convertible_p.
* config/rs6000/rs6000.c (build_opaque_vector_type):
New function.
(rs6000_init_builtins): Use it.
gcc/testsuite/ChangeLog:
2004-05-04 Paolo Bonzini <bonzini@gnu.org>
* g++.dg/ext/spe1.C: New testcase.
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r81504
Guilhem Lavaux [Wed, 5 May 2004 06:02:37 +0000 (06:02 +0000)]
2004-05-05 Guilhem Lavaux <guilhem@kaffe.org>
* java/text/DecimalFormat.java
(MAXIMUM_INTEGER_DIGITS): New constant to keep the numeric value 309.
(applyPatternWithSymbols): Use MAXIMUM_INTEGER_DIGITS.
(parse): Fixed handling of exponentiation notation and grouping.
Chris Demetriou [Tue, 4 May 2004 23:57:42 +0000 (23:57 +0000)]
mips.c (override_options): Default to no generation of branch-likely operations when...
2004-05-04 Chris Demetriou <cgd@broadcom.com>
* config/mips/mips.c (override_options): Default to no
generation of branch-likely operations when tuning for
CPUs where they tend to have a negative performance impact
(e.g., SB-1).
Guilhem Lavaux [Tue, 4 May 2004 22:14:12 +0000 (22:14 +0000)]
2004-05-05 Guilhem Lavaux <guilhem@kaffe.org>
* java/text/SimpleDateFormat.java:
(formatWithAttribute): New method. It implements
the formatting process with attributes.
(format): Use formatWithAttribute.
(formatToCharacterIterator): New method. Use
formatWithAttribute.
Guilhem Lavaux [Tue, 4 May 2004 22:05:25 +0000 (22:05 +0000)]
MessageFormat.java: (class Field): New class.
2004-05-05 Guilhem Lavaux <guilhem@kaffe.org>
* java/text/MessageFormat.java:
(class Field): New class.
(formatToCharacterIterator): New method.
(format): Use formatInternal now.
(formatInternal): New method. String formatter should
be done here (with attributes). Attributes merging supported.
(parse): More documentation.
(getFormatsByArgumentIndex): New method.
(setFormatByArgumentIndex): New method.
(setFormatsByArgumentIndex): New method.
Guilhem Lavaux [Tue, 4 May 2004 22:00:30 +0000 (22:00 +0000)]
2004-05-05 Guilhem Lavaux <guilhem@kaffe.org>
* java/text/DecimalFormat.java
(MAXIMUM_INTEGER_DIGITS): New constant to keep the numeric value 309.
(applyPatternWithSymbols): Use MAXIMUM_INTEGER_DIGITS.
(parse): Fixed handling of exponentiation notation and grouping.
2004-05-05 Guilhem Lavaux <guilhem@kaffe.org>
* java/text/DecimalFormat.java
(scanFix): Build attribute array. Fixed error reporting.
(applyPatternWithSymbols): Store attributes for the prefix and
suffix.
(formatInternal): New method. Changed the way the string is
computed. Implemented attributes. Cleant up rounding in
exponential notation.
(format): Use formatInternal.
(formatToCharacterIterator): New method.
(exponentRound, negativePrefixRanges, positivePrefixRanges,
negativePrefixAttrs, positivePrefixAttrs, negativeSuffixRanges,
positiveSuffixRanges, negativeSuffixAttrs, positiveSuffixAttrs):
New fields.
Ingo Proetel [Tue, 4 May 2004 19:27:11 +0000 (19:27 +0000)]
ColorModel.java (getRGBdefault): Default ColorModel has 32 bit pixels not 8 bit pixels.
2004-05-04 Ingo Proetel <proetel@aicas.com>
* java/awt/image/ColorModel.java (getRGBdefault): Default ColorModel has
32 bit pixels not 8 bit pixels.
(isCompatibleRaster): Added javadoc comment.
2004-05-04 Ingo Proetel <proetel@aicas.com>
* java/awt/image/ComponentSampleModel.java (setDataSamples):Do not reset
scanline stride.
2004-05-04 Ingo Proetel <proetel@aicas.com>
* java/awt/ColorPaintContext.java (<init>): Added ColorModel to signature.
(getColorModel): Return the actual color model.
(getRaster): Implemented.
(ColorRaster): New inner class.
* java/awt/SystemColor.java (createContext): Use ColorModel when creating
a PaintContext.
* java/awt/Color.java (<init>): Make exception more verbose.
(createContext): Use ColorModel when creating a PaintContext.
* reload1.c (inherit_piecemeal_p): New function.
(emit_reload_insns): When reloading a group of hard registers, use
inherit_piecemeal_p to decide whether the values of individual hard
registers can be inherited.
Guilhem Lavaux [Tue, 4 May 2004 16:27:20 +0000 (16:27 +0000)]
FormatBuffer.java, [...]: New classes to implement attributed iterators in java.text.
2004-05-04 Guilhem Lavaux <guilhem@kaffe.org>
* gnu/java/text/FormatBuffer.java,
gnu/java/text/AttributedFormatBuffer.java,
gnu/java/text/StringFormatBuffer.java: New classes to implement
attributed iterators in java.text.
* gnu/java/text/FormatCharacterIterator.java: Moved
from java/text as it is an internal class.
* java/text/FormatCharacterIterator.java: Removed.
* java/text/Format.java:
Import gnu.java.text.FormatCharacterIterator.
* Makefile.am (java_source_files): Added new files.
* Makefile.in: Regenerated.
* ggc-zone.c (ggc_alloc_zone_1): Add MEM_STAT_DECL parameter.
Collect overhead information.
(ggc_alloc_stat): New name of ggc_alloc. Add MEM_STAT_DECL
parameter and pass it through.
(ggc_alloc_typed_stat): New name of ggc_alloc_typed. Add
MEM_STAT_DECL parameter and pass it through.
(ggc_alloc_zone_stat): New name of ggc_alloc_zone. Add
MEM_STAT_DECL parameter and pass it through.
Paolo Carlini [Mon, 3 May 2004 12:14:07 +0000 (12:14 +0000)]
Optimize locale::_M_impl->_M_names for the most common cases...
2004-05-03 Paolo Carlini <pcarlini@suse.de>
Optimize locale::_M_impl->_M_names for the most common cases:
!_M_names[0] means unnamed; !_M_names[1] means all the categories
the same name (_M_names[0] && _M_names[1] means that the full set
of _M_names must be processed, the general case).
* include/bits/locale_classes.h (locale::_Impl::_M_check_same_name):
Tweak, saving work when !_M_names[1].
(locale::locale(const locale&, _Facet*): Simplify: now just setting
_M_names[0] = 0 means unnamed.
* src/locale.cc (locale::operator==): Deal first with the common,
easy cases, otherwise fall back to locale::name().
(locale::name()): Tweak, if !_M_names[0] just return "*".
(locale::_Impl::_Impl(const _Impl&, size_t): Tweak, early stop
copying __imp._M_names if !__imp._M_names[0] or !__imp._M_names[1].
* src/locale_init.cc (locale::_Impl::_Impl(size_t)): Tweak.
* src/localename.cc (locale::_Impl::_Impl(const char*, size_t):
Simplify when !std::strchr, just updating _M_names[0]; clean up.
(locale::_Impl::_M_replace_categories): When !_M_names[1] prepare
for the general case (full set of names), then do the usual work;
clean up.
* src/locale.cc (locale::name()): Reserve space in __ret.
* src/locale_init.cc (locale::global(const locale&)): Save
the name in a temporary.
* src/localename.cc (locale::locale(const char*)): Reserve space
in __str.
* exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
alone. Replacing object references by literals is inappropriate in a
so low level context.
2004-05-03 Arnaud Charlet <charlet@act-europe.fr>
* a-exexpr.adb: Add comments
2004-05-03 Joel Brobecker <brobecker@gnat.com>
* a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
declare the Ancestor_Tags array in Type_Specific_Data with a small size
without risking a bounds check error when accessing one of its
components.
(Type_Specific_Data): Define Ancestor_Tags as a small array.
This prevents us from hitting a limitation during the debug info
generation when using stabs.
* a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
small array.
This prevents us from hitting a limitation during the debug info
generation when using stabs.
2004-05-03 Eric Botcazou <ebotcazou@act-europe.fr>
lang-specs.h: Remove -gnatz* from specs.
2004-05-03 Vincent Celier <celier@gnat.com>
* gprmake.adb, makegpr.ads, makegpr.adb: New files.
* Make-lang.in, Makefile.in: Add gprmake
2004-05-03 Thomas Quinot <quinot@act-europe.fr>
* sem_aggr.adb: Fix typo in comment.
2004-05-03 Robert Dewar <dewar@gnat.com>
* make.adb: Minor reformatting
* rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
* sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
so that it works when address is not a private type.
* sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
properly with rewritten unchecked conversions. This prevents
order-of-elaboration issues that can otherwise arise.
(Minimum_Size): Don't check size of access types under VMS
* sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
interpretations of integer literals as type System.Address.
* sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
(Is_Descendent_Of): New function
2004-05-03 Jose Ruiz <ruiz@act-europe.fr>
* sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
* sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
of the old Max_Entry_Queue_Depth.
* snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
* snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
New entry for proper handling of Max_Entry_Queue_Depth.
New entry for proper handling of No_Dynamic_Interrupts.
* s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
supersedes the GNAT specific restriction Boolean_Entry_Barriers.
Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
the GNAT specific restriction Max_Entry_Queue_Depth.
Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
the GNAT specific restriction No_Dynamic_Interrupts.
* restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
instead of the old Boolean_Entry_Barriers.
Use the new restriction No_Dynamic_Attachment instead of the old
No_Dynamic_Interrupts.
* exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
supersedes the GNAT specific restriction Boolean_Entry_Barriers.
* gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
of the old Max_Entry_Queue_Depth.
Giovanni Bajo [Mon, 3 May 2004 10:11:19 +0000 (10:11 +0000)]
re PR c++/14389 (Out-of-line of overloaded template rejected)
PR c++/14389
* decl2.c (check_classfn): For member templates, compare also the
template parameters to match the declaration.
* cp-tree.h: Adjust declaration of check_classfn.
* decl.c (start_decl, grokfndecl): Adjust callers of check_classfn.
* friend.c (do_friend): Likewise.
* pt.c (tsubst_friend_function): Likewise.
PR c++/14389
* g++.dg/template/member5.C: New test.