Richard Biener [Thu, 3 Jan 2013 14:25:32 +0000 (14:25 +0000)]
tree-vect-loop.c (vect_analyze_loop_form): Clarify reason for not vectorizing.
2013-01-03 Richard Biener <rguenther@suse.de>
* tree-vect-loop.c (vect_analyze_loop_form): Clarify reason
for not vectorizing.
* tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
not build INDIRECT_REFs, call get_name once only.
(vect_create_data_ref_ptr): Likewise. Dump base object kind
based on DR_BASE_OBJECT, not DR_BASE_ADDRESS.
* aspects.adb, aspects.ads: Add Aspect_Abstract_State to all the
relevant tables.
* einfo.ads, einfo.adb: Add Integrity_Level and Refined_State to
the description of fields (Abstract_States): New routine.
(Integrity_Level): New routine.
(Has_Property): New routine.
(Is_Input_State): New routine.
(Is_Null_State): New routine.
(Is_Output_State): New routine.
(Is_Volatile_State): New routine.
(Refined_State): New routine.
(Set_Abstract_States): New routine.
(Set_Integrity_Level): New routine.
(Set_Refined_State): New routine.
(Write_Field8_Name): Add proper output for E_Abstract_State.
(Write_Field9_Name): Add proper output for E_Abstract_State.
(Write_Field25_Name): Add proper output for E_Package.
* lib-xref.ads: Add new letter for an abstract state.
* par-prag.adb: Add pragma Abstract_State to the list of pragma
that do not need special processing by the parser.
* sem_ch13.adb (Analyze_Aspect_Specifications): Convert
aspect Abstract_State into a pragma without any form
of legality checks. The work is done by Analyze_Pragma.
(Check_Aspect_At_Freeze_Point): Aspect Abstract_State does not
require delayed analysis.
* sem_prag.adb: Add a value for pragma Abstract_State in table
Sig_Flags.
(Analyze_Pragma): Add legality checks for pragma
Abstract_State. Analysis of individual states introduces a state
abstraction entity into the visibility chain.
* snames.ads-tmpl: Add new names for abstract state and
integrity. Add new pragma id for abstract state.
2013-01-03 Bob Duff <duff@adacore.com>
* table.adb (Reallocate): Calculate new Length in
Long_Integer to avoid overflow.
2013-01-03 Thomas Quinot <quinot@adacore.com>
* sem_ch3.adb, sinfo.ads, freeze.adb, sem_ch4.adb, exp_aggr.adb
(Sem_Ch3.Analyze_Object_Declaration): Set Ekind early so that
it is set properly when expanding the initialization expression.
(Freeze.Check_Address_Clause): Transfer initialization expression
to an assignment in the freeze actions, so that the object is
initialized only after being elaborated by GIGI.
(Sinfo (comments), Sem_Ch4.Analyze_Expression_With_Actions): Allow
a Null_Statement as the expression in an Expression_With_Actions.
(Exp_Aggr.Collect_Initialization_Statements): New subprogram
shared by expansion of record and array aggregates, used to
capture statements for an aggregate used to initalize an object
into an Expression_With_Actions (which acts as a container for
a list of actions).
(Exp_Aggr.Convert_Aggr_In_Obj_Decl): Use the above to
capture initialization statements, instead of the previously
existing loop which left freeze nodes out of the capturing
construct (causing out of order elaboration crashes in GIGI).
(Exp_Aggr.Expand_Array_Aggregate): Use the above to capture
initialization statements (this was previously not done for
arrays). Also do not unconditionally prevent in place expansion
for an object with address clause.
Arnaud Charlet [Thu, 3 Jan 2013 11:12:15 +0000 (12:12 +0100)]
[multiple changes]
2013-01-03 Thomas Quinot <quinot@adacore.com>
* gnat_rm.texi, freeze.adb (Check_Component_Storage_Order): Check that
a record extension has the same scalar storage order as the parent type.
2013-01-03 Thomas Quinot <quinot@adacore.com>
* exp_ch4.adb: Add comment.
2013-01-03 Vincent Celier <celier@adacore.com>
* prj.adb: Minor spelling error correction in comment.
2013-01-03 Vincent Celier <celier@adacore.com>
* gnatcmd.adb (GNATCmd): If a single main has been specified
as an absolute path, use its simple file name to find specific
switches, instead of the absolute path.
2013-01-03 Javier Miranda <miranda@adacore.com>
* sem_warn.adb (Warn_On_Overlapping_Actuals): For overlapping
parameters that are record types or array types generate warnings
only compiling under -gnatw.i
* opt.ads (Extensions_Allowed): Restore previous documentation.
2013-01-03 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Do_Autoconf): If Target is specified in the
main project, but not on the command line, use the Target in
the project to invoke gprconfig in auto-configuration.
* makeutl.ads (Default_Config_Name): New constant String.
2013-01-03 Arnaud Charlet <charlet@adacore.com>
* usage.adb: Minor: fix typo in usage.
2013-01-03 Thomas Quinot <quinot@adacore.com>
* sem_ch13.adb (Analyze_Record_Representation_Clause): Reject
an illegal component clause for an inherited component in a
record extension.
Arnaud Charlet [Thu, 3 Jan 2013 11:05:20 +0000 (12:05 +0100)]
[multiple changes]
2013-01-03 Emmanuel Briot <briot@adacore.com>
* xref_lib.adb (Parse_Identifier_Info): Fix handling of arrays, which
have information in the ALI file for both the index and the component
types.
2013-01-03 Emmanuel Briot <briot@adacore.com>
* projects.texi: Fix error in documenting the project path
computed for an aggregate project.
2013-01-03 Javier Miranda <miranda@adacore.com>
* sem_warn.adb (Warn_On_Overlapping_Actuals): Adding documentation
plus restricting the functionality of this routine to cover the
cases described in the Ada 2012 reference manual. The previous
extended support is now available under -gnatX.
* s-tassta.adb (Finalize_Global_Tasks): Addition of a dummy
variable to call Timed_Sleep. Required to avoid warning on
overlapping out-mode actuals.
* opt.ads (Extensions_Allowed): Update documentation.
2013-01-03 Tristan Gingold <gingold@adacore.com>
* s-arit64.ads: Use Multiply_With_Ovflo_Check as __gnat_mulv64.
* arit64.c: Removed
* gcc-interface/Makefile.in: Remove reference to arit64.c.
2013-01-03 Thomas Quinot <quinot@adacore.com>
* checks.adb, checks.ads (Apply_Address_Clause_Check): The check must
be generated at the start of the freeze actions for the entity, not
before (or after) the freeze node.
2013-01-03 Thomas Quinot <quinot@adacore.com>
* exp_aggr.adb (Exp_Aggr.Convert_Aggregate_In_Obj_Decl):
Reorganize code to capture initialization statements in a block,
so that freeze nodes are excluded from the captured block.
Arnaud Charlet [Thu, 3 Jan 2013 10:58:47 +0000 (11:58 +0100)]
[multiple changes]
2013-01-03 Thomas Quinot <quinot@adacore.com>
* exp_ch11.adb: Minor reformatting.
2013-01-03 Thomas Quinot <quinot@adacore.com>
* exp_util.adb, einfo.adb, einfo.ads, freeze.adb, exp_aggr.adb,
sem_ch13.adb (Einfo.Initialization_Statements,
Einfo.Set_Initialization_Statements): New entity attribute
for objects.
(Exp_Util.Find_Init_Call): Handle case of an object initialized
by an aggregate converted to a block of assignment statements.
(Freeze.Check_Address_Clause): Do not clear Has_Delayed_Freeze
even for objects that require a constant address, because the
address expression might involve entities that have yet to be
elaborated at the point of the object declaration.
(Exp_Aggr.Convert_Aggregate_In_Obj_Decl): For a type that does
not require a transient scope, capture the assignment statements
in a block so that they can be moved down after elaboration of
an address clause if needed.
(Sem_Ch13.Check_Constant_Address_Clause.Check_Expr_Constants,
case N_Unchecked_Conversion): Do not replace operand subtype with
its base type as this violates a GIGI invariant if the operand
is an identifier (in which case the etype of the identifier
is expected to be equal to that of the denoted entity).
2013-01-03 Javier Miranda <miranda@adacore.com>
* sem_util.ads, sem_util.adb (Denotes_Same_Object): Extend the
functionality of this routine to cover cases described in the Ada 2012
reference manual.
2013-01-03 Ed Schonberg <schonberg@adacore.com>
* sem_elab.adb (Set_Elaboration_Constraint): Handle properly
a 'Access attribute reference when the subprogram is called
Initialize.
2013-01-03 Arnaud Charlet <charlet@adacore.com>
* s-tpobop.adb (PO_Do_Or_Queue): Refine assertion, since a
select statement may be called from a controlled (e.g. Initialize)
operation and have abort always deferred.
Arnaud Charlet [Thu, 3 Jan 2013 10:55:53 +0000 (11:55 +0100)]
[multiple changes]
2013-01-03 Robert Dewar <dewar@adacore.com>
* sem_ch8.adb, einfo.ads, einfo.adb: Minor code reorganization.
2013-01-03 Javier Miranda <miranda@adacore.com>
* exp_ch3.adb (Make_Controlling_Function_Wrappers): Exclude
internal entities associated with interfaces and add minimum
decoration to the defining entity of the generated wrapper to
allow overriding interface primitives.
* sem_disp.ads (Override_Dispatching_Operation): Addition of a
new formal (Is_Wrapper).
* sem_disp.adb (Override_Dispatching_Operation): When overriding
interface primitives the new formal helps identifying that the
new operation is not fully decorated.
Arnaud Charlet [Thu, 3 Jan 2013 10:52:31 +0000 (11:52 +0100)]
[multiple changes]
2013-01-03 Thomas Quinot <quinot@adacore.com>
* sem_ch7.adb, sem_ch10.adb, einfo.adb, einfo.ads, sem_ch12.adb,
rtsfind.adb, sem_elab.adb, sem_ch4.adb, sem_ch8.adb
(Einfo.Is_Visible_Child_Unit, Einfo.Set_Is_Visible_Child_Unit):
Rename to Is_Visible_Lib_Unit, Set_Is_Visible_Lib_Unit, and
update spec accordingly (now also applies to root library units).
(Sem_Ch10.Analyze_Subunit.Analyze_Subunit_Context): Toggle above flag
on root library units, not only child units.
(Sem_Ch10.Install[_Limited]_Withed_Unit): Same.
(Sem_Ch10.Remove_Unit_From_Visibility): Reset Is_Visible_Lib_Unit
even for root library units.
(Sem_Ch8.Find_Expanded_Name): A selected component form whose prefix is
Standard is an expanded name for a root library unit.
2013-01-03 Thomas Quinot <quinot@adacore.com>
* exp_ch3.adb: Minor reformatting.
2013-01-03 Olivier Hainque <hainque@adacore.com>
* tracebak.c: Reinstate changes to support ppc-lynx178.
2013-01-03 Ed Schonberg <schonberg@adacore.com>
* atree.ads: Minor reformatting and documentation enhancement.
Ed Schonberg [Thu, 3 Jan 2013 10:24:28 +0000 (10:24 +0000)]
exp_ch3.adb (Expand_N_Object_Declaration): If the object has a class-wide type and a renaming declaration is created for it...
2013-01-03 Ed Schonberg <schonberg@adacore.com>
* exp_ch3.adb (Expand_N_Object_Declaration): If the object has
a class-wide type and a renaming declaration is created for it,
preserve entity chain, which already contains generated internal
types. This ensures that freezing actions are properly generated
for all objects declared subsequently in the same scope, and
that debugging information is generated for them.
* sem_util.adb, sem_util.ads (we): New debugging routine, to
display entity chain of a given scope.
Jakub Jelinek [Thu, 3 Jan 2013 09:02:41 +0000 (10:02 +0100)]
re PR middle-end/55832 (ICE in fold_convert_loc, at fold-const.c:1967)
PR tree-optimization/55832
* fold-const.c (fold_binary_loc): For ABS_EXPR<x> >= 0 and
ABS_EXPR<x> < 0 folding use constant_boolean_node instead of
integer_{one,zero}_node.
* gcc.c-torture/compile/pr55832.c: New test.
Co-Authored-By: Marc Glisse <marc.glisse@inria.fr>
From-SVN: r194836
Jakub Jelinek [Thu, 3 Jan 2013 08:52:10 +0000 (09:52 +0100)]
re PR debug/54402 (var-tracking does not scale)
PR debug/54402
* params.def (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE): New param.
* var-tracking.c (reverse_op): Don't add reverse ops to
VALUEs that have already
PARAM_VALUE (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE) or longer
locs list.
Teresa Johnson [Thu, 3 Jan 2013 00:56:35 +0000 (00:56 +0000)]
dumpfile.c (dump_loc): Print filename with location.
2013-01-02 Teresa Johnson <tejohnson@google.com>
* dumpfile.c (dump_loc): Print filename with location.
* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Use
new location_t parameter to emit complete unroll message with
new dump framework.
(canonicalize_loop_induction_variables): Compute loops location
and pass to try_unroll_loop_completely.
* loop-unroll.c (report_unroll_peel): New function.
(peel_loops_completely): Use new dump format with location
for main dumpfile message, and invoke report_unroll_peel on success.
(decide_unrolling_and_peeling): Ditto.
(decide_peel_once_rolling): Remove old dumpfile message subsumed
by report_unroll_peel.
(decide_peel_completely): Ditto.
(decide_unroll_constant_iterations): Ditto.
(decide_unroll_runtime_iterations): Ditto.
(decide_peel_simple): Ditto.
(decide_unroll_stupid): Ditto.
* cfgloop.c (get_loop_location): New function.
* cfgloop.h (get_loop_location): Declare.
Sriraman Tallam [Wed, 2 Jan 2013 20:23:38 +0000 (20:23 +0000)]
Fix bugs in Function Multiversioning.
2013-01-02 Sriraman Tallam <tmsriram@google.com>
* config/i386/i386.c (ix86_get_function_versions_dispatcher): Fix bug
in loop predicate.
(fold_builtin_cpu): Do not share cpu model decls across statements.
Jerry DeLisle [Wed, 2 Jan 2013 17:09:09 +0000 (17:09 +0000)]
re PR fortran/55818 (Reading a REAL from a file which doesn't end in a new line fails)
2013-01-02 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/55818
* io/list_read.c (read_real): Do not call hit_eof when EOF can be
treated as a value separator.
(parse_real): Likewise.
(read_logical): Likewise.
(read_character): Likewise.
(read_complex): Likewise.
Thomas Quinot [Wed, 2 Jan 2013 11:55:20 +0000 (11:55 +0000)]
exp_intr.adb (Expand_Dispatching_Constructor_Call): Remove side effects from Tag_Arg early...
2013-01-02 Thomas Quinot <quinot@adacore.com>
* exp_intr.adb (Expand_Dispatching_Constructor_Call): Remove
side effects from Tag_Arg early, doing it too late may cause a
crash due to inconsistent Parent link.
* sem_ch8.adb, einfo.ads: Minor reformatting.
Arnaud Charlet [Wed, 2 Jan 2013 11:53:18 +0000 (12:53 +0100)]
[multiple changes]
2013-01-02 Robert Dewar <dewar@adacore.com>
* einfo.ads, einfo.adb (Has_Independent_Components): New flag.
* freeze.adb (Size_Known): We do not know the size of a packed
record if it has atomic components, by reference type components,
or independent components.
* sem_prag.adb (Analyze_Pragma, case Independent_Components): Set new
flag Has_Independent_Components.
2013-01-02 Yannick Moy <moy@adacore.com>
* opt.ads (Warn_On_Suspicious_Contract): Set to True by default.
* usage.adb (Usage): Update usage message.
2013-01-02 Pascal Obry <obry@adacore.com>
* adaint.c (__gnat_is_module_name_supported): New constant.
2013-01-02 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Check_Array_Type): Reject an attribute reference on an
array whose component type does not have a completion.
gcc/
* builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2)
(expand_builtin_mathfn_ternary, expand_builtin_mathfn_3)
(expand_builtin_int_roundingfn_2): Keep the original target around
for the fallback case.
Arnaud Charlet [Wed, 2 Jan 2013 11:06:15 +0000 (12:06 +0100)]
[multiple changes]
2013-01-02 Robert Dewar <dewar@adacore.com>
* gnat1drv.adb, targparm.adb, targparm.ads: Minor name change: add
On_Target to Atomic_Sync_Default.
2013-01-02 Robert Dewar <dewar@adacore.com>
* sem_warn.adb (Warn_On_Known_Condition): Suppress warning for
comparison of attribute result with constant
* a-ststio.adb, s-direio.adb, s-rannum.adb: Remove unnecessary pragma
Warnings (Off, "..");
2013-01-02 Yannick Moy <moy@adacore.com>
* sem_prag.ads: Minor correction of comment.
2013-01-02 Thomas Quinot <quinot@adacore.com>
* par_sco.adb (Traverse_Package_Declaration): The first
declaration in a nested package is dominated by the preceding
declaration in the enclosing scope.
2013-01-02 Pascal Obry <obry@adacore.com>
* adaint.c, adaint.h (__gnat_get_module_name): Return the actual
module containing a given address.
Arnaud Charlet [Wed, 2 Jan 2013 10:59:38 +0000 (11:59 +0100)]
[multiple changes]
2013-01-02 Thomas Quinot <quinot@adacore.com>
* sem_ch3.adb: Minor reformatting.
2013-01-02 Pascal Obry <obry@adacore.com>
* cstreams.c (__gnat_ftell64): New routine. Use _ftelli64 on
Win64 and default to ftell on other platforms.
(__gnat_fsek64): Likewise.
* i-cstrea.ads: Add fssek64 and ftell64 specs.
* s-crtl.ads: Likewise.
* a-ststio.adb, s-direio.adb (Size): Use 64 bits version when required.
(Set_Position): Likewise.
Arnaud Charlet [Wed, 2 Jan 2013 10:47:02 +0000 (11:47 +0100)]
[multiple changes]
2013-01-02 Thomas Quinot <quinot@adacore.com>
* par_sco.adb (Traverse_Declarations_Or_Statement): Function
form, returning value of Current_Dominant upon exit, for chaining
purposes.
(Traverse_Declarations_Or_Statement.Traverse_One, case
N_Block_Statement): First statement is dominated by last declaration.
(Traverse_Subprogram_Or_Task_Body): Ditto.
(Traverse_Package_Declaration): First private
declaration is dominated by last visible declaration.
(Traverse_Sync_Definition): Ditto.
2013-01-02 Thomas Quinot <quinot@adacore.com>
* gnat_rm.texi: Restrict the requirement for Scalar_Storage_Order
matching Bit_Order to record types only, since array types do not
have a Bit_Order.
2013-01-02 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Remove documentation of -gnateO, which is an
internal switch.
* usage.adb: Indicate that -gnateO is an internal switch.
* sem_attr.adb (Analyze_Attribute): Skip the special _Parent
scope generated for subprogram inlining purposes while trying
to locate the enclosing function.
* sem_prag.adb (Analyze_Pragma): Preanalyze the boolean
expression of pragma Postcondition when the pragma comes from
source and appears inside a subprogram body.
2013-01-02 Thomas Quinot <quinot@adacore.com>
* switch-c.adb, fe.h, back_end.adb: Enable generation of instantiation
information in debug info unconditionally when using -fdump-scos,
instead of relying on a separate command line switch -fdebug-instances.
2013-01-02 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb: Additional refinement of predicate.
2013-01-02 Vincent Celier <celier@adacore.com>
* vms_data.ads: Remove incorrect spaces at end of descriptions
of qualifiers for single switch.
2013-01-02 Ben Brosgol <brosgol@adacore.com>
* gnat_rm.texi: Minor edits / wordsmithing in section on pragma
Check_Float_Overflow.
2013-01-02 Thomas Quinot <quinot@adacore.com>
* sprint.adb (Sprint_Node_Actual): Do not add extra parens for
a conditional expression (CASE or IF expression) that already
has parens. Also omit ELSE keyword for an IF expression without
an ELSE part.
2013-01-02 Thomas Quinot <quinot@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Adjust back-end
flag_debug_instances here, after front-end switches have been
processed.
Robert Dewar [Wed, 2 Jan 2013 09:48:32 +0000 (09:48 +0000)]
errout.adb (Set_Msg_Insertion_Warning): Correct typo causing tests to fail if insertion sequence is at end of message...
2013-01-02 Robert Dewar <dewar@adacore.com>
* errout.adb (Set_Msg_Insertion_Warning): Correct typo causing
tests to fail if insertion sequence is at end of message string.
* opt.ads: Minor comment fixes and additions.
* sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_ch10.adb, sem_ch11.adb,
sem_ch12.adb, sem_ch13.adb: Add tags to warning messages.
* sem_ch6.ads, sem_ch6.adb (Cannot_Inline): Deal with warning message
tags. Add tags to warning messages.
Arnaud Charlet [Wed, 2 Jan 2013 09:46:07 +0000 (10:46 +0100)]
[multiple changes]
2013-01-02 Robert Dewar <dewar@adacore.com>
* err_vars.ads (Warning_Doc_Switch): New flag.
* errout.adb (Error_Msg_Internal): Implement new warning flag
doc tag stuff (Set_Msg_Insertion_Warning): New procedure.
* errout.ads: Document new insertion sequences ?? ?x? ?.x?
* erroutc.adb (Output_Msg_Text): Handle ?? and ?x? warning doc
tag stuff.
* erroutc.ads (Warning_Msg_Char): New variable.
(Warn_Chr): New field in error message object.
* errutil.adb (Error_Msg): Set Warn_Chr in error message object.
* sem_ch13.adb: Minor reformatting.
* warnsw.adb: Add handling for -gnatw.d and -gnatw.D
(Warning_Doc_Switch).
* warnsw.ads: Add handling of -gnatw.d/.D switches (warning
doc tag).
2013-01-02 Robert Dewar <dewar@adacore.com>
* opt.ads: Minor reformatting.
2013-01-02 Doug Rupp <rupp@adacore.com>
* init.c: Reorganize VMS section.
(scan_condtions): New function for scanning condition tables.
(__gnat_handle_vms_condtion): Use actual exception name for imported
exceptions vice IMPORTED_EXCEPTION.
Move condition table scanning into separate function. Move formerly
special handled conditions to system condition table. Use SYS$PUTMSG
output to fill exception message field for formally special handled
condtions, in particular HPARITH to provide more clues about cause and
location then raised from the translated image.
Thomas Quinot [Wed, 2 Jan 2013 09:39:36 +0000 (09:39 +0000)]
sem_ch13.adb (Analyze_Aspect_Specifications): For a Pre/Post aspect that applies to a library subprogram...
2013-01-02 Thomas Quinot <quinot@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications): For a Pre/Post
aspect that applies to a library subprogram, prepend corresponding
pragma to the Pragmas_After list, in order for split AND THEN
sections to be processed in the expected order.
Arnaud Charlet [Wed, 2 Jan 2013 09:38:07 +0000 (10:38 +0100)]
[multiple changes]
2013-01-02 Thomas Quinot <quinot@adacore.com>
* exp_prag.adb (Expand_Pragma_Check): The statements generated
for the pragma must have the sloc of the pragma, not the
sloc of the condition, otherwise this creates anomalies in the
generated debug information that confuse coverage analysis tools.
2013-01-02 Thomas Quinot <quinot@adacore.com>
* sem_ch13.adb: Minor reformatting.
2013-01-02 Arnaud Charlet <charlet@adacore.com>
* g-excact.ads (Core_Dump): Clarify that this subprogram does
not dump cores under Windows.
2013-01-02 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Analyze_Primitive_Renamed_Operation): The prefixed
view of a subprogram has convention Intrnnsic, and a renaming
of a prefixed view cannot be the prefix of an Access attribute.
Arnaud Charlet [Wed, 2 Jan 2013 09:34:50 +0000 (10:34 +0100)]
[multiple changes]
2013-01-02 Thomas Quinot <quinot@adacore.com>
* exp_prag.adb: Minor reformatting.
2013-01-02 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Get_Associated_Node): If the node is an
identifier that denotes an unconstrained array in an object
declaration, it is rewritten as the name of an anonymous
subtype whose bounds are given by the initial expression in the
declaration. When checking whether that identifier is global
reference, use the original node, not the local generated subtype.
2013-01-02 Olivier Hainque <hainque@adacore.com>
* tracebak.c: Revert previous change, incomplete.
2013-01-02 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications): If the aspect
appears on a subprogram body that acts as a spec, place the
corresponding pragma in the declarations of the body, so that
e.g. pre/postcondition checks can be generated appropriately.
2013-01-02 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb: Minor reformatting and code reorganization.
Arnaud Charlet [Wed, 2 Jan 2013 09:31:07 +0000 (10:31 +0100)]
[multiple changes]
2013-01-02 Vincent Celier <celier@adacore.com>
* switch-m.adb (Normalize_Compiler_Switches): Record the
complete switch -fstack-check=specific instead of its shorter
alias -fstack-check.
2013-01-02 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Derive_Subprogram): Enforce RM 6.3.1 (8):
if the derived type is a tagged generic formal type with
unknown discriminants, the inherited operation has convention
Intrinsic. As such, the 'Access attribute cannot be applied to it.
* sem_prag.adb (Analyze_Pragma): Check the legality of pragma Assume.
2013-01-02 Thomas Quinot <quinot@adacore.com>
* sem_eval.adb (Compile_Time_Compare): For static operands, we
can perform a compile time comparison even if in preanalysis mode.
2013-01-02 Thomas Quinot <quinot@adacore.com>
* par_sco.adb (SCO_Record): Always use
Traverse_Declarations_Or_Statements to process the library level
declaration, so that SCOs are properly generated for its aspects.
Thomas Quinot [Wed, 2 Jan 2013 09:24:58 +0000 (09:24 +0000)]
scos.ads (In_Decision): Add missing entry for 'a'.
2013-01-02 Thomas Quinot <quinot@adacore.com>
* scos.ads (In_Decision): Add missing entry for 'a'.
* sem_prag.adb (Analyze_Pragma, case pragma Check): Omit
call to Set_SCO_Pragma_Enabled for Invariant and Predicate.
* sem_ch13.adb: Minor comment update.
Uros Bizjak [Mon, 31 Dec 2012 12:09:52 +0000 (13:09 +0100)]
builtin_target.c (vendor_signatures): Remove.
* gcc.target/i386/builtin_target.c (vendor_signatures): Remove.
(check_detailed): Use signature_INTEL_ebx and signature_AMD_ebx
to check vendor signature.
Kai Tietz [Fri, 28 Dec 2012 21:49:59 +0000 (22:49 +0100)]
rtti.c (LONGPTR_T): New helper-macro.
* rtti.c (LONGPTR_T): New helper-macro.
(get_pseudo_ti_init): Initialize offset_type by LONGPTR_T
type instead of 'long' type.
(create_tinfo_types): Use for offset/flags field LONGPTR_T
type instead of 'long' type.
Jerry DeLisle [Thu, 27 Dec 2012 18:07:33 +0000 (18:07 +0000)]
re PR fortran/48976 (INQUIRE with STREAM= not supported)
2012-12-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/48976
* io/inquire.c (inquire_via_unit): Set user stream inquiry variable to
appropriate value based on unit access method. (inquire_via_filename):
Since filename is not associated with an open unit, set stream inquiry
to UNKNOWN.
* io/io.h: Define inquire stream parameters.
David Edelsohn [Thu, 27 Dec 2012 17:53:17 +0000 (17:53 +0000)]
rs6000.c (rs6000_deligitimze_address): Do not delegitimize TLS addresses on AIX.
* config/rs6000/rs6000.c (rs6000_deligitimze_address): Do not
delegitimize TLS addresses on AIX.
(rs6000_legitimize_tls_address_aix): Append TLS symbol qualifier.
Set SYMBOL_FLAG_LOCAL on module symbol.
(output_toc): Do not append TLS symbol qualifier here.
* config/rs6000/rs6000.md (tls_get_addr_internal): Add GPR 4 to
clobbers.
Sriraman Tallam [Thu, 27 Dec 2012 01:58:06 +0000 (01:58 +0000)]
Before this patch...
Before this patch, function multiversioning determines that two functions
are different by comparing the arch type and isa flags that are set
after the target string is processed. This leads to cases where the
versions become identical when the command-line target options are
altered.
This patch modifies the function version determination to
just compare the target string.
2012-12-27 Sriraman Tallam <tmsriram@google.com>
* doc/tm.texi.in (TARGET_OPTION_SUPPORTS_FUNCTION_VERSIONS): Document
new target hook.
* doc/tm.texi: Regenerate.
* c-family/c-common.c (handle_target_attribute): Retain target attribute
for targets that support versioning.
* target.def (supports_function_versions): New hook.
* cp/class.c (add_method): Remove calls
to DECL_FUNCTION_SPECIFIC_TARGET.
* config/i386/i386.c (ix86_function_versions): Use target string
to check for function versions instead of target flags.
* (ix86_supports_function_versions): New function.
* (is_function_default_version): Check target string.
* TARGET_OPTION_SUPPORTS_FUNCTION_VERSIONS: New macro.