Kaz Kojima [Mon, 10 May 2004 23:25:13 +0000 (23:25 +0000)]
re PR target/15130 ([3.3/3.4][sh4-linux] miscompilation with -O2)
PR target/15130
* config/sh/sh-protos.h (sh_expand_epilogue): Change prototype.
* config/sh/sh.c (output_stack_adjust): Take the sibcall epilogue
into account. Compute the correct number of general registers
for the return value. Generate a special push/pop sequence when
failing to get a temporary register for non SHmedia epilogue.
(sh_expand_epilogue): Add an argument to show whether it's for
sibcall or not. Set the 3rd argument of output_stack_adjust to
-1 if needed.
(sh_need_epilogue): Call sh_expand_epilogue with 0.
* config/sh/sh.md (sibcall_epilogue): Call sh_expand_epilogue
with 1.
(epilogue): Call sh_expand_epilogue with 0.
read-rtl.c (read_rtx): Allow 's' and 'T' strings to be omitted, treating missing ones as "".
* read-rtl.c (read_rtx): Allow 's' and 'T' strings to be omitted,
treating missing ones as "".
* config/mips/mips.md: Remove constraints from match_operands and
match_scratches if they appear in define_expands (except reload*),
define_peephole2s, define_splits or attribute specifications.
* config/mips/7000.md, config/mips/sb1.md: Remove match_operand
constraint strings.
Andrew Haley [Mon, 10 May 2004 16:21:08 +0000 (16:21 +0000)]
parse.y (create_class): Set TYPE_VFIELD.
2004-05-10 Andrew Haley <aph@redhat.com>
* parse.y (create_class): Set TYPE_VFIELD.
* decl.c (java_init_decl_processing): Likewise.
* expr.c (build_invokevirtual): Remove DECL_VINDEX offset adjustment.
* class.c (make_method_value): Replace DECL_VINDEX with call to
get_method_index().
(get_dispatch_vector): Likewise.
(layout_class_method): Likewise.
Replace set of DECL_VINDEX with call to set_method_index().
(set_method_index): New function.
(get_method_index): New function.
* java-tree.h (set_method_index): New function decl.
(get_method_index): New function decl.
Arnaud Charlet [Mon, 10 May 2004 16:18:54 +0000 (18:18 +0200)]
[multiple changes]
2004-05-10 Doug Rupp <rupp@gnat.com>
* 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
system.aux_dec.
* s-auxdec.ads: Add Short_Address subtype (moved here from System).
* Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
* init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
Fixes undefined symbols in IA64 gnatlib.
* 5vinmaop.adb: Reference s-auxdec for Short_Address.
* 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
Short_Address). This will be moved to system.auxdec.
2004-05-10 Thomas Quinot <quinot@act-europe.fr>
* sem_util.adb: Replace test for presence of a node that is always
present with a call to Discard_Node.
* sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
Analyze on the library unit node after generation of distribution stub
constructs. The call was a no-op because Unit_Node has already been
Analyzed, and the tree fragments for the distribution stubs are
analyzed as they are inserted in Exp_Dist.
Update comment regarding to distribution stubs to reflect that we
do not generate stub in separate files anymore.
* einfo.ads: Clarify the fact that a tagged private type has the
E_Record_Type_With_Private Ekind.
* erroutc.adb: Minor reformatting
* erroutc.ads (Max_Msg_Length): Increase to cover possible larger
values if line length is increased using -gnatyM (noticed during code
reading).
* eval_fat.adb: Minor reformatting
Put spaces around exponentiation operator
2004-05-10 Ed Schonberg <schonberg@gnat.com>
PR ada/15005
* sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
has been rewritten as an explicit dereference, retrieve type of
original node to check for possibly unconstrained record type.
2004-05-10 Ed Schonberg <schonberg@gnat.com>
* exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
overriding, use the operation of the parent unconditionally.
* sem_ch4.adb (Remove_Address_Interpretations): Remove address
operation when either operand is a literal, to avoid further
ambiguities.
* sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
overridden by a previous explicit declaration, mark the previous entity
as overriding.
* sem_disp.adb (Check_Dispatching_Operation): New predicate
Is_Visibly_Controlled, to determine whether a declaration of a
primitive control operation for a derived type overrides an inherited
one. Add warning if the explicit declaration does not override.
2004-05-10 Vincent Celier <celier@gnat.com>
* gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
some cases when the sources are no longer present.
* make.adb (Collect_Arguments): Fail if an external source, not part
of any project need to be compiled, when switch -x has not been
specified.
* makeusg.adb: Document new switch -x
* opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
defaulted to False.
* switch-m.adb (Scan_Make_Switches): New switch -x
* vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
gnatmake switch -x.
* gnat_ugn.texi: Document new gnatmake switch -x
2004-05-10 Eric Botcazou <ebotcazou@act-europe.fr>
* misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
* utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
(process_attributes): Likewise.
2004-05-10 Joel Brobecker <brobecker@gnat.com>
* s-inmaop.ads: Fix spelling mistake in one of the comments.
2004-05-10 Robert Dewar <dewar@gnat.com>
* gnat_ugn.texi: Document that for config pragma files, the maximum
line length is always 32767.
* gnat_rm.texi: For pragma Eliminate, note that concatenation of string
literals is now allowed.
* gnat-style.texi: Remove statement about splitting long lines before
an operator rather than after, since we do not follow this rule at all.
Clarify rule (really lack of rule) for spaces around exponentiation
* sem_elim.adb: Allow concatenation of string literals as well as a
single string literal for pragma arguments.
* sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
* a-textio.adb (Terminate_Line): Do not add line feed if nothing
written for append case.
* frontend.adb: Changes to avoid checking max line length in config
pragma files.
* g-os_lib.ads: Minor reformatting
* mlib-utl.adb: Do not define Max_Line_Length locally (definition was
wrong in any case. Instead use standard value. Noticed during code
reading.
* opt.ads (Max_Line_Length): New field, used to implement removal of
limitation on length of lines when scanning config pragma files.
* osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
makeutl.ads, makeutl.adb: Minor reformatting
* scn.adb: Do not check line length while scanning config pragma files
Do not check line length while scanning out license information
* scng.adb: Changes to avoid line length checks while parsing config
pragma files.
Andrew Pinski [Mon, 10 May 2004 15:08:07 +0000 (15:08 +0000)]
parse.y (check_pkg_class_access): Add new argument and use it when cl is NULL to call lookup_cl on it.
2004-05-10 Andrew Pinski <pinskia@physics.uc.edu>
* parse.y (check_pkg_class_access): Add new argument
and use it when cl is NULL to call lookup_cl on it.
(parser_check_super_interface): Do not call lookup_cl.
Pass this_decl to check_pkg_class_access and NULL
instead of lookup_cl.
(parser_check_super): Update for change in
check_pkg_class_access.
(do_resolve_class): Likewise.
(process_imports): Likewise.
(find_in_imports_on_demand): Likewise.
(resolve_qualified_expression_name): Likewise.
* config/rs6000/rs6000.c (function_arg_boundary): Always align
AltiVec vectors.
(function_arg_advance): Pass TARGET_32BIT -mabi=no-altivec AltiVec
vectors by refererence. Align the same for TARGET_64BIT to a 16
byte boundary. Remove useless code. Add function comment.
(function_arg): Similarly. Move gpr rs6000_mixed_function_arg
call to where it belongs.
(function_arg_partial_nregs): Return true for all TARGET_32BIT
-mabi=no-altivec AltiVec vectors. Fix debug output.
(rs6000_va_arg): Adjust for AltiVec change.
Alan Modra [Sun, 9 May 2004 23:48:37 +0000 (09:18 +0930)]
rs6000.c (function_arg_boundary): Align for ABI_V4 when size is 8 bytes.
* config/rs6000/rs6000.c (function_arg_boundary): Align for ABI_V4
when size is 8 bytes.
(function_arg_advance): Account for stack space used by AltiVec
args when -mabi=altivec. Simplify alignment calculations. For
ABI_V4, pass AltiVec vectors by reference when -mabi=no-altivec.
(function_arg): Similarly.
(function_arg_pass_by_reference): True for ABI_V4 AltiVec when
not AltiVec ABI.
(rs6000_va_arg): Correct fp arg test. Adjust for AltiVec change.
Correct alignment, and align before testing reg count. Remove
TREE_THIS_VOLATILE from reg. Don't emit unused labels.
(rs6000_complex_function_value): Check TARGET_HARD_FLOAT and
TARGET_FPRS here..
(rs6000_function_value): .. not here before call.
Zack Weinberg [Sun, 9 May 2004 21:26:58 +0000 (21:26 +0000)]
re PR c/15007 (crash when including precompiled header with -include)
PR 15007
* c-decl.c (current_file_decl): Rename to all_translation_units,
adjust comment.
(pop_scope): If popping file_scope, construct a
TRANSLATION_UNIT_DECL and make it the context of all the
symbols in the scope.
(push_file_scope): Don't construct a TRANSLATION_UNIT_DECL here.
(pushdecl): Clarify comment. Do not set DECL_CONTEXT of
anything to current_file_decl.
(pushdecl_top_level): Likewise.
(store_parm_decls_newstyle): Adjust check for nested function.
(c_write_global_declarations): Update for renamed variable.
Roger Sayle [Sat, 8 May 2004 17:36:21 +0000 (17:36 +0000)]
fold-const.c (fold_div_compare): New function to optimize X/C1 op C2 where op is a comparison operator and C1...
* fold-const.c (fold_div_compare): New function to optimize X/C1 op C2
where op is a comparison operator and C1 and C2 are integer constants
into a range check.
(fold): Call fold_div_compare.
* gcc.c-torture/execute/divcmp-1.c: New test case.
* gcc.c-torture/execute/divcmp-2.c: New test case.
* gcc.c-torture/execute/divcmp-3.c: New test case.
Eric Botcazou [Fri, 7 May 2004 11:40:42 +0000 (13:40 +0200)]
sparc-protos.h (sparc_skip_caller_unimp): New declaration.
* config/sparc/sparc-protos.h (sparc_skip_caller_unimp): New
declaration.
* config/sparc/sparc.c (SKIP_CALLERS_UNIMP_P): Delete.
(sparc_skip_caller_unimp): New global variable.
(sparc_function_epilogue): Set 'sparc_skip_caller_unimp'.
Use it instead of SKIP_CALLERS_UNIMP_P.
* config/sparc/sparc.md (call expander): Add sanity check.
(call_address_struct_value_sp32): Re-sync with expander.
(call_symbolic_struct_value_sp32): Likewise.
(return peepholes): Use 'sparc_skip_caller_unimp' instead
of custom predicate.
* 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.