]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
11 years ago2014-01-31 Robert Dewar <dewar@adacore.com>
charlet [Fri, 31 Jan 2014 15:59:59 +0000 (15:59 +0000)] 
2014-01-31  Robert Dewar  <dewar@adacore.com>

* gnat_ugn.texi: Minor update.
* gnat_rm.texi: Add example to Restriction_Warnings documentation.
* exp_util.adb: Minor reformatting.

2014-01-31  Ed Schonberg  <schonberg@adacore.com>

* exp_ch9.adb (Expand_Entry_Barrier): Warn if the barrier
depends on data that is not private to the protected object,
and potentially modifiable in unsynchronized fashion.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207357 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-31 Yannick Moy <moy@adacore.com>
charlet [Fri, 31 Jan 2014 15:56:44 +0000 (15:56 +0000)] 
2014-01-31  Yannick Moy  <moy@adacore.com>

* erroutc.adb (Validate_Specific_Warnings): Remove special case for
GNATprove_Mode.

2014-01-31  Robert Dewar  <dewar@adacore.com>

* prj-attr.ads (First_Attribute_Of): Returns Empty_Attribute
for Unknown_Package.
* sem_ch6.adb, sem_attr.adb: Minor comment addition.

2014-01-31  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_util.adb (Build_Allocate_Deallocate_Proc): Rewrite
the logic that generates a runtime check to determine the
controlled status of the object about to be allocated or
deallocated. Class-wide types now always use a runtime check
even if they appear as generic actuals.
(Find_Object): Detect
a special case that involves interface class-wide types because
the object appears as a complex expression.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207356 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-31 Ed Schonberg <schonberg@adacore.com>
charlet [Fri, 31 Jan 2014 15:53:25 +0000 (15:53 +0000)] 
2014-01-31  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Process_Formals): In Ada2012 mode, place
subprogram with an incomplete untagged formals on the list of
private dependents, to verify that the type is properly completed
in the private part.
* sem_attr.adb: Code clean up.

2014-01-31  Robert Dewar  <dewar@adacore.com>

* exp_ch6.adb: Minor reformatting.

2014-01-31  Vincent Celier  <celier@adacore.com>

* prj-attr.adb (First_Attribute_Of): Return Unknown_Attribute
when Pkg is unknown.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207354 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-31 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Fri, 31 Jan 2014 15:51:51 +0000 (15:51 +0000)] 
2014-01-31  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_res.adb (Resolve_Entity_Name): Comment
reformatting. Allow volatile objects in various generated checks.

2014-01-31  Ed Schonberg  <schonberg@adacore.com>

* sem_attr.adb (Analyze_Attribute, case 'Update): For a record
component association, set the etype of the identifier, for
SPARK use.

2014-01-31  Ed Schonberg  <schonberg@adacore.com>

* exp_ch6.adb (Has_Visibility_Of_Subprogram): If type is not
declared in a package, not checks can apply to the subprogram.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207353 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-31 Robert Dewar <dewar@adacore.com>
charlet [Fri, 31 Jan 2014 15:46:40 +0000 (15:46 +0000)] 
2014-01-31  Robert Dewar  <dewar@adacore.com>

* erroutc.adb (Validate_Specific_Warnings): Warnings are
controlled -gnatw.W.
* gnat_ugn.texi: Document new warnings controlled by -gnatw.w.
* opt.ads (Warn_On_Warnings_Off): Now controls more cases.

2014-01-31  Arnaud Charlet  <charlet@adacore.com>

* exp_disp.adb: Update comments.

2014-01-31  Yannick Moy  <moy@adacore.com>

* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration,
Save_Global_References): Guard access to expression in aspect.

2014-01-31  Yannick Moy  <moy@adacore.com>

* sem_prag.adb (Analyze_Pragma/Pragma_SPARK_Mode):
Issue an error when the pragma is applied to a generic unit,
a generic declaration, or inside a generic.

2014-01-31  Yannick Moy  <moy@adacore.com>

* sem_ch8.adb (Analyze_Subprogram_Renaming): Set SPARK_Mode on renaming
entity.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207352 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-31 Robert Dewar <dewar@adacore.com>
charlet [Fri, 31 Jan 2014 15:45:08 +0000 (15:45 +0000)] 
2014-01-31  Robert Dewar  <dewar@adacore.com>

* exp_ch9.adb, s-tassta.adb, s-tposen.adb, s-tposen.ads: Minor
reformatting.

2014-01-31  Tristan Gingold  <gingold@adacore.com>

* exp_disp.adb: Add a historic note.

2014-01-31  Robert Dewar  <dewar@adacore.com>

* sem_warn.adb (Warn_On_Useless_Assignments): Add call to
Process_Deferred_References.

2014-01-31  Yannick Moy  <moy@adacore.com>

* erroutc.adb (Validate_Specific_Warnings): Do not issue a message for
ineffective pragma Warnings(Off) in GNATprove_Mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207351 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-31 Bob Duff <duff@adacore.com>
charlet [Fri, 31 Jan 2014 15:43:41 +0000 (15:43 +0000)] 
2014-01-31  Bob Duff  <duff@adacore.com>

* s-taskin.ads: Minor comment fix.
* s-tassta.adb (Abort_Dependents): Don't abort all dependents;
just direct dependents. If this is actually an abort, each task
will take care of aborting its dependents, so all dependents will
get aborted, as before. However, when this is called the second
time from Vulnerable_Complete_Master "for convenience" (i.e. to
kill off tasks waiting at terminate alternatives), aborting
indirect dependents is wrong, because it causes some unrelated
tasks to get aborted.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207350 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-31 Robert Dewar <dewar@adacore.com>
charlet [Fri, 31 Jan 2014 15:39:17 +0000 (15:39 +0000)] 
2014-01-31  Robert Dewar  <dewar@adacore.com>

* sem_ch4.adb: Minor reformatting.

2014-01-31  Robert Dewar  <dewar@adacore.com>

* exp_ch2.adb: New calling sequence for Is_LHS.
* frontend.adb: Add call to Process_Deferred_References.
* lib-xref.ads, lib-xref.adb (Process_Deferred_References): New.
(Deferred_References): New table.
* sem_ch8.adb (Find_Direct_Name): Make deferred reference table
entries.
(Find_Expanded_Name): Ditto.
* sem_res.adb: New calling sequence for Is_LHS.
* sem_util.ads, sem_util.adb (Is_LHS): New calling sequence.
* sem_warn.adb: Call Process_Deferred_References before issuing
warnings.

2014-01-31  Tristan Gingold  <gingold@adacore.com>

* exp_util.adb (Corresponding_Runtime_Package): Restrict the
use of System_Tasking_Protected_Objects_Single_Entry.
* exp_ch9.adb (Build_Simple_Entry_Call): Remove Mode parameter
of Protected_Single_Entry_Call.
(Expand_N_Timed_Entry_Call): Remove single_entry case.
* exp_disp.adb (Make_Disp_Asynchronous_Select_Body): Remove
single_entry case.
(Make_Disp_Timed_Select_Body): Likewise.
* rtsfind.ads (RE_Timed_Protected_Single_Entry_Call): Remove.
* s-tposen.adb (Send_Program_Error, PO_Do_Or_Queue): Remove
Self_Id parameter.
(Wakeup_Entry_Caller): Remove Self_ID and New_State parameters.
(Wait_For_Completion_With_Timeout): Remove.
(Protected_Single_Entry_Call): Remove Mode parameter
(always Simple_Call).
(Service_Entry): Remove Self_Id constant (not used anymore).
(Timed_Protected_Single_Entry_Call): Remove.
* s-tposen.ads (Timed_Protected_Single_Entry_Call): Remove.
(Protected_Single_Entry_Call): Remove Mode parameter.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207349 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/59646
jason [Fri, 31 Jan 2014 15:20:12 +0000 (15:20 +0000)] 
PR c++/59646
* call.c (convert_like_real) [ck_aggr]: Set TARGET_EXPR_LIST_INIT_P.
[ck_list]: Check for error_mark_node.
(build_aggr_conv): Set LOOKUP_NO_NARROWING and check_narrowing.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207346 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/57043
jason [Fri, 31 Jan 2014 15:20:05 +0000 (15:20 +0000)] 
PR c++/57043
* pt.c (fn_type_unification): Don't do DEDUCE_EXACT check
during partial ordering.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207345 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * c-c++-common/tsan/simple_race.c: Made test less flaky.
chefmax [Fri, 31 Jan 2014 13:42:10 +0000 (13:42 +0000)] 
* c-c++-common/tsan/simple_race.c: Made test less flaky.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207344 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/testsuite/
kyukhin [Fri, 31 Jan 2014 13:29:08 +0000 (13:29 +0000)] 
gcc/testsuite/
        * gcc.target/i386/m512-check.h: Use correct rounding values.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207343 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
