Tobias Burnus [Wed, 5 Dec 2012 15:45:32 +0000 (16:45 +0100)]
resolve.c (generate_component_assignments): Fix memleak.
2012-12-05 Tobias Burnus <burnus@net-b.de>
* resolve.c (generate_component_assignments): Fix memleak.
From-SVN: r194225
Kostya Serebryany [Wed, 5 Dec 2012 13:19:55 +0000 (13:19 +0000)]
[libsanitizer] merge from upstream r169371
From-SVN: r194221
James Greenhalgh [Wed, 5 Dec 2012 11:42:37 +0000 (11:42 +0000)]
[AARCH64] Add zip{1, 2}, uzp{1, 2}, trn{1, 2} support
for vector permute.
gcc/
* config/aarch64/aarch64-simd-builtins.def: Add new builtins.
* config/aarch64/aarch64-simd.md (simd_type): Add uzp.
(aarch64_<PERMUTE:perm_insn><PERMUTE:perm_hilo><mode>): New.
* config/aarch64/aarch64.c (aarch64_evpc_trn): New.
(aarch64_evpc_uzp): Likewise.
(aarch64_evpc_zip): Likewise.
(aarch64_expand_vec_perm_const_1): Check for trn, zip, uzp patterns.
* config/aarch64/iterators.md (unspec): Add neccessary unspecs.
(PERMUTE): New.
(perm_insn): Likewise.
(perm_hilo): Likewise.
From-SVN: r194219
James Greenhalgh [Wed, 5 Dec 2012 11:36:00 +0000 (11:36 +0000)]
[AARCH64] Implement Vector Permute Support.
gcc/
* config/aarch64/aarch64-protos.h
(aarch64_split_combinev16qi): New.
(aarch64_expand_vec_perm): Likewise.
(aarch64_expand_vec_perm_const): Likewise.
* config/aarch64/aarch64-simd.md (vec_perm_const<mode>): New.
(vec_perm<mode>): Likewise.
(aarch64_tbl1<mode>): Likewise.
(aarch64_tbl2v16qi): Likewise.
(aarch64_combinev16qi): New.
* config/aarch64/aarch64.c
(aarch64_vectorize_vec_perm_const_ok): New.
(aarch64_split_combinev16qi): Likewise.
(MAX_VECT_LEN): Define.
(expand_vec_perm_d): New.
(aarch64_expand_vec_perm_1): Likewise.
(aarch64_expand_vec_perm): Likewise.
(aarch64_evpc_tbl): Likewise.
(aarch64_expand_vec_perm_const_1): Likewise.
(aarch64_expand_vec_perm_const): Likewise.
(aarch64_vectorize_vec_perm_const_ok): Likewise.
(TARGET_VECTORIZE_VEC_PERM_CONST_OK): Likewise.
* config/aarch64/iterators.md
(unspec): Add UNSPEC_TBL, UNSPEC_CONCAT.
(V_cmp_result): Add mapping for V2DF.
gcc/testsuite/
* lib/target-supports.exp
(check_effective_target_vect_perm): Allow aarch64*-*-*.
(check_effective_target_vect_perm_byte): Likewise.
(check_effective_target_vect_perm_short): Likewise.
(check_effective_target_vect_char_mult): Likewise.
(check_effective_target_vect_extract_even_odd): Likewise.
(check_effective_target_vect_interleave): Likewise.
From-SVN: r194218
Arnaud Charlet [Wed, 5 Dec 2012 11:25:23 +0000 (12:25 +0100)]
[multiple changes]
2012-12-05 Robert Dewar <dewar@adacore.com>
* par_sco.adb, sem_prag.adb, put_scos.adb, get_scos.adb: Minor
reformatting.
2012-12-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb: Code clean up.
From-SVN: r194217
Arnaud Charlet [Wed, 5 Dec 2012 11:24:07 +0000 (11:24 +0000)]
Make-lang.in: Update dependencies.
* gcc-interface/Make-lang.in: Update dependencies.
* gcc-interface/lang.opt: New language AdaSCIL.
* gcc-interface/lang-specs.h: Add specs for adascil language.
From-SVN: r194216
Arnaud Charlet [Wed, 5 Dec 2012 11:21:32 +0000 (12:21 +0100)]
[multiple changes]
2012-12-05 Thomas Quinot <quinot@adacore.com>
* par_sco.adb (Traverse_Aspects): Ensure we always have
an entry in the sloc -> SCO map for invariants, since
Set_SCO_Pragma_Enabled is called with that sloc when checks
are enabled.
2012-12-05 Thomas Quinot <quinot@adacore.com>
* exp_ch4.adb: Minor reformatting.
2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
* par-prag.adb: Checks and processing of pragma Assume are
carried out by Sem_Prag.
* sem_prag.adb (Analyze_Pragma): Check the legality of pragma
Assume.
* snames.ads-tmpl: Add new name Assume. Add a pragma identifier
for Assume.
From-SVN: r194215
Ed Schonberg [Wed, 5 Dec 2012 11:20:13 +0000 (11:20 +0000)]
aspects.ads, [...]: Add aspect Relative_Deadline.
2012-12-05 Ed Schonberg <schonberg@adacore.com>
* aspects.ads, aspects.adb: Add aspect Relative_Deadline.
* sem_ch13.adb (Analyze_Aspect_Specifications): Process aspect
Relative_Deadline, and introduce the corresponding pragma within
the task definition of the task type to which it applies.
(Check_Aspect_At_Freeze_Point): Expression in a Relative_Deadline
aspect is of type Time_Span.
From-SVN: r194214
Arnaud Charlet [Wed, 5 Dec 2012 11:17:09 +0000 (12:17 +0100)]
[multiple changes]
2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Check_Loop_Invariant_Variant_Placement): When pragma
Loop_[In]variant does not appear immediately within the statements
of a loop, it must appear in a chain of nested blocks.
2012-12-05 Thomas Quinot <quinot@adacore.com>
* sem_ch13.adb: Minor reformatting.
Remove redundant assertion.
From-SVN: r194213
Arnaud Charlet [Wed, 5 Dec 2012 11:16:09 +0000 (12:16 +0100)]
Minor reformatting.
From-SVN: r194212
Arnaud Charlet [Wed, 5 Dec 2012 11:15:35 +0000 (12:15 +0100)]
[multiple changes]
2012-12-05 Thomas Quinot <quinot@adacore.com>
* par_sco.adb, scos.ads, put_scos.adb, put_scos.ads,
get_scos.adb: Generation of SCOs for aspects.
2012-12-05 Thomas Quinot <quinot@adacore.com>
* sem_prag.adb (Check_Precondition_Postcondition): Remove
redundant call to Set_SCO_Pragma_Enabled (the pragma will be
rewritten into a pragma Check later on, and the call will be
made when processing the rewritten pragma).
(Analyze_Pragma, case Pragma_Check): Omit call to
Set_SCO_Pragma_Enabled if Split_PPC is set.
2012-12-05 Olivier Hainque <hainque@adacore.com>
* tracebak.c: Add partial support for Lynx178.
2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
* sem_attr.adb (Analyze_Attribute): Improve
the error message related to loop assertions.
2012-12-05 Gary Dismukes <dismukes@adacore.com>
* atree.ads: Minor reformatting.
From-SVN: r194211
Arnaud Charlet [Wed, 5 Dec 2012 11:11:28 +0000 (12:11 +0100)]
[multiple changes]
2012-12-05 Robert Dewar <dewar@adacore.com>
* atree.ads, par-ch4.adb, sem_attr.adb, sem_ch13.adb: Minor
reformatting.
2012-12-05 Eric Botcazou <ebotcazou@adacore.com>
* gnat_ugn.texi (Switches for gcc): Document -flto and reorder.
2012-12-05 Ed Schonberg <schonberg@adacore.com>
* par-ch5.adb (P_Condition): Handle properly Ada 2012
expressions that must be parenthesized before checking for
redundant parentheses when that check is enabled.
From-SVN: r194210
Arnaud Charlet [Wed, 5 Dec 2012 11:09:27 +0000 (12:09 +0100)]
[multiple changes]
2012-12-05 Ed Schonberg <schonberg@adacore.com>
* par-ch4.adb (P_Allocator): In Ada 2012 (AI05-0104) an
uninitialized allocator cannot carry an explicit not null
indicator.
* sem_ch4.adb (Analyze_Allocator): Remove code that implements
the check for AI05-0104, the check is syntactic and performed
in the parser.
2012-12-05 Geert Bosch <bosch@adacore.com>
* sem_attr.adb (Analyze_Attribute): Use base type for floating
point attributes.
2012-12-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications,
Ahalyze_Aspect_Default_Value): For a scalar type attach default
value to base type as well, because it is a type-specific aspect
even though it can be specified on a first subtype.
From-SVN: r194209
Yufeng Zhang [Wed, 5 Dec 2012 11:08:43 +0000 (11:08 +0000)]
aarch64.c (aarch64_simd_mangle_map_entry): New typedef.
gcc/
2012-12-05 Yufeng Zhang <yufeng.zhang@arm.com>
* config/aarch64/aarch64.c (aarch64_simd_mangle_map_entry): New
typedef.
(aarch64_simd_mangle_map): New table.
(aarch64_mangle_type): Locate and return the mangled name for
a given AdvSIMD vector type.
gcc/testsuite/
2012-12-05 Yufeng Zhang <yufeng.zhang@arm.com>
* g++.dg/abi/mangle-neon-aarch64.C: New test.
From-SVN: r194208
Arnaud Charlet [Wed, 5 Dec 2012 11:06:35 +0000 (12:06 +0100)]
[multiple changes]
2012-12-05 Yannick Moy <moy@adacore.com>
* urealp.ads: Minor rewording.
2012-12-05 Yannick Moy <moy@adacore.com>
* aspects.ads (No_Duplicates_Allowed): Forbid use of duplicate
Contract_Cases aspects.
* sem_prag.adb (Analyze_Pragma/Pragma_Contract_Case): Rename
POST_CASE into CONTRACT_CASE in both grammar and code, to be
consistent with current language definition. Issue a more precise
error message when the pragma duplicates another pragma or aspect.
2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference): Add processing
for attribute Update.
(Expand_Update_Attribute): New routine.
* par-ch4.adb (P_Name): The sole expression of attribute Update
is an aggregate, parse it accordingly.
* sem_attr.adb (Analyze_Attribute): Verify the legality of
attribute Update.
(Eval_Attribute): Attribute Update does not
need evaluation because it is never static.
* snames.ads-tmpl: Add Name_Update to the list of special names
recognized by the compiler. Add an Attribute_Id for Update.
2012-12-05 Ed Schonberg <schonberg@adacore.com>
* exp_util.adb (Remove_Side_Effects): For purposes of removing
side effects, qualified expressions do not receive a special
treatment, even though in Ada 2012 they are defined as object
references.
2012-12-05 Thomas Quinot <quinot@adacore.com>
* par-ch3.adb: Minor reformatting.
From-SVN: r194207
Thomas Quinot [Wed, 5 Dec 2012 11:03:15 +0000 (11:03 +0000)]
exp_dist.adb (Build_From_Any_Call, [...]): For a used-defined subtype, always go to the first subtype of the base type.
2012-12-05 Thomas Quinot <quinot@adacore.com>
* exp_dist.adb (Build_From_Any_Call, Build_To_Any_Call,
Build_TypeCode_Call): For a used-defined subtype, always go to
the first subtype of the base type.
From-SVN: r194206
Arnaud Charlet [Wed, 5 Dec 2012 11:02:24 +0000 (12:02 +0100)]
[multiple changes]
2012-12-05 Thomas Quinot <quinot@adacore.com>
* exp_dist.adb: Minor reformatting.
2012-12-05 Tristan Gingold <gingold@adacore.com>
* Make-generated.in: Remove the VMS host specific part, as VMS
compilers aren't built anymore on VMS.
2012-12-05 Thomas Quinot <quinot@adacore.com>
* sem.adb, errout.ads, atree.adb, atree.ads (Check_Error_Detected):
Only return quietly if a serious error of configurable run time
violation has been found.
2012-12-05 Yannick Moy <moy@adacore.com>
* sem_res.adb (Resolve_Type_Conversion): In Alfa_Mode, do not apply
conversion checks.
From-SVN: r194205
Arnaud Charlet [Wed, 5 Dec 2012 10:59:09 +0000 (11:59 +0100)]
[multiple changes]
2012-12-05 Ed Schonberg <schonberg@adacore.com>
* exp_ch5.adb (Expand_N_Assignment_Statement): Handle properly
the generation of discriminant checks when the left-hand side
has a type with hidden discriminants.
* sem_ch3.ads (Is_Visible_Component): Add defaulted parameter to
specify the node on which component visibility is being checked.
* sem_ch3.adb (Is_Visible_Component): Use new parameter to
determine whether the reference comes from a type conversion to
a full view of a private type with unknown discriminants.
* sem_ch4.adb (Analyze_Selected_Component): Call
Is_Visible_Component with added parameter.
2012-12-05 Arnaud Charlet <charlet@adacore.com>
* make.adb: Minor comment update.
2012-12-05 Arnaud Charlet <charlet@adacore.com>
* gnatlink.adb: Also use -x adascil in CodePeer mode when
calling gcc.
* exp_ch5.adb: Minor reformatting.
2012-12-05 Bob Duff <duff@adacore.com>
* exp_ch4.adb: Minor comment.
2012-12-05 Bob Duff <duff@adacore.com>
* par-ch4.adb: Set Paren_Count correctly for a parenthesized expression
containing a conditional expression or quantified expression.
* sprint.adb: Update comment.
2012-12-05 Bob Duff <duff@adacore.com>
* style.adb, scans.ads, styleg.adb: Update comments.
2012-12-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Find_Selected_Component): Handle properly an
expanded name whose prefix is the expanded name of an enclosing
entry, that is to say a construct such as T.E.X, where T is an
enclosing concurrent type and E is an enclosing entry.
From-SVN: r194204
Arnaud Charlet [Wed, 5 Dec 2012 10:55:42 +0000 (11:55 +0100)]
[multiple changes]
2012-12-05 Robert Dewar <dewar@adacore.com>
* lib-writ.adb (Write_ALI): Output T lines.
* lib-writ.ads: Minor reformatting. Add documentation of T lines.
* opt.ads (Generate_Target_Dependent_Info): New flag.
* switch-c.adb (Scan_Switches): Recognize -gnatet switch
(target dependent info).
* ttypes.ads: Add four letter codes to declarations (for target
dependent info).
* usage.adb: Add line for -gnatet switch.
2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
* exp_prag.adb (Expand_N_Pragma): Add a call to expand
pragma Loop_Variant.
(Expand_Pragma_Loop_Assertion): Removed.
(Expand_Pragma_Loop_Variant): New routine.
* par-prag.adb: Remove Pragma_Loop_Assertion and add two new
Pragma_Loop_Invariant and Pragma_Loop_Variant entries.
* sem_attr.adb (Analyze_Attribute): Update the code which
locates the enclosing pragma.
* sem_prag.adb (Analyze_Pragma): Remove the code which analyzes
pragma Loop_Assertion as the pragma is now obsolete. Add the
machinery to checks the semantics of pragmas Loop_Invariant
and Loop_Variant.
(Check_Loop_Invariant_Variant_Placement): New routine.
* snames.ads-tmpl: Remove name Loop_Assertion. Add new names
Loop_Invariant and Loop_Variant. Rename Name_Decreasing
to Name_Decreases and Name_Increasing to Name_Increases.
Remove the pragma Id for Loop_Assertion and add two new Ids for
Loop_Invariant and Loop_Variant.
From-SVN: r194203
Arnaud Charlet [Wed, 5 Dec 2012 10:50:26 +0000 (11:50 +0100)]
[multiple changes]
2012-12-05 Robert Dewar <dewar@adacore.com>
* gnatchop.adb, sem_attr.ads, sem_ch4.adb, sem_ch6.adb, exp_disp.adb,
atree.adb, sem_eval.adb: Minor reformatting.
2012-12-05 Yannick Moy <moy@adacore.com>
* uintp.adb (UI_Div_Rem): Correct algorithm D to remove potential
overflow.
2012-12-05 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_N_Op_Mod): Minor comment additions.
(Expand_N_Op_Rem): Ditto.
2012-12-05 Robert Dewar <dewar@adacore.com>
* sem_attr.adb: Minor reformatting.
2012-12-05 Robert Dewar <dewar@adacore.com>
* usage.adb: Update lines for -gnato? switch.
From-SVN: r194202
Arnaud Charlet [Wed, 5 Dec 2012 10:47:30 +0000 (11:47 +0100)]
[multiple changes]
2012-12-05 Ed Schonberg <schonberg@adacore.com>
* par-ch6.adb (P_Return_Object_Declaration): Do not check for
legality of Aliased keyword.
* sem_ch6.adb (Analyze_Function_Return): The keyword aliased is
legal in an extended return statement only if the return type
is immutably limited.
2012-12-05 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Expand_Interface_Thunk): Simplify
management of controlling formals. Required to avoid problems
with primitives of internally generated base types associated
with constrained tagged types.
From-SVN: r194201
Yufeng Zhang [Wed, 5 Dec 2012 10:43:48 +0000 (10:43 +0000)]
aarch64.c (aarch64_mangle_type): New function.
gcc/
2012-12-05 Yufeng Zhang <yufeng.zhang@arm.com>
* config/aarch64/aarch64.c (aarch64_mangle_type): New function.
(TARGET_MANGLE_TYPE): Define.
gcc/testsuite/
2012-12-05 Yufeng Zhang <yufeng.zhang@arm.com>
* g++.dg/abi/arm_va_list.C: Also test on aarch64*-*-*.
From-SVN: r194200
Arnaud Charlet [Wed, 5 Dec 2012 10:38:36 +0000 (11:38 +0100)]
[multiple changes]
2012-12-05 Ed Schonberg <schonberg@adacore.com>
* sem_eval.adb: Remove spurious warnings.
2012-12-05 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Build_Explicit_Dereference): Set properly
the type of the prefix prior to rewriting, because subsequent
legality checks examine the original node.
2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
* aspects.adb: Add Contract_Cases to the canonical aspects map.
* aspects.ads: Add aspect Contract_Cases in the various aspect
tables.
* par-prag.adb: The parser does not need to perform special
actions for pragma Contract_Cases.
* sem_ch6.adb (Expand_Contract_Cases): New routine.
(Process_Contract_Cases): Convert pragma Contract_Cases into pre-
and post- condition checks that verify the runtime state of all
case guards and their corresponding consequences.
* sem_ch13.adb (Analyze_Aspect_Specifications): Perform
various legality checks on aspect Contract_Cases. The aspect is
transformed into a pragma.
* sem_prag.adb: Add an entry in table Sig_Flags for pragma
Contract_Cases.
(Analyze_Pragma): Perform various legality
checks on pragma Contract_Cases. The pragma is associated with
the contract of the related subprogram.
(Chain_CTC): Omit pragma
Contract_Cases because it does not introduce a unique case name
and does not follow the syntax of Contract_Case and Test_Case.
* snames.ads-tmpl: Add new name Name_Contract_Cases. Add a
Pragma_Id for Contract_Cases.
2012-12-05 Thomas Quinot <quinot@adacore.com>
* sem_ch5.adb: Minor reformatting.
2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
* sem_attr.ads: Add an entry for attribute Loop_Entry in the
Attribute_Impl_Def table.
2012-12-05 Bob Duff <duff@adacore.com>
* gnatchop.adb (Read_File): Avoid storage leak, and in most cases avoid
an extra copy of the string.
From-SVN: r194199
Arnaud Charlet [Wed, 5 Dec 2012 10:35:24 +0000 (11:35 +0100)]
[multiple changes]
2012-12-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb (Preanalyze_Range): If the expression, which
denotes some domain of iteration, has a type with implicit
dereference, and does not have any iterable aspects, insert
dereference to obtain proper container type.
2012-12-05 Bob Duff <duff@adacore.com>
* par-ch8.adb (P_Use_Type_Clause): Fix the Sloc for "use all type ..."
to point to "use".
2012-12-05 Arnaud Charlet <charlet@adacore.com>
* make.adb (Compile): Always pass -x adascil in CodePeer mode.
From-SVN: r194198
James Greenhalgh [Wed, 5 Dec 2012 10:34:31 +0000 (10:34 +0000)]
[AARCH64] Add support for vectorizable standard math patterns.
gcc/
* config/aarch64/aarch64-builtins.c
(aarch64_builtin_vectorized_function): New.
* config/aarch64/aarch64-protos.h
(aarch64_builtin_vectorized_function): Declare.
* config/aarch64/aarch64-simd-builtins.def (frintz, frintp): Add.
(frintm, frinti, frintx, frinta, fcvtzs, fcvtzu): Likewise.
(fcvtas, fcvtau, fcvtps, fcvtpu, fcvtms, fcvtmu): Likewise.
* config/aarch64/aarch64-simd.md
(aarch64_frint_<frint_suffix><mode>): New.
(<frint_pattern><mode>2): Likewise.
(aarch64_fcvt<frint_suffix><su><mode>): Likewise.
(l<fcvt_pattern><su_optab><fcvt_target><VDQF:mode>2): Likewise.
* config/aarch64/aarch64.c (TARGET_VECTORIZE_BUILTINS): Define.
(TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Likewise.
* config/aarch64/aarch64.md
(btrunc<mode>2, ceil<mode>2, floor<mode>2)
(round<mode>2, rint<mode>2, nearbyint<mode>2): Consolidate as...
(<frint_pattern><mode>2): ...this.
(lceil<su_optab><mode><mode>2, lfloor<su_optab><mode><mode>2)
(lround<su_optab><mode><mode>2)
(lrint<su_optab><mode><mode>2): Consolidate as...
(l<fcvt_pattern><su_optab><GPF:mode><GPI:mode>2): ... this.
* config/aarch64/iterators.md (fcvt_target): New.
(FCVT_TARGET): Likewise.
(FRINT): Likewise.
(FCVT): Likewise.
(frint_pattern): Likewise.
(frint_suffix): Likewise.
(fcvt_pattern): Likewise.
gcc/testsuite/
* gcc.dg/vect/vect-rounding-btrunc.c: New test.
* gcc.dg/vect/vect-rounding-btruncf.c: Likewise.
* gcc.dg/vect/vect-rounding-ceil.c: Likewise.
* gcc.dg/vect/vect-rounding-ceilf.c: Likewise.
* gcc.dg/vect/vect-rounding-floor.c: Likewise.
* gcc.dg/vect/vect-rounding-floorf.c: Likewise.
* gcc.dg/vect/vect-rounding-lceil.c: Likewise.
* gcc.dg/vect/vect-rounding-lfloor.c: Likewise.
* gcc.dg/vect/vect-rounding-nearbyint.c: Likewise.
* gcc.dg/vect/vect-rounding-nearbyintf.c: Likewise.
* gcc.dg/vect/vect-rounding-round.c: Likewise.
* gcc.dg/vect/vect-rounding-roundf.c: Likewise.
* target-supports.exp
(check_effective_target_vect_call_btrunc): New.
(check_effective_target_vect_call_btruncf): Likewise.
(check_effective_target_vect_call_ceil): Likewise.
(check_effective_target_vect_call_ceilf): Likewise.
(check_effective_target_vect_call_floor): Likewise.
(check_effective_target_vect_call_floorf): Likewise.
(check_effective_target_vect_call_lceil): Likewise.
(check_effective_target_vect_call_lfloor): Likewise.
(check_effective_target_vect_call_nearbyint): Likewise.
(check_effective_target_vect_call_nearbyintf): Likewise.
(check_effective_target_vect_call_round): Likewise.
(check_effective_target_vect_call_roundf): Likewise.
From-SVN: r194197
Arnaud Charlet [Wed, 5 Dec 2012 10:29:59 +0000 (11:29 +0100)]
[multiple changes]
2012-12-05 Ed Schonberg <schonberg@adacore.com>
* s-rident.ads, restrict.ads: Remove discrepancies between the
documentation on implementation-defined restrictions, and
the internal data structure used for warnings and errors on
implementation-defined restriction violations.
2012-12-05 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb (Chain_PPC): Pre- and postcondition aspects
are legal on a subprogram body that acts as a spec.
2012-12-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Find_Selected_Component): If the selector name is
an overloadable entity but the name is not overloaded, generate
reference to it rather than delaying this until resolution.
2012-12-05 Robert Dewar <dewar@adacore.com>
* checks.ads, checks.adb (Activate_Overflow_Check): No effect for
MOD/REM/unary +
* exp_ch4.adb (Expand_N_Op_Mod): Remove call to set Do_Overflow_Check.
2012-12-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Find_Non_Universal_Interpretation): Use the
types of the right operand if the left operand is null.
2012-12-05 Sergey Rybin <rybin@adacore.com frybin>
* gnat_ugn.texi, vms_data.ads: document gnatpp -nn option.
2012-12-05 Jose Ruiz <ruiz@adacore.com>
* init.c (__gnat_install_handler): For the LEON VxWorks kernel
run-time library we need to install a trap handler directly in the
trap table (no support by the OS) for the software trap 0.
From-SVN: r194196
Arnaud Charlet [Wed, 5 Dec 2012 10:26:14 +0000 (11:26 +0100)]
[multiple changes]
2012-12-05 Eric Botcazou <ebotcazou@adacore.com>
* gnat_rm.texi (Interfacing to C++): Document new restrictions.
2012-12-05 Ben Brosgol <brosgol@adacore.com>
* gnat_ugn.texi: Fix typo.
2012-12-05 Robert Dewar <dewar@adacore.com>
* gnatbind.adb: Minor reformatting.
From-SVN: r194195
Arnaud Charlet [Wed, 5 Dec 2012 10:24:18 +0000 (11:24 +0100)]
[multiple changes]
2012-12-05 Arnaud Charlet <charlet@adacore.com>
* gnat_ugn.texi: Fix typo.
2012-12-05 Tristan Gingold <gingold@adacore.com>
* gnatbind.adb: Minor comment update.
2012-12-05 Yannick Moy <moy@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Set flags to indicate that
CodePeer backend deals with divide and overflow checks.
From-SVN: r194194
Robert Dewar [Wed, 5 Dec 2012 10:15:56 +0000 (10:15 +0000)]
gnat_rm.texi: Update overflow description.
2012-12-05 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Update overflow description. Pragma Overflow_Checks
changed to Overflow_Mode.
2012-12-05 Robert Dewar <dewar@adacore.com>
* checks.ads, exp_ch4.adb, gnat1drv.adb, par-prag.adb, sem_prag.adb,
snames.ads-tmpl, switch-c.adb, types.ads, checks.adb: Change pragma
Overflow_Checks to Overflow_Mode.
Separate overflow checking from overflow mode.
Several name changes to reflect this separation.
CHECKED mode is renamed STRICT mode.
From-SVN: r194193
Richard Biener [Wed, 5 Dec 2012 10:12:53 +0000 (10:12 +0000)]
re PR tree-optimization/51238 (ICE: SIGSEGV in find_uses_to_rename_use (tree-ssa-loop-manip.c:1267) with -Os -ftree-loop-distribution)
2012-12-05 Richard Biener <rguenther@suse.de>
PR tree-optimization/51238
* gcc.dg/torture/pr51238.c: New testcase.
From-SVN: r194192
Arnaud Charlet [Wed, 5 Dec 2012 10:12:49 +0000 (11:12 +0100)]
[multiple changes]
2012-12-05 Yannick Moy <moy@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Move setting of flags for
Alfa mode before general treatment of flags, so that overflow checks
settings are set appropriately in Alfa mode. Also set the mode to
STRICT in Alfa mode if not already set by the user.
2012-12-05 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb: Minor reformatting.
2012-12-05 Steve Baird <baird@adacore.com>
* sinfo.ads: Improve comments about SCIL-related node kinds and selector
functions.
2012-12-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Build_Limited_Views): Even though the unit is
not analyzed, place its entity on the name in the with clause,
so that warnings on unused with-clause are properly supported
for limited withs.
2012-12-05 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Update overflow description. Pragma
Overflow_Checks changed to Overflow_Mode.
From-SVN: r194191
Arnaud Charlet [Wed, 5 Dec 2012 10:10:04 +0000 (11:10 +0100)]
[multiple changes]
2012-12-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Build_Derived_Private_Type): Handle properly a
completion in a grand-child unit when the parent type is itself
a private type in a child unit whose full view is itself a
derivation from a private type.
2012-12-05 Gary Dismukes <dismukes@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference, case
Attribute_Valid): Remove code for issuing warning on Valid within
a predicate. Moved to Sem_Attr. Remove with and use of Errout.
* sem_attr.adb (Analyze_Attribute, case Attribute_Valid):
Test for prefix's subtype having a predicate and issue warning
about infinite recursion if Valid occurs within the subtype's
predicate. Warning moved here from Exp_Attr.
2012-12-05 Yannick Moy <moy@adacore.com>
* debug.adb: Minor comment addition.
2012-12-05 Yannick Moy <moy@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): In CodePeer mode, check
overflows by default, even when the user suppresses overflow checks.
From-SVN: r194190
Arnaud Charlet [Wed, 5 Dec 2012 10:06:51 +0000 (11:06 +0100)]
[multiple changes]
2012-12-05 Thomas Quinot <quinot@adacore.com>
* err_vars.ads: Fix minor typo in comment.
2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
* sem_attr.adb (Analyze_Attribute): Do not analyze the attribute
arguments when processing Loop_Entry. Rewrite the analysis of
attribute Loop_Entry to handle an optional loop name.
(Convert_To_Indexed_Component): New routine.
(Eval_Attribute): Remove ??? comment and explain
why Loop_Entry does not need to be evaluated.
From-SVN: r194189
Richard Biener [Wed, 5 Dec 2012 09:59:08 +0000 (09:59 +0000)]
re PR tree-optimization/50222 (ICE with -O{1,2} -funswitch-loops -ftree-loop-distribution)
2012-12-05 Richard Biener <rguenther@suse.de>
PR tree-optimization/50222
* gcc.dg/torture/pr50222.c: New testcase.
From-SVN: r194188
Steven Bosscher [Wed, 5 Dec 2012 09:34:06 +0000 (09:34 +0000)]
passes.c (pass_init_dump_file): Only open a clean graph dump file if the dump was not already initialized.
* passes.c (pass_init_dump_file): Only open a clean graph dump file if
the dump was not already initialized.
Revert:
2012-12-03 Steven Bosscher <steven@gcc.gnu.org>
* passes.c (finish_optimization_passes): Don't finish graph dumps here.
(pass_fini_dump_file): Wrap in TV_DUMP. Finish graph dumps.
(execute_one_pass): Don't set up graph dumps here.
From-SVN: r194186
Ian Lance Taylor [Wed, 5 Dec 2012 08:49:01 +0000 (08:49 +0000)]
syscall: Fix splice syscall.
From-SVN: r194185
Richard Biener [Wed, 5 Dec 2012 08:47:40 +0000 (08:47 +0000)]
re PR lto/55525 (ICE: tree check: expected array_type, have pointer_type in array_ref_low_bound, at expr.c:6768)
2012-12-05 Richard Biener <rguenther@suse.de>
PR lto/55525
* gimple-streamer-in.c (input_gimple_stmt): Fixup ARRAY_REFs as well.
* gcc.dg/lto/pr55525_0.c: New testcase.
* gcc.dg/lto/pr55525_1.c: Likewise.
From-SVN: r194183
Bernhard Reutner-Fischer [Wed, 5 Dec 2012 07:34:17 +0000 (08:34 +0100)]
validate_failures.py: also ignore .git
2012-12-01 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
* testsuite-management/validate_failures.py
(IsInterestingResult): Only strip line a second time if we did split.
Rephrase return statement while at it.
(CollectSumFiles): Also ignore .git directory.
From-SVN: r194182
Ian Lance Taylor [Wed, 5 Dec 2012 06:14:17 +0000 (06:14 +0000)]
godump.c (find_dummy_types): Output a dummy type if we couldn't output the real type.
* godump.c (find_dummy_types): Output a dummy type if we couldn't
output the real type.
From-SVN: r194181
Ian Lance Taylor [Wed, 5 Dec 2012 01:09:41 +0000 (01:09 +0000)]
compiler: Accept trailing comma after expression in type conversion.
From-SVN: r194176
Ian Lance Taylor [Wed, 5 Dec 2012 00:53:44 +0000 (00:53 +0000)]
compiler: Make sure we produce an error for a call to a non-function.
Fixes issue 19.
From-SVN: r194174
Ian Lance Taylor [Wed, 5 Dec 2012 00:22:13 +0000 (00:22 +0000)]
compiler: Check for negative or inverted arguments to make.
From-SVN: r194173
GCC Administrator [Wed, 5 Dec 2012 00:18:53 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r194172
Andreas Schwab [Tue, 4 Dec 2012 22:40:24 +0000 (22:40 +0000)]
Makefile.am (${host_builddir}/c++config.h): Replace [<space><tab>] by [<tab><space>].
* include/Makefile.am (${host_builddir}/c++config.h): Replace
[<space><tab>] by [<tab><space>].
* include/Makefile.in: Regenerate.
From-SVN: r194169
Richard Henderson [Tue, 4 Dec 2012 19:08:18 +0000 (11:08 -0800)]
re PR bootstrap/55571 (PR48076 fix broke bootstrap on armv5tel-linux-gnueabi)
PR bootstrap/55571
* Makefile.in (libgcc_s.so): Depend on and link with libgcc.a.
From-SVN: r194159
Steven Bosscher [Tue, 4 Dec 2012 18:38:26 +0000 (18:38 +0000)]
rtl.h (print_insn_with_notes): Remove prototype.
* rtl.h (print_insn_with_notes): Remove prototype.
(rtl_dump_bb_for_graph): New prototype.
* sched-vis.c (print_insn_with_notes): Make static again. Fix
printing of notes.
(rtl_dump_bb_for_graph): New function.
* cfghooks.h (struct cfg_hooks) <dump_bb_for_graph>: New hook.
(dump_bb_for_graph): New prototype.
* cfghooks.c (dump_bb_for_graph): New function.
* tree-cfg.c (gimple_cfg_hooks): Register gimple_dump_bb_for_graph
as dump_bb_for_graph hook implementation for GIMPLE.
* cfgrtl.c (rtl_cfg_hooks): Likewise for rtl_dump_bb_for_graph.
(cfg_layout_rtl_cfg_hooks): Likewise.
* graph.c (draw_cfg_node): Don't include sbitmap.h, rtl.h, tree.h,
gimple.h, and gimple-pretty-print.h.
(draw_cfg_node, draw_cfg_node_succ_edges): Use the uniqe function
definition number instead of the function declaration UID.
(print_graph_cfg): Take a struct function instead of a tree.
Use the dump_bb_for_graph hook to dump the basic block content.
* graph.h (print_graph_cfg): Update prototype.
* passes.c (execute_function_dump): Update print_graph_cfg call.
* Makefile.in (graph.o): Fixup dependencies.
From-SVN: r194157
Tobias Burnus [Tue, 4 Dec 2012 16:44:00 +0000 (17:44 +0100)]
quad_3.f90: Really fix an if condition.
2012-12-04 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/quad_3.f90: Really fix an if condition.
From-SVN: r194156
Tobias Burnus [Tue, 4 Dec 2012 16:00:43 +0000 (17:00 +0100)]
quad_3.f90: Fix a condition, which wrongly required ordered/lazy evaluation.
2012-12-04 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/quad_3.f90: Fix a condition,
which wrongly required ordered/lazy evaluation.
From-SVN: r194155
Steven Bosscher [Tue, 4 Dec 2012 15:52:52 +0000 (15:52 +0000)]
Makefile.am: Fix regexp broken by previous commit.
* include/Makefile.am: Fix regexp broken by previous commit.
* include/Makefile.in: Likewise.
From-SVN: r194152
Marcus Shawcroft [Tue, 4 Dec 2012 15:51:55 +0000 (15:51 +0000)]
AArch64: Define FP_TRAPPING_EXCEPTIONS.
2012-12-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
* config/aarch64/sfp-machine.h (FP_EX_ALL): Define.
(FP_EX_SHIFT): Define.
(FP_TRAPPING_EXCEPTIONS): Define.
From-SVN: r194151
Marcus Shawcroft [Tue, 4 Dec 2012 15:14:47 +0000 (15:14 +0000)]
libatomic: Detect and build for ARM architecture armv8-a.
2012-12-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
* config/arm/arm-config.h (__ARM_ARCH_8A__): New.
From-SVN: r194150
Marcus Shawcroft [Tue, 4 Dec 2012 14:52:50 +0000 (14:52 +0000)]
AArch64: Fix ICE due to missing TYPE_STUB_DECL on builtin va_list.
2012-12-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
* config/aarch64/aarch64.c (aarch64_build_builtin_va_list): Set
TYPE_STUB_DECL.
From-SVN: r194147
Marcus Shawcroft [Tue, 4 Dec 2012 14:16:17 +0000 (14:16 +0000)]
aarch64: Refactor aarch64 sfp-machine.h
2012-12-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
* config/aarch64/sfp-machine.h (FP_RND_MASK): Define.
(FP_ROUNDMODE): Use FP_RND_MASK.
* config/aarch64/sfp-exceptions.c: New.
* config/aarch64/sfp-machine.h (FP_HANDLE_EXCEPTIONS):
Use __sfp_handle_exceptions.
From-SVN: r194142
Andreas Krebbel [Tue, 4 Dec 2012 14:04:39 +0000 (14:04 +0000)]
s390.c (s390_select_ccmode): Enable using CC of x + imm for higher immediates on z9-109 upwards.
2012-12-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (s390_select_ccmode): Enable using CC of
x + imm for higher immediates on z9-109 upwards.
From-SVN: r194141
Richard Earnshaw [Tue, 4 Dec 2012 13:49:09 +0000 (13:49 +0000)]
config.host: (arm*-*-freebsd*): Remove.
* config.host: (arm*-*-freebsd*): Remove.
(arm*-*-linux*, arm*-*-uclinux*): Simplify logic.
(arm*-*-elf*): Remove.
(arm*-*-wince-pe*): Remove.
* arm/unwind-arm.c (struct fpa_reg): Delete.
(struct fpa_regs): Delete.
(phase1_vrs): Remove fpa element.
(_Unwind_VRS_Get): Remove _UVRSC_FPA.
(_Unwind_VRS_Set, _Unwind_VRS_Pop): Likewise.
* arm/pr-support.c (__gnu_unwind_execute): Remove FPA support.
* ieee754-sf.S (floatundisf): Remove FPA support.
(floatdisf): Likewise.
* ieee75f-df.S (floatundidf): Likewise.
(floatdidf): Likewise.
From-SVN: r194138
Richard Earnshaw [Tue, 4 Dec 2012 13:45:53 +0000 (13:45 +0000)]
arm.opt (cirrus-fix-invalid-insns): Delete option.
* arm.opt (cirrus-fix-invalid-insns): Delete option.
* invoke.texi (cirrus-fix-invalid-insns): Remove documentation.
From-SVN: r194137
Jakub Jelinek [Tue, 4 Dec 2012 13:25:07 +0000 (14:25 +0100)]
tsan.c (instrument_expr): If expr_ptr isn't a gimple val, first store it into a SSA_NAME.
* tsan.c (instrument_expr): If expr_ptr isn't a gimple val, first
store it into a SSA_NAME.
From-SVN: r194135
Jakub Jelinek [Tue, 4 Dec 2012 13:21:11 +0000 (14:21 +0100)]
re PR testsuite/55587 ([ASAN] Testsuite test c-c++-common/asan/memcmp-1.c fails to link on targets without libasan/libsanitizer)
PR testsuite/55587
* lib/asan-dg.exp (asan_init): Return 1 if libasan has been found,
0 if not.
* g++.dg/asan/asan.exp: Don't run gcc-dg-runtest if [asan_init]
returned 0.
* gcc.dg/asan/asan.exp: Likewise.
From-SVN: r194134
Jakub Jelinek [Tue, 4 Dec 2012 13:20:20 +0000 (14:20 +0100)]
re PR sanitizer/55439 (ThreadSanitizer: handle atomic operations)
PR sanitizer/55439
* Makefile.in (tsan.o): Depend on tree-ssa-propagate.h.
* sanitizer.def: Add __tsan_atomic* builtins.
* asan.c (initialize_sanitizer_builtins): Adjust to also
initialize __tsan_atomic* builtins.
* tsan.c: Include tree-ssa-propagate.h.
(enum tsan_atomic_action): New enum.
(tsan_atomic_table): New table.
(instrument_builtin_call): New function.
(instrument_gimple): Take pointer to gimple_stmt_iterator
instead of gimple_stmt_iterator. Call instrument_builtin_call
on builtin call stmts.
(instrument_memory_accesses): Adjust instrument_gimple caller.
* builtin-types.def (BT_FN_BOOL_VPTR_PTR_I1_INT_INT,
BT_FN_BOOL_VPTR_PTR_I2_INT_INT, BT_FN_BOOL_VPTR_PTR_I4_INT_INT,
BT_FN_BOOL_VPTR_PTR_I8_INT_INT, BT_FN_BOOL_VPTR_PTR_I16_INT_INT): New.
From-SVN: r194133
Jakub Jelinek [Tue, 4 Dec 2012 13:18:54 +0000 (14:18 +0100)]
Fix up two ChangeLog entries.
From-SVN: r194132
Tejas Belagod [Tue, 4 Dec 2012 11:43:04 +0000 (11:43 +0000)]
aarch64.c (aarch64_simd_vector_alignment, [...]): New.
2012-12-04 Tejas Belagod <tejas.belagod@arm.com>
* config/aarch64/aarch64.c (aarch64_simd_vector_alignment,
aarch64_simd_vector_alignment_reachable): New.
(TARGET_VECTOR_ALIGNMENT, TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE):
Define.
From-SVN: r194126
Richard Biener [Tue, 4 Dec 2012 09:19:05 +0000 (09:19 +0000)]
re PR tree-optimization/55124 (ICE in find_or_generate_expression, at tree-ssa-pre.c:2803)
2012-12-04 Richard Biener <rguenther@suse.de>
PR tree-optimization/55124
* tree-ssa-pre.c (find_or_generate_expression): Instead of
ICEing when we are not able to generate an expression defer it
by signalling failure. Fix possible wrong-code issue by
not picking random REFERENCE expressions as fallback.
(create_component_ref_by_pieces_1): Adjust. Add failure paths.
(create_expression_by_pieces): Likewise.
(insert_into_preds_of_block): When expression generation failed
for one edge make sure to not insert a PHI node.
* gcc.dg/torture/pr55124.c: New testcase.
From-SVN: r194125
Ian Lance Taylor [Tue, 4 Dec 2012 09:09:56 +0000 (09:09 +0000)]
compiler: Give error for constant inverted slice range.
From-SVN: r194124
Eric Botcazou [Tue, 4 Dec 2012 09:05:49 +0000 (09:05 +0000)]
ia64.c (ia64_compute_frame_size): Allocate the scratch area if the function allocates dynamic stack space.
* config/ia64/ia64.c (ia64_compute_frame_size): Allocate the scratch
area if the function allocates dynamic stack space.
(ia64_initial_elimination_offset): Adjust offsets to above change.
From-SVN: r194121
Kostya Serebryany [Tue, 4 Dec 2012 07:00:35 +0000 (07:00 +0000)]
[libsanitizer] Fix PR55521 by switching libsanitizer from mach_override to mac interpose functions on darwin
From-SVN: r194120
Ian Lance Taylor [Tue, 4 Dec 2012 06:44:19 +0000 (06:44 +0000)]
compiler: Reject invalid nil == nil comparisons.
From-SVN: r194119
Ian Lance Taylor [Tue, 4 Dec 2012 06:23:37 +0000 (06:23 +0000)]
mksysinfo: Fix TIOCNOTTY and TIOCSCTTY for ARM.
From Matthias Klose.
From-SVN: r194118
Ian Lance Taylor [Tue, 4 Dec 2012 06:18:07 +0000 (06:18 +0000)]
runtime: Fix build failures with -D_FORTIFY_SOURCE=2.
From-SVN: r194116
Ian Lance Taylor [Tue, 4 Dec 2012 05:17:54 +0000 (05:17 +0000)]
compiler: Fix crash in go/defer of some builtin functions.
From-SVN: r194114
Ian Lance Taylor [Tue, 4 Dec 2012 00:28:30 +0000 (00:28 +0000)]
compiler: Don't permit go/defer argument to be parenthesized.
Fixes Go repository issue 4468.
From-SVN: r194112
GCC Administrator [Tue, 4 Dec 2012 00:18:53 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r194111
Steven Bosscher [Mon, 3 Dec 2012 23:28:42 +0000 (23:28 +0000)]
gcse.c (struct reg_use): Remove unused struct.
* gcse.c (struct reg_use): Remove unused struct.
(gcse_emit_move_after): Do not create REG_EQUAL notes that reference
the SET_DEST of the instruction the note would be attached to.
* cse.c (cse_main): Add the DF_NOTE problem.
From-SVN: r194108
Benjamin Kosnik [Mon, 3 Dec 2012 23:23:52 +0000 (23:23 +0000)]
standard_policies.hpp: Remove.
2012-12-03 Benjamin Kosnik <bkoz@redhat.com>
* include/ext/pb_ds/detail/cc_hash_table_map_/standard_policies.hpp:
Remove.
* include/ext/pb_ds/detail/gp_hash_table_map_/standard_policies.hpp:
Remove.
* include/Makefile.am (pb_headers): Remove include files.
* include/Makefile.in: Regenerated.
From-SVN: r194107
Janus Weil [Mon, 3 Dec 2012 22:06:41 +0000 (23:06 +0100)]
re PR fortran/55548 (SYSTEM_CLOCK with integer(8) provides nanosecond resolution, but only microsecond precision (without -lrt))
2012-12-03 Janus Weil <janus@gcc.gnu.org>
PR fortran/55548
* intrinsics/system_clock.c (gf_gettime_mono): Add argument 'tck',
which returns the clock resolution.
(system_clock_4): Get resolution from gf_gettime_mono, but limit to
1000/s.
(system_clock_8): Get resolution from gf_gettime_mono.
2012-12-03 Janus Weil <janus@gcc.gnu.org>
PR fortran/55548
* intrinsic.texi (SYSTEM_CLOCK): Update documentation of SYSTEM_CLOCK.
From-SVN: r194105
Tobias Burnus [Mon, 3 Dec 2012 21:13:42 +0000 (22:13 +0100)]
re PR fortran/37336 ([F03] Finish derived-type finalization)
2012-12-03 Tobias Burnus <burnus@net-b.de>
Janus Weil <janus@gcc.gnu.org>
PR fortran/37336
* class.c (gfc_is_finalizable): New function.
* gfortran.h (gfc_is_finalizable): Its prototype.
* module.c (mio_component): Read initializer for vtype's _final.
* resolve.c (resolve_fl_derived0): Call gfc_is_finalizable.
* trans-expr.c (gfc_vtable_final_get): New function.
(conv_parent_component_references): Fix comment.
(gfc_conv_variable): Fix for scalar coarray components.
* trans-intrinsic.c (conv_intrinsic_move_alloc): For BT_CLASS,
pass the BT_CLASS type and not the declared type to
gfc_deallocate_scalar_with_status.
* trans.h (gfc_vtable_final_get): New prototype.
Co-Authored-By: Janus Weil <janus@gcc.gnu.org>
From-SVN: r194104
Jakub Jelinek [Mon, 3 Dec 2012 17:28:10 +0000 (18:28 +0100)]
sanitizer.def: Add Address Sanitizer builtins.
* sanitizer.def: Add Address Sanitizer builtins.
Rename BUILT_IN_TSAN_READ_* to BUILT_IN_TSAN_READ* and
BUILT_IN_TSAN_WRITE_* to BUILT_IN_TSAN_WRITE*.
* Makefile.in (asan.o): Depend on langhooks.h.
(tsan.o): Depend on asan.h.
* asan.h (initialize_sanitizer_builtins): New prototype.
* asan.c: Include langhooks.h.
(report_error_func): Use builtin_decl_implicit of corresponding
BUILT_IN_ASAN_REPORT_{LOAD,STORE}*.
(asan_init_func): Removed.
(initialize_sanitizer_builtins): New function.
(asan_finish_file): Call it. Use builtin_decl_implicit
on BUILT_IN_ASAN_{INIT,{,UN}REGISTER_GLOBALS}.
(asan_instrument): Call initialize_sanitizer_builtins.
* builtins.def (DEF_SANITIZER_BUILTIN): Change condition to
(flag_asan || flag_tsan).
* tsan.c: Include asan.h and tsan.h.
(get_memory_access_decl): Rename BUILT_IN_TSAN_{READ,WRITE}_*
to BUILT_IN_TSAN_{READ,WRITE}*.
(tsan_pass): Call initialize_sanitizer_builtins.
(tsan_gate, tsan_gate_O0): Don't check if
builtin_decl_implicit_p (BUILT_IN_TSAN_INIT) is true.
(tsan_finish_file): Call initialize_sanitizer_builtins.
* builtin-types.def (BT_FN_VOID_PTR_PTRMODE): New fn type.
From-SVN: r194103
Jakub Jelinek [Mon, 3 Dec 2012 17:19:47 +0000 (18:19 +0100)]
re PR bootstrap/55380 (All search_line_fast implementations read beyond buffer)
PR bootstrap/55380
PR other/54691
* files.c (read_file_guts): Allocate extra 16 bytes instead of
1 byte at the end of buf. Pass size + 16 instead of size
to _cpp_convert_input.
* charset.c (_cpp_convert_input): Reallocate if there aren't
at least 16 bytes beyond to.len in the buffer. Clear 16 bytes
at to.text + to.len.
From-SVN: r194102
Tobias Burnus [Mon, 3 Dec 2012 16:16:28 +0000 (17:16 +0100)]
strtod_l.c (___STRTOF_INTERNAL): Fix exponent reading.
2012-12-03 Tobias Burnus <burnus@net-b.de>
* strtod/strtod_l.c (___STRTOF_INTERNAL): Fix exponent
reading.
2012-12-03 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/quad_3.f90: New.
From-SVN: r194100
Aldy Hernandez [Mon, 3 Dec 2012 16:11:21 +0000 (16:11 +0000)]
re PR middle-end/55401 (uninstrumented path in TM clones are still instrumented)
PR middle-end/55401
* trans-mem.c (get_tm_region_blocks): Exclude uninstrumented
blocks from vector if requested.
(collect_bb2reg): Pass new argument to
get_tm_region_blocks.
(get_bb_regions_instrumented): Add INCLUDE_UNINSTRUMENTED_P
argument, and pass it to expand_regions.
(execute_tm_mark): Pass new argument to
get_bb_regions_instrumented.
(execute_tm_edges): Same.
From-SVN: r194099
Paolo Carlini [Mon, 3 Dec 2012 16:01:32 +0000 (16:01 +0000)]
re PR c++/54170 (Call to lambda elided)
/cp
2012-12-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54170
* cvt.c (cp_convert_to_pointer): Don't discard side-effects from
expressions of nullptr_t.
* typeck.c (build_ptrmemfunc): Likewise.
/testsuite
2012-12-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54170
* g++.dg/cpp0x/lambda/lambda-nullptr.C: New.
From-SVN: r194098
Jakub Jelinek [Mon, 3 Dec 2012 15:18:49 +0000 (16:18 +0100)]
re PR testsuite/55452 (gfortran.dg/reassoc_4.f -O scan-tree-dump-times reassoc1)
PR testsuite/55452
* gfortran.dg/reassoc_4.f: Use --param max-completely-peeled-insns=400
on all targets, not just s390*.
From-SVN: r194095
Jakub Jelinek [Mon, 3 Dec 2012 15:04:57 +0000 (16:04 +0100)]
asan.c (instrument_mem_region_access): Don't instrument if base doesn't have pointer type or len integral type.
* asan.c (instrument_mem_region_access): Don't instrument
if base doesn't have pointer type or len integral type.
Add cast if len doesn't have size_t compatible type.
(instrument_builtin_call): Don't instrument BUILT_IN_ATOMIC_LOAD,
BUILT_IN_ATOMIC_TEST_AND_SET, BUILT_IN_ATOMIC_CLEAR,
BUILT_IN_ATOMIC_EXCHANGE, BUILT_IN_ATOMIC_COMPARE_EXCHANGE
and BUILT_IN_ATOMIC_STORE.
From-SVN: r194094
Diego Novillo [Mon, 3 Dec 2012 14:53:37 +0000 (09:53 -0500)]
Fix stale use of old 'options' argument.
An earlier patch had made the command line options a global variable
_OPTIONS, but it had not renamed all the uses of the old options argument.
* testsuite-management/validate_failures.py: Fix stale
use of 'options'.
From-SVN: r194092
Kirill Yukhin [Mon, 3 Dec 2012 13:59:38 +0000 (13:59 +0000)]
Adding missed in r194086 file.
From-SVN: r194088
Jakub Jelinek [Mon, 3 Dec 2012 13:57:29 +0000 (14:57 +0100)]
asan.c (instrument_assignment): Instrument lhs only for gimple_store_p and rhs1 only for gimple_assign_load_p.
* asan.c (instrument_assignment): Instrument lhs only
for gimple_store_p and rhs1 only for gimple_assign_load_p.
From-SVN: r194087
Michael Zolotukhin [Mon, 3 Dec 2012 13:54:07 +0000 (13:54 +0000)]
Makefile.in: Add target mddump, build/genmddump.o.
* Makefile.in: Add target mddump, build/genmddump.o. Extend
genprogrtl with mddump.
* genmddump.c: New.
From-SVN: r194086
Steven Bosscher [Mon, 3 Dec 2012 13:16:55 +0000 (13:16 +0000)]
rtl.h (print_insn_with_notes): Prototype.
* rtl.h (print_insn_with_notes): Prototype.
* sched-vis.c (print_insn_with_notes): Export it.
* gimple-pretty-print.h (gimple_dump_bb_for_graph): Prototype.
* gimple-pretty-print.c (print_gimple_expr): Flush the buffer.
(pp_gimple_stmt_1): Don't do it here.
(gimple_dump_bb_for_graph): New function.
* tree-pretty-print.c (print_generic_expr): Flush the buffer here.
(dump_generic_node): Don't flush the buffer here.
* graph.h (print_rtl_graph_with_bb): Rename to print_graph_cfg.
* graph.c: Include gimple.h, dumpfile.h, and gimple-pretty-print.h.
(draw_cfg_node): Handle GIMPLE basic blocks also.
(print_rtl_graph_with_bb): Rename to print_graph_cfg.
* passes.c (finish_optimization_passes): Don't finish graph dumps here.
(execute_function_dump): Use print_graph_cfg. Enable dumping the CFG
for GIMPLE also.
(pass_init_dump_file): Wrap in TV_DUMP. Set up CFG graph dumps.
(pass_fini_dump_file): Wrap in TV_DUMP. Finish graph dumps.
(execute_one_pass): Don't set up graph dumps here.
From-SVN: r194085
Marek Polacek [Mon, 3 Dec 2012 13:02:04 +0000 (13:02 +0000)]
Fix PR c/55570.
From-SVN: r194083
Eric Botcazou [Mon, 3 Dec 2012 12:08:35 +0000 (12:08 +0000)]
tree-ssa.c (warn_uninitialized_var): Use OPT_Wmaybe_uninitialized tag in the non-always executed case.
* tree-ssa.c (warn_uninitialized_var): Use OPT_Wmaybe_uninitialized tag
in the non-always executed case.
From-SVN: r194082
Jakub Jelinek [Mon, 3 Dec 2012 11:49:41 +0000 (12:49 +0100)]
asan-dg.exp (asan_get_gtest_test_list, [...]): New procedures.
* lib/asan-dg.exp (asan_get_gtest_test_list,
asan_get_gtest_expect_death_list, asan-gtest): New procedures.
(proc ${tool}_load): Remember [asan_get_gtest_test_list "$output"]
and [asan_get_gtest_expect_death_list "$output"] in global vars.
(asan_symbolize): Sanitize [] characters from key.
* g++.dg/asan/asan_test_config.h: New file.
* g++.dg/asan/asan_globals_test.cc: New file.
* g++.dg/asan/asan_test_utils.h: New file.
* g++.dg/asan/dejagnu-gtest.h: New file.
* g++.dg/asan/asan_test.cc: New file.
* g++.dg/asan/asan_test.C: New test.
From-SVN: r194081
Sofiane Naci [Mon, 3 Dec 2012 11:13:41 +0000 (11:13 +0000)]
[AARCH64] Refactor constant generation.
2012-12-03 Sofiane Naci <sofiane.naci@arm.com>
* config/aarch64/aarch64.c (aarch64_build_constant): Update prototype.
Call emit_move_insn instead of printing movi/movn/movz instructions.
Call gen_insv_immdi instead of printing movk instruction.
(aarch64_add_constant): Update prototype.
Generate RTL instead of printing add/sub instructions.
(aarch64_output_mi_thunk): Update calls to aarch64_build_constant
and aarch64_add_constant.
From-SVN: r194080
Richard Biener [Mon, 3 Dec 2012 10:45:16 +0000 (10:45 +0000)]
pr35634.c: Use signed char.
2012-12-03 Richard Biener <rguenther@suse.de>
* gcc.dg/torture/pr35634.c: Use signed char.
* g++.dg/torture/pr35634.C: Likewise.
From-SVN: r194078
Tobias Burnus [Mon, 3 Dec 2012 08:56:11 +0000 (09:56 +0100)]
re PR fortran/55475 (heap-buffer-overflow in fortran/error.c)
2012-12-03 Tobias Burnus <burnus@net-b.de>
PR fortran/55475
* scanner.c (gfc_next_char_literal): Fix setting locus
to free_line_length for the error message.
* error.c (show_locus): Fix potential out-of-bounds
read.
From-SVN: r194076
Tobias Burnus [Mon, 3 Dec 2012 08:54:18 +0000 (09:54 +0100)]
re PR fortran/37336 ([F03] Finish derived-type finalization)
2012-11-03 Tobias Burnus <burnus@net-b.de>
PR fortran/37336
* class.c (finalizer_insert_packed_call): New static function.
(finalize_component, generate_finalization_wrapper):
Fix coarray handling and packing.
From-SVN: r194075
Ian Lance Taylor [Mon, 3 Dec 2012 07:21:16 +0000 (07:21 +0000)]
compiler: Fix field tracking for references in global initializers.
From-SVN: r194073
Kai Tietz [Mon, 3 Dec 2012 07:05:26 +0000 (08:05 +0100)]
re PR bootstrap/53912 (bootstrap fails using default c++ mode in stage 2 and 3 for native x86_64-w64-mingw32)
PR target/53912
* ggc-common.c (POINTER_HASH): Cast from pointer via intptr_t.
From-SVN: r194072
Kai Tietz [Mon, 3 Dec 2012 07:02:17 +0000 (08:02 +0100)]
re PR bootstrap/53912 (bootstrap fails using default c++ mode in stage 2 and 3 for native x86_64-w64-mingw32)
PR target/53912
* tree-dump.c (dump_pointer): Print pointer via HOST_WIDE_INT_PRINT.
From-SVN: r194070
Ian Lance Taylor [Mon, 3 Dec 2012 06:57:04 +0000 (06:57 +0000)]
compiler: Don't encode non-ASCII characters in identifiers.
From-SVN: r194068
Kai Tietz [Mon, 3 Dec 2012 06:56:16 +0000 (07:56 +0100)]
re PR bootstrap/53912 (bootstrap fails using default c++ mode in stage 2 and 3 for native x86_64-w64-mingw32)
PR target/53912
* pointer-set.c (hash1): Cast from pointer via uintptr_t.
From-SVN: r194067
Ian Lance Taylor [Mon, 3 Dec 2012 03:25:18 +0000 (03:25 +0000)]
compiler: Fix nil func panics, constant type conversions.
From-SVN: r194064