* config/darwin-protos.h (darwin_assemble_visibility): Declare.
* config/darwin.c (darwin_assemble_visibility): Define. Warn for
anything other than VISIBILITY_DEFAULT and VISIBILITY_HIDDEN.
* config/darwin.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Use
darwin_assemble_visibility instead of default.
Tom Tromey [Mon, 10 Nov 2003 21:30:10 +0000 (21:30 +0000)]
For PR java/12996:
* libjava.jar/simple.jar: New file.
* libjava.jar/simple.xfail: New file.
* libjava.jar/simple.out: New file.
* libjava.jar/simple.java: New file.
* libjava.jar/jar.exp: New file.
Arnaud Charlet [Mon, 10 Nov 2003 17:30:00 +0000 (18:30 +0100)]
[multiple changes]
2003-11-10 Ed Falis <falis@gnat.com>
* 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
* 5zinit.adb: (Install_Handler): Moved back to spec
(Install_Signal_Handlers): Deleted
* 5zthrini.adb: Added context clause for System.Storage_Elements
(Register): Only handles creation of taskVar; initialization moved to
Thread_Body_Enter.
(Reset_TSD): Deleted; replaced by Thread_Body_Enter
Added declaration of environment task secondary stack and
initialization.
* s-thread.adb: Implement bodies for thread body processing
* s-thread.ads:
Added comment identifying supported targets for pragma Thread_Body.
2003-11-10 Pascal Obry <obry@gnat.com>
* adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
GNAT_MAX_PATH_LEN.
* s-fileio.adb:
(Open): Properly check for string length before copying into the buffer.
Raises Name_Error if buffer is too small. Note that this was a potential
buffer overflow.
* gprcmd.adb:
(Gprcmd): Add new command "prefix" to get the prefix of the GNAT
installation.
* make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
* prj.adb: (Project_Empty): Add new boolean component Virtual
* prj.ads: (Virtual_Prefix): New constant string
(Project_Data): New boolean component Virtual
* prj-nmsc.adb (Language_Independent_Check): Adjust error message when
a library project is extended by a virtual extending project.
* prj-part.adb:
Modifications throughout to implement extending-all project, including:
(Virtual_Hash, Processed_Hash): New hash tables
(Create_Virtual_Extending_Project): New procedure
(Look_For_Virtual_Projects_For): New procedure
* prj-proc.adb:
(Process): After checking the projects, if main project is an
extending-all project, set the object directory of all virtual extending
project to the object directory of the main project.
Adjust error message when a virtual extending project has the same
object directory as an project being extended.
(Recursive_Process): If name starts with the virtual prefix, set Virtual
to True in the project data.
* prj-tree.adb:
(Default_Project_Node): Add new boolean component Extending_All
(Is_Extending_All): New function
(Set_Is_Extending_All): New procedure
* prj-tree.ads: (Is_Extending_All): New function
(Set_Is_Extending_All): New procedure
(Project_Node_Record): New boolean component Extending_All
* switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
* vms_data.ads:
Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
* bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
"gprcmd prefix" to define it.
2003-11-10 Thomas Quinot <quinot@act-europe.fr>
* einfo.ads: Fix a typo and remove an extraneous word in comments.
* lib-load.adb:
(Create_Dummy_Package_Unit): Set the scope of the entity for the
created dummy package to Standard_Standard, not to itself, to
defend other parts of the front-end against encoutering a cycle in
the scope chain.
* sem_ch10.adb:
(Analyze_With_Clause): When setting the entities for the successive
N_Expanded_Names that constitute the name of a child unit, do not
attempt to go further than Standard_Standard in the chain of scopes.
This case arises from the placeholder units created by
Create_Dummy_Package_Unit in the case of a with_clause for a
nonexistent child unit.
2003-11-10 Ed Schonberg <schonberg@gnat.com>
* exp_ch6.adb:
(Expand_Thread_Body): Place subprogram on scope stack, so that new
declarations are given the proper scope.
* sem_ch13.adb:
(Check_Expr_Constants): Reject an expression that contains a constant
created during expansion, and that appears after the object to which
the address clause applies.
* sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
Analyze_Iteration_Scheme, to rewrite a loop parameter specification
that uses 'Range of a function call with controlled components, so
that the function result can be finalized before starting the loop.
* sem_ch8.adb:
(Find_Selected_Component): Improve error message when prefix is
an implicit dereference of an incomplete type.
2003-11-10 Robert Dewar <dewar@gnat.com>
* opt.ads: New Print_Standard flag for -gnatS switch
* sem_ch13.adb: Remove some additional checks for unaligned arrays
* cstand.adb (Create_Standard): Print out package standard if -gnatS
switch set
* debug.adb: Update doc for -gnatds to discuss relationship with new
-gnatS flag
* sinfo.adb: Add new field Entity_Or_Associated_Node
* sinfo.ads: Add new field Entity_Or_Associated_Node
Update documentation for Associated_Node and Entity fields to clarify
relationship and usage.
* sprint.adb:
(Write_Id): Properly process Associated_Node field in generic template
* switch-c.adb:
Recognize new -gnatS switch for printing package Standard
This replaces gnatpsta
* usage.adb:
Add line for new -gnatS switch for printing package Standard
This replaces gnatpsta
Arnaud Charlet [Mon, 10 Nov 2003 09:42:57 +0000 (10:42 +0100)]
re PR ada/12950 (Ada runtime is not relocatable)
PR 12950
* osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
functions. Used to handle dynamic prefix relocation, via set_std_prefix.
Replace GNAT_ROOT by GCC_ROOT.
* Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
Waldek Hebisch [Mon, 10 Nov 2003 08:11:47 +0000 (09:11 +0100)]
re PR target/12865 (`mprotect' call to make trampoline executable may fail)
PR target/12865
* config/sparc/sparc.c (sparc_initialize_trampoline): Call
__enable_execute_stack only after writing onto the stack.
(sparc64_initialize_trampoline): Likewise.
Roger Sayle [Sun, 9 Nov 2003 14:33:20 +0000 (14:33 +0000)]
loop.c (check_dbra_loop): Try swapping the comparison operands of the loop condition to identify a...
* loop.c (check_dbra_loop): Try swapping the comparison operands
of the loop condition to identify a suitable induction variable.
* unroll.c (loop_iterations): Likewise.
Paolo Carlini [Sun, 9 Nov 2003 10:47:58 +0000 (10:47 +0000)]
re PR libstdc++/12971 (Resolution of DR 328 [WP] still unimplemented)
2003-11-09 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/12971
* include/bits/locale_facets.tcc
(money_put::do_put(..., long double)): Fix conversion
specification as per DR 328 [WP].
* testsuite/22_locale/money_put/put/char/12971.cc: Add.
* testsuite/22_locale/money_put/put/wchar_t/12971.cc: Ditto.
* docs/html/ext/howto.html: Add entry for DR 328.
Paolo Carlini [Sat, 8 Nov 2003 21:17:30 +0000 (21:17 +0000)]
re PR libstdc++/12967 (Resolution of DR 300 [WP] still unimplemented)
2003-11-08 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/12967
* include/bits/list.tcc (merge): Implement resolution of
DR 300 [WP].
* docs/html/ext/howto.html: Add entry for DR 300; tweak entry
for DR 231.
cppfiles.c (pch_open_file): New parameter 'invalid_pch', set it.
2003-11-07 Geoffrey Keating <geoffk@apple.com>
* cppfiles.c (pch_open_file): New parameter 'invalid_pch', set it.
(find_file_in_dir): Likewise.
(_cpp_find_file): Print message if no header file is found
but an invalid PCH file was.
2003-11-07 Geoffrey Keating <geoffk@apple.com>
* gcc.dg/pch/warn-1.c: Allow for more helpful error message.
Joseph Myers [Sat, 8 Nov 2003 01:38:48 +0000 (01:38 +0000)]
c-typeck.c (pedantic_lvalue_warning): Deprecate compound expressions as lvalues.
* c-typeck.c (pedantic_lvalue_warning): Deprecate compound
expressions as lvalues.
(internal_build_compound_expr): Remove special handling for
non-pedantic case.
* doc/extend.texi: Document that all extended lvalues are now
deprecated.
testsuite:
* gcc.dg/compound-lvalue-1.c: New test.
* gcc.dg/c90-const-expr-2.c, gcc.dg/c99-const-expr-2.c: Remove
some XFAILs.
re PR pch/11654 (incorrect stabs when using pre-compiled headers)
PR 11654
* dbxout.c (struct dbx_file): Do not save for PCH.
(current_file): Likewise.
(dbxout_init): Don't allocate struct dbx_file using GC.
(dbxout_start_source_file): Likewise.
Carlo Wood [Fri, 7 Nov 2003 17:55:27 +0000 (17:55 +0000)]
re PR libstdc++/12736 (Demangler bug)
PR libstdc++/12736
* bits/demangle.h (qualifier_list<Allocator>::decode_KVrA): Added.
(qualifier_list<Allocator>::decode_qualifiers): Collect concatenated
K, V, r and A qualifiers before processing them as a group.
* testsuite/demangle/abi_text/01.cc: Reordered CV-qualifiers.
* testsuite/demangle/regression/cw-16.cc: New.
Carlo Wood [Fri, 7 Nov 2003 03:53:44 +0000 (03:53 +0000)]
demangle.h (qualifier_list<Allocator>::decode_qualifiers(string_type&, string_type&, bool member_function_pointer_qualifiers): Always seperate the '[' of an array type with a space from what is left of it...
* include/bits/demangle.h
(qualifier_list<Allocator>::decode_qualifiers(string_type&,
string_type&, bool member_function_pointer_qualifiers):
Always seperate the '[' of an array type with a space from
what is left of it, except when that is the closing bracket
of another array dimension.
Mohan Embar [Fri, 7 Nov 2003 03:16:49 +0000 (03:16 +0000)]
re PR libgcj/12231 ([win32] Console applications spawned via Runtime.exec( ) in a GUI application flash console window)
PR libgcj/12231
* java/lang/Win32Process.java (hasExited) Changed from
public to private.
(startProcess): Likewise.
(cleanup): Likewise.
* java/lang/natWin32Process.cc (cleanup) Don't close
input, output and error streams.
(ChildProcessPipe): New helper class.
(startProcess): Refactored to use ChildProcessPipe.
Use CREATE_NO_WINDOW when launching child process.
Mohan Embar [Fri, 7 Nov 2003 03:13:56 +0000 (03:13 +0000)]
win32.h (_Jv_platform_close_on_exec): Changed signature and declared extern.
* include/win32.h (_Jv_platform_close_on_exec): Changed
signature and declared extern.
* win32.cc (_Jv_platform_close_on_exec): Implemented.
* gnu/java/net/natPlainDatagramSocketImplWin32.cc
(create): Use new signature of _Jv_platform_close_on_exec.
* gnu/java/net/natPlainSocketImplWin32.cc
(create): Eliminated a few typecasts
Use new signature of _Jv_platform_close_on_exec.
(accept): Eliminated a few typecasts
Use new signature of _Jv_platform_close_on_exec.
* java/io/natFileDescriptorWin32.cc (open): Use
_Jv_platform_close_on_exec.
Matt Austern [Thu, 6 Nov 2003 22:08:26 +0000 (22:08 +0000)]
c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY field instead of hanging an attribute object off the decl.
* c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY
field instead of hanging an attribute object off the decl.
* tree.h (DECL_VISIBLITY): New accessor macro for
symbol_visibility field in struct tree_decl.
(enum symbol_visibility): Move definition to before tree_decl.
(struct tree_decl): Define new two-bit field, symbol_visibility.
(decl_visibility): Remove declaration.
* varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY
instead of decl_visibility.
(default_binds_local_p_1): Use DECL_VISIBILITY instead of
decl_visibility.
(decl_visibility): Remove.
* cp/decl.c (duplicate_decls): copy DECL_VISIBILITY field.
* cp/method.c (use_thunk): give thunk same visibility as function.
* cp/optimize.c (maybe_clone_body): copy DECL_VISIBILITY field.
* config/rs6000/rs6000.h (USE_FP_FOR_ARG_P): Move to rs6000.c.
(USE_ALTIVEC_FOR_ARG_P): Likewise.
* config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Move from rs6000.h.
Take a pointer as the CUM parameter. Update callers.
(USE_ALTIVEC_FOR_ARG_P): Likewise. Also correct for Darwin/AIX
32-bit ABIs.
(function_arg_advance): Use USE_ALTIVEC_FOR_ARG_P. Correct case
of vector parameters as named arguments of stdarg function.
(function_arg): Likewise.
* config/rs6000/darwin.h (ASM_SPEC): Use -force_cpusubtype_ALL when
-maltivec is specified, not the non-existent -faltivec.
mips-protos.h (mips_initial_elimination_offset): Change return type to HOST_WIDE_INT.
* config/mips/mips-protos.h (mips_initial_elimination_offset): Change
return type to HOST_WIDE_INT.
* config/mips/mips.c (mips_frame_info): Give sizes type HOST_WIDE_INT.
Make initialized a bool. Make register masks unsigned ints.
(compute_frame_size): Make same mask change here. Use HOST_WIDE_INT
where appropriate.
(mips_initial_elimination_offset): Return a HOST_WIDE_INT.
(mips_output_function_prologue): Print sizes as HOST_WIDE_INTs.
Zack Weinberg [Thu, 6 Nov 2003 08:38:52 +0000 (08:38 +0000)]
genmodes.c: Change the word "bitsize" to "precision" throughout.
* genmodes.c: Change the word "bitsize" to "precision" throughout.
* machmode.def: Likewise.
* machmode.h (GET_MODE_SIZE): Cast value to unsigned short.
(GET_MODE_BITSIZE): Define as GET_MODE_SIZE * BITS_PER_UNIT.
(GET_MODE_PRECISION): New macro.
(mode_bitsize): Renamed mode_precision.
* stor-layout.c (mode_for_size, smallest_mode_for_size):
Use GET_MODE_PRECISION; clarify comments.
ada:
* misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
and update for changed meaning of GET_MODE_BITSIZE.
Per Bothner [Wed, 5 Nov 2003 21:09:04 +0000 (21:09 +0000)]
c-opts.c (finish_options): Set include_cursor to disable premature calls to push_command_line_include from...
* c-opts.c (finish_options): Set include_cursor to disable premature
calls to push_command_line_include from cpp_scan_nooutput.
Fixes bug reported by DJ Delorie.
* gcc.c-torture/compile/20031023-4.c: XFAIL on SPARC64
* gcc.c-torture/compile/simd-5.c: XFAIL on SPARC64 at -O0 and -O1.
* gcc.c-torture/execute/simd-4.x: New file. XFAIL on SPARC at -O0.
* gcc.c-torture/execute/va-arg-25.x: New file. XFAIL on SPARC.
* gcc.dg/uninit-C.c: XFAIL on non 64-bit Solaris versions.
Zdenek Dvorak [Wed, 5 Nov 2003 18:10:44 +0000 (19:10 +0100)]
cfgloopanal.c (variable_initial_value, [...]): Record the fact that initial value is extended from inner mode.
* cfgloopanal.c (variable_initial_value, variable_initial_values,
simple_loop_exit_p): Record the fact that initial value is extended
from inner mode.
(count_strange_loop_iterations, count_loop_iterations): Handle
ivs that iterate in a narrower mode. Fix handling of overflows.
Improve handling of NE conditions.
(inverse, fits_in_mode_p): New static functions.
(simple_increment): Detect variables that iterate in a narrower mode.
* cfgloop.h (struct loop_desc): Fields inner_mode and extend added.