Georg-Johann Lay [Fri, 5 Oct 2012 16:37:04 +0000 (16:37 +0000)]
avr.md: Fix indentations of insn C snippets.
* config/avr/avr.md: Fix indentations of insn C snippets.
From-SVN: r192136
Marc Glisse [Fri, 5 Oct 2012 16:20:44 +0000 (18:20 +0200)]
re PR target/54686 (std::abs (long long) resorts to std::abs (double) if llabs is absent)
2012-10-05 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/54686
* include/c_std/cstdlib (abs(long long)): Define with
__builtin_llabs when we have long long.
(abs(long)): Use __builtin_labs.
(abs(__int128)): Define when we have __int128.
* testsuite/26_numerics/headers/cstdlib/54686.c: New file.
From-SVN: r192132
Paolo Carlini [Fri, 5 Oct 2012 15:00:26 +0000 (15:00 +0000)]
re PR c++/50893 ([C++0x] explicitly defaulted virtual destructor throw specification)
2012-10-05 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50893
* g++.dg/cpp0x/defaulted38.C: New.
From-SVN: r192131
Arnaud Charlet [Fri, 5 Oct 2012 14:33:42 +0000 (16:33 +0200)]
[multiple changes]
2012-10-05 Robert Dewar <dewar@adacore.com>
* sem_ch7.adb: Minor reformatting.
2012-10-05 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb (Analyze_Pragma, case Persistent_BSS): check for
a duplicate pragma before Rep_Item_Too_Late to prevent spurious
messages about duplicate pragmas.
2012-10-05 Ed Schonberg <schonberg@adacore.com>
* exp_util.adb (Find_Init_Call): If the successor of the
object declaration is a block, check whether it contains the
initialization call, because it may have been created by actuals
that use the secondary stack.
From-SVN: r192130
Arnaud Charlet [Fri, 5 Oct 2012 14:29:57 +0000 (16:29 +0200)]
[multiple changes]
2012-10-05 Thomas Quinot <quinot@adacore.com>
* sem_dim.adb, errout.adb, errout.ads (Analyze_Dimension_Call): Add
guard against abnormal tree resulting from a previously diagnosed
illegality.
2012-10-05 Hristian Kirtchev <kirtchev@adacore.com>
* freeze.adb (Freeze_Expression): Rename local variable Cspc to Spec
and update all refs to it. Do not freeze an entity outside a subprogram
body when the original context is an expression function.
2012-10-05 Robert Dewar <dewar@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Default for overflow checking
is suppressed, even if backend overflow/divide checks are enabled.
2012-10-05 Ed Schonberg <schonberg@adacore.com>
* einfo.adb (Set_Invariant_Procedure, Set_Predicate_Function):
chain properly subprograms on Subprograms_For_Type list.
* sem_ch13.ads; (Build_Invariant_Procedure_Declaration): new
procedure, to create declaration for invariant procedure
independently of the construction of the body, so that it can
be called within expression functions.
* sem_ch13.adb (Build_Invariant_Procedure): code cleanup. The
declaration may already have been generated at the point an
explicit invariant aspect is encountered.
* sem_prag.adb; (Analyze_Pragma, case Invariant): create declaration
for invariant procedure.
* sem_ch7.adb (Analyze_Package_Specification): clean up call to
build invariant procedure.
(Preserve_Full_Attributes): propagate information about invariants
if they appear on a completion,
2012-10-05 Pascal Obry <obry@adacore.com>
* gnat_ugn.texi: Update documentation to lift Microsoft C
restriction.
From-SVN: r192128
Arnaud Charlet [Fri, 5 Oct 2012 14:26:27 +0000 (16:26 +0200)]
[multiple changes]
2012-10-05 Robert Dewar <dewar@adacore.com>
* sem_util.adb (Has_One_Matching_Field): Handle case of lone
discriminant.
2012-10-05 Yannick Moy <moy@adacore.com>
* checks.adb (Minimize_Eliminate_Overflow_Checks): Correct code
for the division operation and exponent operation. Adjust bound
for the mod and rem operations.
From-SVN: r192126
Robert Dewar [Fri, 5 Oct 2012 14:22:55 +0000 (14:22 +0000)]
checks.adb, [...]: Minor reformatting.
2012-10-05 Robert Dewar <dewar@adacore.com>
* checks.adb, checks.ads, s-tassta.adb, s-stposu.adb, s-spsufi.adb,
s-spsufi.ads, exp_ch4.adb: Minor reformatting.
From-SVN: r192125
Arnaud Charlet [Fri, 5 Oct 2012 14:21:21 +0000 (16:21 +0200)]
[multiple changes]
2012-10-05 Yannick Moy <moy@adacore.com>
* switch-c.adb, checks.adb, checks.ads, sem_prag.adb, exp_ch4.adb,
osint.adb: Minor correction of typos, and special case for Alfa mode.
2012-10-05 Hristian Kirtchev <kirtchev@adacore.com>
* s-spsufi.adb: Add with clause for Ada.Unchecked_Deallocation.
Add with and use clauses for System.Finalization_Masters.
(Finalize_And_Deallocate): Add an instance of
Ada.Unchecked_Deallocation. Merge the code from the now obsolete
Finalize_Subpool into this routine.
* s-spsufi.ads: Add pragma Preelaborate.
* s-stposu.adb: Remove with clause for
Ada.Unchecked_Deallocation; Add with and use clauses for
System.Storage_Pools.Subpools.Finalization; (Finalize_Pool):
Update the comment on all actions takes with respect to a subpool
finalization. Finalize and deallocate each individual subpool.
(Finalize_Subpool): Removed.
(Free): Removed;
(Detach): Move from package body to spec.
* s-stposu.ads (Detach): Move from package body to spec.
(Finalize_Subpool): Removed.
2012-10-05 Arnaud Charlet <charlet@adacore.com>
* s-tassta.adb: Update comments.
(Vulnerable_Complete_Master): If Free_On_Termination is set, do
nothing, and let the task free itself if not already done.
From-SVN: r192124
Ian Lance Taylor [Fri, 5 Oct 2012 13:44:40 +0000 (13:44 +0000)]
runtime: Use argv[0] to get executable name for backtrace.
From-SVN: r192123
Richard Guenther [Fri, 5 Oct 2012 11:48:27 +0000 (11:48 +0000)]
re PR lto/54811 (tree code '�' is not supported in LTO streams)
2012-10-05 Richard Guenther <rguenther@suse.de>
PR middle-end/54811
* tree-ssa-live.c (clear_unused_block_pointer_1): Look at
DECL_DEBUG_EXPR again.
From-SVN: r192120
Jan Hubicka [Fri, 5 Oct 2012 11:43:38 +0000 (13:43 +0200)]
re PR c/33763 (Bogus inlining failed in call to `xxx': redefined extern inline functions are not considered for inlining)
PR tree-optimization/33763
* tree-inline.c (expand_call_inline): Silently ignore always_inline
attribute for redefined extern inline functions.
* c-c++-common/pr33763.c: New test.
From-SVN: r192119
Jan Hubicka [Fri, 5 Oct 2012 10:10:33 +0000 (12:10 +0200)]
tree-vectorizer.h (vect_estimate_min_profitable_iters): Remove.
* tree-vectorizer.h (vect_estimate_min_profitable_iters): Remove.
* tree-vect-loop.c (vect_estimate_min_profitable_iters): Declare here.
(vect_analyze_loop_operations): Use loop count estimate to rule out
unprofitable vectorization.
(vect_estimate_min_profitable_iters): Return ret_min_profitable_estimate.
From-SVN: r192116
Jakub Jelinek [Fri, 5 Oct 2012 09:37:25 +0000 (11:37 +0200)]
re PR tree-optimization/54810 (VRP doesn't handle comparison of narrowing cast like comparison of BIT_AND_EXPR)
PR tree-optimization/54810
* tree-vrp.c (register_edge_assert_for_2): Handle
NAME = (unsigned) NAME2; if (NAME cmp CST) for
narrowing casts to unsigned integral type like
NAME = NAME2 & CST2; if (NAME cmp CST) where CST2
is the max value of the unsigned integral type.
* gcc.dg/tree-ssa/vrp85.c: New test.
From-SVN: r192115
Jonathan Wakely [Fri, 5 Oct 2012 07:35:12 +0000 (07:35 +0000)]
re PR other/53889 (Gthreads doesn't support destroying recursive mutexes)
PR other/53889
* config/i386/gthr-win32.h (__gthread_recursive_mutex_destroy):
Fix parameter names.
From-SVN: r192114
David Edelsohn [Fri, 5 Oct 2012 00:30:50 +0000 (00:30 +0000)]
ucnid-7.c: Skip on AIX.
* gcc.dg/ucnid-7.c: Skip on AIX.
* gcc.dg/ucnid-8.c: Same.
* gcc.dg/ucnid-10.c: Same.
* gcc.dg/ucnid-13.c: Same.
* gcc.dg/attr-alias-3.c: Same.
* gcc.dg/attr-alias-5.c: Same.
* gcc.dg/torture/pr51106-2.c: Same.
* gcc.dg/vmx/3b-13.c: Use valid splat index.
From-SVN: r192113
GCC Administrator [Fri, 5 Oct 2012 00:18:24 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r192112
Paolo Carlini [Thu, 4 Oct 2012 23:48:16 +0000 (23:48 +0000)]
re PR c++/52233 (ICE segmentation fault with using-declaration)
2012-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/52233
* g++.dg/cpp0x/alias-decl-23.C: New.
From-SVN: r192109
Paolo Carlini [Thu, 4 Oct 2012 23:19:46 +0000 (23:19 +0000)]
re PR c++/53403 (Function template friend denied access to private types of granting template class.)
2012-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53403
* g++.dg/template/friend53.C
From-SVN: r192108
Oleg Endo [Thu, 4 Oct 2012 22:08:34 +0000 (22:08 +0000)]
Revert accidential commits.
From-SVN: r192107
Eric Botcazou [Thu, 4 Oct 2012 21:34:13 +0000 (21:34 +0000)]
gcc-dg.exp (cleanup-ada-spec): New procedure.
* lib/gcc-dg.exp (cleanup-ada-spec): New procedure.
* lib/scanasm.exp (get_ada_spec_filename): Likewise.
(scan-ada-spec): Likewise.
(scan-ada-spec-not): Likewise.
* gcc.dg/dump-ada-spec-1.c: New test.
* g++.dg/other/dump-ada-spec-1.C: Likewise.
From-SVN: r192106
Lawrence Crowl [Thu, 4 Oct 2012 21:27:13 +0000 (21:27 +0000)]
Correct incomplete diff edit.
From-SVN: r192105
Lawrence Crowl [Thu, 4 Oct 2012 21:24:32 +0000 (21:24 +0000)]
Add myself to wrote after approval list.
From-SVN: r192104
Jeff Law [Thu, 4 Oct 2012 20:58:30 +0000 (14:58 -0600)]
re PR target/50356 (Poor if condition in h8300 config code)
* PR target/50356
* config/h8300/h8300.c (h8300_rtx_costs): Fix typo in CONST_INT case.
From-SVN: r192103
Gerald Pfeifer [Thu, 4 Oct 2012 20:16:08 +0000 (20:16 +0000)]
* btest.c (f23): Avoid uninitialized variable warning.
From-SVN: r192102
Jason Merrill [Thu, 4 Oct 2012 19:54:13 +0000 (15:54 -0400)]
rs6000.c (rs6000_code_end): Protect the use of ASM_WEAKEN_DECL with #if RS6000_WEAK.
* config/rs6000/rs6000.c (rs6000_code_end): Protect the use of
ASM_WEAKEN_DECL with #if RS6000_WEAK.
From-SVN: r192101
Oleg Endo [Thu, 4 Oct 2012 18:32:20 +0000 (18:32 +0000)]
re PR target/33135 ([SH] -ffinite-math-only should not be on by default)
PR target/33135
* config/sh/t-sh (HOST_LIBGCC2_CFLAGS): Delete.
* config/sh/t-netbsd (HOST_LIBGCC2_CFLAGS): Delete.
* config/sh/t-linux (HOST_LIBGCC2_CFLAGS): Remove mieee option.
From-SVN: r192097
Basile Starynkevitch [Thu, 4 Oct 2012 18:18:58 +0000 (18:18 +0000)]
Basile Starynkevitch <basile@starynkevitch.net>
* gengtype.c (walk_type): Emit mark_hook when inside a
struct of a union member.
From-SVN: r192095
Tobias Burnus [Thu, 4 Oct 2012 17:32:06 +0000 (19:32 +0200)]
expr.c (scalarize_intrinsic_call): Plug memory leak.
2012-10-04 Tobias Burnus <burnus@net-b.de>
* expr.c (scalarize_intrinsic_call): Plug memory leak.
* frontend-passes.c (gcc_assert): Extend assert.
* interface.c (gfc_compare_derived_types): Fix comparison.
(gfc_check_operator_interface): Move up to make this error
message reachable.
(get_sym_storage_size): Remove always-true checks.
* io.c (format_lex): Add comment.
(gfc_free_wait): Free memory.
* match.c (gfc_match_select_type): Ditto.
* matchexpr.c (match_level_3): Ditto.
* primary.c (match_string_constant): Ditto.
(match_actual_arg): Check return value.
* resolve.c (gfc_resolve_substring_charlen,
resolve_typebound_generic_call, resolve_typebound_function,
resolve_typebound_subroutine): Free memory.
* trans-types.c (gfc_get_derived_type): Remove always-true
* check.
From-SVN: r192094
Basile Starynkevitch [Thu, 4 Oct 2012 17:22:15 +0000 (17:22 +0000)]
Basile Starynkevitch <basile@starynkevitch.net>
* gengtype.c (walk_type): Emit mark_hook when inside a
struct of a union member.
From-SVN: r192092
Georg-Johann Lay [Thu, 4 Oct 2012 17:02:27 +0000 (17:02 +0000)]
predicates.md (flash_operand): New predicate.
* config/avr/predicates.md (flash_operand): New predicate.
* config/avr/avr.md (reload_in<mode>): Use it in operand 1 instead
of memory_operand.
From-SVN: r192090
Eric Botcazou [Thu, 4 Oct 2012 17:01:53 +0000 (17:01 +0000)]
* gcc.dg/lto/20120723_0.c: Skip on SPARC 32-bit.
From-SVN: r192089
Tobias Burnus [Thu, 4 Oct 2012 17:01:31 +0000 (19:01 +0200)]
2012-10-03 Tobias Burnus <burnus@net-b.de>
* gcc.c (record_temp_file, add_sysrooted_prefix,
* process_command,
do_self_spec, compare_debug_dump_opt_spec_function): Plug memleaks.
(do_spec_1): Ditto, fix out-of-bound access.
* opts.c (common_handle_option): Plug memleak.
From-SVN: r192088
Jason Merrill [Thu, 4 Oct 2012 15:38:43 +0000 (11:38 -0400)]
darwin.c (darwin_assemble_visibility): Treat VISIBILITY_INTERNAL as hidden.
* config/darwin.c (darwin_assemble_visibility): Treat
VISIBILITY_INTERNAL as hidden.
* config/darwin-c.c (find_subframework_file): Add missing const.
(framework_construct_pathname): Likewise.
From-SVN: r192085
Florian Weimer [Thu, 4 Oct 2012 15:33:11 +0000 (17:33 +0200)]
Implement #pragma GCC warning/error
2012-10-04 Florian Weimer <fweimer@redhat.com>
* doc/cpp.texi (Pragmas): Document #pragma GCC warning, #pragma
GCC error.
2012-10-04 Florian Weimer <fweimer@redhat.com>
* c-c++-common/cpp/diagnostic-pragma-1.c: New testcase.
2012-10-04 Florian Weimer <fweimer@redhat.com>
* directives.c (do_pragma_warning_or_error): New.
(do_pragma_warning): New.
(do_pragma_error): New.
(_cpp_init_internal_pragmas): Register new pragmas.
From-SVN: r192084
Paolo Carlini [Thu, 4 Oct 2012 15:19:34 +0000 (15:19 +0000)]
re PR c++/54323 (Friend function declaration not correctly identified with CRTP + enable_if)
2012-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54323
* g++.dg/cpp0x/pr54323.C: New.
From-SVN: r192083
Ian Lance Taylor [Thu, 4 Oct 2012 15:16:09 +0000 (15:16 +0000)]
dwarf.c: If the system header files do not declare strnlen, provide our own version.
* dwarf.c: If the system header files do not declare strnlen,
provide our own version.
From-SVN: r192082
Richard Guenther [Thu, 4 Oct 2012 11:48:21 +0000 (11:48 +0000)]
re PR tree-optimization/54735 (Segmentation fault in walk_aliased_vdefs_1)
2012-10-04 Richard Guenther <rguenther@suse.de>
PR middle-end/54735
* tree-ssa-pre.c (do_pre): Make sure to update virtual SSA form before
cleaning up the CFG.
* g++.dg/torture/pr54735.C: New testcase.
From-SVN: r192078
Richard Guenther [Thu, 4 Oct 2012 11:23:18 +0000 (11:23 +0000)]
re PR lto/47788 (New LTO failures)
2012-10-04 Richard Guenther <rguenther@suse.de>
PR lto/47788
* tree-streamer-out.c (write_ts_block_tree_pointers): For
inlined functions outer scopes write the ultimate origin
as BLOCK_ABSTRACT_ORIGIN and BLOCK_SOURCE_LOCATION.
Do not stream the fragment chains.
* tree-streamer-in.c (lto_input_ts_block_tree_pointers): Likewise.
* dwarf2out.c (gen_subprogram_die): Handle NULL DECL_INITIAL.
(dwarf2out_decl): Always output DECL_ABSTRACT function decls.
From-SVN: r192075
Arnaud Charlet [Thu, 4 Oct 2012 09:23:38 +0000 (11:23 +0200)]
[multiple changes]
2012-10-04 Robert Dewar <dewar@adacore.com>
* sem_res.adb (Resolve_Set_Membership): Warn on duplicates.
2012-10-04 Emmanuel Briot <briot@adacore.com>
* g-comlin.adb (Getopt): Fix value of Full_Switch returned in case of
invalid switch.
2012-10-04 Arnaud Charlet <charlet@adacore.com>
* gcc-interface/Make-lang.in: Update dependencies.
From-SVN: r192073
Arnaud Charlet [Thu, 4 Oct 2012 09:18:55 +0000 (11:18 +0200)]
[multiple changes]
2012-10-04 Robert Dewar <dewar@adacore.com>
* sem_eval.adb (Fold_Str, Fold_Uint, Fold_Ureal): Reset static
expression state after Resolve call.
2012-10-04 Robert Dewar <dewar@adacore.com>
* sem_prag.adb (Analyze_Pragma. case Warnngs): Don't make entry
in the table for Warnings Off pragmas if within an instance.
2012-10-04 Ed Schonberg <schonberg@adacore.com>
* sem_ch9.adb (Analyze_Entry_Body): Transfer
Has_Pragma_Unreferenced flag from entry formal to corresponding
entity in body, to prevent spurious warnings when pragma is
present.
2012-10-04 Robert Dewar <dewar@adacore.com>
* s-bignum.adb (Big_Exp): Raise Storage_Error for ludicrously
large results.
2012-10-04 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Check_Duplicate_Aspects): Diagnose properly
aspects that appear in the partial and the full view of a type.
2012-10-04 Robert Dewar <dewar@adacore.com>
* sinfo.ads (N_Return_Statement): Removed.
2012-10-04 Tristan Gingold <gingold@adacore.com>
* init.c (__gl_zero_cost_exceptions): Comment it as not used
anymore.
* bindgen.adb (Gen_Adainit): Do not emit Zero_Cost_Exceptions
anymore.
2012-10-04 Thomas Quinot <quinot@adacore.com>
* prep.adb, prepcomp.adb, gprep.adb, opt.ads: New preprocessor switch
-a (all source text preserved).
From-SVN: r192072
Arnaud Charlet [Thu, 4 Oct 2012 09:12:18 +0000 (11:12 +0200)]
[multiple changes]
2012-10-04 Vincent Celier <celier@adacore.com>
* prj-proc.adb (Recursive_Process): Use project directory
display path name as the value of 'Project_Dir.
2012-10-04 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
Deal with case where we get a bignum operand and cannot do a
range analysis.
* sem_eval.adb (Why_Not_Static): Deal with bignum operands
2012-10-04 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Find_Unary_Types): Within an instance, an
interpretation that involves a predefied arithmetic operator is
not a candidate if the corresponding generic formal type is not
a numeric type.
* sem_util.ads, sem_util.adb (Corresonding_Generic_Type): If a
type is a generic actual type within an instance, return the
corresponding formal in the generic unit, otherwise return
Any_Type.
From-SVN: r192071
Robert Dewar [Thu, 4 Oct 2012 09:10:08 +0000 (09:10 +0000)]
checks.adb (Minimize_Eliminate_Overflow_Checks): Dont reanalyze if/case expression if nothing has changed (just reexpand).
2012-10-04 Robert Dewar <dewar@adacore.com>
* checks.adb (Minimize_Eliminate_Overflow_Checks): Dont reanalyze
if/case expression if nothing has changed (just reexpand). Stops
case expression from generating incorrect temporary.
* exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
Fix cut and paste typo for range analysis in NE (not equal) case.
* sem_eval.adb (Compile_Time_Compare): Small optimization to
catch some more cases.
* types.ads (Suppressed_Or_Checked): New subtype of
Overflow_Check_Type.
From-SVN: r192070
Arnaud Charlet [Thu, 4 Oct 2012 09:08:20 +0000 (11:08 +0200)]
[multiple changes]
2012-10-04 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Set_CPP_Constructors_Old): Removed.
(Set_CPP_Constructors): Code cleanup.
2012-10-04 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Is_Ancestor_Unit): Make global, for use elsewhere.
(Install_Private_with_Clauses): if clause is private and limited,
do not install the limited view if the library unit is an ancestor
of the unit being compiled. This unusual configuration occurs
when compiling a unit DDP, when an ancestor P of DDP has a
private limited with clause on a descendant of P that is itself
an ancestor of DDP.
From-SVN: r192069
Arnaud Charlet [Thu, 4 Oct 2012 09:05:53 +0000 (11:05 +0200)]
[multiple changes]
2012-10-04 Vincent Celier <celier@adacore.com>
* prj-proc.adb (Process_Package_Declaration): Use project
directory display path name as the value of 'Project_Dir.
2012-10-04 Gary Dismukes <dismukes@adacore.com>
* exp_util.adb (Build_Allocate_Deallocate_Proc): The subpool can be
given by an arbitrary name, so copy the tree to make the call's actual.
2012-10-04 Robert Dewar <dewar@adacore.com>
* s-exnllf.adb, s-exnllf.ads: Minor reformatting.
2012-10-04 Thomas Quinot <quinot@adacore.com>
* exp_ch6.adb: Minor reformatting.
2012-10-04 Pascal Obry <obry@adacore.com>
* projects.texi: Use consistently @command{} when referencing
commands. Fix typos.
From-SVN: r192068
Arnaud Charlet [Thu, 4 Oct 2012 08:51:31 +0000 (10:51 +0200)]
dumpfile.h, dumpfile.c: Remove TDI_ada.
2012-10-04 Arnaud Charlet <charlet@adacore.com>
* dumpfile.h, dumpfile.c: Remove TDI_ada.
c-family/
* c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
* c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
out of dumpfile.h.
c/
* c-decl.c (c_write_global_declarations): Fix handling of
-fdump-ada-spec*.
cp/
* decl2.c (cp_write_global_declarations): Fix handling of
-fdump-ada-spec*.
From-SVN: r192067
Eric Botcazou [Thu, 4 Oct 2012 08:15:11 +0000 (08:15 +0000)]
re PR rtl-optimization/54739 (FAIL: gcc.dg/lower-subreg-1.c scan-rtl-dump subreg1 "Splitting reg")
PR rtl-optimization/54739
* gcc.dg/lower-subreg-1.c: Also skip on SPARC.
From-SVN: r192066
Yuri Rumyantsev [Thu, 4 Oct 2012 08:13:18 +0000 (08:13 +0000)]
i386.c (ix86_dep_by_shift_count_body): Add check on reload_completed since it can be invoked before register...
* config/i386/i386.c (ix86_dep_by_shift_count_body) : Add
check on reload_completed since it can be invoked before
register allocation phase in pre-reload schedule.
(ia32_multipass_dfa_lookahead) : Do not use dfa_lookahead for pre-reload
schedule to save compile time.
(ix86_sched_reorder) : Do not perform ready list reordering for pre-reload
schedule to save compile time.
(insn_is_function_arg) : New function. Returns true if lhs of insn is
HW function argument register.
(add_parameter_dependencies) : New function. Add output dependencies
for chain of function adjacent arguments if only there is a move to
likely spilled HW registers. Return first argument if at least one
dependence was added or NULL otherwise.
(avoid_func_arg_motion) : New function. Add output or anti dependency
from insn to first_arg to restrict code motion.
(add_dependee_for_func_arg) : New function. Avoid cross block motion of
function argument through adding dependency from the first non-jump
insn in bb.
(ix86_dependencies_evaluation_hook) : New function. Hook for pre-reload schedule:
avoid motion of function arguments passed in passed in likely spilled
HW registers.
(ix86_adjust_priority) : New function. Hook for pre-reload schedule: set priority
of moves from likely spilled HW registers to maximum to schedule them
as soon as possible.
(ix86_sched_init_global): Do not perform multipass scheduling for pre-reload
schedule to save compile time.
From-SVN: r192065
Uros Bizjak [Thu, 4 Oct 2012 05:53:22 +0000 (07:53 +0200)]
configure.ac (noexception_flags): Add -fasynchronous-unwind-tables.
* configure.ac (noexception_flags): Add -fasynchronous-unwind-tables.
* configure: Regenerate.
From-SVN: r192062
Kaz Kojima [Thu, 4 Oct 2012 03:03:12 +0000 (03:03 +0000)]
sh.c (sh_can_use_simple_return_p): Return false for SHmedia and SHcompact using call_cookie.
* sh.c (sh_can_use_simple_return_p): Return false for SHmedia
and SHcompact using call_cookie.
* sh.md (epilogue): Emit non-inlined return insns for SHmedia
and SHcompact using call_cookie.
From-SVN: r192061
GCC Administrator [Thu, 4 Oct 2012 00:18:17 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r192059
Paolo Carlini [Thu, 4 Oct 2012 00:02:29 +0000 (00:02 +0000)]
re PR libstdc++/53248 (std::array<T,0> doesn't work when T is not default-constructible)
2012-10-03 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/53248
* include/std/array (__array_traits<>): Add.
(array<>): Allow for zero-size arrays of non default-constructible
elements.
* testsuite/23_containers/array/requirements/
non_default_constructible.cc: New.
* testsuite/23_containers/array/requirements/zero_sized_arrays.cc:
Adjust.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
dg-error line numbers.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Likewise.
From-SVN: r192056
Ian Lance Taylor [Wed, 3 Oct 2012 22:07:12 +0000 (22:07 +0000)]
dwarf.c (read_uleb128): Fix overflow test.
* dwarf.c (read_uleb128): Fix overflow test.
(read_sleb128): Likewise.
(build_address_map): Don't change unit_buf.start.
From-SVN: r192053
Oleg Endo [Wed, 3 Oct 2012 21:39:18 +0000 (21:39 +0000)]
re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
PR target/51244
* config/sh/sh.md (*mov_t_msb_neg): New insn and two accompanying
unnamed split patterns.
PR target/51244
* gcc.target/sh/pr51244-12.c: New.
From-SVN: r192052
Oleg Endo [Wed, 3 Oct 2012 21:36:14 +0000 (21:36 +0000)]
re PR target/50457 (SH2A atomic functions)
PR target/50457
* config/sh/sh.c (parse_validate_atomic_model_option): Handle name
strings in sh_atomic_model.
* config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Move macro implementation
to ...
* config/sh/sh-c.c (sh_cpu_cpp_builtins): ... this new function.
Add __SH1__ and __SH2__ defines. Add __SH_ATOMIC_MODEL_*__ define.
* config/sh/sh-protos.h (sh_atomic_model): Add name and cdef_name
variables.
(sh_cpu_cpp_builtins): Declare new function.
PR target/50457
* config/sh/linux-atomic.S: Delete.
* config/sh/linux-atomic.c: New.
* config/sh/t-linux (LIB2ADD): Replace linux-atomic.S with
linux-atomic.c. Add cflags to disable warnings.
From-SVN: r192051
Dehao Chen [Wed, 3 Oct 2012 20:34:26 +0000 (20:34 +0000)]
re PR middle-end/54782 (ICE: in change_scope, at final.c:1543 with -O -ffast-math -ftree-parallelize-loops=2 -g)
2012-10-03 Dehao Chen <dehao@google.com>
gcc:
PR middle-end/54782
* tree-cfg.c (move_block_to_fn): Update lexical block for phi_args.
testsuite:
PR middle-end/54782
* gcc.dg/pr54782.c: New test.
From-SVN: r192049
Vladimir Makarov [Wed, 3 Oct 2012 19:14:39 +0000 (19:14 +0000)]
Fix the last changelog date.
From-SVN: r192048
Vladimir Makarov [Wed, 3 Oct 2012 19:13:01 +0000 (19:13 +0000)]
reginfo.c (max_regno_since_last_resize): New.
2012-09-27 Vladimir Makarov <vmakarov@redhat.com>
* reginfo.c (max_regno_since_last_resize): New.
(reg_preferred_class, reg_alternate_class): Add assert.
(allocate_reg_info): Initialize allocated reg info.
(resize_reg_info): Make bigger reg_info and initialize new memory.
(reginfo_init): Initialize max_regno_since_last_resize.
(setup_reg_classes): Change assert.
From-SVN: r192047
Andrew W. Nosenko [Wed, 3 Oct 2012 17:46:47 +0000 (17:46 +0000)]
Fix SSE and YMM state support check logic for -march=native
* config/i386/driver-i386.c (host_detect_local_cpu): Fix logic
in SSE and YMM state support check for -march=native.
From-SVN: r192044
Nick Clifton [Wed, 3 Oct 2012 16:12:22 +0000 (16:12 +0000)]
rx.c (struct decl_chain): New local structure.
* config/rx/rx.c (struct decl_chain): New local structure.
(warned_decls): New local variable. Contains a stack of decls for
which warnings have been issued.
(add_warned_decl): Adds a decl to the stack.
(already_warned): Returns true if a given decl is on the stack.
(rx_set_current_function): Issue a warning if multiple fast
interrupt handlers are defined.
* config/rx/rx.opt (mwarn-multiple-fast-interrupts): New option.
* doc/invoke.texi: Document the option.
From-SVN: r192041
Mark Kettenis [Wed, 3 Oct 2012 15:44:06 +0000 (15:44 +0000)]
config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set default_use_cxa_atexit to yes.
* config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set
default_use_cxa_atexit to yes.
From-SVN: r192039
Jakub Jelinek [Wed, 3 Oct 2012 14:28:28 +0000 (16:28 +0200)]
re PR rtl-optimization/54792 (-fcompare-debug failures introduced by r191493)
PR rtl-optimization/54792
* sched-deps.c (find_modifiable_mems): Scan also TAIL insn.
From-SVN: r192038
Jakub Jelinek [Wed, 3 Oct 2012 14:21:20 +0000 (16:21 +0200)]
re PR c++/54777 ([C++11] Comma operator in constexpr environment can cause ICE)
PR c++/54777
* semantics.c (cxx_eval_constant_expression) <case COMPOUND_EXPR>: If
not ignoring the second operand, pass the original second operand
and not one with stripped nops to cxx_eval_constant_expression.
* g++.dg/cpp0x/constexpr-ref4.C: New test.
From-SVN: r192036
Arnaud Charlet [Wed, 3 Oct 2012 08:11:48 +0000 (10:11 +0200)]
[multiple changes]
2012-10-03 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (New_Overloaded_Entity): call
Append_Inherited_Subprogram when appropriate.
* sem_dim.adb (Analyze_Dimension_Call): Do not perform dimensional
analysis if call has previous semantic error.
* sem_util.ads, sem_util.adb (Append_Inherited_Subprogram):
new subprogram to handle properly the visibility of inherited
operations that are primitives of a type extension, when the
parent type and operations are declared in the same visible part.
2012-10-03 Robert Dewar <dewar@adacore.com>
* checks.adb (Minimize_Eliminate_Overflow_Checks): Properly
handle case of top level expression within type conversion
* gnat1drv.adb (Adjust_Global_Switches): Set SUPPRESSED as
default for overflow checking for -gnatg mode (includes run-time).
* sem_res.adb (Resolve_Type_Conversion): Avoid bogus warnings
about redundant conversions from MINIMIZED/EXTENDED mode checking
From-SVN: r192029
Javier Miranda [Wed, 3 Oct 2012 08:09:15 +0000 (08:09 +0000)]
exp_ch4.adb (Expand_N_Allocator_Expression): Minor code reorganization and cleanup.
2012-10-03 Javier Miranda <miranda@adacore.com>
* exp_ch4.adb (Expand_N_Allocator_Expression): Minor code
reorganization and cleanup. Done to ensure proper management of
the C++ constructor covering tagged and untagged types and also
non-default constructors.
* exp_ch6.ads, exp_ch6.adb (Make_CPP_Constructor_Call_In_Allocator):
New subprogram.
From-SVN: r192028
Arnaud Charlet [Wed, 3 Oct 2012 08:07:31 +0000 (10:07 +0200)]
[multiple changes]
2012-10-03 Gary Dismukes <dismukes@adacore.com>
* sem_ch6.adb: Minor typo fix.
2012-10-03 Robert Dewar <dewar@adacore.com>
* checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
Set Top_Level properly (to False) for operand of range of
membership test.
* exp_ch4.adb (Expand_Membership_Minimize_Eliminate_Overflow):
Fix crash with -gnato3 and membership operations.
(Expand_Membership_Minimize_Eliminate_Overflow): Fix error message
and wrong results for -gnato3 large expression and predicated
subtype.
(Expand_Membership_Minimize_Eliminate_Overflow): Use
expression action node to avoid using insert actions (bombs in
some cases).
(Expand_Compare_Minimize_Eliminate_Overflow): Use expression action
node to avoid using insert actions (bombs in some cases).
2012-10-03 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Set_CPP_Constructors_Old): Handle constructor of
untagged type that has all its parameters with defaults and hence it
covers the default constructor.
From-SVN: r192027
Arnaud Charlet [Wed, 3 Oct 2012 08:04:27 +0000 (10:04 +0200)]
[multiple changes]
2012-10-03 Yannick Moy <moy@adacore.com>
* checks.adb, sem_prag.adb, s-bignum.ads: Minor typo fixes.
2012-10-03 Thomas Quinot <quinot@adacore.com>
* g-socket.adb (Connect_Socket, version with timeout): When the
newly-connected socket is reported as available for writing, check
whether it has a pending asynchronous error prior to returning.
2012-10-03 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Check_Conformance): Additional info when subtype
conformance fails, due to a missing null exclusion indicatar in
a formal that must match a controlling access formal.
From-SVN: r192026
Ian Lance Taylor [Wed, 3 Oct 2012 05:27:36 +0000 (05:27 +0000)]
libgo: Update to Go 1.0.3.
From-SVN: r192025
Ian Lance Taylor [Wed, 3 Oct 2012 05:03:24 +0000 (05:03 +0000)]
compiler: Fix a, b, c := b, a, 1 when a and b already exist.
From-SVN: r192022
GCC Administrator [Wed, 3 Oct 2012 00:17:56 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r192018
Ian Lance Taylor [Tue, 2 Oct 2012 23:50:23 +0000 (23:50 +0000)]
compiler: Fix a couple of type reflection strings.
From-SVN: r192014
Ian Lance Taylor [Tue, 2 Oct 2012 22:22:28 +0000 (22:22 +0000)]
compiler: Fix parse of (<- chan <- chan <- int)(x).
From-SVN: r192011
H.J. Lu [Tue, 2 Oct 2012 21:11:21 +0000 (21:11 +0000)]
Document -mprefer-avx128
PR target/54785
* doc/invoke.texi: Document -mprefer-avx128.
From-SVN: r192007
Andrew Pinski [Tue, 2 Oct 2012 21:03:37 +0000 (21:03 +0000)]
simplify-rtx.c (simplify_unary_operation_1 <case TRUNCATE>): Don't optimize a truncate of a mem if it is a vector mode.
2012-10-02 Andrew Pinski <apinski@cavium.com>
* simplify-rtx.c (simplify_unary_operation_1 <case TRUNCATE>):
Don't optimize a truncate of a mem if it is a vector mode.
From-SVN: r192006
Janus Weil [Tue, 2 Oct 2012 21:02:16 +0000 (23:02 +0200)]
re PR fortran/54778 ([OOP] an ICE on invalid OO code)
2012-10-02 Janus Weil <janus@gcc.gnu.org>
PR fortran/54778
* interface.c (matching_typebound_op): Check for 'class_ok' attribute.
2012-10-02 Janus Weil <janus@gcc.gnu.org>
PR fortran/54778
* gfortran.dg/class_53.f90: New.
From-SVN: r192005
Jonathan Wakely [Tue, 2 Oct 2012 20:22:32 +0000 (20:22 +0000)]
re PR other/53889 (Gthreads doesn't support destroying recursive mutexes)
libgcc:
PR other/53889
* gthr.h (__gthread_recursive_mutex_destroy): Document new required
function.
* gthr-posix.h (__gthread_recursive_mutex_destroy): Define.
* gthr-single.h (__gthread_recursive_mutex_destroy): Likewise.
* config/gthr-rtems.h (__gthread_recursive_mutex_destroy): Likewise.
* config/gthr-vxworks.h (__gthread_recursive_mutex_destroy): Likewise.
* config/i386/gthr-win32.h (__gthread_recursive_mutex_destroy):
Likewise.
* config/mips/gthr-mipssde.h (__gthread_recursive_mutex_destroy):
Likewise.
* config/pa/gthr-dce.h (__gthread_recursive_mutex_destroy): Likewise.
* config/s390/gthr-tpf.h (__gthread_recursive_mutex_destroy): Likewise.
libstdc++-v3:
PR other/53889
* include/std/mutex (__recursive_mutex_base::~__recursive_mutex_base):
Use __gthread_recursive_mutex_destroy.
(__recursive_mutex_base::_S_destroy): Remove.
(__recursive_mutex_base::_S_destroy_win32): Likewise.
* include/ext/concurrence.h (__recursive_mutex::~__recursive_mutex):
Use __gthread_recursive_mutex_destroy.
(__recursive_mutex::_S_destroy): Remove.
(__recursive_mutex::_S_destroy_win32): Likewise.
From-SVN: r192002
Alexandre Oliva [Tue, 2 Oct 2012 20:06:08 +0000 (20:06 +0000)]
re PR debug/54551 (DF resets some DEBUG_INSNs unnecessarily)
gcc/ChangeLog:
PR debug/54551
* Makefile.in (VALTRACK_H): Add hash-table.h.
* valtrack.h: Include hash-table.h.
(struct dead_debug_global_entry): New.
(struct dead_debug_hash_descr): New.
(struct dead_debug_global): New.
(struct dead_debug): Rename to...
(struct dead_debug_local): ... this. Adjust all uses.
(dead_debug_global_init, dead_debug_global_finish): New.
(dead_debug_init): Rename to...
(dead_debug_local_init): ... this. Adjust all callers.
(dead_debug_finish): Rename to...
(dead_debug_local_finish): ... this. Adjust all callers.
* valtrack.c (dead_debug_global_init): New.
(dead_debug_init): Rename to...
(dead_debug_local_init): ... this. Take global parameter.
Save it and initialize used bitmap from it.
(dead_debug_global_find, dead_debug_global_insert): New.
(dead_debug_global_replace_temp): New.
(dead_debug_promote_uses): New.
(dead_debug_finish): Rename to...
(dead_debug_local_finish): ... this. Promote remaining uses.
(dead_debug_global_finish): New.
(dead_debug_add): Try to replace global temps first.
(dead_debug_insert_temp): Support global replacements.
* dce.c (word_dce_process_block, dce_process_block): Add
global_debug parameter. Pass it on.
(fast_dce): Initialize, pass on and finalize global_debug.
* df-problems.c (df_set_unused_notes_for_mw): Adjusted.
(df_create_unused_notes, df_note_bb_compute): Likewise.
(df_note_compute): Justify local-only dead debug analysis.
gcc/testsuite/ChangeLog:
PR debug/54551
* gcc.dg/guality/pr54551.c: New.
From-SVN: r192001
Alexandre Oliva [Tue, 2 Oct 2012 20:05:24 +0000 (20:05 +0000)]
re PR debug/53135 (Duplicates cause size explosion (vta/dwarf))
PR debug/53135
* dwarf2out.c (value_format): Use block4 for dw_val_class_loc
when needed.
From-SVN: r192000
Alexandre Oliva [Tue, 2 Oct 2012 19:58:37 +0000 (19:58 +0000)]
re PR debug/54177 (Segfault in cselib_lookup due to NULL_RTX passed from vt_add_function_parameter)
PR debug/54177
* var-tracking.c (vt_add_function_parameter): Bail if
var_lowpart fails.
From-SVN: r191999
H.J. Lu [Tue, 2 Oct 2012 19:49:01 +0000 (19:49 +0000)]
Check SSE and YMM state support for -march=native
2012-10-02 H.J. Lu <hongjiu.lu@intel.com>
PR target/54741
* config/i386/driver-i386.c (XCR_XFEATURE_ENABLED_MASK): New.
(XSTATE_FP): Likewise.
(XSTATE_SSE): Likewise.
(XSTATE_YMM): Likewise.
(host_detect_local_cpu): Disable AVX, AVX2, FMA, FMA4 and XOP if
SSE and YMM states aren't supported.
From-SVN: r191998
Richard Sandiford [Tue, 2 Oct 2012 19:37:24 +0000 (19:37 +0000)]
mips.md (*baddu_si_eb, [...]): Merge into...
gcc/
* config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
(*baddu_si): ...this new pattern.
From-SVN: r191997
Richard Sandiford [Tue, 2 Oct 2012 19:34:49 +0000 (19:34 +0000)]
ira-int.h (target_ira_int): Add x_ira_useful_class_mode_regs.
gcc/
* ira-int.h (target_ira_int): Add x_ira_useful_class_mode_regs.
(ira_useful_class_mode_regs): New macro.
* ira.c (clarify_prohibited_class_mode_regs): Set up
ira_useful_class_mode_regs.
* ira-color.c (setup_profitable_hard_regs): Use it to initialise
profitable_hard_regs.
From-SVN: r191996
Richard Sandiford [Tue, 2 Oct 2012 19:34:38 +0000 (19:34 +0000)]
ira.h (target_ira): Add x_ira_class_singleton.
gcc/
* ira.h (target_ira): Add x_ira_class_singleton.
(ira_class_singleton): New macro.
* ira.c (setup_prohibited_class_mode_regs): Set up ira_class_singleton.
* ira-build.c (update_conflict_hard_reg_costs): Use
ira_class_singleton to check for classes with a single
allocatable register.
* ira-lives.c (ira_implicitly_set_insn_hard_regs): Likewise.
(single_reg_class): Likewise. When more than one class is specified,
check whether they have the same singleton register.
(process_single_reg_class_operands): Require single_reg_class
to return NO_REGS or a class with a single allocatable register.
Obtain that register from ira_class_singleton.
From-SVN: r191995
Michael Meissner [Tue, 2 Oct 2012 18:08:02 +0000 (18:08 +0000)]
If no -mcpu=<xxx> or implicit cpu via --with-cpu=<xxx> configure option, inhereit all TARGET_DEFAULT bits.
From-SVN: r191993
Pat Haugen [Tue, 2 Oct 2012 17:50:52 +0000 (17:50 +0000)]
pr46728-1.c: Accept xssqrtdp.
* gcc.target/powerpc/pr46728-1.c: Accept xssqrtdp.
* gcc.target/powerpc/pr46728-2.c: Likewise.
From-SVN: r191992
Sharad Singhai [Tue, 2 Oct 2012 17:19:09 +0000 (17:19 +0000)]
re PR testsuite/54772 (vectorization broken in gfortran on x86_64-*-freebsd)
2012-10-02 Sharad Singhai <singhai@google.com>
PR testsuite/54772
* tree-vect-stmts.c (vectorizable_operation): Add missing return.
testsuite/ChangeLog
2012-10-02 Sharad Singhai <singhai@google.com>
PR testsuite/54772
* gfortran.dg/vect/vect.exp: Change verbose vectorizor dump options
to fix test failures caused by r191883.
* gcc.dg/tree-ssa/gen-vect-11.c: Likewise.
* gcc.dg/tree-ssa/gen-vect-2.c: Likewise.
* gcc.dg/tree-ssa/gen-vect-32.c: Likewise.
* gcc.dg/tree-ssa/gen-vect-25.c: Likewise.
* gcc.dg/tree-ssa/gen-vect-11a.c: Likewise.
* gcc.dg/tree-ssa/gen-vect-26.c: Likewise.
* gcc.dg/tree-ssa/gen-vect-11b.c: Likewise.
* gcc.dg/tree-ssa/gen-vect-11c.c: Likewise.
* gcc.dg/tree-ssa/gen-vect-28.c: Likewise.
From-SVN: r191991
David Edelsohn [Tue, 2 Oct 2012 14:53:28 +0000 (10:53 -0400)]
rs6000.c (rs6000_option_override_internal): Do not set TARGET_ALTIVEC_VRSAVE for TARGET_ELF.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Do not
set TARGET_ALTIVEC_VRSAVE for TARGET_ELF.
(rs6000_stack_info): Only set vrsave_mask if TARGET_ALTIVEC_VRSAVE.
From-SVN: r191986
Jakub Jelinek [Tue, 2 Oct 2012 13:43:09 +0000 (15:43 +0200)]
re PR tree-optimization/54713 (error: non-trivial conversion at assignment in gcc.c-torture/compile/pr53410-2.c)
PR tree-optimization/54713
* expr.c (categorize_ctor_elements_1): Don't assume purpose is
non-NULL.
* tree-cfg.c (verify_gimple_assign_single): Add verification of
vector CONSTRUCTORs.
* tree-ssa-sccvn.c (vn_reference_lookup_3): For VECTOR_TYPE
CONSTRUCTORs, don't do anything if element type is VECTOR_TYPE,
and don't check index.
* tree-vect-slp.c (vect_get_constant_vectors): VIEW_CONVERT_EXPR
ctor elements first if their type isn't compatible with vector
element type.
From-SVN: r191983
Uros Bizjak [Tue, 2 Oct 2012 13:28:40 +0000 (15:28 +0200)]
ChangeLog: Fix whitespace.
* gcc/ChangeLog: Fix whitespace.
* libbacktrace/ChangeLog: Ditto.
From-SVN: r191982
Uros Bizjak [Tue, 2 Oct 2012 13:14:25 +0000 (15:14 +0200)]
re PR other/54761 (FAIL log)
PR other/54761
* configure.ac (EXTRA_FLAGS): New.
* Makefile.am (AM_FLAGS): Add $(EXTRA_FLAGS).
* configure, Makefile.in: Regenerate.
From-SVN: r191981
Arnaud Charlet [Tue, 2 Oct 2012 13:05:08 +0000 (15:05 +0200)]
[multiple changes]
2012-10-02 Ben Brosgol <brosgol@adacore.com>
* gnat_rm.texi: Minor editing.
2012-10-02 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Function_Return): Reject a return
expression whose type is a local access to subprogram type.
2012-10-02 Robert Dewar <dewar@adacore.com>
* sem_eval.adb: Minor improvement to Compile_Time_Compare.
2012-10-02 Robert Dewar <dewar@adacore.com>
* checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
Fix base type problem that resulted in improper conversion.
(Minimize_Eliminate_Overflow_Checks): Properly handle top
level case to avoid unnecessary conversion to bignum or LLI.
(Minimize_Eliminate_Overflow_Checks): Implement uniform two phase
approach for arithmetic operators and for if/case expressions.
* checks.ads: Minor comment fix.
* exp_ch4.adb (Minimized_Eliminated_Overflow_Check): New function,
implements a uniform way of treating minimized/eliminated checks in
two phases.
(Expand_Compare_Minimize_Eliminate_Overflow): Fix cut and
paste error resulting in wrong results for less than in some
cases. (Expand_Membership_Minimize_Eliminate_Overflow):
Fix error caused by incorrect capture of operand types.
(Expand_Membership_Minimize_Eliminate_Overflow): Fix error in
handling of bignum case.
(Expand_N_Case_Expression): Implement
proper two phase handling (Expand_N_If_Expression): Implement
proper two phase handling (Expand_N_Op_Abs): Implement proper
two phase handling ditto for all other arithmetic operators
* sem_res.adb (Resolve_If_Expression): Avoid introducing
unneeded conversions.
From-SVN: r191980
Robert Dewar [Tue, 2 Oct 2012 12:59:17 +0000 (12:59 +0000)]
s-bignum.adb (Big_Exp): 0**0 should be 1, not 0.
2012-10-02 Robert Dewar <dewar@adacore.com>
* s-bignum.adb (Big_Exp): 0**0 should be 1, not 0.
(Big_Exp): Fix possible error for (-1)**0.
(Big_Exp): Fix error in computing 2**K for small K.
(Big_Mod): Fix wrong sign for negative operands.
(Div_Rem): Fix bad results for operands close to 2**63.
* s-bignum.ads: Add documentation and an assertion to require
LLI size to be 64 bits.
* sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Do not
allow ELIMINATED if LLI'Size is other than 64 bits.
* switch-c.adb (Scan_Switches): Do not allow -gnato3 if LLI'Size
is not 64 bits.
* switch.ads (Bad_Switch): Add missing pragma No_Return.
* gnat_ugn.texi: Added appendix on Overflow Check Handling in GNAT.
2012-10-02 Robert Dewar <dewar@adacore.com>
* sem_type.adb: Minor reformatting.
From-SVN: r191979
Arnaud Charlet [Tue, 2 Oct 2012 12:30:24 +0000 (14:30 +0200)]
Update dependencies.
From-SVN: r191978
Arnaud Charlet [Tue, 2 Oct 2012 12:29:37 +0000 (14:29 +0200)]
[multiple changes]
2012-10-02 Robert Dewar <dewar@adacore.com>
* sem_ch8.adb: Minor reformatting.
2012-10-02 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Set_CPP_Constructors): Handle constructor with default
parameters that covers the default constructor.
2012-10-02 Yannick Moy <moy@adacore.com>
* s-bignum.adb: Minor stylistic and comment corrections.
2012-10-02 Pascal Obry <obry@adacore.com>
* prj-util.adb (For_Interface_Sources): Iterate over all sources in
aggregate library projects.
From-SVN: r191977
Ed Schonberg [Tue, 2 Oct 2012 12:26:43 +0000 (12:26 +0000)]
sem_ch8.adb (Find_Direct_Name): The left-hand side of an assignment may designate a generalized reference.
2012-10-02 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Find_Direct_Name): The left-hand side of an
assignment may designate a generalized reference.
From-SVN: r191976
Arnaud Charlet [Tue, 2 Oct 2012 12:25:44 +0000 (14:25 +0200)]
[multiple changes]
2012-10-02 Eric Botcazou <ebotcazou@adacore.com>
* types.h (N_Return_Statement): Delete.
* gcc-interface/trans.c (gnat_to_gnu): Replace N_Return_Statement with
N_Simple_Return_Statement.
2012-10-02 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Freeze_Entity): in a generic context, aspects must
be analyzed because they may be queried subsequently within the
generic unit, even if no other freezing actions are generated
for an entity.
* sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): iterator
aspects must be analyzed because they are delayed aspects and
the corresponding attribute definition clause may not have been
analyzed yet.
2012-10-02 Yannick Moy <moy@adacore.com>
* gnat_rm.texi: Minor editing.
From-SVN: r191975
Robert Dewar [Tue, 2 Oct 2012 12:18:15 +0000 (12:18 +0000)]
sinfo.adb, [...]: Get rid of internal use of N_Return_Statement.
2012-10-02 Robert Dewar <dewar@adacore.com>
* sinfo.adb, sinfo.ads, sem_util.adb, sem_util.ads, types.h,
exp_ch4.adb, exp_ch6.adb: Get rid of internal use of N_Return_Statement.
From-SVN: r191974
Arnaud Charlet [Tue, 2 Oct 2012 12:16:17 +0000 (14:16 +0200)]
[multiple changes]
2012-10-02 Eric Botcazou <ebotcazou@adacore.com>
* types.h: Minor cosmetic fix.
2012-10-02 Robert Dewar <dewar@adacore.com>
* sinfo.ads: Remove refs of N_Conditional_Expression and
N_Parameterized_Expression.
2012-10-02 Thomas Quinot <quinot@adacore.com>
* exp_aggr.adb (Get_Component_Val): Rewrite code that computes
justification of bits in enclosing word in an attempt to make
it clearer.
From-SVN: r191973
Eric Botcazou [Tue, 2 Oct 2012 10:34:44 +0000 (10:34 +0000)]
decl.c (elaborate_expression_1): Use the variable for bounds of loop iteraration scheme only for locally defined...
* gcc-interfaces/decl.c (elaborate_expression_1): Use the variable for
bounds of loop iteraration scheme only for locally defined subtypes.
* gcc-interface/trans.c (gigi): Fix formatting.
(build_return_expr): Apply the NRV optimization only for BLKmode.
From-SVN: r191971
Eric Botcazou [Tue, 2 Oct 2012 10:00:32 +0000 (10:00 +0000)]
tree.h (DECL_NONLOCAL_FRAME): New macro.
* tree.h (DECL_NONLOCAL_FRAME): New macro.
* tree-nested.c (get_frame_type): Set DECL_NONLOCAL_FRAME.
* tree-streamer-in.c (unpack_ts_decl_common_value_fields): Stream in
DECL_NONLOCAL_FRAME flag.
* tree-streamer-out.c (pack_ts_decl_common_value_fields): Stream out
DECL_NONLOCAL_FRAME flag.
From-SVN: r191970
Marc Glisse [Tue, 2 Oct 2012 08:52:44 +0000 (10:52 +0200)]
tree-ssa-forwprop.c (forward_propagate_into_cond): Don't use boolean_type_node for vectors.
2012-10-02 Marc Glisse <marc.glisse@inria.fr>
* tree-ssa-forwprop.c (forward_propagate_into_cond): Don't use
boolean_type_node for vectors.
From-SVN: r191968