kyukhin [Fri, 31 Jan 2014 13:22:57 +0000 (13:22 +0000)] 
gcc/
* config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
(_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
(_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
in smmintrin.h, remove them.
(_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
* config/i386/i386.c (ix86_print_operand): Split sae and rounding.
* config/i386/i386.md (ROUND_SAE): Fix value.
* config/i386/predicates.md (const_4_or_8_to_11_operand): New.
(const48_operand): New.
* config/i386/subst.md (round), (round_expand): Use
const_4_or_8_to_11_operand.
(round_saeonly), (round_saeonly_expand): Use const48_operand.

gcc/testsuite/
* gcc.target/i386/avx-1.c: Use correct rounding values.
        * gcc.target/i386/avx512f-vaddpd-1.c: Ditto.
        * gcc.target/i386/avx512f-vaddps-1.c: Ditto.
        * gcc.target/i386/avx512f-vaddsd-1.c: Ditto.
        * gcc.target/i386/avx512f-vaddss-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtdq2ps-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtpd2dq-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtpd2ps-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtpd2udq-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtps2dq-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtps2udq-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtsd2si-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtsd2si64-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtsd2ss-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtsd2usi-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtsd2usi64-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtsi2sd64-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtsi2ss-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtsi2ss64-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtss2si-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtss2si64-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtss2usi-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtss2usi64-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtudq2ps-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtusi2sd64-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtusi2ss-1.c: Ditto.
        * gcc.target/i386/avx512f-vcvtusi2ss64-1.c: Ditto.
        * gcc.target/i386/avx512f-vdivpd-1.c: Ditto.
        * gcc.target/i386/avx512f-vdivps-1.c: Ditto.
        * gcc.target/i386/avx512f-vdivsd-1.c: Ditto.
        * gcc.target/i386/avx512f-vdivss-1.c: Ditto.
        * gcc.target/i386/avx512f-vfmaddXXXpd-1.c: Ditto.
        * gcc.target/i386/avx512f-vfmaddXXXps-1.c: Ditto.
        * gcc.target/i386/avx512f-vfmaddXXXsd-1.c: Ditto.
        * gcc.target/i386/avx512f-vfmaddXXXss-1.c: Ditto.
        * gcc.target/i386/avx512f-vfmaddsubXXXpd-1.c: Ditto.
        * gcc.target/i386/avx512f-vfmaddsubXXXps-1.c: Ditto.
        * gcc.target/i386/avx512f-vfmsubXXXpd-1.c: Ditto.
        * gcc.target/i386/avx512f-vfmsubXXXps-1.c: Ditto.
        * gcc.target/i386/avx512f-vfmsubXXXsd-1.c: Ditto.
        * gcc.target/i386/avx512f-vfmsubXXXss-1.c: Ditto.
        * gcc.target/i386/avx512f-vfmsubaddXXXpd-1.c: Ditto.
        * gcc.target/i386/avx512f-vfmsubaddXXXps-1.c: Ditto.
        * gcc.target/i386/avx512f-vfnmaddXXXpd-1.c: Ditto.
        * gcc.target/i386/avx512f-vfnmaddXXXps-1.c: Ditto.
        * gcc.target/i386/avx512f-vfnmaddXXXsd-1.c: Ditto.
        * gcc.target/i386/avx512f-vfnmaddXXXss-1.c: Ditto.
        * gcc.target/i386/avx512f-vfnmsubXXXpd-1.c: Ditto.
        * gcc.target/i386/avx512f-vfnmsubXXXps-1.c: Ditto.
        * gcc.target/i386/avx512f-vfnmsubXXXsd-1.c: Ditto.
        * gcc.target/i386/avx512f-vfnmsubXXXss-1.c: Ditto.
        * gcc.target/i386/avx512f-vmulpd-1.c: Ditto.
        * gcc.target/i386/avx512f-vmulps-1.c: Ditto.
        * gcc.target/i386/avx512f-vmulsd-1.c: Ditto.
        * gcc.target/i386/avx512f-vmulss-1.c: Ditto.
        * gcc.target/i386/avx512f-vscalefpd-1.c: Ditto.
        * gcc.target/i386/avx512f-vscalefps-1.c: Ditto.
        * gcc.target/i386/avx512f-vscalefsd-1.c: Ditto.
        * gcc.target/i386/avx512f-vscalefss-1.c: Ditto.
        * gcc.target/i386/avx512f-vsqrtpd-1.c: Ditto.
        * gcc.target/i386/avx512f-vsqrtps-1.c: Ditto.
        * gcc.target/i386/avx512f-vsqrtsd-1.c: Ditto.
        * gcc.target/i386/avx512f-vsqrtss-1.c: Ditto.
        * gcc.target/i386/avx512f-vsubpd-1.c: Ditto.
        * gcc.target/i386/avx512f-vsubps-1.c: Ditto.
        * gcc.target/i386/avx512f-vsubsd-1.c: Ditto.
        * gcc.target/i386/avx512f-vsubss-1.c: Ditto.
        * gcc.target/i386/sse-13.c: Ditto.
        * gcc.target/i386/sse-14.c: Ditto.
        * gcc.target/i386/sse-22.c: Ditto.
        * gcc.target/i386/sse-23.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207342 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
kyukhin [Fri, 31 Jan 2014 13:19:10 +0000 (13:19 +0000)] 
gcc/
* config/i386/constraints.md (Yk): Swap meaning with k.
* config/i386/i386.md (movhi_internal): Change Yk to k.
(movqi_internal): Ditto.
(*k<logic><mode>): Ditto.
(*andhi_1): Ditto.
(*andqi_1): Ditto.
(kandn<mode>): Ditto.
(*<code>hi_1): Ditto.
(*<code>qi_1): Ditto.
(kxnor<mode>): Ditto.
(kortestzhi): Ditto.
(kortestchi): Ditto.
(kunpckhi): Ditto.
(*one_cmplhi2_1): Ditto.
(*one_cmplqi2_1): Ditto.
* config/i386/sse.md (): Change k to Yk.
(avx512f_load<mode>_mask): Ditto.
(avx512f_blendm<mode>): Ditto.
(avx512f_store<mode>_mask): Ditto.
(avx512f_storeu<ssemodesuffix>512_mask): Ditto.
(avx512f_storedqu<mode>_mask): Ditto.
(avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>): Ditto.
(avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
(avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
(avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
(avx512f_maskcmp<mode>3): Ditto.
(avx512f_fmadd_<mode>_mask<round_name>): Ditto.
(avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
(avx512f_fmsub_<mode>_mask<round_name>): Ditto.
(avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
(avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
(avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
(avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
(avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
(avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
(avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
(avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
(avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
(avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
(vec_extract_lo_<mode>_maskm): Ditto.
(vec_extract_hi_<mode>_maskm): Ditto.
(avx512f_vternlog<mode>_mask): Ditto.
(avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
(avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
(avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
(avx512f_<code>v8div16qi2_mask): Ditto.
(avx512f_<code>v8div16qi2_mask_store): Ditto.
(avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
(avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
(avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
(avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
(*avx512pf_gatherpf<mode>sf_mask): Ditto.
(*avx512pf_gatherpf<mode>df_mask): Ditto.
(*avx512pf_scatterpf<mode>sf_mask): Ditto.
(*avx512pf_scatterpf<mode>df_mask): Ditto.
(avx512cd_maskb_vec_dupv8di): Ditto.
(avx512cd_maskw_vec_dupv16si): Ditto.
(avx512f_vpermi2var<mode>3_maskz): Ditto.
(avx512f_vpermi2var<mode>3_mask): Ditto.
(avx512f_vpermi2var<mode>3_mask): Ditto.
(avx512f_vpermt2var<mode>3_maskz): Ditto.
(*avx512f_gathersi<mode>): Ditto.
(*avx512f_gathersi<mode>_2): Ditto.
(*avx512f_gatherdi<mode>): Ditto.
(*avx512f_gatherdi<mode>_2): Ditto.
(*avx512f_scattersi<mode>): Ditto.
(*avx512f_scatterdi<mode>): Ditto.
(avx512f_compress<mode>_mask): Ditto.
(avx512f_compressstore<mode>_mask): Ditto.
(avx512f_expand<mode>_mask): Ditto.
* config/i386/subst.md (mask): Change k to Yk.
(mask_scalar_merge): Ditto.
(sd): Ditto.

gcc/testsuite/
* gcc.target/i386/avx512f-inline-asm.c: Swap Yk and k.
* gcc.target/i386/avx512f-kmovw-1.c: Also allow k0.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207341 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-31 Marc Glisse <marc.glisse@inria.fr>
glisse [Fri, 31 Jan 2014 12:59:44 +0000 (12:59 +0000)] 
2014-01-31  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* doc/extend.texi (Vector Extensions): Document ?: in C++.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207340 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoFix a typo.
jakub [Fri, 31 Jan 2014 12:52:39 +0000 (12:52 +0000)] 
Fix a typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207339 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-31 Richard Biener <rguenther@suse.de>
rguenth [Fri, 31 Jan 2014 11:54:26 +0000 (11:54 +0000)] 
2014-01-31  Richard Biener  <rguenther@suse.de>

PR middle-end/59990
* builtins.c (fold_builtin_memory_op): Make sure to not
use a floating-point mode or a boolean or enumeral type for
the copy operation.

* gcc.dg/torture/pr59990.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207338 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * lib/tsan-dg.exp (tsan_init): Try to run a trivial program,
jakub [Fri, 31 Jan 2014 11:30:46 +0000 (11:30 +0000)] 
* lib/tsan-dg.exp (tsan_init): Try to run a trivial program,
if it fails don't run any tsan tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207337 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c/59963
mpolacek [Fri, 31 Jan 2014 08:13:50 +0000 (08:13 +0000)] 
PR c/59963
c-family/
* c-common.c (add_atomic_size_parameter): Pass vNULL to
build_function_call_vec.
(resolve_overloaded_builtin): Likewise.
* c-common.h (build_function_call_vec): Adjust declaration.
cp/
* typeck.c (build_function_call_vec): Add dummy arg_loc parameter.
c/
* c-typeck.c (convert_lvalue_to_rvalue): Pass vNULL to
build_function_call_vec.
(build_function_call): Likewise.
(build_atomic_assign): Likewise.
(build_function_call_vec): Add arg_loc parameter.  Use it.
(convert_arguments): Likewise.
(convert_for_assignment): Rename rhs_loc to expr_loc.
* c-parser.c (c_parser_attributes): Pass NULL to c_parser_expr_list.
(c_parser_objc_keywordexpr): Likewise.
(c_parser_postfix_expression_after_primary): Call
build_function_call_vec with expr_loc rather than op_loc.
Call c_parser_expr_list to fill arg_loc.  Pass arg_loc to
build_function_call_vec.
(c_parser_expr_list): Add locations parameter.  Fill it with locations
of function arguments.
* c-decl.c (finish_decl): Pass vNULL to build_function_call_vec.
objc/
* objc-next-runtime-abi-02.c (build_throw_stmt): Pass vNULL to
build_function_call_vec.
(finish_catch): Likewise.
(next_runtime_abi_02_get_class_reference): Likewise.
* objc-next-runtime-abi-01.c (build_objc_method_call): Pass vNULL to
build_function_call_vec.
(build_throw_stmt): Likewise.
* objc-gnu-runtime-abi-01.c: (build_objc_method_call): Pass vNULL to
build_function_call_vec.
(build_throw_stmt): Likewise.
testsuite/
* gcc.dg/pr59940.c (g): Adjust dg-warning.
(y): Adjust dg-error.
* gcc.dg/cast-function-1.c (bar): Adjust dg-warnings.
* gcc.dg/pr59963-1.c: New test.
* gcc.dg/pr59963-2.c: New test.
* gcc.dg/pr59963-3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207335 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago* config/msp430/msp430.h (LIB_SPEC): Add -lcrt
dj [Fri, 31 Jan 2014 04:17:38 +0000 (04:17 +0000)] 
* config/msp430/msp430.h (LIB_SPEC): Add -lcrt
* config/msp430/msp430.md (msp430_refsym_need_exit): New.
* config/msp430/msp430.c (msp430_expand_epilogue): Call it
whenever main() has an epilogue.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207334 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/57899
jason [Fri, 31 Jan 2014 03:47:22 +0000 (03:47 +0000)] 
PR c++/57899
* cp-tree.h (struct saved_scope): Add x_local_specializations.
(local_specializations): New macro.
* pt.c (local_specializations): Remove variable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207332 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agocompiler: Use backend interface for conditional expressions.
ian [Fri, 31 Jan 2014 01:58:12 +0000 (01:58 +0000)] 
compiler: Use backend interface for conditional expressions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207330 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Fri, 31 Jan 2014 00:16:31 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207329 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Thu, 30 Jan 2014 22:36:13 +0000 (22:36 +0000)] 
2014-01-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
unused variable "field".
* config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
(vsx_mergeh_<mode>): Likewise.
* config/rs6000/altivec.md (altivec_vmrghb): Likewise.
(altivec_vmrghh): Likewise.
(altivec_vmrghw): Likewise.
(altivec_vmrglb): Likewise.
(altivec_vmrglh): Likewise.
(altivec_vmrglw): Likewise.
(altivec_vspltb): Add missing uses.
(altivec_vsplth): Likewise.
(altivec_vspltw): Likewise.
(altivec_vspltsf): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207326 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/59923
jakub [Thu, 30 Jan 2014 21:48:08 +0000 (21:48 +0000)] 
PR target/59923
* ifcvt.c (cond_exec_process_insns): Don't conditionalize
frame related instructions.

* gcc.target/arm/pr59923.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207324 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-30 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Thu, 30 Jan 2014 21:15:51 +0000 (21:15 +0000)] 
2014-01-30  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/59959
* lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
any reload of register whose subreg is invalid.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207323 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing
jakub [Thu, 30 Jan 2014 20:05:32 +0000 (20:05 +0000)] 
* config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing
warning.
* config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
Add missing return type - void.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207321 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/cp/
rsandifo [Thu, 30 Jan 2014 19:44:06 +0000 (19:44 +0000)] 
gcc/cp/
PR c++/58708
* parser.c (make_string_pack): Use double_int::from_buffer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207320 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc:
wschmidt [Thu, 30 Jan 2014 18:59:55 +0000 (18:59 +0000)] 
gcc:

2014-01-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
remove element index adjustment for endian (now handled in vsx.md
and altivec.md).
(altivec_expand_vec_perm_const): Use
gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
* gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
(vsx_xxspltw_<mode>): Adjust element index for little endian.
* gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
define_expand and a new define_insn *altivec_vspltb_internal;
adjust for -maltivec=be on a little endian target.
(altivec_vspltb_direct): New.
(altivec_vsplth): Divide into a define_expand and a new
define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
little endian target.
(altivec_vsplth_direct): New.
(altivec_vspltw): Divide into a define_expand and a new
define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
little endian target.
(altivec_vspltw_direct): New.
(altivec_vspltsf): Divide into a define_expand and a new
define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
a little endian target.

gcc/testsuite:

2014-01-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.dg/vmx/splat.c: New.
* gcc.dg/vmx/splat-vsx.c: New.
* gcc.dg/vmx/splat-be-order.c: New.
* gcc.dg/vmx/splat-vsx-be-order.c: New.
* gcc.dg/vmx/eg-5.c: Remove special casing for little endian.
* gcc.dg/vmx/sn7153.c: Add special casing for little endian.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207318 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-30 Richard Biener <rguenther@suse.de>
rguenth [Thu, 30 Jan 2014 18:28:19 +0000 (18:28 +0000)] 
2014-01-30  Richard Biener  <rguenther@suse.de>

PR tree-optimization/59993
* tree-ssa-forwprop.c (associate_pointerplus): Check we
can propagate form the earlier stmt and avoid the transform
when the intermediate result is needed.

* gcc.dg/torture/pr59993.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207316 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/testsuite/
rsandifo [Thu, 30 Jan 2014 18:18:21 +0000 (18:18 +0000)] 
gcc/testsuite/
* g++.dg/vect/pr33426-ivdep.cc, g++.dg/vect/pr33426-ivdep-2.cc,
g++.dg/vect/pr33426-ivdep-3.cc, g++.dg/vect/pr33426-ivdep-4.cc,
gcc.dg/vect/vect-ivdep-1.c, gcc.dg/vect/vect-ivdep-2.c: Require
vect_int rather than vect_float.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207315 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-30 Alangi Derick <alangiderick@gmail.com>
paolo [Thu, 30 Jan 2014 17:29:25 +0000 (17:29 +0000)] 
2014-01-30  Alangi Derick  <alangiderick@gmail.com>

* README.Portability: Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207314 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * gcc.dg/Wconversion-real-integer.c: Properly end comment.
mpolacek [Thu, 30 Jan 2014 17:24:19 +0000 (17:24 +0000)] 
* gcc.dg/Wconversion-real-integer.c: Properly end comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207312 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoAdd SImode to comparison operator, prevents ICE during combine
eager [Thu, 30 Jan 2014 17:18:17 +0000 (17:18 +0000)] 
Add SImode to comparison operator, prevents ICE during combine
rtl pass with error message;

internal compiler error: in simplify_subreg, at simplify-rtx.c:5725

Use ordered_comparison_operator predicate to limit operators to
those fcmp can handle, and letting compiler reorder insns to
accomodate unordered as necessary

gcc/ChangeLog

2013-11-26  David Holsgrove <david.holsgrove@xilinx.com>

 * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
   comparison_operator with ordered_comparison_operator.

testsuite/ChangeLog

2014-01-22  David holsgrove <david.holsgrove@xilinx.com>

 * testsuite/gcc.target/microblaze/isa/fcmp4.c: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207311 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
nickc [Thu, 30 Jan 2014 16:22:58 +0000 (16:22 +0000)] 
* config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
Rename to mn10300_store_multiple_regs.
* config/mn10300/mn10300.c: Likewise.
* config/mn10300/mn10300.md (store_movm): Fix typo: call
store_multiple_regs.
* config/mn10300/predicates.md (mn10300_store_multiple_operation):
Call mn10300_store_multiple_regs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207310 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c/59940
mpolacek [Thu, 30 Jan 2014 16:15:36 +0000 (16:15 +0000)] 
PR c/59940
c-family/
* c-common.h (unsafe_conversion_p): Adjust declaration.
(warnings_for_convert_and_check): Likewise.
(convert_and_check): Likewise.
* c-common.c (unsafe_conversion_p): Add location parameter.  Call
expansion_point_location_if_in_system_header on it.
(warnings_for_convert_and_check): Add location parameter.  Call
expansion_point_location_if_in_system_header on it.  Use it.
(convert_and_check): Add location parameter.  Use it.
(conversion_warning): Likewise.
(c_add_case_label): Adjust convert_and_check calls.
(scalar_to_vector): Adjust unsafe_conversion_p calls.
cp/
* typeck.c (build_ptrmemfunc1): Call convert_and_check with
input_location.
* cvt.c (cp_convert_and_check): Call warnings_for_convert_and_check
with input_location.
* call.c (build_conditional_expr_1): Call unsafe_conversion_p with
loc parameter.
c/
* c-typeck.c (build_function_call_vec): Use loc parameter.
(convert_arguments): Add location parameter.  Use it.
(ep_convert_and_check): Likewise.
(build_atomic_assign): Adjust convert_for_assignment call.
(build_modify_expr): Likewise.
(digest_init): Likewise.
(c_finish_return): Likewise.
(build_conditional_expr): Adjust ep_convert_and_check calls.
(convert_for_assignment): Add rhs_loc parameter.  Use it.
(build_binary_op): Adjust convert_and_check and ep_convert_and_check
calls.
testsuite/
* gcc.dg/pr59940.c: New test.
* gcc.dg/pr35635.c (func3): Move dg-warning.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207309 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/rl78/rl78.c (register_sizes): Make the "upper half" of
nickc [Thu, 30 Jan 2014 16:01:43 +0000 (16:01 +0000)] 
* config/rl78/rl78.c (register_sizes): Make the "upper half" of
%fp 2 to keep registers after it properly word-aligned.
(rl78_alloc_physical_registers_umul): Handle the case where both
input operands are the same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207308 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-30 Richard Biener <rguenther@suse.de>
rguenth [Thu, 30 Jan 2014 15:30:30 +0000 (15:30 +0000)] 
2014-01-30  Richard Biener  <rguenther@suse.de>

PR tree-optimization/59903
* tree-vect-loop.c (vect_transform_loop): Guard multiple-types
check properly.

* gcc.dg/torture/pr59903.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207307 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago/cp
paolo [Thu, 30 Jan 2014 14:32:25 +0000 (14:32 +0000)] 
/cp
2014-01-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58843
* typeck.c (lookup_destructor): Check dtor_type for error_mark_node.

/testsuite
2014-01-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58843
* g++.dg/lookup/crash8.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207305 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago/cp
paolo [Thu, 30 Jan 2014 14:28:55 +0000 (14:28 +0000)] 
/cp
2014-01-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58649
* pt.c (lookup_template_class_1): Check start_enum return value
for error_mark_node.

/testsuite
2014-01-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58649
* g++.dg/template/crash117.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207304 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-30 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 30 Jan 2014 14:26:51 +0000 (14:26 +0000)] 
2014-01-30  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (duplicate_decls, typename_hash, typename_compare):
Use TYPE_IDENTIFIER.
* error.c (dump_type): Likewise.
* mangle.c (dump_substitution_candidates): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207303 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/59633
jason [Thu, 30 Jan 2014 14:21:31 +0000 (14:21 +0000)] 
PR c++/59633
gcc/
* tree.c (walk_type_fields): Handle VECTOR_TYPE.
gcc/cp/
* decl2.c (attributes_naming_typedef_ok): New.
* cp-tree.h: Declare it.
* decl.c (grokdeclarator): Check it.
* tree.c (no_linkage_check): Handle VECTOR_TYPE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207302 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/59645
jason [Thu, 30 Jan 2014 14:18:15 +0000 (14:18 +0000)] 
PR c++/59645
* cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207301 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-30 Richard Biener <rguenther@suse.de>
rguenth [Thu, 30 Jan 2014 14:17:02 +0000 (14:17 +0000)] 
2014-01-30  Richard Biener  <rguenther@suse.de>

PR c/59905
* c-typeck.c (build_function_call_vec): Do not replace calls
to a function via an incompatible type with a runtime abort.

* gcc.dg/cast-function-1.c: Adjust to survive DCE.
* gcc.dg/call-diag-2.c: Remove expected warnings about calling
abort.
* gcc.dg/invalid-call-1.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207300 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-30 Richard Biener <rguenther@suse.de>
rguenth [Thu, 30 Jan 2014 11:58:16 +0000 (11:58 +0000)] 
2014-01-30  Richard Biener  <rguenther@suse.de>

PR tree-optimization/59951
* tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug
insns.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207299 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-30 Savin Zlobec <savin.zlobec@gmail.com>
cltang [Thu, 30 Jan 2014 05:51:30 +0000 (05:51 +0000)] 
2014-01-30  Savin Zlobec  <savin.zlobec@gmail.com>

PR target/59784
* config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
SFmode to DFmode case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207297 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/59707
jason [Thu, 30 Jan 2014 05:28:52 +0000 (05:28 +0000)] 
PR c++/59707
* call.c (add_builtin_candidate): Catch dependent types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207295 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago* config/msp430/msp430.opt (-minrt): New.
dj [Thu, 30 Jan 2014 02:57:41 +0000 (02:57 +0000)] 
* config/msp430/msp430.opt (-minrt): New.
* config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
if -minrt given.
(ENDFILE_SPEC): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207294 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Thu, 30 Jan 2014 00:16:45 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207292 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR libstdc++/57226
redi [Wed, 29 Jan 2014 23:46:31 +0000 (23:46 +0000)] 
PR libstdc++/57226
* doc/xml/manual/debug.xml (debug.gdb): Update documentation for
installation and use of python printers.
* doc/xml/manual/status_cxx2011.xml: Update.
* doc/html/*: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207288 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
hubicka [Wed, 29 Jan 2014 22:50:22 +0000 (22:50 +0000)] 
* ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
(estimate_function_body_sizes): Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207287 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/59989
jason [Wed, 29 Jan 2014 22:12:09 +0000 (22:12 +0000)] 
PR c++/59989
* pt.c (expand_template_argument_pack): Correct
non_default_args_count calculation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207285 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/58466
jason [Wed, 29 Jan 2014 20:54:21 +0000 (20:54 +0000)] 
PR c++/58466
* pt.c (unify_pack_expansion): Call expand_template_argument_pack.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207283 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Wed, 29 Jan 2014 20:54:09 +0000 (20:54 +0000)] 
2014-01-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58561
* dwarf2out.c (is_cxx_auto): New.
(is_base_type): Use it.
(gen_type_die_with_usage): Likewise.

/testsuite
2014-01-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58561
* g++.dg/cpp1y/auto-fn23.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207282 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/59956
jason [Wed, 29 Jan 2014 20:44:50 +0000 (20:44 +0000)] 
PR c++/59956
* friend.c (do_friend): Pass the TEMPLATE_DECL to add_friend if we
have a friend template in a class template.
* pt.c (tsubst_friend_function): Look through it.
(push_template_decl_real): A friend member template is
primary.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207281 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR libstdc++/21609
redi [Wed, 29 Jan 2014 20:43:44 +0000 (20:43 +0000)] 
PR libstdc++/21609
* include/ext/array_allocator.h: Add deprecated attribute.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207280 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago/cp
paolo [Wed, 29 Jan 2014 17:58:37 +0000 (17:58 +0000)] 
/cp
2014-01-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58846
* decl.c (get_dso_handle_node): Don't crash if dso_handle_node
== error_mark_node.

/testsuite
2014-01-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58846
* g++.dg/init/dso_handle2.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207276 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago/cp
paolo [Wed, 29 Jan 2014 17:54:51 +0000 (17:54 +0000)] 
/cp
2014-01-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58674
* pt.c (instantiate_template_1): Check for error_mark_node the second
argument too.

/testsuite
2014-01-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58674
* g++.dg/cpp0x/pr58674.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207275 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/testsuite/
kyukhin [Wed, 29 Jan 2014 17:35:19 +0000 (17:35 +0000)] 
gcc/testsuite/

        PR target/59617
* gcc.target/i386/avx512f-gather-2.c: Remove XPASS.
* gcc.target/i386/avx512f-gather-5.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207274 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * g++.dg/parse/enum5.C: Allow for -fshort-enums.
jason [Wed, 29 Jan 2014 17:13:16 +0000 (17:13 +0000)] 
* g++.dg/parse/enum5.C: Allow for -fshort-enums.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207273 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * g++.dg/debug/dwarf2/auto1.C: Handle other comment characters.
jason [Wed, 29 Jan 2014 17:13:09 +0000 (17:13 +0000)] 
* g++.dg/debug/dwarf2/auto1.C: Handle other comment characters.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207272 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/59916
jason [Wed, 29 Jan 2014 17:13:01 +0000 (17:13 +0000)] 
PR c++/59916
* optimize.c (maybe_thunk_body): Build a RETURN_EXPR for
cdtor_returns_this case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207271 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-29 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Wed, 29 Jan 2014 16:23:31 +0000 (16:23 +0000)] 
2014-01-29  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb (Get_Pragma): Handle the retrieval of pragma Refined_Post.
* einfo.ads (Get_Pragma): Update the comment on special pragmas
handled by this routine.
* sem_prag.adb (Analyze_Pragma): Add a legal pragma Refined_Post
to the contract of the related subprogram body.
* sem_util.adb (Add_Contract_Item): Handle the insertion of
pragma Refined_Post into the contract of a subprogram body.
* sinfo.ads Update the documentation of node N_Contract.
* sem_res.adb (Resolve_Entity_Name): Add a guard
to detect abstract states and variables only when checking the
SPARK 2014 rules concerning volatile object placement.

2014-01-29  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Find_Equality_Types, Try_One_Interp): within an instance,
null is compatible with any access type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207269 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-29 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Wed, 29 Jan 2014 16:21:25 +0000 (16:21 +0000)] 
2014-01-29  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_util.adb (Find_Placement_In_State_Space): Assume that the default
placement is not in a package.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207268 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-29 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Wed, 29 Jan 2014 16:19:53 +0000 (16:19 +0000)] 
2014-01-29  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_util.adb (Has_Enabled_Property): Compare the character field of
the sole property.

2014-01-29  Robert Dewar  <dewar@adacore.com>

* sem_intr.adb, a-ztexio.ads, sinfo.ads, sem_res.adb, gnatlink.adb,
vms_conv.adb, a-except.ads, a-except-2005.ads, a-teioed.adb,
sem_warn.ads, treepr.ads, erroutc.ads, a-excach.adb: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207267 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-29 Robert Dewar <dewar@adacore.com>
charlet [Wed, 29 Jan 2014 16:17:48 +0000 (16:17 +0000)] 
2014-01-29  Robert Dewar  <dewar@adacore.com>

* sem_util.ads, sem_util.adb (In_Pragma_Expression): New function.
* sem_warn.adb (Check_References): Suppress warnings if inside
Initial_Condition pragma.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207266 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-29 Yury Gribov <y.gribov@samsung.com>
ygribov [Wed, 29 Jan 2014 16:17:22 +0000 (16:17 +0000)] 
2014-01-29  Yury Gribov  <y.gribov@samsung.com>

* mklog: Improve support of context diffs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207265 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoUpdate comments.
charlet [Wed, 29 Jan 2014 16:16:51 +0000 (16:16 +0000)] 
Update comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207264 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoCode clean up.
charlet [Wed, 29 Jan 2014 16:16:34 +0000 (16:16 +0000)] 
Code clean up.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207263 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc:
wschmidt [Wed, 29 Jan 2014 16:12:28 +0000 (16:12 +0000)] 
gcc:

2014-01-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (altivec_expand_vec_perm_const):  Use
CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
* config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
-maltivec=be with LE targets.
(vsx_mergeh_<mode>): Likewise.
* config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New
unspecs.
(mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
(altivec_vmrghb): Replace with define_expand and new
*altivec_vmrghb_internal insn; adjust for -maltivec=be with LE
targets.
(altivec_vmrghb_direct): New define_insn.
(altivec_vmrghh): Replace with define_expand and new
*altivec_vmrghh_internal insn; adjust for -maltivec=be with LE
targets.
(altivec_vmrghh_direct): New define_insn.
(altivec_vmrghw): Replace with define_expand and new
*altivec_vmrghw_internal insn; adjust for -maltivec=be with LE
targets.
(altivec_vmrghw_direct): New define_insn.
(*altivec_vmrghsf): Adjust for endianness.
(altivec_vmrglb): Replace with define_expand and new
*altivec_vmrglb_internal insn; adjust for -maltivec=be with LE
targets.
(altivec_vmrglb_direct): New define_insn.
(altivec_vmrglh): Replace with define_expand and new
*altivec_vmrglh_internal insn; adjust for -maltivec=be with LE
targets.
(altivec_vmrglh_direct): New define_insn.
(altivec_vmrglw): Replace with define_expand and new
*altivec_vmrglw_internal insn; adjust for -maltivec=be with LE
targets.
(altivec_vmrglw_direct): New define_insn.
(*altivec_vmrglsf): Adjust for endianness.
(vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
(vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
(vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
(vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
(vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
(vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
(vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
(vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.

gcc/testsuite:

2014-01-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.dg/vmx/merge-be-order.c: New.
* gcc.dg/vmx/merge.c: New.
* gcc.dg/vmx/merge-vsx-be-order.c: New.
* gcc.dg/vmx/merge-vsx.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207262 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-29 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Wed, 29 Jan 2014 16:10:44 +0000 (16:10 +0000)] 
2014-01-29  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Check_Missing_Part_Of): List all values of
State_Space_Kind for readability reasons. Do not emit an error on
a private item when the enclosing package lacks aspect/pragma
Abstract_State. Do not emit an error on a private package
instantiation when the corresponding generic template lacks
visible state.
(Has_Visible_State): New routine.
* sem_util.adb (Find_Placement_In_State_Space): The visible
declarations of any kind of child units in general act as proper
placement location.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207261 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-29 Robert Dewar <dewar@adacore.com>
charlet [Wed, 29 Jan 2014 15:53:48 +0000 (15:53 +0000)] 
2014-01-29  Robert Dewar  <dewar@adacore.com>

* a-except-2005.adb, a-except.adb, a-excpol-abort.adb, a-exstat.adb,
ali.adb, a-numaux.ads, a-numaux-darwin.ads, a-numaux-libc-x86.ads,
a-numaux-vms.ads, a-numaux-vxworks.ads, a-numaux-x86.ads, aspects.ads,
a-taside.adb, a-teioed.adb, a-textio.adb, a-textio.ads, atree.adb,
atree.ads, a-witeio.adb, a-witeio.ads, a-wtedit.adb, a-ztedit.adb,
a-ztexio.adb, bcheck.adb, binde.adb, checks.adb, comperr.adb,
cstand.adb, debug_a.adb, einfo.ads, errout.adb, erroutc.adb,
eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb, exp_ch3.adb,
exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb, exp_dbug.adb,
exp_disp.adb, exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_util.adb,
freeze.adb, frontend.adb, g-comlin.ads, g-mbdira.adb, gnat1drv.adb,
gprep.adb, g-spipat.adb, i-cpp.ads, i-vxwork.ads, i-vxwork-x86.ads,
krunch.ads, layout.adb, lib-load.adb, lib-writ.adb, lib-writ.ads,
live.adb, namet.ads, osint.adb, osint-c.adb, output.ads, par.adb,
par-ch10.adb, par-ch13.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-prag.adb,
par-sync.adb, par-tchk.adb, par-util.adb, prj.adb, repinfo.adb,
rtsfind.adb, s-arit64.adb, s-asthan-vms-alpha.adb,
s-asthan-vms-ia64.adb, s-bignum.adb, scans.adb, scng.adb, s-dimmks.ads,
sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_cat.adb, sem_ch10.adb,
sem_ch12.adb, sem_ch13.adb, sem_ch13.ads, sem_ch3.adb, sem_ch4.adb,
sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_disp.adb, sem_elab.adb,
sem_elim.adb, sem_eval.adb, sem_intr.adb, sem_prag.adb, sem_res.adb,
sem_type.adb, sem_util.adb, sem_warn.adb, set_targ.adb, s-fatgen.adb,
s-fatgen.ads, s-fileio.adb, s-imgcha.adb, s-imgrea.adb, sinfo.ads,
sinput-c.adb, snames.ads-tmpl, s-os_lib.adb, sprint.adb,
s-regpat.adb, s-secsta.adb, s-stalib.ads,
s-stchop.adb, s-stoele.ads, stand.ads, s-taprop-solaris.adb,
s-tasdeb-vms.adb, s-tasini.adb, s-tassta.adb, s-valdec.adb,
s-valuti.adb, s-wchjis.adb, s-wchwts.adb, system.ads, system-vms_64.ads,
system-vms-ia64.ads, treepr.adb, types.ads, uintp.adb, uname.adb,
urealp.adb, usage.adb, vxaddr2line.adb: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207260 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago[AArch64] Fix sfp-machine.h _FP_I_TYPE.
mshawcroft [Wed, 29 Jan 2014 15:45:20 +0000 (15:45 +0000)] 
[AArch64] Fix sfp-machine.h _FP_I_TYPE.

2014-01-29  Marcus Shawcroft  <marcus.shawcroft@arm.com>

* config/aarch64/sfp-machine.h (_FP_I_TYPE): Define
as long long.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207259 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago[AArch64] Fix various white space issues.
mshawcroft [Wed, 29 Jan 2014 15:42:37 +0000 (15:42 +0000)] 
[AArch64] Fix various white space issues.

2014-01-29  Marcus Shawcroft  <marcus.shawcroft@arm.com>

* config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
(aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
whitespace.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207258 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-29 Robert Dewar <dewar@adacore.com>
charlet [Wed, 29 Jan 2014 15:39:03 +0000 (15:39 +0000)] 
2014-01-29  Robert Dewar  <dewar@adacore.com>

* expander.adb: Minor reformatting.

2014-01-29  Javier Miranda  <miranda@adacore.com>

* exp_ch3.adb (Predefined_Primitive_Bodies): Adding documentation to
previous patch.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207257 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-29 Javier Miranda <miranda@adacore.com>
charlet [Wed, 29 Jan 2014 15:37:54 +0000 (15:37 +0000)] 
2014-01-29  Javier Miranda  <miranda@adacore.com>

* exp_ch3.adb (Predefined_Primitive_Bodies): Complete the code
that checks if an interface types defines the predefined "="
function because the compiler was erroneously not generating the
predefined "=" primitive as soon as the name of some interface
primitive is "=" (formals were not checked).

2014-01-29  Ed Schonberg  <schonberg@adacore.com>

* expander.adb (Expander): In GNATprove mode, do not process
transient scopes: they are in general not created in this mode,
and an attempt to examine them will lead to constraint errors when
processing configuration pragmas that have analyzable expressions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207256 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-29 Vincent Celier <celier@adacore.com>
charlet [Wed, 29 Jan 2014 15:36:37 +0000 (15:36 +0000)] 
2014-01-29  Vincent Celier  <celier@adacore.com>

* clean.adb (Gnatclean): Fail if main project is an aggregate
project or if there is an aggregate library project in the
project tree.
* gnatcmd.adb: Fail if the main project is an aggregate project
or if there is an aggegate library project in the project tree.
* make.adb (Initialize): : Fail if main project is an aggregate
project or if there is an aggregate library project in the
project tree.
* makeutl.ads (Aggregate_Libraries_In): New Boolean function.
* prj-makr.adb (Initialize): Fail if the main project is an
aggregate project or an aggregate library project.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207255 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-29 Vincent Celier <celier@adacore.com>
charlet [Wed, 29 Jan 2014 15:35:09 +0000 (15:35 +0000)] 
2014-01-29  Vincent Celier  <celier@adacore.com>

* prj-part.adb (Check_Import_Aggregate): New procedure
to check if an imported project is an aggregate project.
(Parse_Single_Project): Call Check_Import_Aggregate
* projects.texi: Document that aggregate projects cannot be
extended or imported.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207254 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-29 Robert Dewar <dewar@adacore.com>
charlet [Wed, 29 Jan 2014 15:34:14 +0000 (15:34 +0000)] 
2014-01-29  Robert Dewar  <dewar@adacore.com>

* exp_ch9.adb, sem_ch7.ads, s-regexp.adb, sem_ch13.adb: Minor
reformatting and code clean up.
* gnat_ugn.texi: Add documentation section on Atomic Variables
and Optimization.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207253 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-29 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Wed, 29 Jan 2014 15:32:42 +0000 (15:32 +0000)] 
2014-01-29  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb Flag264 is now unused.
(Has_Body_References): Removed.
(Set_Has_Body_References): Removed.
(Write_Entity_Flags): Remove the output for flag Has_Body_References.
* einfo.ads Update the comment on usage of attribute
Body_References. Remove attribute Has_Body_References and its
usage in nodes.
(Has_Body_References): Removed along with pragma Inline.
(Set_Has_Body_References): Removed along with pragma Inline.
* sem_prag.adb (Analyze_Global_Item): Move the call to
Record_Possible_Body_Reference in the state related checks
section. Add a comment intended function.
(Analyze_Input_Output): Move the call to Record_Possible_Body_Reference
in the state related checks section. Add a comment intended function.
(Analyze_Refinement_Clause): Cleanup the illegal body reference
reporting. Add a comment on timing of error reporting.
(Record_Possible_Body_Reference): Reimplement the routine.

2014-01-29  Vincent Celier  <celier@adacore.com>

* makeutl.adb (Mains.Find_File_Add_Extension): Only look for specs for
unit-based languages.
(Mains.Complete_Mains.Do_Complete): Use the source file project
tree when calling Find_File_Add_Extension. Use the correct
project name when reporting an error.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207252 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-29 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Wed, 29 Jan 2014 15:30:21 +0000 (15:30 +0000)] 
2014-01-29  Hristian Kirtchev  <kirtchev@adacore.com>

* aspects.adb Add an entry for aspect Part_Of in table
Canonical_Aspect.
* aspects.ads Add an entry for aspect Part_Of in tables Aspect_Id,
Aspect_Argument, Aspect_Names and Aspect_Delay.
* atree.h Define Elist9.
* atree.adb (Elist9): New routine.
(Set_Elist9): New routine.
* atree.ads (Elist9): New routine.
(Set_Elist9): New routine.
* einfo.adb Add Part_Of_Constituents and Encapsulating_State to
the list of node usage.  Remove Refined_State from the list of
node usage.
(Encapsulating_State): New routine.
(Get_Pragma):
Handle pragma Part_Of; (Part_Of_Constituents): New routine.
(Refined_State): Removed.
(Set_Encapsulating_State): New routine.
(Set_Part_Of_Constituents): New routine.
(Set_Refined_State): Removed.
(Write_Field9_Name): Add an entry
for Part_Of_Constituents (Write_Field10_Name): Add an entry for
Encapsulating_State. Remove the entry for Refined_State.
* einfo.ads Add new attributes Encapsulating_State
and Part_Of_Constituents alond with their usage in
entities. Remove attribute Refined_State along with its
usage in entities.
(Encapsulating_State): New routine and
pragma Inline. (Get_Pragma): Update the comment on usage.
(Part_Of_Constituents): New routine and pragma Inline.
(Refined_State): Removed along with pragma Inline.
(Set_Encapsulating_State): New routine and pragma Inline.
(Set_Part_Of_Constituents): New routine and pragma Inline.
(Set_Refined_State): Removed along with pragma Inline.
* par-prag.adb Pragma Part_Of does not need any special processing
by the parser.
* sem_ch3.adb (Analyze_Declarations): Remove local variables
Body_Id and Prag. Call separate routines to analyze the
contract of a package [body].
(Analyze_Object_Contract):
Update the comment on usage. Remove local variables
Items and Nam. Use Get_Pragma rather than traversing the
classification list.  Verify whether the lack of indicator
Part_Of agrees with the placement of the variable in state space.
(Analyze_Object_Declaration): Initialize the encapsulating state
of a variable. (Requires_State_Refinement): Moved to sem_util.
* sem_ch7.adb (Analyze_Package_Body_Contract): New routine.
(Analyze_Package_Contract): New routine.
* sem_ch7.ads (Analyze_Package_Body_Contract): New routine.
(Analyze_Package_Contract): New routine.
* sem_ch10.adb (Decorate_State): Initialize the encapsulating
state and Part_Of constituents.
* sem_ch13.adb (Analyze_Aspect_Specifications):
Add processing for aspect Part_Of. Update all
calls to Decorate_Delayed_Aspect_And_Pragma.
(Check_Aspect_At_Freeze_Point): Aspect Part_Of does
not need any special processing at freeze time.
(Decorate_Delayed_Aspect_And_Pragma): Renamed to
Decorate_Aspect_And_Pragma.  Add formal parameter Delayed and
update the associated comment.
* sem_prag.adb Add an entry for pragma Part_Of in table Sig_Flags.
(Analyze_Abstract_State): Add new global variable State_Id. Remove
local constants Errors and Loc. Remove local variables Is_Null
and State_Nam. Create the entity of the abstract state on the
spot, before all remaining checks are performed. Verify that a
missing Part_Of option agrees with the placement of the abstract
state within the state space.
(Analyze_Depends_In_Decl_Part):
Add new global variables Constits_Seen and States_Seen. Check
that a state and a corresponding constituent do not appear
in pragma [Refined_]Depends.
(Analyze_Global_In_Decl_Part):
Add new global variables Constits_Seen and States_Seen. Check
that a state and a corresponding constituent do not appear
in pragma [Refined_]Global.
(Analyze_Global_Item):
Remove the now obsolete code that deals with Part_Of.
Add the entity of the global item to the list of processed
items. (Analyze_Initializes_In_Decl_Part): Add new global
variables Constits_Seen and States_Seen. Check that a state
and a corresponding constituent do not appear in pragma
Initializes.
(Analyze_Initialization_Item): Add the entity
of the initialization item to the list of processed items.
(Analyze_Input_Item): Add the entity of the initialization
item to the list of processed items.
(Analyze_Input_Output):
Remove the now obsolete code that deals with Part_Of.  Add the
entity of the input/output to the list of processed items.
(Analyze_Part_Of): New routine.
(Analyze_Part_Of_Option): Remove
local constant Par_State. Add local constant Encaps and local
variables Encaps_Id and Legal. Use Analyze_Part of to analyze
the option. Turn the related state into a Part_Of constituent
if the option is legal.
(Analyze_Pragma): Add processing
for pragma Part_Of.
(Analyze_Refined_State_In_Decl_Part):
Remove global constants Pack_Body and Spec_Id. Remove
global variables Abstr_States and Hidden_States. Add new
global variables Available_States, Body_Id, Body_States and
Spec_Id. Add new local constant Body_Decl. Reimplement the
logic that extracts the states available for refinement from
the related package and the body hidden states of the said
package.
(Analyze_Refinement_Clause): Add local variable Part_Of_Constits.
(Check_Applicable_Policy): Alphabetize body.
(Check_Dependency_Clause): Replace Refined_State
with Encapsulating_State.
(Check_Matching_Constituent):
Reimplement the logic that determines whether an item is a valid
/ invalid constituent of the current refined state. Return when
a construct does not denote a valid abstract state. Extract the
list of Part_Of constituents for further analysis. Check that all
Part_Of constituents of a state have been used in its refinement.
(Check_Matching_State): Update the comment on usage. Operate
on the list of available states.
(Check_Missing_Part_Of): New routine.
(Check_Refined_Global_Item): Replace Refined_State
with Encapsulating_State.
(Check_State_And_Constituent_Use): New routine.
(Create_Abstract_State): New routine.
(Is_Matching_Input): Replace Refined_State with Encapsulating_State.
(Is_Part_Of): Removed.
(Collect_Body_States): New routine.
(Collect_Constituent): Replace Refined_State with Encapsulating_State.
(Collect_Hidden_States): Removed.
(Report_Unrefined_States): Change the profile of the procedure along
with the comment on usage.
(Report_Unused_Constituents): New routine.
(Report_Unused_Hidden_States): Removed.
(Report_Unused_States): New routine.
* sem_prag.ads (Check_Missing_Part_Of): New routine.
* sem_util.adb (Add_Contract_Item): Pragma Part_Of can now
appear in the classification pragmas of a package instantiation
or a variable.
(Find_Placement_In_State_Space): New routine.
(Is_Child): Removed.
(Is_Child_Or_Sibling): Remove formal
parameter Private_Child. Remove the private child checks.
(Requires_State_Refinement): Moved from sem_ch3.
* sem_util.ads Add new type State_Space_Kind along with
comment on its usage and values.
(Add_Contract_Item): Update the comment on usage.
(Find_Body_Discriminal): Alphabetize spec.
(Find_Placement_In_State_Space): New routine.
(Is_Child_Or_Sibling): Remove formal parameter Private_Child
and update the comment on usage.
(Requires_State_Refinement): Moved from sem_ch3.
* sinfo.ads: Update the documentation of N_Contract.
* snames.ads-tmpl The predefined name for Part_Of is now used
to denote a pragma. Add Pragma_Id for Part_Of.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207251 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-29 Emmanuel Briot <briot@adacore.com>
charlet [Wed, 29 Jan 2014 15:27:54 +0000 (15:27 +0000)] 
2014-01-29  Emmanuel Briot  <briot@adacore.com>

* s-regexp.adb (Create_Secondary_Table): Automatically grow the state
machine as needed.
(Dump): New subprogram.

2014-01-29  Tristan Gingold  <gingold@adacore.com>

* exp_ch9.adb (Expand_N_Protected_Type_Declaration): Add
Expand_Entry_Declaration to factorize code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207250 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoFix ChangeLog date of my previous commit.
redi [Wed, 29 Jan 2014 15:26:23 +0000 (15:26 +0000)] 
Fix ChangeLog date of my previous commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207249 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-29 Ed Schonberg <schonberg@adacore.com>
charlet [Wed, 29 Jan 2014 15:26:18 +0000 (15:26 +0000)] 
2014-01-29  Ed Schonberg  <schonberg@adacore.com>

* checks.adb: minor clarification.
* sem_ch7.adb (Declare_Inherited_Private_Subprograms): Limit
search for primitive operations to the entities that immediately
follow the type declaration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207248 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-29 Tristan Gingold <gingold@adacore.com>
charlet [Wed, 29 Jan 2014 15:25:11 +0000 (15:25 +0000)] 
2014-01-29  Tristan Gingold  <gingold@adacore.com>

* exp_ch9.adb (Build_Protected_Entry): Do not call
Complete_Entry_Body anymore.
* rtsfind.ads (RE_Complete_Single_Entry_Body): Remove.
* s-tposen.ads, s-tposen.adb (Complete_Single_Entry_Body): Remove.

2014-01-29  Pierre-Marie Derodat  <derodat@adacore.com>

* s-os_lib.adb, s-os_lib.ads (Normalize_Pathname): Return an empty
string when the Name input bigger than allowed. Adapt the function
specification.

2014-01-29  Ed Schonberg  <schonberg@adacore.com>

* checks.adb (Install_Null_Excluding_Check): Do not emit warning
if expression is within a case_expression of if_expression.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207247 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-29 Robert Dewar <dewar@adacore.com>
charlet [Wed, 29 Jan 2014 15:23:07 +0000 (15:23 +0000)] 
2014-01-29  Robert Dewar  <dewar@adacore.com>

* exp_ch9.adb, inline.ads: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207246 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-29 Tristan Gingold <gingold@adacore.com>
charlet [Wed, 29 Jan 2014 15:21:59 +0000 (15:21 +0000)] 
2014-01-29  Tristan Gingold  <gingold@adacore.com>

* exp_ch9.adb (Is_Exception_Safe): Return true if no exceptions.

2014-01-29  Yannick Moy  <moy@adacore.com>

* inline.ads (Pending_Body_Info): Add SPARK_Mode and
SPARK_Mode_Pragma components to be able to analyze generic
instance.
* sem_ch12.adb (Analyze_Package_Instantiation,
Inline_Instance_Body, Need_Subprogram_Instance_Body,
Load_Parent_Of_Generic): Pass in SPARK_Mode from instantiation
for future analysis of the instance.
(Instantiate_Package_Body,
Instantiate_Subprogram_Body, Set_Instance_Inv): Set SPARK_Mode
from instantiation to analyze the instance.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207244 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-29 Robert Dewar <dewar@adacore.com>
charlet [Wed, 29 Jan 2014 15:20:44 +0000 (15:20 +0000)] 
2014-01-29  Robert Dewar  <dewar@adacore.com>

* sem_ch7.adb, sem_prag.adb, sem_ch4.adb, sem_ch6.adb: Minor code
reorganization.

2014-01-29  Yannick Moy  <moy@adacore.com>

* gnat_rm.texi: Update description of SPARK_Mode pragma.

2014-01-29  Tristan Gingold  <gingold@adacore.com>

* exp_ch9.adb (Expand_N_Protected_Body): Remove Num_Entries.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207243 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-29 Thomas Quinot <quinot@adacore.com>
charlet [Wed, 29 Jan 2014 15:19:01 +0000 (15:19 +0000)] 
2014-01-29  Thomas Quinot  <quinot@adacore.com>

* sem_ch4.adb (Find_Component_In_Instance): Update comment.

2014-01-29  Ed Schonberg  <schonberg@adacore.com>

* exp_util.adb (Build_Task_Image_Prefix): Indicate that the
resulting string is an internal entity. and thus requires no
initialization. This is relevant when Initialize_ Scalars is
enabled, because the resultant spurious initialization may lead to
secondary stack anomalies that produce a mangled name for a task.

2014-01-29  Yannick Moy  <moy@adacore.com>

* sem_ch6.adb (Analyze_Subprogram_Body_Helper): SPARK_Mode
not inherited from spec anymore. Check consistency
rules after processing of declarations.
* sem_ch7.adb (Analyze_Package_Body_Helper): SPARK_Mode not inherited
from spec anymore. Check consistency rules after processing of
declarations.
(Analyze_Package_Declaration): Set SPARK_Mode only for non-generic
packages.
* sem_prag.adb (Analyze_Pragma/Pragma_SPARK_Mode): Implement new
consistency rules.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207242 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR libstdc++/59829
redi [Wed, 29 Jan 2014 14:57:42 +0000 (14:57 +0000)] 
PR libstdc++/59829
* include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
(vector::_M_data_ptr): New overloaded functions to ensure empty
vectors do not dereference the pointer.
* testsuite/23_containers/vector/59829.cc: New.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207241 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
redi [Wed, 29 Jan 2014 14:57:35 +0000 (14:57 +0000)] 
* include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
not use varargs when argument could be non-POD.
(__alloctr_rebind_helper): Eliminate static const bool member by
using true_type and false_type.
(allocator_traits::__allocate_helper): Likewise.
(allocator_traits::__construct_helper): Likewise.
(allocator_traits::__destroy_helper): Likewise.
(allocator_traits::__maxsize_helper): Likewise.
(allocator_traits::__select_helper): Likewise.
* include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
* include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
Remove redundant condition.
* include/bits/stl_vector.h (vector::operator=(const vector&)):
Likewise.
(_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
indirection through __alloc_traits.
* include/ext/alloc_traits.h (__allocator_always_compares_equal):
Eliminate static const bool members by using true_type and false_type.
(__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
* testsuite/util/testsuite_allocator.h (PointerBase): Define.
* testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
New.
* testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207240 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-29 Richard Biener <rguenther@suse.de>
rguenth [Wed, 29 Jan 2014 14:45:44 +0000 (14:45 +0000)] 
2014-01-29  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58742
* tree-ssa-forwprop.c (associate_pointerplus): Rename to
associate_pointerplus_align.
(associate_pointerplus_diff): New function.
(associate_pointerplus): Likewise.  Call associate_pointerplus_align
and associate_pointerplus_diff.

* gcc.dg/pr58742-1.c: New testcase.
* gcc.dg/pr58742-2.c: Likewise.
* gcc.dg/pr58742-3.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207239 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-29 Richard Biener <rguenther@suse.de>
rguenth [Wed, 29 Jan 2014 14:19:23 +0000 (14:19 +0000)] 
2014-01-29  Richard Biener  <rguenther@suse.de>

* lto-streamer.h (LTO_major_version): Bump to 3.
(LTO_minor_version): Reset to 0.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207238 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago[ARM] Add -march=armv7ve
ktkachov [Wed, 29 Jan 2014 13:46:39 +0000 (13:46 +0000)] 
[ARM] Add -march=armv7ve

gcc/
2014-01-29  Renlin Li  <Renlin.Li@arm.com>

* config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
* config/arm/arm.c (FL_FOR_ARCH7VE): New.
(arm_file_start): Generate correct asm header for armv7ve.
* config/arm/bpabi.h: Add multilib support for armv7ve.
* config/arm/driver-arm.c: Change the architectures of cortex-a7
and cortex-a15 to armv7ve.
* config/arm/t-aprofile: Add multilib support for armv7ve.
* doc/invoke.texi: Document -march=armv7ve.

gcc/testsuite/
2014-01-29  Renlin Li  <Renlin.Li@arm.com>

* gcc.target/arm/ftest-armv7ve-arm.c: New.
* gcc.target/arm/ftest-armv7ve-thumb.c: New.
* lib/target-supports.exp: New armfunc, armflag and armdef for armv7ve.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207237 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/59315
jason [Wed, 29 Jan 2014 13:40:49 +0000 (13:40 +0000)] 
PR c++/59315
* decl.c (cxx_maybe_build_cleanup): Call mark_used.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207236 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago/cp
paolo [Wed, 29 Jan 2014 13:36:22 +0000 (13:36 +0000)] 
/cp
2014-01-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58702
* semantics.c (finish_omp_reduction_clause): Check type for
error_mark_node.

/testsuite
2014-01-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58702
* g++.dg/gomp/pr58702.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207235 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoFix test c-c++-common/cpp/warning-zero-location-2.c
dodji [Wed, 29 Jan 2014 11:27:32 +0000 (11:27 +0000)] 
Fix test c-c++-common/cpp/warning-zero-location-2.c

gcc/testsuite/ChangeLog:

* c-c++-common/cpp/warning-zero-location-2.c: Fix error message
specifier.

Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207234 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-01-29 Richard Biener <rguenther@suse.de>
rguenth [Wed, 29 Jan 2014 11:08:59 +0000 (11:08 +0000)] 
2014-01-29  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58742
* tree-ssa-forwprop.c (associate_plusminus): Return true
if we changed sth, defer EH cleanup to ...
(ssa_forward_propagate_and_combine): ... here.  Call simplify_mult.
(simplify_mult): New function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207232 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR middle-end/59917
jakub [Wed, 29 Jan 2014 11:02:46 +0000 (11:02 +0000)] 
PR middle-end/59917
PR tree-optimization/59920
* tree.c (build_common_builtin_nodes): Remove
__builtin_setjmp_dispatcher initialization.
* omp-low.h (make_gimple_omp_edges): Add a new int * argument.
* profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
instead of gsi_after_labels + manually skipping debug stmts.
Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
ignore bbs with IFN_ABNORMAL_DISPATCHER.
* tree-inline.c (copy_edges_for_bb): Remove
can_make_abnormal_goto argument, instead add abnormal_goto_dest
argument.  Ignore computed_goto_p stmts.  Don't call
make_abnormal_goto_edges.  If a call might need abnormal edges
for non-local gotos, see if it already has an edge to
IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
with true argument, don't do anything then, otherwise add
EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
(copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
caller.
* gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
(lower_function_body): Don't emit __builtin_setjmp_dispatcher.
(lower_stmt): Don't set data->calls_builtin_setjmp.
(lower_builtin_setjmp): Adjust comment.
* builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
* tree-cfg.c (found_computed_goto): Remove.
(factor_computed_gotos): Remove.
(make_goto_expr_edges): Return bool, true for computed gotos.
Don't call make_abnormal_goto_edges.
(build_gimple_cfg): Don't set found_computed_goto, don't call
factor_computed_gotos.
(computed_goto_p): No longer static.
(make_blocks): Don't set found_computed_goto.
(get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
(make_edges): If make_goto_expr_edges returns true, push bb
into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
instead of calling make_abnormal_goto_edges push bb into ab_edge_call
vector.  Record mapping between bbs and OpenMP regions if there
are any, adjust make_gimple_omp_edges caller.  Call
handle_abnormal_edges.
(make_abnormal_goto_edges): Remove.
* tree-cfg.h (make_abnormal_goto_edges): Remove.
(computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
* internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
* builtins.c (expand_builtin): Don't handle
BUILT_IN_SETJMP_DISPATCHER.
* internal-fn.def (ABNORMAL_DISPATCHER): New.
* omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
filling *region also set *region_idx to (*region)->entry->index.

* gcc.dg/pr59920-1.c: New test.
* gcc.dg/pr59920-2.c: New test.
* gcc.dg/pr59920-3.c: New test.
* c-c++-common/gomp/pr59917-1.c: New test.
* c-c++-common/gomp/pr59917-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207231 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR other/58712
jakub [Wed, 29 Jan 2014 10:35:15 +0000 (10:35 +0000)] 
PR other/58712
* read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
For REGs set ORIGINAL_REGNO.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207230 138bc75d-0d04-0410-961f-82ee72b054a4