Richard Guenther [Sat, 19 Nov 2005 17:24:33 +0000 (17:24 +0000)]
re PR ada/23717 ([Ada] Wrong ICE diagnostic formatting)
2005-11-19 Richard Guenther <rguenther@suse.de>
Roger Sayle <roger@eyesopen.com>
PR ada/23717
* misc.c (internal_error_function): Don't use vsprintf to format
the error message text, instead use pp_format_text and the new
pretty printer APIs. This allows handling of %qs, %w, etc.
Co-Authored-By: Roger Sayle <roger@eyesopen.com>
From-SVN: r107223
Richard Guenther [Sat, 19 Nov 2005 11:29:10 +0000 (11:29 +0000)]
re PR middle-end/23294 (fold does not fold a*C+a to a*(C+1) or a*C-a to a*(C-1))
2005-11-19 Richard Guenther <rguenther@suse.de>
PR middle-end/23294
* fold-const.c (fold_plusminus_mult_expr): New function.
(fold_binary): Use to canonicalize PLUS_EXPR and MINUS_EXPR
cases, remove now unnecessary code.
Paolo Bonzini [Sat, 19 Nov 2005 08:36:57 +0000 (08:36 +0000)]
gensupport.c (old_preds): Rename to std_preds, add special field.
2005-11-19 Paolo Bonzini <bonzini@gcc.gnu.org>
* gensupport.c (old_preds): Rename to std_preds, add special field.
(struct old_pred_table): Rename to struct std_pred_table, add special
field.
(NUM_KNOWN_OLD_PREDS): Rename to NUM_KNOWN_STD_PREDS.
(NUM_OLD_SPECIAL_MODE_PREDS): Remove.
(init_predicate_table): Adjust, and set along the way whether a
predicate is special.
Mark Mitchell [Sat, 19 Nov 2005 02:25:55 +0000 (02:25 +0000)]
re PR c++/8355 (befriending a template specialization in another namespace)
PR c++/8355
* decl.c (grokfndecl): Set up DECL_TEMPLATE_INFO before calling
set_decl_namespace.
* name-lookup.c (set_decl_namespace):
PR c++/8355
* g++.dg/template/friend39.C: New test.
tree-flow.h (reserve_phi_args_for_new_edge, [...]): Mention that these functions are now in tree-phinodes.c.
2005-11-18 James A. Morrison <phython@gcc.gnu.org>
* tree-flow.h (reserve_phi_args_for_new_edge, create_phi_node,
add_phi_arg, remove_phi_args, remove_phi_node phi_reverse): Mention that these functions are now in tree-phinodes.c.
Paolo Carlini [Fri, 18 Nov 2005 11:50:22 +0000 (11:50 +0000)]
rc_string_base.h (__rc_string_base<>::_Rep): Avoid the anonymous struct extension, adjust everywhere.
2005-11-18 Paolo Carlini <pcarlini@suse.de>
* include/ext/rc_string_base.h (__rc_string_base<>::_Rep): Avoid the
anonymous struct extension, adjust everywhere.
* include/ext/rc_string_base.h (__rc_string_base<>::_S_empty_rep()):
Just use a static member.
(__rc_string_base<>::__rc_string_base(), _S_construct): Adjust.
* include/ext/rc_string_base.h (__rc_string_base<>::_Rep): Use anonymous
union together with _CharT to fix alignment issues, rebind to _Rep and
rename _Raw_alloc to _Rep_alloc_type.
(__rc_string_base<>::_Rep::_S_create, _M_destroy): Adjust consistently.
dwarf2out.c (dw_cfi_oprnd_struct): Reduce dw_cfi_reg_num to int.
* dwarf2out.c (dw_cfi_oprnd_struct): Reduce dw_cfi_reg_num to int.
(lookup_cfa_1): Apply data alignment to DW_CFA_def_cfa_offset_sf
and DW_CFA_def_cfa_sf.
(def_cfa_1): Use DW_CFA_def_cfa_offset_sf with negative values.
(dbx_reg_number): Don't assert particular registers here.
(based_loc_descr): ... do it here instead. Fold in ...
(eliminate_reg_to_offset): ... this function.
(compute_frame_pointer_to_cfa_displacement): Fold in the effects
of eliminate_reg_to_offset; use FRAME_POINTER_CFA_OFFSET.
* unwind-dw2.c (execute_cfa_program): Apply data align factor
to DW_CFA_def_cfa_offset_sf and DW_CFA_def_cfa_sf.
* function.c (instantiate_new_reg): Use FRAME_POINTER_CFA_OFFSET.
(instantiate_virtual_regs): Likewise.
* var-tracking.c (adjust_stack_reference): Likewise.
* doc/tm.texi (FRAME_POINTER_CFA_OFFSET): New.
PR ada/22333
* trans.c (gnat_gimplify_expr, case ADDR_EXPR): Always make
a temporary if taking the address of something that is neither
reference, declaration, or constant, since the gimplifier
can't handle that case.
Fixes bug #24006
* java/net/ServerSocket.java (implAccept): Set Socket.bound to true.
2005-11-17 Tom Tromey <tromey@redhat.com>
* java/net/ServerSocket.java (accept): Use correct security manager
call.
2005-11-17 Jeroen Frijters <jeroen@frijters.net>
* java/net/ServerSocket.java
(bound): Removed.
(local): New field.
(bind): Cache local socket address.
(getInetAddress, getLocalPort, getLocalSocketAddress, isBound):
Use cached local socket address.
(close): bound field was removed.
* java/net/URLClassLoader.java
(Resource.name): Removed field.
(JarURLResource.name): Added field.
(FileResource.getURL): Use File.toURL() instead of doing it in
a way that breaks on Windows.
* java/text/Collator.java (getInstance(Locale)):
Added default collation pattern to handle case when resource
is missing and throw InternalError instead of returning null
should parsing fail.
re PR fortran/20811 (gfortran include problem (regression from g77))
PR fortran/20811
* scanner.c (gfc_open_included_file): Add an extra include_cwd
argument. Only include files in the current working directory if
its value is true.
* gfortran.h: Change prototype for gfc_open_included_file.
(load_file): Don't search for include files in the current working
directory.
* options.c (gfc_post_options): Add the directory of the source file
to the list of paths for included files.
* module.c (gfc_use_module): Look for module files in the current
directory.
re PR libfortran/24892 (ACCESS argument to the OPEN statement)
PR fortran/24892
* io/io.h (unit_access): Add ACCESS_APPEND.
* io/open.c (access_opt): Add APPEND value for ACCESS keyword.
(st_open): Use that new value to set the POSITION accordingly.
* gfortran.dg/open_access_append_1.f90: New test.
* gfortran.dg/open_access_append_2.f90: New test.
Richard Guenther [Thu, 17 Nov 2005 11:35:00 +0000 (11:35 +0000)]
re PR middle-end/24851 (f2c miscompilation)
2005-11-16 Richard Guenther <rguenther@suse.de>
PR middle-end/24851
* fold-const.c (extract_array_ref): Return byte offset
in all cases.
(fold_binary): Fold &x[a] CMP &x[b] to
a*sizeof(*x) CMP b*sizeof(*x) to get correct overflow
behavior.
Jason Merrill [Wed, 16 Nov 2005 20:22:00 +0000 (15:22 -0500)]
re PR c++/24580 (virtual base class cause exception not to be caught)
PR c++/24580
* method.c (locate_copy): Also use skip_artificial_parms here.
(synthesize_exception_spec): Use CLASS_TYPE_P rather than checking
for RECORD_TYPE.
(locate_ctor): Abort if we fail to find a default constructor.
Mark Wielaard [Wed, 16 Nov 2005 19:43:53 +0000 (19:43 +0000)]
[multiple changes]
2005-11-15 Tom Tromey <tromey@redhat.com>
classpath/23890:
* java/util/Calendar.java (equals): Include other calendar
attributes.
(hashCode): Updated.
* java/util/GregorianCalendar.java (hashCode): New method.
(equals): Use super.equals().
2005-11-15 Sven de Marothy <sven@physto.se>
* java/util/Calendar (setTimeInMillis): Recompute time fields.
re PR rtl-optimization/24160 (ICE with -O1 -ftree-vectorize -msse)
PR rtl-opt/24160
PR target/24621
* reload1.c (reg_equiv_invariant): New.
(reload): Allocate, initialize, and free it.
(calculate_needs_all_insns): Check it when skipping equivalence
setting insns.
(alter_reg): Likewise.
(eliminate_regs_1): Rename from eliminate_regs. Add new
may_use_invariant argument; only use reg_equiv_invariant when true.
(eliminate_regs): New.
(eliminate_regs_in_insn): Use eliminate_regs_1; track when we're in
a context for which may_use_invariant may be true.
Eric Botcazou [Wed, 16 Nov 2005 17:15:23 +0000 (17:15 +0000)]
fold-const.c (const_binop): Don't constant fold the operation if the result has overflowed and...
* fold-const.c (const_binop): Don't constant fold the operation
if the result has overflowed and flag_trapping_math.
* simplify-rtx.c (simplify_const_binary_operation): Likewise.
gcc/
* config/arm/unwind-arm.c (abort): Add prototype here.
(UCB_FORCED_STOP_ARG): Correct typo in macro argument.
(struct phase1_vrs): Add prev_sp.
(unwind_phase2_forced): Save the original core registers instead of
modifying entry_vrs. Take a new flag argument for resuming unwinding
and set action flags accordingly. Always set _US_END_OF_STACK when
get_eit_entry fails. Unwind before calling the stop function.
(_Unwind_GetCFA): New function.
(__gnu_Unwind_ForcedUnwind): Update call to unwind_phase2_forced.
(__gnu_Unwind_Resume_or_Rethrow): Likewise.
(__gnu_Unwind_Resume): Do not unwind here for forced unwinding;
just call unwind_phase2_forced.
(_Unwind_GetDataRelBase, _Unwind_GetTextRelBase): Move to here.
* config/arm/unwind-arm.h (abort): Remove prototype.
(_Unwind_GetDataRelBase, _Unwind_GetTextRelBase): Change to
prototypes.
(_Unwind_GetCFA): New prototype.
* config/arm/pr-support.c (abort): Add prototype here.
* unwind-c.c (PERSONALITY_FUNCTION) [__ARM_EABI_UNWINDER__]: Handle
forced unwinding.
* config/arm/arm.c (arm_expand_prologue, thumb_expand_prologue): Do
not schedule the prologue with non-call exceptions and EABI.
gcc/testsuite/
* gcc.dg/cleanup-5.c, gcc.dg/cleanup-8.c, gcc.dg/cleanup-9.c,
gcc.dg/cleanup-10.c, gcc.dg/cleanup-11.c: Update for ARM EABI.
* java/io/ObjectInputStream.java
(processResolution): Pass Error, RuntimeException and
ObjectStreamException through to the caller.
(readObject): Documentation update.
Bernd Schmidt [Wed, 16 Nov 2005 13:20:06 +0000 (13:20 +0000)]
crti.s (__init, __fini): Use appropriate prologue if __PIC__ is defined.
* config/bfin/crti.s (__init, __fini): Use appropriate prologue if
__PIC__ is defined.
* config/bfin/crtn.s: Change epilogues to match.
* config/bfin/t-bfin-elf (EXTRA_MULTILIB_PARTS): Define.
* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): If flag_pic, define
__PIC__ and __pic__.
Tobias Schlüter [Wed, 16 Nov 2005 10:58:41 +0000 (11:58 +0100)]
re PR fortran/24357 (whither ratfor?)
PR 24357
* doc/invoke.texi: Distinguish between free and fixed form instead of
Fortran and Fortran 90/95. Remove ratfor from the list of supported
languages.
* gcc.c (default_compilers): Remove double entries, add entries for
suffixes '.F90' and '.F95'.
Alan Modra [Wed, 16 Nov 2005 00:22:15 +0000 (00:22 +0000)]
re PR rtl-optimization/23392 (foward-1.m fails with -funroll-loops -O3 -fgnu-runtime)
PR rtl-optimization/23392
* regrename.c (enum scan_actions) Add mark_access.
(scan_actions_name): Ditto.
(scan_rtx_reg): Handle mark_access.
(scan_rtx_address): Do nothing for mark_access.
(build_def_use): Mark source registers in REG_FRAME_RELATED_EXPR
and regs in REG_INC notes before closing chains for dead regs.
Mark destination regs in REG_FRAME_RELATED_EXPR notes after
opening chains for new writes.
David Daney [Tue, 15 Nov 2005 19:11:53 +0000 (19:11 +0000)]
re PR libgcj/15430 (Cannot interrupt blocking I/O calls with close())
PR libgcj/15430
* gnu/java/net/natPlainSocketImplPosix.cc (throw_on_sock_closed): New
function.
(accept): Call it.
(close): Call shutdown before closing.
(read()): Call read_helper with proper parameters.
(read(buffer, int, int)): Likewise.
(read_helper): Pass pointer to the PlainSocketImpl, remove native_fd
and timeout parameters. Make prototype to match. Use
pointer to PlainSocketImpl to access members. Call throw_on_sock_closed
in two places.
Mark Mitchell [Tue, 15 Nov 2005 17:52:34 +0000 (17:52 +0000)]
re PR c++/24667 (-Wcast-qual fails to warn about offending cast for a old style cast)
PR c++/24667
* typeck.c (check_for_casting_away_constness): Use the diag_fn.
(build_const_cast_1): Call it, for C-style casts.
PR c++/24667
* g++.dg/warn/Wcast-qual1.C: New test.
* java/io/ObjectStreamClass.java
(findAccessibleMethod): Added code to make method accessible.
2005-07-03 Daniel Bonniot <bonniot@users.sf.net>
* java/io/ObjectStreamClass.java (inSamePackage): New private method.
(findAccessibleMethod): Likewise.
(cacheMethods): Lookup readResolve and writeReplace using the new
findAccessibleMethod().
Cyrille Comar [Tue, 15 Nov 2005 14:05:45 +0000 (15:05 +0100)]
gnat_ugn.texi: Document that -fstack-check is needed for strict compliance with the Ada 95...
2005-11-14 Cyrille Comar <comar@adacore.com>
Robert Dewar <dewar@adacore.com>
Vincent Celier <celier@adacore.com>
Ben Brosgol <brosgol@adacore.com>
Jose Ruiz <ruiz@adacore.com>
Pascal Obry <obry@adacore.com>
* gnat_ugn.texi:
Document that -fstack-check is needed for strict compliance with the
Ada 95 Reference Manual.
Correct reference to VAX systems to meet HP guidelines
Add documentation for new gnatmake switches -vl, -vm and -vh
Replace DEC Ada by HP Ada
Replace DIGITAL by HP
Remove empty section on tools in compatibility section
Clarify the Windows convention semantics.
Document the Win32 calling convention.
The Stdcall, Win32 and DLL convention are synonyms.
Add a note in -gnatR description about zero size record components
Note on new >= and <= warnings for -gnatwc
Document that equal sign after -gnatm is optional.
Note that strip is working fine on DLL built with a Library
Project. The restriction apply only to DLL built with gnatdll.
Update section about the way to debug a DLL.
Update information about the DLL convention.
Document -C switch for gnatprep
Document new attribute Library_ALI_Dir
Update elaboration doc to include implicit Elaborate pragmas now
generated for subprogram instantiations.
Document limitation on executable names that include spaces for --GCC,
--GNATBIND, and --GNATLINK switches.
Document that -w causes -gnatws to be added at start of gcc switches
* gnat_rm.texi: Document that -mieee is needed for generating infinite
and NaN values in case of overflow on machines that are not fully
compliant with the IEEE floating-point standard.
Create a section describing the set of compiler options needed for
strict compliance with the Ada 95 Reference Manual.
Add documentation for pragma Obsolescent applied to a package
Clarify potential issues of mixed language programs related to the
I/O buffering enabling in the elaboration of the GNAT runtime.
Add extra documentation for pragma Restrictions (No_Elaboration_Code)
This documentation only patch adds extra documentsion for pragma
Restrictions (No_Elaboration_Code), explaining why it is not possible
to document this restriction in terms of allowed source constructs.
Document string literal form of pragma Warnings
Document new attribute Library_ALI_Dir
Add documentation on stable attributes in project files that was missing
* gnat-style.texi: Indicate that paragraphs within a single comment
should be separated by empty comment lines
* ug_words: Added replacements for -gnat95 and -gnat05 (/95 and
/05 respectively)
* bindusg.adb: Minor cleanup, put -m before -M for consistency