Paolo Carlini [Wed, 2 Dec 2009 15:53:39 +0000 (15:53 +0000)]
2009-12-02 Paolo Carlini <paolo.carlini@oracle.com>
* Adjust last ChangeLog entry, mention Make-lang.in.
From-SVN: r154916
Paolo Bonzini [Wed, 2 Dec 2009 15:49:20 +0000 (15:49 +0000)]
re PR c++/29917 (%s substituted with actual words can not be translated correctly (op_error))
2009-12-02 Paolo Bonzini <bonzini@gnu.org>
Shujing Zhao <pearly.zhao@oracle.com>
PR c++/29917
* call.c (op_error): Accept a boolean to indicate no match/ambiguous
match, instead of a string. Callers adjusted.
PR c++/34836
* cp-tree.h (readonly_error_kind): New type.
(readonly_error): Adjust prototype with new argument.
* typeck2.c (readonly_error): Accept readonly_error_kind as argument
and add macro ERROR_FOR_ASSIGNMENT to emit diagnostics.
* semantics.c (finish_asm_stmt): Adjust readonly_error call.
* typeck.c (cp_build_unary_op, cp_build_modify_expr): Likewise.
* decl.c (grokparms, grok_op_properties): Put the diagnostics in full
sentences for easy translation and wrap the diagnostics into G_() when
needed.
(create_array_type_for_decl): Likewise.
* pt.c (tsubst): Likewise.
* typeck2.c (cp_build_unary_op): Wrap diagnostic into _().
* rtti.c (build_dynamic_cast_1): Likewise.
Co-Authored-By: Shujing Zhao <pearly.zhao@oracle.com>
From-SVN: r154915
Richard Guenther [Wed, 2 Dec 2009 15:22:01 +0000 (15:22 +0000)]
re PR middle-end/42229 (cancel_loop_tree: bad read causes ice)
2009-12-02 Richard Guenther <rguenther@suse.de>
PR middle-end/42229
* cfgloopmanip.c (remove_path): Avoid cancelling loops
twice.
From-SVN: r154914
Joseph Myers [Wed, 2 Dec 2009 14:25:46 +0000 (14:25 +0000)]
* gcc.pot: Regenerate.
From-SVN: r154911
Joseph Myers [Wed, 2 Dec 2009 14:24:09 +0000 (14:24 +0000)]
* cpplib.pot: Regenerate.
From-SVN: r154910
Ulrich Weigand [Wed, 2 Dec 2009 13:58:02 +0000 (13:58 +0000)]
Forgot to add file with last commit.
From-SVN: r154909
Ulrich Weigand [Wed, 2 Dec 2009 13:50:52 +0000 (13:50 +0000)]
re PR middle-end/42224 (32bit pointers to 32bit pointers abort on 64bit VMS and S390X)
gcc/
PR middle-end/42224
* tree.h (int_or_pointer_precision): Remove.
* tree.c (int_or_pointer_precision): Remove.
(integer_pow2p): Use TYPE_PRECISION instead.
(tree_log2): Likewise.
(tree_floor_log2): Likewise.
(signed_or_unsigned_type_for): Likewise.
* fold-const.c (fit_double_type): Likewise.
* varasm.c (initializer_constant_valid_p): Likewise.
gcc/testsuite/
PR middle-end/42224
* gcc.target/s390/pr42224.c: New test.
From-SVN: r154908
Ira Rosen [Wed, 2 Dec 2009 13:36:47 +0000 (13:36 +0000)]
invoke.texi (-fdump-tree-slp): Document.
* doc/invoke.texi (-fdump-tree-slp): Document.
(-ftree-vectorizer-verbose): Update.
(-ftree-slp-vectorize): Document.
From-SVN: r154907
Nick Clifton [Wed, 2 Dec 2009 11:15:50 +0000 (11:15 +0000)]
Oops - omitted this part of xstormy16 patch to use __clzhi2() instead of __stormy16_count_leading_zeros.
From-SVN: r154905
Nick Clifton [Wed, 2 Dec 2009 10:59:04 +0000 (10:59 +0000)]
rx.c (rx_conditional_register_usage): Do not warn if no fixed registers are available for interrupt handlers.
* config/rx/rx.c (rx_conditional_register_usage): Do not warn if
no fixed registers are available for interrupt handlers. Do not
fix normal registers.
(MUST_SAVE_ACC_REGISTER): New macro.
(rx_get_stack_layout): Create a stack frame for fast interrupt
handlers, if necessary. Push extra registers if needed in order
to save the accumulator.
(rx_expand_prologue): Create a stack frame for fast interrupt
handlers, if necessary.
(rx_expand_builtin_mvfc): Handle the case where there is no
target.
From-SVN: r154903
Janne Blomqvist [Wed, 2 Dec 2009 09:22:50 +0000 (11:22 +0200)]
Typo in ChangeLog entry for PR fortran/42131
From-SVN: r154900
Jakub Jelinek [Wed, 2 Dec 2009 08:39:10 +0000 (09:39 +0100)]
g++spec.c (lang_specific_driver): Remove unused saw_verbose_flag variable.
* g++spec.c (lang_specific_driver): Remove unused saw_verbose_flag
variable.
* pt.c (tsubst_pack_expansion): Remove unused first_arg_pack variable.
* init.c (build_vec_init): Remove unused size variable.
* typeck2.c (check_narrowing): Remove unused was_decl variable.
* decl.c (poplevel): Remove unused tmp and real_functionbody
variables.
(decls_match): Remove unused tree_name variable.
(start_decl): Remove unused type variable.
* parser.c (cp_parser_type_parameter): Remove unused parameter_list
variable.
(cp_parser_template_id, cp_parser_explicit_instantiation,
cp_parser_declarator): Remove unused token variable.
(cp_parser_simple_type_specifier): Remove unused id variable.
(cp_parser_parameter_declaration): Remove unused
greater_than_is_operator_p variable.
(cp_parser_check_declarator_template_parameters): Remove unused
member variable.
(c_parse_file): Remove unused error_occurred variable.
* cp-gimplify.c (cp_gimplify_init_expr): Remove unused slot variable.
* typeck.c (cp_build_function_call_vec): Remove unused name variable.
* class.c (resolve_address_of_overloaded_function): Remove unused
is_reference variable.
(build_rtti_vtbl_entries): Remove unused basetype variable.
* mangle.c (write_template_param): Remove unused parm_level and
parm_type variables.
From-SVN: r154899
Sebastian Pop [Wed, 2 Dec 2009 05:49:34 +0000 (05:49 +0000)]
lzcount intrinsics.
* config/i386/abmintrin.h (__lzcnt16): New.
(__lzcnt): New.
(__lzcnt64): New.
* config/i386/i386-builtin-types.def (UINT16_FTYPE_UINT16): New.
* config/i386/i386.c (IX86_BUILTIN_CLZS): New.
(bdesc_special_args): Add __builtin_clzs.
(ix86_expand_args_builtin): Handle UINT16_FTYPE_UINT16.
From-SVN: r154895
Sebastian Pop [Wed, 2 Dec 2009 05:48:18 +0000 (05:48 +0000)]
ABM popcount intrinsics.
* config/i386/abmintrin.h (_mm_popcnt_u32): New.
(_mm_popcnt_u64): New.
From-SVN: r154894
Sebastian Pop [Wed, 2 Dec 2009 05:47:26 +0000 (05:47 +0000)]
ABM intrinsics file.
* config/i386/abmintrin.h: New.
* config/i386/i386-c.c (ix86_target_macros_internal): Defined __ABM__.
* config/i386/x86intrin.h: Include abmintrin.h when __ABM__ is defined.
From-SVN: r154893
David Edelsohn [Wed, 2 Dec 2009 04:21:08 +0000 (04:21 +0000)]
aix.S (ffi_call_AIX): Convert to more standard register usage.
* src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
register usage. Call ffi_prep_args directly. Add long double
return value support.
* src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
applies to FFI_TYPE_DOUBLE. Correct fpr_base increment typo.
Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
(ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
mode.
(ffi_closure_helper_DARWIN): Remove nf and ng counters. Move temp
into case.
* src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
Allocate result area between params and FPRs.
From-SVN: r154892
Taras Glek [Wed, 2 Dec 2009 01:00:39 +0000 (01:00 +0000)]
* parser.c (cp_parser_class_specifier): Set class location to that of IDENTIFIER_NODE instead of '{' when possible.\n* semantics.c (begin_class_definition): Do not overide locations with less precise ones.
From-SVN: r154890
GCC Administrator [Wed, 2 Dec 2009 00:16:40 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r154889
Ben Elliston [Tue, 1 Dec 2009 22:05:25 +0000 (22:05 +0000)]
natVMURLConnection.cc (guessContentTypeFromBuffer): Mark `bytes' and `valid' parameters as potentially unused.
* java/net/natVMURLConnection.cc (guessContentTypeFromBuffer):
Mark `bytes' and `valid' parameters as potentially unused.
From-SVN: r154886
Jason Merrill [Tue, 1 Dec 2009 21:58:04 +0000 (16:58 -0500)]
re PR middle-end/41611 (guard variable is emitted even when the guarded symbol isn't)
PR c++/41611
* decl2.c (get_guard): Copy DECL_COMDAT.
(comdat_linkage): Set DECL_COMDAT unconditionally.
From-SVN: r154885
Uros Bizjak [Tue, 1 Dec 2009 21:56:40 +0000 (22:56 +0100)]
vperm-v4sf-1.c (dg-options): Use -msse.
* gcc.target/i386/vperm-v4sf-1.c (dg-options): Use -msse.
From-SVN: r154884
Uros Bizjak [Tue, 1 Dec 2009 21:23:55 +0000 (22:23 +0100)]
i386.md (SWI124): Rename from CRC32MODE.
* config/i386/i386.md (SWI124): Rename from CRC32MODE.
(crc32modesuffix): Remove.
(crc32modeconstraint): Ditto.
(sse4_2_crc32<mode>): Update for renamed mode iterator. Use
imodesuffix instead of crc32modesuffix and <r>m instead of
crc32modeconstraint.
From-SVN: r154882
Jakub Jelinek [Tue, 1 Dec 2009 20:09:37 +0000 (21:09 +0100)]
re PR c++/3187 (gcc lays down two copies of constructors)
PR c++/3187
* optimize.c (cdtor_comdat_group): New function.
(maybe_clone_body): Also optimize DECL_COMDAT base/complete cdtors
and in that case put also the deleting dtor in the same comdat group
as base and complete dtor if dtor is virtual.
From-SVN: r154880
Jakub Jelinek [Tue, 1 Dec 2009 19:41:52 +0000 (20:41 +0100)]
re PR debug/42234 (internal compiler error: verify_ssa failed)
PR c++/42234
* tree-cfgcleanup.c (cleanup_omp_return): Don't ICE if control_bb
contains no statements.
* g++.dg/gomp/pr42234.C: New test.
From-SVN: r154878
Grigori Fursin [Tue, 1 Dec 2009 19:12:29 +0000 (20:12 +0100)]
cgraphunit.c (plugin.h): Include.
2009-12-01 Grigori Fursin <grigori.fursin@inria.fr>
Joern Rennecke <amylaar@spamcop.net>
* cgraphunit.c (plugin.h): Include.
(ipa_passes): Invoke PLUGIN_ALL_IPA_PASSES_START /
PLUGIN_ALL_IPA_PASSES_END at start / end of processing.
* gcc-plugin.h (highlev-plugin-common.h, hashtab.h): Include.
(enum plugin_event): Define by including plugin.def.
Last enumerator is now called PLUGIN_EVENT_FIRST_DYNAMIC.
(plugin_event_name): Change type to const char **.
(get_event_last, get_named_event_id, unregister_callback): Declare.
(register_callback): Change type of event argument to int.
(highlev-plugin-common.h): New file.
* Makefile.in (GCC_PLUGIN_H): Add highlev-plugin-common.h and
$(HASHTAB_H)
(tree-optimize.o passes.o): Depend on $(PLUGIN_H).
(PLUGIN_HEADERS): Add opts.h, $(PARAMS_H) and plugin.def.
(s-header-vars): New rule.
(install-plugin): Depend on s-header-vars. Install b-header-vars.
* params.c (get_num_compiler_params): New function.
* params.h (get_num_compiler_params): Declare.
* passes.c (plugin.h): Include.
(make_pass_instance): Invoke PLUGIN_NEW_PASS.
(do_per_function_toporder, pass_init_dump_file): No longer static.
(pass_fini_dump_file): Likewise.
(execute_one_pass): Likewise. Invoke PLUGIN_OVERRIDE_GATE and
PLUGIN_PASS_EXECUTION.
(execute_ipa_pass_list): Invoke PLUGIN_EARLY_GIMPLE_PASSES_START and
PLUGIN_EARLY_GIMPLE_PASSES_END.
* plugin.c (plugin_event_name_init): New array, defined by
including plugin.def.
(FMT_FOR_PLUGIN_EVENT): Update.
(plugin_event_name): Change type to const char ** and initialize
to plugin_event_name_init.
(event_tab, event_last, event_horizon): New variable.
(get_event_last): New function.
(plugin_callbacks_init): New array.
(plugin_callbacks: Change type to struct callback_info **.
Initialize to plugin_callbacks_init.
(htab_event_eq, get_named_event_id, unregister_callback): New function.
(invoke_plugin_va_callbacks): Likewise.
(register_callback): Change type of event argument to int.
Handle new events. Allow dynamic events.
(invoke_plugin_callbacks): Likewise. Return success status.
(plugins_active_p): Allow dynamic callbacks.
* plugin.def: New file.
* plugin.h (invoke_plugin_callbacks): Update prototype.
(invoke_plugin_va_callbacks): Declare.
* tree-optimize.c (plugin.h): Include.
(tree_rest_of_compilation): Invoke PLUGIN_ALL_PASSES_START and
PLUGIN_ALL_PASSES_END.
* tree-pass.h (execute_one_pass, pass_init_dump_file): Declare.
(pass_fini_dump_file, do_per_function_toporder): Likewise.
* doc/plugin.texi: Document new event types.
Co-Authored-By: Joern Rennecke <amylaar@spamcop.net>
From-SVN: r154877
Janne Blomqvist [Tue, 1 Dec 2009 18:32:37 +0000 (20:32 +0200)]
PR fortran/42131 Sign test using ternary operator
From-SVN: r154876
Martin Jambor [Tue, 1 Dec 2009 17:39:44 +0000 (18:39 +0100)]
re PR tree-optimization/42237 (internal compiler error: verify_stmts failed)
2009-12-01 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/42237
* tree-sra.c (sra_ipa_modify_assign): Split gimple_reg_type assignments
in between references into two.
* testsuite/gcc.c-torture/compile/pr42237.c: New test.
From-SVN: r154874
Richard Guenther [Tue, 1 Dec 2009 14:22:50 +0000 (14:22 +0000)]
tree-inline.c (copy_tree_body_r): Do not set TREE_BLOCK to the block of the call when remapping a type.
2009-12-01 Richard Guenther <rguenther@suse.de>
* tree-inline.c (copy_tree_body_r): Do not set TREE_BLOCK
to the block of the call when remapping a type.
From-SVN: r154873
Martin Jambor [Tue, 1 Dec 2009 10:51:07 +0000 (11:51 +0100)]
cgraph.h (struct cgraph_edge): Reorder fields.
2009-12-01 Martin Jambor <mjambor@suse.cz>
* cgraph.h (struct cgraph_edge): Reorder fields. Make loop_nest
unsigned short int.
* ipa-prop.h (struct ipa_param_call_note): Likewise.
* ipa-prop.c (ipa_note_param_call): Initialize note->loop_nest.
From-SVN: r154872
Pascal Obry [Tue, 1 Dec 2009 10:29:57 +0000 (10:29 +0000)]
s-osprim-mingw.adb (Get_Base_Time): Make sure that the base time is taken at a clock tick boundary.
2009-12-01 Pascal Obry <obry@adacore.com>
* s-osprim-mingw.adb (Get_Base_Time): Make sure that the base time is
taken at a clock tick boundary.
From-SVN: r154871
Arnaud Charlet [Tue, 1 Dec 2009 10:24:39 +0000 (11:24 +0100)]
[multiple changes]
2009-12-01 Thomas Quinot <quinot@adacore.com>
* g-sechas.ads (GNAT.Secure_Hashes.H."=" on Context): Make abstract.
2009-12-01 Matthew Gingell <gingell@adacore.com>
* adadecode.c: Allow compilation when building the run time in the gnat
runtime.
(__gnat_decode): Strip the .nnnn suffix from names of nested functions.
* gcc-interface/Makefile.in: Ada adadecode to LIBGNAT_SRCS and
LIBGNAT_OBJS.
2009-12-01 Vincent Celier <celier@adacore.com>
* gnatcmd.adb (Check_Files): Quote the path names as they may include
spaces.
2009-12-01 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Analyze_Object_Declaration): If the defining identifier
has already been declared, it may have been rewritten as a renaming
declaration.
From-SVN: r154870
Richard Guenther [Tue, 1 Dec 2009 10:02:24 +0000 (10:02 +0000)]
final.c (rest_of_clean_state): If -fcompare-debug is given dump final insns without UIDs.
2009-12-01 Richard Guenther <rguenther@suse.de>
* final.c (rest_of_clean_state): If -fcompare-debug is
given dump final insns without UIDs.
* tree-ssa-live.c (remove_unused_scope_block_p): Remove
after_inlining checks.
From-SVN: r154869
Arnaud Charlet [Tue, 1 Dec 2009 09:52:51 +0000 (10:52 +0100)]
[multiple changes]
2009-12-01 Ed Schonberg <schonberg@adacore.com>
* einfo.ads: Clarify use of Is_Private_Primitive.
* sem_ch6.adb (Analyze_Subprogram_Declaration): An operation is a
private primitive operation only if it is declared in the scope of the
private controlling type.
* exp_ch9.adb (Build_Wrapper_Spec): Build wrappers for private
protected operations as well.
2009-12-01 Arnaud Charlet <charlet@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Disable front-end
optimizations in CodePeer mode, to keep the tree as close to the source
code as possible, and also to avoid inconsistencies between trees when
using different optimization switches.
2009-12-01 Thomas Quinot <quinot@adacore.com>
* scos.ads: Updated specification of source coverage obligation
information.
2009-12-01 Thomas Quinot <quinot@adacore.com>
* g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb,
a-ststio.adb, s-commun.adb, s-commun.ads, g-socket.adb,
g-socket.ads (System.Communications.Last_Index): For the case where no
element has been transferred and Item'First =
Stream_Element_Offset'First, raise CONSTRAINT_ERROR.
2009-12-01 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Install_Siblings): A private with_clause on some child
unit U in an ancestor of the current unit must be ignored if the
current unit has a regular with_clause on U.
From-SVN: r154868
Paolo Carlini [Tue, 1 Dec 2009 09:19:47 +0000 (09:19 +0000)]
re PR c++/42057 (ICE with invalid parameter of virtual function)
2009-12-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/42057
* g++.dg/parse/crash54.C: New.
From-SVN: r154865
Chao-ying Fu [Tue, 1 Dec 2009 01:40:28 +0000 (01:40 +0000)]
dsp-lhx.c: New test.
2009-11-30 Chao-ying Fu <fu@mips.com>
* gcc.target/mips/dsp-lhx.c: New test.
* gcc.target/mips/dsp-no-lhx.c: New test.
From-SVN: r154862
Chao-ying Fu [Tue, 1 Dec 2009 01:37:52 +0000 (01:37 +0000)]
mips-dsp.md (mips_lhx_<mode>): Use sign_extend.
2009-11-30 Chao-ying Fu <fu@mips.com>
* config/mips/mips-dsp.md (mips_lhx_<mode>): Use sign_extend.
From-SVN: r154861
GCC Administrator [Tue, 1 Dec 2009 00:16:42 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r154859
Dave Korn [Tue, 1 Dec 2009 00:09:30 +0000 (00:09 +0000)]
libstdc++.exp (libstdc++_init): Add host-dependent settings for LC_ALL and LANG.
2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
* testsuite/lib/libstdc++.exp (libstdc++_init): Add host-dependent
settings for LC_ALL and LANG.
From-SVN: r154856
David Edelsohn [Mon, 30 Nov 2009 23:34:33 +0000 (23:34 +0000)]
re PR libffi/35484 (libffi doesn't support AIX 64bit)
2009-11-30 David Edelsohn <edelsohn@gnu.org>
PR target/35484
* src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
AIX64.
* src/powerpc/aix.S: Implement AIX64 version.
* src/powerpc/aix_closure.S: Implement AIX64 version.
(ffi_closure_ASM): Use extsb, lha and displament addresses.
* src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
support.
(ffi_prep_cif_machdep): Same.
(ffi_call): Same.
(ffi_closure_helper_DARWIN): Same.
From-SVN: r154855
Dave Korn [Mon, 30 Nov 2009 23:30:57 +0000 (23:30 +0000)]
libgomp.exp (libgomp_init): Add host-dependent settings for LC_ALL and LANG.
libgomp/ChangeLog
2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
* testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
settings for LC_ALL and LANG.
gcc/testsuite/ChangeLog
2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
* lib/g++.exp (g++_init): Add host-dependent settings for
LC_ALL and LANG.
* lib/gcc-dg.exp: Likewise.
* lib/options.exp: Likewise.
* lib/objc.exp (objc_init): Likewise.
* lib/gfortran.exp (gfortran_init): Likewise.
libjava/ChangeLog
2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
* testsuite/lib/libjava.exp (libjava_init): Add host-dependent
settings for LC_ALL and LANG.
From-SVN: r154854
Dave Korn [Mon, 30 Nov 2009 23:22:04 +0000 (23:22 +0000)]
configure.ac (USE_CYGWIN_LIBSTDCXX_WRAPPERS): Define to reflect status of AC_CHECK_FUNC for Cygwin DLL libstdc++ support wrappers.
gcc/ChangeLog:
2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
* configure.ac (USE_CYGWIN_LIBSTDCXX_WRAPPERS): Define to reflect
status of AC_CHECK_FUNC for Cygwin DLL libstdc++ support wrappers.
* configure: Regenerate.
* config.in: Regenerate.
* config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Define list of --wrap
options for Cygwin DLL libstdc++ support wrappers.
(CXX_WRAP_SPEC_OPT): Define spec to use wrappers or not by default
according to defined value of USE_CYGWIN_LIBSTDCXX_WRAPPERS.
(CXX_WRAP_SPEC): Define entire wrapper spec in or out according to
whether USE_CYGWIN_LIBSTDCXX_WRAPPERS is even defined or not.
(LINK_SPEC): Include CXX_WRAP_SPEC.
* gcc/config/i386/winnt.c (wrapper_strcmp): New qsort helper function.
(i386_find_on_wrapper_list): Check if a function is found on the list
of libstdc++ wrapper options.
(i386_pe_file_end): If we are importing a wrapped function, also emit
an external declaration for the real version.
* config/i386/cygming.opt (muse-libstdc-wrappers): New option for
Cygwin targets. Update copyright year.
libstdc++-v3/ChangeLog:
2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
* libstdc++-v3/acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Don't disable
on PE targets.
* libstdc++-v3/configure: Regenerate.
* libstdc++-v3/configure.host: Add libtool DLL options for Cygwin
and MinGW platforms.
* libstdc++-v3/include/bits/c++config (_GLIBCXX_VISIBILITY_ATTR): On
platforms that don't support visibility, allow them to declare a macro
_GLIBCXX_PSEUDO_VISIBILITY that is applied in place of visibility.
(_GLIBCXX_PSEUDO_VISIBILITY): Supply empty default if not declared by
CPU- or OS-specific headers.
* libstdc++-v3/config/os/newlib/os_defines.h
(_GLIBCXX_PSEUDO_VISIBILITY_default): New macro for dllimport.
(_GLIBCXX_PSEUDO_VISIBILITY_hidden): New empty macro.
(_GLIBCXX_PSEUDO_VISIBILITY): Evaluate to one of the above.
* libstdc++-v3/config/os/mingw32/os_defines.h
(_GLIBCXX_PSEUDO_VISIBILITY_default,
_GLIBCXX_PSEUDO_VISIBILITY_hidden,
_GLIBCXX_PSEUDO_VISIBILITY): Likewise.
From-SVN: r154853
Paolo Carlini [Mon, 30 Nov 2009 22:45:06 +0000 (22:45 +0000)]
re PR c++/40371 (ICE with template operator)
cp/
2009-11-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/40371
* call.c (add_template_candidate_real): Early return NULL if
the arglist length is smaller than skip_without_in_chrg; tidy.
testsuite/
2009-11-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/40371
* g++.dg/template/crash93.C: New.
From-SVN: r154852
Alexander Monakov [Mon, 30 Nov 2009 22:08:35 +0000 (01:08 +0300)]
Correct testcase
2009-11-29 Alexander Monakov <amonakov@gcc.gnu.org>
* testsuite/g++.dg/graphite/pr42130.C: Correct testcase.
From-SVN: r154851
Tobias Grosser [Mon, 30 Nov 2009 22:08:16 +0000 (22:08 +0000)]
Fix comments.
2009-11-24 Tobias Grosser <grosser@fim.uni-passau.de>
* graphite-clast-to-gimple.c (try_mark_loop_parallel,
graphite_create_new_loop_guard, translate_clast_for): Fix comments.
From-SVN: r154850
Tobias Grosser [Mon, 30 Nov 2009 22:07:59 +0000 (22:07 +0000)]
Protect loops that might be executed zero times.
2009-11-23 Tobias Grosser <grosser@fim.uni-passau.de>
PR middle-end/42130
* graphite-clast-to-gimple.c (graphite_create_new_loop_guard,
translate_clast_for_loop): New.
(translate_clast_for): Add a condition around the loop, to do not
execute loops with zero iterations.
* testsuite/g++.dg/graphite/pr42130.C: New.
* testsuite/gcc.dg/graphite/pr35356-2.c: Adapt.
From-SVN: r154849
Tobias Grosser [Mon, 30 Nov 2009 22:07:38 +0000 (22:07 +0000)]
Remove context_loop and level from translate_clast_* methods.
2009-11-23 Tobias Grosser <grosser@fim.uni-passau.de>
* graphite-clast-to-gimple.c (try_mark_loop_parallel): New.
(translate_clast_for, translate_clast_guard, translate_clast, gloog):
Remove context_loop and level.
From-SVN: r154848
Tobias Grosser [Mon, 30 Nov 2009 22:07:18 +0000 (22:07 +0000)]
Simplify translate_clast_* methods
2009-11-23 Tobias Grosser <grosser@fim.uni-passau.de>
* graphite-clast-to-gimple.c (translate_clast_user,
translate_clast_for, translate_clast_guard): Simplify and move common
elements to translate_clast().
(translate_clast): Simplify and get common elements.
From-SVN: r154847
Steve Ellcey [Mon, 30 Nov 2009 22:06:58 +0000 (22:06 +0000)]
pr41551.c: New test.
2009-11-30 Steve Ellcey <sje@cup.hp.com>
* gcc.dg/pr41551.c: New test.
From-SVN: r154846
Tobias Grosser [Mon, 30 Nov 2009 22:06:54 +0000 (22:06 +0000)]
split translate_clast into single methods
2009-11-23 Tobias Grosser <grosser@fim.uni-passau.de>
* graphite-clast-to-gimple.c (translate_clast_user,
translate_clast_for, translate_clast_guard): Split out of
translate_clast.
From-SVN: r154845
Tobias Grosser [Mon, 30 Nov 2009 22:06:27 +0000 (22:06 +0000)]
Do not abuse sese for codegeneration
CLooG automatically frees the names list, so sharing SESE_PARAMS_NAMES
between gloog() and debug_generated_program() leads to freeing them
twice. As both SESE_PARAM_NAMES and SESE_PARAMS_INDEX are code
generation data structures remove them and the functions working on them
from sese.h and put them in clast-to-gimple.
2009-11-21 Tobias Grosser <grosser@fim.uni-passau.de>
* graphite-clast-to-gimple.c (clast_name_index, new_clast_name_index,
clast_name_to_index, save_clast_name_index, debug_clast_name_index,
debug_clast_name_indexes_1, debug_clast_name_indexes,
clast_name_index_elt_info, eq_clast_name_indexes): Moved from sese.h.
(clast_name_to_gcc, clast_to_gcc_expression,
clast_to_gcc_expression_red, gcc_type_for_clast_expr,
gcc_type_for_clast_eq, graphite_translate_clast_equation,
graphite_create_guard_cond_expr, graphite_create_new_loop,
translate_clast): Add params_index.
(initialize_cloog_names): Create parameter strings from scratch, do
not reference other strings.
(create_params_index): New.
(gloog): Initialize params_index.
* graphite-scop-detection (free_scops_1): Removed.
(limit_scops): Use normal free_scops.
* graphite-sese-to-poly.c (save_var_names): Removed.
(parameter_index_in_region): Do not initialize SESE_PARAM_NAMES
and SESE_PARAMS_INDEX.
* sese.c (new_sese, free_sese): Dito.
* sese.h (struct sese): Remove params_index, params_names.
(SESE_PARAMS_INDEX, SESE_PARAMS_NAMES): Removed.
From-SVN: r154844
Steve Ellcey [Mon, 30 Nov 2009 22:06:19 +0000 (22:06 +0000)]
function.c (instantiate_virtual_regs_in_insn): Copy to new reg before forcing mode.
2009-11-30 Steve Ellcey <sje@cup.hp.com>
Jakub Jelinek <jakub@redhat.com>
* function.c (instantiate_virtual_regs_in_insn): Copy to new reg
before forcing mode.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r154843
Anatoly Sokolov [Mon, 30 Nov 2009 21:38:46 +0000 (00:38 +0300)]
sh.c (sh_promote_prototypes): Make static.
* config/sh/sh.c (sh_promote_prototypes): Make static.
(sh_function_value, sh_libcall_value, sh_function_value_regno_p): New
functions.
(TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Declare.
* config/sh/sh.h: (FUNCTION_VALUE_REGNO_P): Redefine, use
sh_function_value_regno_p.
(FUNCTION_VALUE, LIBCALL_VALUE): Remove.
* config/sh/sh-protos.h (sh_function_value_regno_p): Declare.
(sh_promote_prototypes) : Remove.
From-SVN: r154842
Rainer Orth [Mon, 30 Nov 2009 21:12:13 +0000 (21:12 +0000)]
s-oscons-tmplt.c: Only define _XOPEN5, IOV_MAX if _XOPEN_IOV_MAX is defined.
* s-oscons-tmplt.c [__mips && __sgi]: Only define _XOPEN5, IOV_MAX
if _XOPEN_IOV_MAX is defined.
From-SVN: r154841
Janus Weil [Mon, 30 Nov 2009 20:43:06 +0000 (21:43 +0100)]
backport: re PR fortran/42053 ([OOP] SELECT TYPE: reject duplicate CLASS IS blocks)
merge from fortran-dev branch:
gcc/fortran/
2009-11-30 Janus Weil <janus@gcc.gnu.org>
PR fortran/42053
* resolve.c (resolve_select_type): Check for duplicate CLASS IS blocks.
2009-11-30 Janus Weil <janus@gcc.gnu.org>
PR fortran/41631
* decl.c (gfc_match_derived_decl): Set extension level.
* gfortran.h (symbol_attribute): Expand 'extension' bit field to 8 bit.
* iresolve.c (gfc_resolve_extends_type_of): Return value of
'is_extension_of' has kind=4.
* match.c (select_type_set_tmp,gfc_match_class_is): Create temporary
for CLASS IS blocks.
* module.c (MOD_VERSION): Bump module version.
(ab_attribute,attr_bits): Remove AB_EXTENSION.
(mio_symbol_attribute): Handle expanded 'extension' field.
* resolve.c (resolve_select_type): Implement CLASS IS blocks.
(resolve_fl_variable_derived): Show correct type name.
* symbol.c (gfc_build_class_symbol): Set extension level.
2009-11-30 Janus Weil <janus@gcc.gnu.org>
* intrinsic.h (gfc_resolve_extends_type_of): Add prototype.
* intrinsic.c (add_functions): Use 'gfc_resolve_extends_type_of'.
* iresolve.c (gfc_resolve_extends_type_of): New function, which
replaces the call to EXTENDS_TYPE_OF by the library function
'is_extension_of' and modifies the arguments.
* trans-intrinsic.c (gfc_conv_extends_type_of): Removed.
(gfc_conv_intrinsic_function): FOR EXTENDS_TYPE_OF, don't call
gfc_conv_extends_type_of but gfc_conv_intrinsic_funcall.
2009-11-30 Paul Thomas <pault@gcc.gnu.org>
Janus Weil <janus@gcc.gnu.org>
* decl.c (encapsulate_class_symbol): Replaced by
'gfc_build_class_symbol'.
(build_sym,build_struct): Call 'gfc_build_class_symbol'.
(gfc_match_derived_decl): Replace vindex by hash_value.
* dump-parse-tree.c (show_symbol): Replace vindex by hash_value.
* gfortran.h (symbol_attribute): Add field 'vtab'.
(gfc_symbol): Replace vindex by hash_value.
(gfc_class_esym_list): Ditto.
(gfc_get_derived_type,gfc_build_class_symbol,gfc_find_derived_vtab):
New prototypes.
* module.c (mio_symbol): Replace vindex by hash_value.
* resolve.c (vindex_expr): Rename to 'hash_value_expr'.
(resolve_class_compcall,resolve_class_typebound_call): Renamed
'vindex_expr'.
(resolve_select_type): Replace $vindex by $vptr->$hash.
* symbol.c (gfc_add_save): Handle vtab symbols.
(gfc_type_compatible): Rewrite.
(gfc_build_class_symbol): New function which replaces
'encapsulate_class_symbol'.
(gfc_find_derived_vtab): New function to set up a vtab symbol for a
derived type.
* trans-decl.c (gfc_create_module_variable): Handle vtab symbols.
* trans-expr.c (select_class_proc): Replace vindex by hash_value.
(gfc_conv_derived_to_class): New function to construct a temporary
CLASS variable from a derived type expression.
(gfc_conv_procedure_call): Call 'gfc_conv_derived_to_class'.
(gfc_conv_structure): Initialize the $extends and $size fields of
vtab symbols.
(gfc_trans_class_assign): Replace $vindex by $vptr. Remove the $size
assignment.
* trans-intrinsic.c (gfc_conv_same_type_as): Replace $vindex by
$vptr->$hash, and replace vindex by hash_value.
* trans-stmt.c (gfc_trans_allocate): Insert $vptr references, replace
$vindex by $vptr. Remove the $size assignment.
* trans-types.c (gfc_get_derived_type): Make it non-static.
gcc/testsuite/
2009-11-30 Janus Weil <janus@gcc.gnu.org>
PR fortran/42053
* gfortran.dg/select_type_9.f03: New.
2009-11-30 Janus Weil <janus@gcc.gnu.org>
PR fortran/41631
* gfortran.dg/extends_type_of_1.f03: Fix invalid test case.
* gfortran.dg/module_md5_1.f90: Adjusted MD5 sum.
* gfortran.dg/select_type_1.f03: Remove FIXMEs.
* gfortran.dg/select_type_2.f03: Ditto.
* gfortran.dg/select_type_8.f03: New test.
2009-11-30 Janus Weil <janus@gcc.gnu.org>
* gfortran.dg/extends_type_of_1.f03: New test.
* gfortran.dg/same_type_as_1.f03: Extended.
2009-11-30 Paul Thomas <pault@gcc.gnu.org>
* gfortran.dg/class_4c.f03: Add dg-additional-sources.
* gfortran.dg/class_4d.f03: Rename module. Cleanup modules.
libgfortran/
2009-11-30 Janus Weil <janus@gcc.gnu.org>
* gfortran.map: Add _gfortran_is_extension_of.
* Makefile.am: Add intrinsics/extends_type_of.c.
* Makefile.in: Regenerated.
* intrinsics/extends_type_of.c: New file.
From-SVN: r154840
Thomas Koenig [Mon, 30 Nov 2009 20:35:41 +0000 (20:35 +0000)]
re PR fortran/42131 (Weird translation of DO loops)
2009-11-30 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/42131
* trans-stmt.c (gfc_trans_do): Calculate loop count
without if statements.
From-SVN: r154839
Julian Brown [Mon, 30 Nov 2009 19:40:28 +0000 (19:40 +0000)]
arm.h (PREFERRED_RELOAD_CLASS): Don't restrict Thumb-2 reloads to LO_REGS.
gcc/
* config/arm/arm.h (PREFERRED_RELOAD_CLASS): Don't restrict Thumb-2
reloads to LO_REGS.
From-SVN: r154838
Janis Johnson [Mon, 30 Nov 2009 19:14:58 +0000 (19:14 +0000)]
re PR testsuite/42212 (ERROR: tcl error sourcing /Users/regress/tbox/svn-gcc/gcc/testsuite/gcc.target/powerpc/powerpc.exp.)
PR testsuite/42212
* gcc.target/powerpc/regnames-1.c: Add missing brace dg-do.
From-SVN: r154837
Richard Henderson [Mon, 30 Nov 2009 18:26:55 +0000 (10:26 -0800)]
Implement vec_perm broadcast, and tidy lots of patterns to help.
From-SVN: r154836
Martin Jambor [Mon, 30 Nov 2009 17:59:57 +0000 (18:59 +0100)]
re PR middle-end/42196 (ICE when SRAing partial assigments to complex number)
2009-11-30 Martin Jambor <mjambor@suse.cz>
PR middle-end/42196
* tree-sra.c (struct access): New field grp_different_types.
(dump_access): Dump grp_different_types.
(compare_access_positions): Prefer scalars and vectors over other
scalar types.
(sort_and_splice_var_accesses): Set grp_different_types if appropriate.
(sra_modify_expr): Use the original also when dealing with a complex
or vector group accessed as multiple types.
* testsuite/gcc.c-torture/compile/pr42196-1.c: New test.
* testsuite/gcc.c-torture/compile/pr42196-2.c: New test.
* testsuite/gcc.c-torture/compile/pr42196-3.c: New test.
From-SVN: r154834
Richard Henderson [Mon, 30 Nov 2009 17:36:07 +0000 (09:36 -0800)]
i386.c (avx_vperm2f128_parallel): New.
* config/i386/i386.c (avx_vperm2f128_parallel): New.
* config/i386/i386-protos.h: Declare it.
* config/i386/predicates.md (avx_vperm2f128_v8sf_operand,
avx_vperm2f128_v8si_operand, avx_vperm2f128_v4df_operand): New.
* config/i386/sse.md (avx_vperm2f128<mode>3): Change to expander.
(*avx_vperm2f128<mode>_full): Renamed from avx_vperm2f128<mode>3.
(*avx_vperm2f128<mode>_nozero): New.
From-SVN: r154832
Richard Henderson [Mon, 30 Nov 2009 16:56:37 +0000 (08:56 -0800)]
i386-builtin-types.def (V4DF_FTYPE_V4DF_V4DF_V4DI): New.
* config/i386/i386-builtin-types.def (V4DF_FTYPE_V4DF_V4DF_V4DI): New.
(V8SF_FTYPE_V8SF_V8SF_V8SI): New.
* config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Support
V4DF and V8SF for AVX; relax constraint on V4SF to SSE1 from SSE2.
(IX86_BUILTIN_VEC_PERM_V4DF, IX86_BUILTIN_VEC_PERM_V8SF): New.
(bdesc_args): Add them.
(ix86_expand_builtin): Expand them.
(expand_vec_perm_pshufb2): Only operate on 16-byte vectors.
From-SVN: r154831
Joseph Myers [Mon, 30 Nov 2009 16:38:14 +0000 (16:38 +0000)]
largefile.m4 (ACX_LARGEFILE): Require AC_CANONICAL_HOST and AC_CANONICAL_TARGET.
* largefile.m4 (ACX_LARGEFILE): Require AC_CANONICAL_HOST and
AC_CANONICAL_TARGET.
From-SVN: r154830
Arnaud Charlet [Mon, 30 Nov 2009 16:31:31 +0000 (17:31 +0100)]
[multiple changes]
2009-11-30 Vasiliy Fofanov <fofanov@adacore.com>
* vms_data.ads: Add new VMS qualifiers,
REVERSE_BIT_ORDER/NOREVERSE_BIT_ORDER, to support warnings on bit order
effects.
2009-11-30 Thomas Quinot <quinot@adacore.com>
* exp_ch9.adb, exp_ch9.ads, sem_util.ads: Minor reformatting.
2009-11-30 Gary Dismukes <dismukes@adacore.com>
* sem_prag.adb: Fix spelling error.
From-SVN: r154829
Arnaud Charlet [Mon, 30 Nov 2009 16:24:37 +0000 (17:24 +0100)]
[multiple changes]
2009-11-30 Ed Schonberg <schonberg@adacore.com>
* exp_ch9.ads (Build_Private_Protected_Declaration): For a protected
operation that is only declared in a protected body, create a
corresponding subprogram declaration.
* exp_ch9.adb (Expand_N_Protected_Body): Create protected body of
operation in all cases, including for an operation that is only
declared in the body.
* sem_ch6.adb: Call Build_Private_Protected_Declaration
* exp_ch6.adb (Expand_N_Subprogram_Declaration): For an operation
declared in a protected body, create the declaration for the
corresponding protected version of the operation.
2009-11-30 Arnaud Charlet <charlet@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Disable specific expansions
for Restrictions pragmas, to avoid tree inconsistencies between
compilations with different pragmas.
2009-11-30 Jerome Lambourg <lambourg@adacore.com>
* sem_prag.adb (Check_Duplicated_Export_Name): Allow entities exported
to CIL to have duplicated export name.
From-SVN: r154828
Arnaud Charlet [Mon, 30 Nov 2009 16:21:19 +0000 (17:21 +0100)]
[multiple changes]
2009-11-30 Robert Dewar <dewar@adacore.com>
* a-tiinio.adb: Remove extraneous pragma Warnings (Off).
2009-11-30 Thomas Quinot <quinot@adacore.com>
* par_sco.adb: Minor reformatting
2009-11-30 Ed Falis <falis@adacore.com>
* s-vxwext.ad[s,b], system-vxworks-ppc.ads, s-stchop-vxworks.adb:
Comment update.
From-SVN: r154827
Arnaud Charlet [Mon, 30 Nov 2009 16:16:55 +0000 (17:16 +0100)]
[multiple changes]
2009-11-30 Ed Schonberg <schonberg@adacore.com>
* par_sco.adb (Traverse_Handled_Statement_Sequence): Do not emit SCO's
for null statements that do not come from source.
* sinfo.ads: Clarify documentation of Comes_From_Source
2009-11-30 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Add_Source): Use Display_Name for both projects when
displaying the paths in error message.
2009-11-30 Emmanuel Briot <briot@adacore.com>
* adaint.h, adaint.c (file_attributes): force the use of unsigned char.
On some platforms, "char" is signed, on others unsigned, so we
explicitly specify the one we expect
From-SVN: r154826
Arnaud Charlet [Mon, 30 Nov 2009 16:08:37 +0000 (17:08 +0100)]
[multiple changes]
2009-11-30 Matthew Heaney <heaney@adacore.com>
* a-coinve.adb (Insert): Move exception handler closer to point where
exception can occur.
Minor reformatting & comment additions.
2009-11-30 Arnaud Charlet <charlet@adacore.com>
* freeze.adb (Freeze_Entity): Disable warning on 'Foreign caller must
pass bounds' for VM targets, not relevant.
2009-11-30 Robert Dewar <dewar@adacore.com>
* sem_util.adb (Wrong_Type): Diagnose additional case of modular
missing parens.
* a-tiinio.adb, a-wtinio.adb, a-ztinio.adb: Minor reformatting
* exp_util.adb (Kill_Dead_Code): Suppress warning for some additional
cases.
* sem_warn.adb (Set_Warning_Flag): Clean up gnatwA list and ensure
completeness.
(Set_Dot_Warning_Flag): Ditto for -gnatw.e
(Set_Dot_Warning_Flag): Implement -gnbatw.v/w.V
* usage.adb: Add lines for -gnatw.v/w.V
2009-11-30 Emmanuel Briot <briot@adacore.com>
* make.adb (Check_Standard_Library): use Full_Source_Name instead of
direct call to Find_File. The former provides caching of the results, so
might be more efficient
(Start_Compile_If_Necessary): Add comment on possible optimization,
not done for now.
From-SVN: r154825
Arnaud Charlet [Mon, 30 Nov 2009 15:56:40 +0000 (16:56 +0100)]
[multiple changes]
2009-11-30 Thomas Quinot <quinot@adacore.com>
* g-sechas.adb: Minor reformatting
2009-11-30 Matthew Heaney <heaney@adacore.com>
* a-crbtgo.adb (Delete_Fixup): Add comments explaining why predicates
were removed.
* a-cdlili.adb (Vet): Remove always-true predicates.
From-SVN: r154823
Thomas Quinot [Mon, 30 Nov 2009 15:51:15 +0000 (15:51 +0000)]
s-sechas.adb, [...]: Rename System.Secure_Hashes to GNAT.Secure_Hashes.
2009-11-30 Thomas Quinot <quinot@adacore.com>
* s-sechas.adb, s-sechas.ads, s-shshco.adb, s-shshco.ads, s-shsh64.adb,
s-shsh64.ads, s-sehamd.adb, s-sehamd.ads, s-shsh32.adb, s-shsh32.ads,
s-sehash.adb, s-sehash.ads, g-sechas.adb, g-sechas.ads, g-shshco.adb,
g-shshco.ads, g-md5.ads, g-sha256.ads, g-shsh64.adb, g-shsh64.ads,
g-sehamd.adb, g-sehamd.ads, g-sha512.ads, g-sha1.ads, Makefile.rtl,
g-sha224.ads, g-shsh32.adb, g-shsh32.ads, g-sha384.ads, g-sehash.adb,
g-sehash.ads: Rename System.Secure_Hashes to GNAT.Secure_Hashes.
From-SVN: r154822
Martin Jambor [Mon, 30 Nov 2009 15:46:00 +0000 (16:46 +0100)]
re PR middle-end/42206 (ipa-prop.c: use of uninitialised local data)
2009-11-30 Martin Jambor <mjambor@suse.cz>
PR middle-end/42206
* ipa-prop.c (ipa_write_node_info): Initialize note_count to zero.
From-SVN: r154820
Arnaud Charlet [Mon, 30 Nov 2009 15:16:49 +0000 (16:16 +0100)]
[multiple changes]
2009-11-30 Robert Dewar <dewar@adacore.com>
* osint.ads: Minor comment update.
2009-11-30 Thomas Quinot <quinot@adacore.com>
* s-sechas.adb: Fix swapping error in previous checkin.
* g-md5.ads, g-sha256.ads, g-sha512.ads, g-sha1.ads, g-sha224.ads,
g-sha384.ads: Add missing documentation.
From-SVN: r154819
Jakub Jelinek [Mon, 30 Nov 2009 15:16:00 +0000 (16:16 +0100)]
* ipa-reference.c (propagate): Only dump bitmaps if computed.
From-SVN: r154818
Arnaud Charlet [Mon, 30 Nov 2009 15:10:58 +0000 (16:10 +0100)]
[multiple changes]
2009-11-30 Robert Dewar <dewar@adacore.com>
* g-sha256.ads, s-sehamd.ads, s-sehamd.adb, g-sha512.ads, g-sha224.ads,
g-sha384.ads: Minor reformatting
2009-11-30 Emmanuel Briot <briot@adacore.com>
* adaint.h (file_attributes): Reduce size of the structure, so that it
is less costly to store in records.
* makeutl.adb:
(Check_Source_Info_In_ALI): use Full_Source_Name instead of a direct
call to Find_File, since the former provides caching when appropriate,
which limits the number of system calls in some cases.
* osint.ads, prj.ads (Source_Data): do not store directly the timestamp,
but the file attributes since we also need access to the size of the
ALI file to parse it. This gives an opportunity for saving system calls
on Unix systems.
From-SVN: r154817
Robert Dewar [Mon, 30 Nov 2009 15:00:17 +0000 (15:00 +0000)]
sem_prag.adb, [...]: Minor reformatting.
2009-11-30 Robert Dewar <dewar@adacore.com>
* sem_prag.adb, s-sechas.ads, s-sechas.adb: Minor reformatting.
From-SVN: r154816
Arnaud Charlet [Mon, 30 Nov 2009 14:57:12 +0000 (15:57 +0100)]
[multiple changes]
2009-11-30 Gary Dismukes <dismukes@adacore.com>
* sem_prag.adb (Process_Convention): Change formal E to Ent. In the
case where the pragma's entity argument is a renaming, return the
entity denoted by the renaming rather than the renamed entity. Loop
through the homonyms of the original argument entity, rather than the
homonyms of any renamed entity. Correct call to Generate_Entity to
pass the homonym.
2009-11-30 Vincent Celier <celier@adacore.com>
* impunit.adb: Add packages that were added to the GNAT library:
GNAT.SHA224, GNAT.SHA256, GNAT.SHA384 and GNAT.SHA512.
* s-sechas.adb (Fill_Buffer_Copy): Fixes incorrect slice index
2009-11-30 Robert Dewar <dewar@adacore.com>
* exp_ch3.adb: Minor reformatting
* g-md5.ads, g-sha1.ads: Add comment.
From-SVN: r154815
Arnaud Charlet [Mon, 30 Nov 2009 14:51:23 +0000 (15:51 +0100)]
Fix header.
From-SVN: r154814
Arnaud Charlet [Mon, 30 Nov 2009 14:46:43 +0000 (14:46 +0000)]
Makefile.in: Remove handling of libgccprefix, no longer needed
* gcc-interface/Makefile.in: Remove handling of libgccprefix, no longer
needed
From-SVN: r154813
Arnaud Charlet [Mon, 30 Nov 2009 14:45:15 +0000 (15:45 +0100)]
[multiple changes]
2009-11-30 Pascal Obry <obry@adacore.com>
* expect.c: Fix cast to avoid warnings in x86-64 Windows.
2009-11-30 Thomas Quinot <quinot@adacore.com>
* gnat_rm.texi, s-sechas.adb, s-sechas.ads, s-shshco.adb,
s-shshco.ads, g-md5.adb, g-md5.ads, g-sha256.ads, s-shsh64.adb,
s-shsh64.ads, s-sehamd.adb, s-sehamd.ads, g-sha512.ads, g-sha1.adb,
g-sha1.ads, Makefile.rtl, g-sha224.ads, g-sha384.ads, s-shsh32.adb,
s-shsh32.ads, s-sehash.adb, s-sehash.ads: Reimplementation of GNAT.MD5
and GNAT.SHA1 to factor shared code and avoid unnecessary stack copies.
Also introduce new functions SHA-{224,256,384,512}
From-SVN: r154812
Olga Golovanevsky [Mon, 30 Nov 2009 14:42:54 +0000 (14:42 +0000)]
re PR tree-optimization/39806 (incorrect pointer hashing in ipa-struct-reorg.c)
2009-11-30 Olga Golovanevsky <olga@il.ibm.com>
PR middle-end/39806
* ipa-struct-reorg.c (new_var_eq): Use DECL_UID to hash new variables.
(new_var_hash): Likewise.
(is_in_new_vars_htab): Likewise.
(add_to_new_vars_htab): Likewise.
From-SVN: r154811
Arnaud Charlet [Mon, 30 Nov 2009 14:28:21 +0000 (15:28 +0100)]
[multiple changes]
2009-11-30 Jerome Lambourg <lambourg@adacore.com>
* exp_ch3.adb (Make_Predefined_Primitive_Specs): Improve comment for
the Value_Type case.
2009-11-30 Thomas Quinot <quinot@adacore.com>
* a-textio.adb: Minor reformatting
2009-11-30 Pascal Obry <obry@adacore.com>
* adaint.c: Fix bug in passing parameter.
* expect.c: Include io.h to get definition of _open_osfhandle
From-SVN: r154810
Arnaud Charlet [Mon, 30 Nov 2009 14:24:04 +0000 (15:24 +0100)]
[multiple changes]
2009-11-30 Javier Miranda <miranda@adacore.com>
* exp_ch6.adb, sem_scil.adb (Adjust_SCIL_Node): Add missing management
of N_Unchecked_Type_Conversion nodes when searching for SCIL nodes.
(Expand_Call): Adjust decoration of SCIL node associated with relocated
function call.
2009-11-30 Emmanuel Briot <briot@adacore.com>
* prj-env.adb (Add_To_Source_Path): Preserve casing of directories
2009-11-30 Vincent Celier <celier@adacore.com>
* opt.ads (No_Split_Units): New flag initialized to False
2009-11-30 Jerome Lambourg <lambourg@adacore.com>
* exp_ch7.adb (Needs_Finalization): Add comments.
* exp_ch3.adb (Make_Predefined_Primitive_Specs): Improve handling of
CIL Value types.
From-SVN: r154809
Robert Dewar [Mon, 30 Nov 2009 14:19:48 +0000 (14:19 +0000)]
osint.adb, [...]: Minor reformatting.
2009-11-30 Robert Dewar <dewar@adacore.com>
* osint.adb, a-rttiev.adb: Minor reformatting.
From-SVN: r154808
Arnaud Charlet [Mon, 30 Nov 2009 14:15:51 +0000 (15:15 +0100)]
[multiple changes]
2009-11-30 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Remove list of warning letters, and refer instead to
using gnatmake to get a brief list.
* debug.adb: Document -gnatd.i to disable pragma Warnings
* par-prag.adb, sem_prag.adb: Recognize -gnatd.i to disable Warnings
pragma.
* vms_data.ads: Add /NOWARNINGS_PRAGMS for -gnatd.i
2009-11-30 Geert Bosch <bosch@adacore.com>
* a-ngelfu.adb (Sin): Correct spelling of sine in comment.
2009-11-30 Vincent Celier <celier@adacore.com>
* gnatls.adb: Do not call Get_Target_Parameters in Verbose_Mode, as it
is not needed and gnatls fails when called with -v -nostdinc.
2009-11-30 Emmanuel Briot <briot@adacore.com>
* osint.adb, osint.ads (File_Time_Stamp): new subprogram.
From-SVN: r154807
Kai Tietz [Mon, 30 Nov 2009 14:12:33 +0000 (15:12 +0100)]
unix.c (find_file): Add variable id conditionally for mingw targets.
2009-11-30 Kai Tietz <Kai.Tietz@onevision.com>
* io/unix.c (find_file): Add variable id conditionally for
mingw targets.
From-SVN: r154806
Ed Schonberg [Mon, 30 Nov 2009 14:11:59 +0000 (14:11 +0000)]
gnat_rm.texi, [...]: Document new syntax for pragma Annotate
2009-11-30 Ed Schonberg <schonberg@adacore.com>
* gnat_rm.texi, gnat_ugn.texi: Document new syntax for pragma Annotate
From-SVN: r154805
Robert Dewar [Mon, 30 Nov 2009 14:09:30 +0000 (14:09 +0000)]
scans.ads (Wide_Wide_Character_Found): New flag
2009-11-30 Robert Dewar <dewar@adacore.com>
* scans.ads (Wide_Wide_Character_Found): New flag
* scn.adb (Post_Scan): Set new flag Has_Wide_Wide_Character
* scng.adb (Set_String): Set new flag Wide_Wide_Character_Found
(Set_String): Fix failure to reset Wide_Character_Found
* sinfo.adb (Has_Wide_Wide_Character): New flag in N_String_Literal
* sinfo.ads (Has_Wide_Wide_Character): New flag in N_String_Literal
* a-ngelfu.adb: Minor reformatting & code reorganization.
* usage.adb: Fix typo in -gnatw.W line
From-SVN: r154804
Robert Dewar [Mon, 30 Nov 2009 14:03:03 +0000 (14:03 +0000)]
osint.adb, [...]: Minor reformatting.
2009-11-30 Robert Dewar <dewar@adacore.com>
* osint.adb, prj-nmsc.adb, sem_prag.adb, sem_util.adb: Minor
reformatting.
* csinfo.adb: Terminate run if improper use of reserved flag
* sinfo.ads, sinfo.adb (Is_Accessibility_Actual): Don't use reserved
Flag12, used Flag13 instead.
From-SVN: r154803
Arnaud Charlet [Mon, 30 Nov 2009 13:58:01 +0000 (14:58 +0100)]
[multiple changes]
2009-11-30 Vincent Celier <celier@adacore.com>
* gnatcmd.adb (Check_Files): Recognize documented switches that have a
separate parameter.
2009-11-30 Robert Dewar <dewar@adacore.com>
* sem_util.ads: Minor reformatting
* errout.adb: Minor reformatting
Minor code reorganization (use N_Subprogram_Specification to simplify)
* exp_ch7.adb: Add comment.
From-SVN: r154802
Arnaud Charlet [Mon, 30 Nov 2009 13:52:35 +0000 (14:52 +0100)]
[multiple changes]
2009-11-30 Thomas Quinot <quinot@adacore.com>
* put_scos.adb (Put_SCOs): Do not generate a SCO unit header for a unit
that has no SCOs.
* scos.ads: Minor reformatting
2009-11-30 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb: Second unanalyzed parameter of Annotate is optional.
2009-11-30 Eric Botcazou <ebotcazou@adacore.com>
* init.c (__gnat_adjust_context_for_raise, Linux version): Add guard
for null PC saved in the context.
2009-11-30 Hristian Kirtchev <kirtchev@adacore.com>
* a-calend.adb (Day_Of_Week): Rewritten. The routine determines the
number of days from the Ada Epoch to the input date while ensuring that
both dates are in the same time zone.
From-SVN: r154801
Arnaud Charlet [Mon, 30 Nov 2009 13:45:45 +0000 (14:45 +0100)]
[multiple changes]
2009-11-30 Emmanuel Briot <briot@adacore.com>
* clean.adb ("-eL"): Also set Follow_Links_For_Dirs, to match what is
done in other project-aware tools like gnatmake and gprbuild.
2009-11-30 Jerome Lambourg <lambourg@adacore.com>
* exp_ch3.adb (Make_Predefined_Primitive_Specs): Take care of CIL
ValueTypes.
* exp_ch7.adb (Needs_Finalization): Do not finalize CIL valuetypes.
* sem_util.adb (Is_Value_Type): Protect against invalid calls to Chars
(Is_Delegate): New method used for CIL.
* sem_util.ads (Is_Delegate): New method for CIL handling.
(Is_Value_Type): Improve documentation.
2009-11-30 Ed Schonberg <schonberg@adacore.com>
* errout.adb (Unwind_Internal_Type): Improve error reporting if the
type is an anonymous access to subprogram that is the type of a formal
in a subprogram spec.
2009-11-30 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Check_Interfaces): In a Stand-Alone Library project, if
attribute Interfaces is not declared, then Library_Interface should
define the interfaces.
2009-11-30 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb: New semantics for Annotate.
From-SVN: r154800
Tristan Gingold [Mon, 30 Nov 2009 13:42:23 +0000 (13:42 +0000)]
Makefile.in: Do not link with -static-libgcc on Darwin.
2009-11-30 Tristan Gingold <gingold@adacore.com>
* gcc-interface/Makefile.in: Do not link with -static-libgcc on Darwin.
From-SVN: r154799
Arnaud Charlet [Mon, 30 Nov 2009 13:36:29 +0000 (14:36 +0100)]
[multiple changes]
2009-11-30 Emmanuel Briot <briot@adacore.com>
* gnat_ugn.texi: Extend doc for -eL
2009-11-30 Vincent Celier <celier@adacore.com>
* osint.adb (Executable_Name (File_Name_Type)): Put the Name in the
Name_Buffer before testing for a dot in the Name.
2009-11-30 Vincent Celier <celier@adacore.com>
* prj-part.adb (Project_Path_Name_Of): Resolve links for final result
if -eL has been specified.
From-SVN: r154798
Paolo Carlini [Mon, 30 Nov 2009 13:34:25 +0000 (13:34 +0000)]
2009-11-30 Paolo Carlini <paolo.carlini@oracle.com>
Fix typo in last ChangeLog entry.
From-SVN: r154797
Arnaud Charlet [Mon, 30 Nov 2009 13:33:46 +0000 (14:33 +0100)]
[multiple changes]
2009-11-30 Vincent Celier <celier@adacore.com>
* osint.adb (Executable_Name): Test the name instead of the name buffer
to check if there is a dot in the given name.
2009-11-30 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi: Update gnatcheck doc.
From-SVN: r154796
Arnaud Charlet [Mon, 30 Nov 2009 13:29:41 +0000 (14:29 +0100)]
[multiple changes]
2009-11-30 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, sem_disp.adb, usage.adb: Minor reformatting
2009-11-30 Vasiliy Fofanov <fofanov@adacore.com>
* gnat_ugn.texi: Minor editing.
2009-11-30 Emmanuel Briot <briot@adacore.com>
* prj-nmsc.adb (Search_Directories): when -eL was not specified, assume
that no directory matches the naming scheme for sources.
From-SVN: r154795
Ira Rosen [Mon, 30 Nov 2009 12:17:43 +0000 (12:17 +0000)]
tree-vect-stmts.c (vectorizable_assignment): Support multiple types.
* tree-vect-stmts.c (vectorizable_assignment): Support
multiple types.
From-SVN: r154794
Arnaud Charlet [Mon, 30 Nov 2009 12:02:49 +0000 (13:02 +0100)]
[multiple changes]
2009-11-30 Emmanuel Briot <briot@adacore.com>
* prj.adb, prj.ads, prj-nmsc.adb (Has_Multi_Unit_Sources): New field in
project_data.
2009-11-30 Vincent Celier <celier@adacore.com>
* osint.adb (Executable_Name): Correctly decide if the executable
suffix should be added when Only_If_No_Suffix is True.
2009-11-30 Robert Dewar <dewar@adacore.com>
* frontend.adb, gnatlink.adb, prj-conf.adb, prj-tree.adb,
prj-tree.ads: Minor reformatting
From-SVN: r154793
Arnaud Charlet [Mon, 30 Nov 2009 11:55:21 +0000 (12:55 +0100)]
[multiple changes]
2009-11-30 Vincent Celier <celier@adacore.com>
* gnatlink.adb (Process_Args): Call Executable_Name on argument of -o
with Only_If_No_Suffix set to True.
* osint.adb (Executable_Name): Do not add executable suffix if there is
already a suffix and Only_If_No_Suffix is True.
* osint.ads (Executable_Name): New Boolean parameter Only_If_No_Suffix,
defaulted to False.
2009-11-30 Javier Miranda <miranda@adacore.com>
* exp_atag.adb (Build_TSD): Change argument name because the actual is
now the address of a tag (instead of the tag). Update implementation
accordingly.
(Build_CW_Membership): New implementation. Converted into a procedure
because it has an additional out mode parameter. Its implementation has
been rewritten to improve the generated code but also to facilitate
referencing the relocated object node in the caller.
* exp_atag.ads (Build_CW_Membership): Update profile and documentation.
* sinfo.ads (N_SCIL_Membership_Test) New_Node.
(SCIL_Tag_Value): New field of N_SCIL_Membership_Test nodes.
(Is_Syntactic_Field): Add entry of new node.
(SCIL_Tag_Value/Set_SCIL_Tag_Value): New subprograms.
* sinfo.adb (SCIL_Related_Node, SCIL_Entity): Update assertions to
handle N_SCIL_Membership_Test nodes.
(SCIL_Tag_Value/Set_SCIL_Tag_Value): New subprograms.
* sem.adb (Analyze): Add null management for new node.
* sem_scil.adb (Find_SCIL_Node): Add null management for new node.
(Check_SCIL_Node): Add checks of N_SCIL_Membership_Test nodes.
* exp_ch4.adb (Tagged_Membership): Change profile from function to
procedure. Add generation of SCIL node associated with class-wide
membership test.
(Expand_N_In): Complete decoration of SCIL nodes.
* exp_intr.adb (Expand_Dispatching_Constructor_Call): Tune call to
Build_CW_Membership because its profile has been changed.
* exp_util.adb (Insert_Actions): Add null management for new node.
* sprint.adb (Sprint_Node_Actual): Handle new node.
* gcc-interface/trans.c Add no processing for N_SCIL_Membership_Test
nodes.
* gcc-interface/Make-lang.in: Update dependencies.
2009-11-30 Ed Schonberg <schonberg@adacore.com>
* opt.ads: New flags Init_Or_Norm_Scalars_Config,
Initialize_Scalars_Config, to capture the presence of the corresponding
pragmas in a configuration file.
* opt.adb (Register_, Save_, Set_, Restore_Opt_Configuration_Switches):
handle new flags so that they are restored for each compilation unit.
* frontend.adb: At the end of compilation, scan the context of the main
unit to recover occurrences of pragma Initialize_Scalars, to annotate
the ALI file accordingly.
From-SVN: r154792
Arnaud Charlet [Mon, 30 Nov 2009 11:41:56 +0000 (12:41 +0100)]
[multiple changes]
2009-11-30 Vincent Celier <celier@adacore.com>
* prj-tree.ads: Minor comment updates
* prj-tree.adb: Minor reformatting
2009-11-30 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Derive_Subprogram): Indicate that an inherited
predefined control operation is hidden if the parent type is not
visibly controlled.
* sem_ch6.adb (Check_Overriding_Indicator): Do not report error if
overridden operation is not visible, as may be the case with predefined
control operations.
* sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on
non-overriding control operation when type is not visibly controlled,
if the subprogram has an explicit overriding indicator.
* sem_util.ads, sem_util.adb (Is_Visibly_Controlled): Moved here from
sem_disp.adb.
From-SVN: r154791
Emmanuel Briot [Mon, 30 Nov 2009 11:38:12 +0000 (11:38 +0000)]
prj-tree.adb (Create_Attribute): Fix handling of VMS and Windows
2009-11-30 Emmanuel Briot <briot@adacore.com>
* prj-tree.adb (Create_Attribute): Fix handling of VMS and Windows
* prj-attr.ads: Minor comment updates
From-SVN: r154790