2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch4.adb (Expand_N_Expression_With_Actions): Rewritten. This
routine should be able to properly detect controlled transient
objects in its actions and generate the appropriate finalization
actions.
* exp_ch6.adb (Enclosing_Context): Removed.
(Expand_Ctrl_Function_Call): Remove local subprogram and
constant. Use routine Within_Case_Or_If_Expression to determine
whether the lifetime of the function result must be extended to
match that of the context.
* exp_util.ads, exp_util.adb (Within_Case_Or_If_Expression): New
routine.
2013-02-06 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Validate_Array_Type_Instance): Extend check
for subtype matching of component type of formal array type,
to avoid spurious error when component type is a separate actual
in the instance, and there may be a discrepancy between private
and full view of component type.
From-SVN: r195790
2013-02-06 Robert Dewar <dewar@adacore.com>
* s-dim.ads, clean.adb: Minor reformatting.
2013-02-06 Javier Miranda <miranda@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Undo previous patch.
(Can_Split_Unconstrained_Function): Only split the inlined function if
the compiler generates the code of its body.
From-SVN: r195789
2013-02-06 Robert Dewar <dewar@adacore.com>
* exp_prag.adb, sem_ch3.adb, exp_attr.adb, sem_prag.adb, sem_ch6.adb,
exp_intr.adb, exp_dist.adb, sem_ch13.adb: Internal clean up for
N_Pragma nodes.
2013-02-06 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Minor text updates for pragma Warning.
2013-02-06 Geert Bosch <bosch@adacore.com>
* s-multip.adb (Number_Of_CPUs): Short-circuit in case of
CPU'Last = 1.
2013-02-06 Vincent Celier <celier@adacore.com>
* clean.adb (Delete): On VMS use host notation to delete all files.
From-SVN: r195788
2013-02-06 Gary Dismukes <dismukes@adacore.com>
* sem_ch6.adb (Check_For_Primitive_Subprogram): Test for
the special case of a user-defined equality that overrides
the predefined equality of a nonderived type declared in a
declarative part.
* sem_util.adb (Collect_Primitive_Operations): Add test for
Is_Primitive when looping over the subprograms following a type,
to catch the case of primitives such as a user-defined equality,
which otherwise won't be found when the type is not a derived
type and is declared in a declarative part.
2013-02-06 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Check_Target): Always return True when Target
is empty (Get_Or_Create_Configuration_File.Get_Project_Target):
New procedure to get the value of attribute Target in the main
project.
(Get_Or_Create_Configuration_File.Do_Autoconf): No
need to get the value of attribute Target in the main project.
(Get_Or_Create_Configuration_File): Call Get_Project_Target and
use the target fom this call.
2013-02-06 Eric Botcazou <ebotcazou@adacore.com>
* erroutc.adb (Validate_Specific_Warning): Do not issue the
warning about an ineffective Pragma Warnings for -Wxxx warnings.
* sem_prag.adb (Analyze_Pragma) <Warnings>: Accept -Wxxx warnings.
* gnat_rm.texi (Pragma Warnings): Document coordination with
warnings of the GCC back-end.
From-SVN: r195786
2013-02-06 Javier Miranda <miranda@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not build the body
of an inlined function if we do not generate code for the function.
2013-02-06 Pascal Obry <obry@adacore.com>
* s-os_lib.adb (Locate_Exec_On_Path): Call Normalize_Pathname
with Resolve_Links set to False.
From-SVN: r195785
2013-02-06 Tom de Vries <tom@codesourcery.com>
PR rtl-optimization/56131
* cfgrtl.c (delete_insn): Use NOTE_BASIC_BLOCK instead of BLOCK_FOR_INSN
to get the bb of a NOTE_INSN_BASIC_BLOCK. Handle the case that the bb
of the label is NULL. Add comment.
From-SVN: r195784
Since commit r195676[1], it looks like
libstdc++-v3/src/c++11/hashtable_c++0x.cc is missing an explicit
instantiation for std::lower_bound. This leads to libstdc++.so having
the symbol for that (missing) instantiation be undefined, thus
preventing executables from being linked with libstdc++.
The patchlet below seems to fixed the issue for me.
Boostrapped and tested on x86_64-unknown-linux-gnu.
[1]:
commit bc36b44c7c
Author: fdumont <fdumont@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Fri Feb 1 20:44:41 2013 +0000
2013-02-01 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable_policy.h
(_Prime_rehash_policy::_M_next_bkt)
(_Prime_rehash_policy::_M_need_rehash): Move definition...
* src/c++11/hashtable_c++0x.cc: ... here.
* src/shared/hashtable-aux.cc: Remove c++config.h include.
* config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
symbols.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195676 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
* libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
missing instantiation for std::lower_bound template.
From-SVN: r195783
PR tree-optimization/56205
* tree-stdarg.c (check_all_va_list_escapes): Return true if
there are any PHI nodes that set non-va_list_escape_vars SSA_NAME
and some va_list_escape_vars SSA_NAME appears in some PHI argument.
* gcc.dg/tree-ssa/stdarg-6.c: New test.
* gcc.c-torture/execute/pr56205.c: New test.
From-SVN: r195760
2013-02-04 Paul Thomas <pault@gcc.gnu.org>
PR fortran/56008
PR fortran/47517
* trans-array.c (gfc_alloc_allocatable_for_assignment): Save
the lhs descriptor before it is modified for reallocation. Use
it to deallocate allocatable components in the reallocation
block. Nullify allocatable components for newly (re)allocated
arrays.
2013-02-04 Paul Thomas <pault@gcc.gnu.org>
PR fortran/56008
* gfortran.dg/realloc_on _assign_16.f90 : New test.
PR fortran/47517
* gfortran.dg/realloc_on _assign_17.f90 : New test.
From-SVN: r195741
2013-02-04 Alexander Potapenko <glider@google.com>
Jack Howarth <howarth@bromo.med.uc.edu>
Jakub Jelinek <jakub@redhat.com>
PR sanitizer/55617
* g++.dg/asan/pr55617.C: New test.
Co-Authored-By: Jack Howarth <howarth@bromo.med.uc.edu>
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r195737
2013-02-04 Alexander Potapenko <glider@google.com>
Jack Howarth <howarth@bromo.med.uc.edu>
Jakub Jelinek <jakub@redhat.com>
PR sanitizer/55617
* config/darwin.c (sort_ctor_records): Stabilized qsort
on constructor priority by using original position.
(finalize_ctors): New routine to sort constructors by
priority before use in assemble_integer.
(machopic_asm_out_constructor): Use finalize_ctors if needed.
Co-Authored-By: Jack Howarth <howarth@bromo.med.uc.edu>
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r195735
2013-02-04 Richard Guenther <rguenther@suse.de>
PR lto/56168
* lto-symtab.c (lto_symtab_merge_decls_1): Make non-builtin
node prevail as last resort.
(lto_symtab_merge_decls): Remove guard on LTRANS here.
(lto_symtab_prevailing_decl): Builtins are their own prevailing
decl.
lto/
* lto.c (read_cgraph_and_symbols): Do not call lto_symtab_merge_decls
or lto_fixup_decls at LTRANS time.
* gcc.dg/lto/pr56168_0.c: New testcase.
* gcc.dg/lto/pr56168_1.c: Likewise.
From-SVN: r195709