Jan Hubicka [Sat, 22 Nov 2014 21:08:07 +0000 (22:08 +0100)]
ipa.c (symbol_table::remove_unreachable_nodes): Mark all inline clones as having abstract origin used.
* ipa.c (symbol_table::remove_unreachable_nodes): Mark all inline clones
as having abstract origin used.
* ipa-inline-transform.c (can_remove_node_now_p_1): Drop abstract origin check.
(clone_inlined_nodes): Copy abstract originflag.
* lto-cgraph.c (compute_ltrans_boundary): Use get_create to get abstract origin node.
Uros Bizjak [Sat, 22 Nov 2014 19:02:12 +0000 (20:02 +0100)]
params.def (PARAM_MAX_COMPLETELY_PEELED_INSNS): Increase to 200.
* params.def (PARAM_MAX_COMPLETELY_PEELED_INSNS): Increase to 200.
* config/i386/i386.c (ix86_option_override_internal): Do not increase
PARAM_MAX_COMPLETELY_PEELED_INSNS.
Oleg Endo [Sat, 22 Nov 2014 15:50:10 +0000 (15:50 +0000)]
re PR target/63783 ([SH] Miscompilation of boolean negation on SH4 using -O2)
gcc/
PR target/63783
PR target/51244
* config/sh/sh_treg_combine.cc (sh_treg_combine::make_not_reg_insn):
Do not emit bitwise not insn. Emit logical not insn sequence instead.
Adjust related comments throughout the file.
Oleg Endo [Sat, 22 Nov 2014 15:06:34 +0000 (15:06 +0000)]
re PR target/63986 ([SH] gcc.target/sh/pr51244-15.c failures)
gcc/
PR target/63986
PR target/51244
* config/sh/sh.c (sh_is_logical_t_store_expr,
sh_try_omit_signzero_extend): Use rtx_insn* for insn argument.
(sh_split_movrt_negc_to_movt_xor): New function.
(sh_find_set_of_reg): Move to ...
* config/sh/sh-protos.h (sh_find_set_of_reg): ... here and convert
to template function.
(set_of_reg): Use rtx_insn* for insn member.
(sh_is_logical_t_store_expr, sh_try_omit_signzero_extend): Use
rtx_insn* for insn argument.
* config/sh/sh.md (movrt_negc, *movrt_negc): Split into movt-xor
sequence using new sh_split_movrt_negc_to_movt_xor function.
(movrt_xor): Allow also for SH2A.
(*movt_movrt): Delete insns and splits.
Eric Botcazou [Sat, 22 Nov 2014 12:23:47 +0000 (12:23 +0000)]
trans.c (Call_to_gnu): Strip unchecked conversions on actuals of In parameters if...
* gcc-interface/trans.c (Call_to_gnu): Strip unchecked conversions on
actuals of In parameters if the destination type is an unconstrained
composite type.
Jason Merrill [Sat, 22 Nov 2014 02:21:35 +0000 (21:21 -0500)]
re PR c++/63657 (-Wunused-variable: warning supressed by virtual dtor)
PR c++/63657
PR c++/38958
* call.c (set_up_extended_ref_temp): Set TREE_USED on the reference
if the temporary has a non-trivial destructor.
* decl.c (poplevel): Don't look through references.
Vladimir Makarov [Fri, 21 Nov 2014 21:29:54 +0000 (21:29 +0000)]
re PR target/63897 (gcc.dg/torture/vector-2.c fails at on x86_64-apple-darwin14)
2014-11-21 Vladimir Makarov <vmakarov@redhat.com>
PR target/63897
* lra-lives.c (mark_regno_live, mark_regno_dead): Remove last
argument.
(process_bb_lives): Rename dead_insn_p on remove_p
and global_live_info_p on dead_insn_p. Calculate local live info
unconditionally. Remove last argument in calls mark_regno_live and
mark_regno_dead. Reorganize body of EXECUTE_IF_SET_IN_BITMAP.
(lra_create_live_ranges): Rename to lra_create_live_ranges_1.
Return bool. Rename global_live_info_p on dead_insn_p. Return
flag of live info change.
(lra_create_live_ranges): New.
Jakub Jelinek [Fri, 21 Nov 2014 20:42:20 +0000 (21:42 +0100)]
re PR target/63848 (FAIL: c-c++-common/torture/builtin-arith-overflow-17.c -O0 execution test)
PR target/63848
PR target/63975
* internal-fn.c (expand_arith_overflow_result_store,
expand_addsub_overflow, expand_neg_overflow, expand_mul_overflow): Use
do_compare_rtx_and_jump instead of emit_cmp_and_jump_insns everywhere,
adjust arguments to those functions. Use unsignedp = true for
EQ, NE, GEU, LEU, LTU and GTU comparisons.
Jakub Jelinek [Fri, 21 Nov 2014 20:41:37 +0000 (21:41 +0100)]
re PR tree-optimization/64006 (__builtin_mul_overflow fails to signal overflow)
PR tree-optimization/64006
* tree-vrp.c (stmt_interesting_for_vrp): Return true
for {ADD,SUB,MUL}_OVERFLOW internal calls.
(vrp_visit_assignment_or_call): For {ADD,SUB,MUL}_OVERFLOW
internal calls, check if any REALPART_EXPR/IMAGPART_EXPR
immediate uses would change their value ranges and return
SSA_PROP_INTERESTING if so, or SSA_PROP_NOT_INTERESTING
if there are some REALPART_EXPR/IMAGPART_EXPR immediate uses
interesting for vrp.
Michael Meissner [Fri, 21 Nov 2014 18:03:09 +0000 (18:03 +0000)]
re PR target/63965 (ICE: in extract_constrain_insn, at recog.c:2230 on ppc64)
2014-11-21 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/63965
* config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Do not set
Altivec & -16 mask if the type is not valid for Altivec registers.
(rs6000_secondary_reload_memory): Add support for ((reg + const) +
reg) that occurs during push_reload processing.
* config/rs6000/altivec.md (altivec_mov<mode>): Add instruction
alternative for moving constant vectors which are easy altivec
constants to GPRs. Set the length attribute each of the
alternatives.
Jiong Wang [Fri, 21 Nov 2014 16:56:21 +0000 (16:56 +0000)]
[AArch64] Add vector pattern for __builtin_ctz
gcc/
* config/aarch64/iterators.md (VS): New mode iterator.
(vsi2qi): New mode attribute.
(VSI2QI): Likewise.
* config/aarch64/aarch64-simd-builtins.def: New entry for ctz.
* config/aarch64/aarch64-simd.md (ctz<mode>2): New pattern for ctz.
* config/aarch64/aarch64-builtins.c
(aarch64_builtin_vectorized_function): Support BUILT_IN_CTZ.
gcc/testsuite/
* gcc.target/aarch64/vect_ctz_1.c: New testcase.
Mark Wielaard [Fri, 21 Nov 2014 16:00:06 +0000 (16:00 +0000)]
PR debug/38757 gcc does not emit DW_LANG_C99.
For C and C++ add the language standard version in use to lang_hooks.name.
Change users of lang_hook.name to check with new functions lang_GNU_C or
lang_GNU_CXX. In dwarf2out.c output the DW_LANG_C version from the
lang_hooks.name and merge any LTO TRANSLATION_UNIT_LANGUAGE found. Adds
two testcases to dwarf2.exp to check the right DWARF DW_AT_language is set
on the compile_unit depending on the -std=c89 or -std=c99 setting.
PR debug/38757
* config/avr/avr-c.c (avr_cpu_cpp_builtins): Use lang_GNU_C.
* config/darwin.c (darwin_file_end): Use lang_GNU_CXX.
(darwin_override_options): Likewise.
* config/ia64/ia64.c (ia64_struct_retval_addr_is_first_parm_p):
Likewise.
* config/rs6000/rs6000.c (rs6000_output_function_epilogue):
Likewise.
* dbxout.c (get_lang_number): Likewise.
(dbxout_type): Likewise.
(dbxout_symbol_location): Likewise.
* dwarf2out.c (add_prototyped_attribute): Add DW_AT_prototype
also for DW_LANG_{C,C99,ObjC}.
(highest_c_language): New function.
(gen_compile_unit_die): Call highest_c_language to merge LTO
TRANSLATION_UNIT_LANGUAGE. Use strncmp language_string to
determine if DW_LANG_C99 or DW_LANG_C89 should be returned.
* fold-const.c (fold_cond_expr_with_comparison): Use lang_GNU_CXX.
* langhooks.h (struct lang_hooks): Add version comment to name.
(lang_GNU_C): New function declaration.
(lang_GNU_CXX): Likewise.
* langhooks.c (lang_GNU_C): New function.
(lang_GNU_CXX): Likewise.
* vmsdbgout.c (vmsdbgout_init): Use lang_GNU_C and lang_GNU_CXX.
gcc/testsuite/ChangeLog
PR debug/38757
* gcc.dg/debug/dwarf2/lang-c89.c: New test.
* gcc.dg/debug/dwarf2/lang-c99.c: Likewise.
Ulrich Weigand [Fri, 21 Nov 2014 15:33:27 +0000 (15:33 +0000)]
re PR rtl-optimization/63952 (bootstrap failure (ICE in prepare_cmp_insn) on s390x in libjava)
PR rtl-optimization/63952
* optabs.c (prepare_cmp_insn): Do not call can_compare_p for CCmode.
* config/s390/s390.md ("cbranchcc4"): Accept any s390_comparison.
Remove incorrect TARGET_HARD_FLOAT check and no-op expander code.
Alan Lawrence [Fri, 21 Nov 2014 14:44:31 +0000 (14:44 +0000)]
Revert: Workaround following [PATCH] Pul all constants last in tree_swap_operands_p
https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01509.html
2014-09-22 Alan Lawrence <alan.lawrence@arm.com>
gcc/:
* fold-const.c (tree_swap_operands_p): Strip only sign-preserving NOPs.
Andrew Bennett [Fri, 21 Nov 2014 14:34:55 +0000 (14:34 +0000)]
[MIPS] If using branch likelies in MIPS sync code fill the delay slot
with a nop.
gcc/
* config/mips/mips.c (mips_process_sync_loop): Place a
nop in the delay slot of the branch likely instruction.
(mips_output_sync_loop): Ensure mips_branch_likely is
set before calling mips_output_sync_loop.
(mips_sync_loop_insns): Likewise.
William Schmidt [Fri, 21 Nov 2014 14:10:27 +0000 (14:10 +0000)]
PR/target 63673
2014-11-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR/target 63673
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Allow
the base pointer of vec_vsx_ld and vec_vsx_st to take a pointer to
double.
James Greenhalgh [Fri, 21 Nov 2014 12:29:26 +0000 (12:29 +0000)]
[AArch64, Obvious] Fix formatting of SHLL and friends
gcc/
* config/aarch64/aarch64-simd.md
(aarch64_<ANY_EXTEND:su><ADDSUB:optab>l<mode>): Add a tab between
output mnemonic and operands.
(aarch64_simd_vec_unpack<su>_lo_<mode>): Likewise.
(aarch64_simd_vec_unpack<su>_hi_<mode>): Likewise.
re PR target/60451 (X86 vectorization improve: pack instead of pshufb)
gcc/testsuite
PR target/60451
* gcc.target/i386/pr60451.c: New.
gcc/
PR target/60451
* config/i386/i386.c (expand_vec_perm_even_odd_pack): New.
(expand_vec_perm_even_odd_1): Add new expand for V8HI mode,
replace for V16QI, V16HI and V32QI modes.
(ix86_expand_vec_perm_const_1): Add new expand.
Nick Clifton [Fri, 21 Nov 2014 10:32:06 +0000 (10:32 +0000)]
rl78-real.md (movqi_from_es): New pattern.
* config/rl78/rl78-real.md (movqi_from_es): New pattern.
* config/rl78/rl78.c (struct machine_function): Add uses_es field.
(rl78_expand_prologue): Save the ES register in interrupt handlers
that use it.
(rl78_expand_epilogue): Restore the ES register if necessary.
(rl78_start_function): Mention if the function uses the ES
register.
(rl78_lo16): Record the use of the ES register.
(transcode_memory_rtx): Likewise.
Jakub Jelinek [Fri, 21 Nov 2014 09:25:51 +0000 (10:25 +0100)]
re PR target/63764 (ICE: in verify_ssa, at tree-ssa.c:939)
PR target/63764
c-family/
* c-common.h (convert_vector_to_pointer_for_subscript): Change
return type to bool.
* c-common.c: Include gimple-expr.c.
(convert_vector_to_pointer_for_subscript): Change return type to
bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
and copy it into a TARGET_EXPR and use that instead of *vecp
directly.
c/
* c-typeck.c (build_array_ref): Adjust
convert_vector_to_pointer_for_subscript caller. If it returns true,
call non_lvalue_loc on the result.
cp/
* typeck.c (cp_build_array_ref): Adjust
convert_vector_to_pointer_for_subscript caller. If it returns true,
call non_lvalue_loc on the result.
testsuite/
* c-c++-common/pr63764-1.c: New test.
* c-c++-common/pr63764-2.c: New test.
Jakub Jelinek [Fri, 21 Nov 2014 09:23:26 +0000 (10:23 +0100)]
re PR target/63910 (ICE: simplify_immed_subreg, at simplify-rtx.c:5519 with -mstringop-strategy=vector_loop -mavx512f)
PR target/63910
* simplify-rtx.c (simplify_immed_subreg): Return NULL for integer
modes wider than MAX_BITSIZE_MODE_ANY_INT. If not using
CONST_WIDE_INT, make sure r fits into CONST_DOUBLE.
Jason Merrill [Fri, 21 Nov 2014 00:47:50 +0000 (19:47 -0500)]
re PR c++/63658 (Using class reference as template parameter causes compilation to fail)
PR c++/63658
* pt.c (convert_nontype_argument): Call convert_from_reference.
(check_instantiated_arg): Don't be confused by reference refs.
(unify): Look through reference refs on the arg, too.
* mangle.c (write_template_arg): Look through reference refs.
Patrick Palka [Thu, 20 Nov 2014 22:25:35 +0000 (22:25 +0000)]
Disable an unsafe VRP transformation when -fno-strict-overflow is set
gcc/
* tree-vrp.c (test_for_singularity): New parameter
strict_overflow_p. Set *strict_overflow_p to true if signed
overflow must be undefined for the return value to satisfy the
conditional.
(simplify_cond_using_ranges): Don't perform the simplification
if it violates overflow rules.
gcc/testsuite/
* gcc.dg/no-strict-overflow-8.c: New test.
Arnaud Charlet [Thu, 20 Nov 2014 15:59:01 +0000 (16:59 +0100)]
[multiple changes]
2014-11-20 Thomas Quinot <quinot@adacore.com>
* freeze.adb (Freeze_Entity): Do not reset Is_True_Constant
for aliased constant objects.
2014-11-20 Robert Dewar <dewar@adacore.com>
* exp_util.adb (Following_Address_Clause): Use new Name_Table
boolean flag set by parser to avoid the search if there is no
address clause anywhere for the name.
* namet.adb (Name_Enter): Initialize Boolean_Info flag
(Name_Find): ditto (Reinitialize): ditto (Get_Name_Table_Boolean):
New function (Set_Name_Table_Boolean): New procedure
* namet.ads: Add and document new Boolean field in name table
(Get_Name_Table_Boolean): New function.
(Set_Name_Table_Boolean): New procedure.
* par-ch13.adb (P_Representation_Clause): Set Name_Table boolean
flag for an identifier name if we detect an address clause or
use-at clause for the identifier.
* sem_ch3.adb (Analyze_Object_Declaration): Remove comment about
Following_Address_Clause since this function is now optimized
and is not a performance concern.
* sem_prag.adb (Analyze_Pragma, case Elaborate): In SPARK
mode, pragma Elaborate is now allowed, but does not suppress
elaboration checking.
Arnaud Charlet [Thu, 20 Nov 2014 15:54:31 +0000 (16:54 +0100)]
[multiple changes]
2014-11-20 Thomas Quinot <quinot@adacore.com>
* sem_ch13.adb, freeze.adb: Minor reformatting.
* gnat_rm.texi: Minor editing.
2014-11-20 Robert Dewar <dewar@adacore.com>
* sem_prag.adb (Analyze_Pragma): Minor reformatting.
(Process_Suppress_Unsuppress): Ignore suppress Elaboration_Check
in SPARK.
2014-11-20 Bob Duff <duff@adacore.com>
* gnat_rm.texi: Correction to documentation of
'Unrestricted_Access in case of access to unconstrained array.
* a-cofove.adb (Capacity): Fix bug -- was always
returning Capacity_Range'Last.
(Is_Sorted): Fix bug -- was always returning True, because
Container.Last = Last. That test isn't even needed, because the
loop will go around zero times in that case, so deleted that
test rather than fixing it.
(Reverse_Elements): Make sure to use the correct array bounds.
2014-11-20 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Analyze_Associations): In GNATProve mode, build
wrappers for functions and operators that are actuals only if
expander is enabled. Wrappers play no role within a generic unit.
Arnaud Charlet [Thu, 20 Nov 2014 15:50:29 +0000 (16:50 +0100)]
[multiple changes]
2014-11-20 Arnaud Charlet <charlet@adacore.com>
* s-parame-ae653.ads: Update comments.
2014-11-20 Robert Dewar <dewar@adacore.com>
* types.ads, einfo.ads: Minor reformatting.
* sem_elab.adb (Check_A_Call): Add guard for reference to Alias
for variable case.
2014-11-20 Bob Duff <duff@adacore.com>
* a-cofove.adb (Elems,Elemsc): Use access-to-constrained arrays
instead of access-to-unconstrained, because the latter doesn't
work with 'Unrestricted_Access when the result is returned from
a function.
* a-cofove.ads (Vector): Move the discriminant-dependent array
after the other components for efficiency. Otherwise the compiler
will generate a lot of code to calculate the offset of the other
components every time they're accessed.
2014-11-20 Olivier Hainque <hainque@adacore.com>
* opt.ads: Fix comment on Generate_SCO_Instance_Table wrt when
it is set to true.
Arnaud Charlet [Thu, 20 Nov 2014 15:47:33 +0000 (16:47 +0100)]
[multiple changes]
2014-11-20 Ed Schonberg <schonberg@adacore.com>
* exp_ch3.adb (Expand_N_Object_Declaration): Handle properly
a type invariant check on an object with default initialization
and an address clause.
2014-11-20 Robert Dewar <dewar@adacore.com>
* sem_elab.adb (Check_A_Call): Handle variable ref case in
SPARK (Check_Elab_Call): ditto (Find_Elab_Reference): ditto
(Get_Referenced_Ent): ditto.
* sem_elab.ads: Comment fixes to account for the fact that we
now deal with variable references in SPARK mode.
* sem_res.adb (Resolve_Entity_Name): In SPARK_Mode Call
Check_Elab_Call for variable.
2014-11-20 Yannick Moy <moy@adacore.com>
* a-cofove.ads (Copy): Fix precondition, which should allow
Capacity = 0.
(First_To_Previous, Current_To_Last): Add necessary preconditions.
* exp_ch3.adb (Build_Initialization_Call): Reimplement the
circuitry which extraacts the [underlying] full view of a
private type to handle a case where the private type acts as a
generic actual.
* exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Inherit the
loop label form the original loop regardless of whether it came
from source.
* sem_attr.adb (Analyze_Attribute): When taking 'Access of an
expression function with a generated body that has not been
analyzed yet, analyze the body to freeze the expression.
* sem_util.adb (Set_Public_Status_Of): New routine.
(Transfer_Entities): Handle the case where a private type with
an internally generated full view is being transfered and update
its full view.
2014-11-20 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Check_Object): If a unit is in a multi-source
file, its object file is never the same as any other unit.
2014-11-20 Bob Duff <duff@adacore.com>
* s-taskin.adb (Initialize_ATCB): Take into
account the fact that the domain of the activator can be null
if we're initializing a foreign task.
Arnaud Charlet [Thu, 20 Nov 2014 15:17:47 +0000 (16:17 +0100)]
[multiple changes]
2014-11-20 Robert Dewar <dewar@adacore.com>
* s-tassta.adb, exp_aggr.adb, s-taskin.adb, exp_strm.adb: Minor
reformatting.
* comperr.adb (Compiler_Abort): New wording for bug box.
* par-ch13.adb: Minor reformatting.
* par-ch3.adb (P_Identifier_Declarations): Handle aspect
specifications given before initialization expression in object
declaration cleanly.
* gnat1drv.adb (Adjust_Global_Switches): Make sure static
elaboration mode is set if we are operating in SPARK mode.
* sem_ch12.adb (Analyze_Package_Instantiation): Make
sure static elab mode is set if we are in SPARK mode.
(Analyze_Subprogram_Instantiation): ditto.
(Set_Instance_Env): ditto.
* sem_elab.adb (Check_A_Call): In SPARK mode, we require
Elaborate_All in the case of a call during elaboration to a
subprogram in another unit.
2014-11-20 Ed Schonberg <schonberg@adacore.com>
* inline.adb (Can_Split_Unconstrained_Function,
Build_Procedure): Copy parameter type rather than creating
reference to the entity, to capture class-wide reference, whose
name is not retrieved by visibility.
Arnaud Charlet [Thu, 20 Nov 2014 15:13:59 +0000 (16:13 +0100)]
[multiple changes]
2014-11-20 Arnaud Charlet <charlet@adacore.com>
* s-taspri-solaris.ads: Replace 64 by long_long_integer'size.
2014-11-20 Olivier Hainque <hainque@adacore.com>
* init.c (__gnat_map_signal for VxWorks): Use a common mapping
scheme for VxWorks version >= 6, instead of falling back to the
vx5 scheme for versions > 6.
2014-11-20 Ed Schonberg <schonberg@adacore.com>
* exp_strm.adb (Build_Mutable_Record_Read_Procedure): Use
base type when constructing subtype indication for constrained
target object.
2014-11-20 Jose Ruiz <ruiz@adacore.com>
* projects.texi: Minor spelling fix.
2014-11-20 Bob Duff <duff@adacore.com>
* gnat_ugn.texi: Add doc for --split-line-before-op switch in gnatpp.
2014-11-20 Vincent Celier <celier@adacore.com>
* prj-attr.adb (Register_New_Package): Allow the registration
of an already unknown package and make it known.
* doc/gty.texi: Document the new cache gty attribute.
* gengtype.c (finish_cache_funcs): New function.
(write_roots): Call gt_clear_cache on global variables with the cache
gty attribute.
* ggc-common.c (ggc_mark_roots): Call gt_clear_caches.
* ggc.h (gt_clear_caches): New declaration.
* hash-table.h (struct ggc_cache_hasher): New hasher for caches in gc
memory.
(gt_cleare_cache): New function.
* emit-rtl.c, rtl.h, tree.c: Use hash_table instead of htab.
Arnaud Charlet [Thu, 20 Nov 2014 14:47:19 +0000 (15:47 +0100)]
[multiple changes]
2014-11-20 Robert Dewar <dewar@adacore.com>
* sem_prag.adb (Analyze_Pragma, case Elaborate): Forbid pragma
Elaborate in SPARK mode.
2014-11-20 Bob Duff <duff@adacore.com>
* s-taskin.adb, s-tassta.adb (Initialize_ATCB): If Domain
is null, then initialize T.Common.Domain to that of the
activating task (not the parent task!), as required by RM-D.16.1.
T.Common.Domain should never be null; so Assert. Remove similar
code from Create_Task in s-tassta.adb.
* s-mudido-affinity.adb: Remove checks for Domain = null,
because it can't be null.
* s-taskin.ads, s-taspri-dummy.ads, s-taspri-mingw.ads,
s-taspri-posix.ads, s-taspri-posix-noaltstack.ads,
s-taspri-solaris.ads, s-taspri-vxworks.ads: Mark limited types as
explicitly limited for clarity.
Arnaud Charlet [Thu, 20 Nov 2014 14:37:41 +0000 (15:37 +0100)]
[multiple changes]
2014-11-20 Thomas Quinot <quinot@adacore.com>
* g-socket.adb (To_Host_Entry): Guard against case of a
non-AF_INET entry.
2014-11-20 Vadim Godunko <godunko@adacore.com>
* a-strunb-shared.adb (To_Unbounded_String): Use shared empty
object to construct return value when source string is empty or
requested length is zero.
* a-stwiun-shared.adb (To_Unbounded_Wide_String): Likewise.
* a-stzunb-shared.adb (To_Unbounded_Wide_Wide_String): Likewise.
2014-11-20 Yannick Moy <moy@adacore.com>
* a-cfhase.adb, a-cfinve.adb, a-cforma.adb, a-cfhama.adb, a-cforse.adb,
a-cofove.adb: Skip CodePeer analysis on body of all formal containers.
2014-11-20 Arnaud Charlet <charlet@adacore.com>
* adaint.c: Fix typo.
* exp_util.adb (Make_Subtype_From_Expr): Complete previous change,
generate constant values.
* sem_eval.adb (Decompose_Expr): Fix latent bug leading to a wrong
evaluation to '0' of some unknown values.
2014-11-20 Robert Dewar <dewar@adacore.com>
* repinfo.adb (List_Record_Info): Do not list discriminant in
unchecked union.
* sem_ch13.adb (Has_Good_Profile): Minor reformatting
(Analyze_Stream_TSS_Definition): Minor reformatting
(Analyze_Record_Representation_Clause): Do not issue warning
for missing rep clause for discriminant in unchecked union.
Arnaud Charlet [Thu, 20 Nov 2014 14:31:35 +0000 (15:31 +0100)]
[multiple changes]
2014-11-20 Ed Schonberg <schonberg@adacore.com>
* exp_ch6.adb (Expand_Call, Inlined_Subprogram): Do not suppress
debugging information for a call to a predefined unit, if the
call comes from source and the unit is in the Ada hierarchy.
2014-11-20 Bob Duff <duff@adacore.com>
* s-mudido.ads: Update signature of Create and Get_Last_CPU. Add
CPU_Set, another Create, and Get_CPU_Set.
* s-mudido.adb: Corresponding changes to the spec. New
operations just raise an exception. Also minor cleanup: use
raise_expressions.
* s-mudido-affinity.adb: Implementations of new operations from
* s-mudido.ads, for the platforms that actually support processor
affinity. The new Create (which takes a set) now does all the
work; the old Create (which takes a range) now just calls the
new one. Change error messages to reflect the fact that it's an
arbitrary set, not just a range.
* exp_util.adb (Make_Subtype_From_Expr): Capture the bounds of
all index constracts when the expression is of an array type.
2014-11-20 Bob Duff <duff@adacore.com>
* s-taskin.ads: Minor comment improvements.
2014-11-20 Bob Duff <duff@adacore.com>
* exp_ch9.adb: Minor comment fixes.
* s-taskin.adb (Initialize): Small simplification: pass System_Domain
to Initialize_ATCB instead of passing null and then setting the Domain
to System_Domain. This requires moving the creation of System_Domain
earlier.
* s-taprop-linux.adb (Set_Task_Affinity): Only call CPU_SET for
processors that have a True in the Domain. This is necessary if the
Domain is not all-True values.
2014-11-20 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Has_Good_Profile): a) An stream attribute
for the class-wide type of an interface type is not a primitive
operation and is not subject to the restrictions of 13.13. (38/3).
b) A stream operation for an interface type must be a null
procedure, and it cannot be a function.