platform/upstream/gcc.git
10 years agore PR target/59784 (Nios2: Wrong code generation for fextsd custom instruction)
Savin Zlobec [Thu, 30 Jan 2014 05:51:30 +0000 (05:51 +0000)]
re PR target/59784 (Nios2: Wrong code generation for fextsd custom instruction)

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.

From-SVN: r207297

10 years agore PR c++/59707 (Crash when using std::map with template class)
Jason Merrill [Thu, 30 Jan 2014 05:28:52 +0000 (00:28 -0500)]
re PR c++/59707 (Crash when using std::map with template class)

PR c++/59707
* call.c (add_builtin_candidate): Catch dependent types.

From-SVN: r207295

10 years agomsp430.opt (-minrt): New.
DJ Delorie [Thu, 30 Jan 2014 02:57:41 +0000 (21:57 -0500)]
msp430.opt (-minrt): New.

* config/msp430/msp430.opt (-minrt): New.
* config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
if -minrt given.
(ENDFILE_SPEC): Likewise.

From-SVN: r207294

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

From-SVN: r207292

10 years agore PR libstdc++/57226 (The installation of pretty printers is not documented)
Jonathan Wakely [Wed, 29 Jan 2014 23:46:31 +0000 (23:46 +0000)]
re PR libstdc++/57226 (The installation of pretty printers is not documented)

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.

From-SVN: r207288

10 years agoipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
Jan Hubicka [Wed, 29 Jan 2014 22:50:22 +0000 (23:50 +0100)]
ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.

* ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
(estimate_function_body_sizes): Use it.

From-SVN: r207287

10 years agore PR c++/59989 (ICE when a template parameter pack is explicitly specified for a...
Jason Merrill [Wed, 29 Jan 2014 22:12:09 +0000 (17:12 -0500)]
re PR c++/59989 (ICE when a template parameter pack is explicitly specified for a function template and provides a complete argument list for a template)

PR c++/59989
* pt.c (expand_template_argument_pack): Correct
non_default_args_count calculation.

From-SVN: r207285

10 years agore PR c++/58466 (ICE in cxx_eval_constant_expression)
Jason Merrill [Wed, 29 Jan 2014 20:54:21 +0000 (15:54 -0500)]
re PR c++/58466 (ICE in cxx_eval_constant_expression)

PR c++/58466
* pt.c (unify_pack_expansion): Call expand_template_argument_pack.

From-SVN: r207283

10 years agore PR c++/58561 ([c++11] ICE using declaration of function with auto in return type)
Paolo Carlini [Wed, 29 Jan 2014 20:54:09 +0000 (20:54 +0000)]
re PR c++/58561 ([c++11] ICE using declaration of function with auto in return type)

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.

From-SVN: r207282

10 years agore PR c++/59956 (internal compiler error: unexpected expression ‘P_S’ of kind templat...
Jason Merrill [Wed, 29 Jan 2014 20:44:50 +0000 (15:44 -0500)]
re PR c++/59956 (internal compiler error: unexpected expression ‘P_S’ of kind template_parm_index)

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.

From-SVN: r207281

10 years agore PR libstdc++/21609 (array_allocator vs rebind & templated constructor)
Jonathan Wakely [Wed, 29 Jan 2014 20:43:44 +0000 (20:43 +0000)]
re PR libstdc++/21609 (array_allocator vs rebind & templated constructor)

PR libstdc++/21609
* include/ext/array_allocator.h: Add deprecated attribute.

From-SVN: r207280

10 years agore PR c++/58846 (ICE redeclaring __dso_handle)
Paolo Carlini [Wed, 29 Jan 2014 17:58:37 +0000 (17:58 +0000)]
re PR c++/58846 (ICE redeclaring __dso_handle)

/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.

From-SVN: r207276

10 years agore PR c++/58674 ([c++11] ICE with template using declaration)
Paolo Carlini [Wed, 29 Jan 2014 17:54:51 +0000 (17:54 +0000)]
re PR c++/58674 ([c++11] ICE with template using declaration)

/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.

From-SVN: r207275

10 years agore PR tree-optimization/59617 ([vectorizer] ICE in vectorizable_mask_load_store with...
Kirill Yukhin [Wed, 29 Jan 2014 17:35:19 +0000 (17:35 +0000)]
re PR tree-optimization/59617 ([vectorizer] ICE in vectorizable_mask_load_store with AVX-512F's gathers enabled.)

gcc/testsuite/

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

From-SVN: r207274

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

From-SVN: r207273

10 years ago* g++.dg/debug/dwarf2/auto1.C: Handle other comment characters.
Jason Merrill [Wed, 29 Jan 2014 17:13:09 +0000 (12:13 -0500)]
* g++.dg/debug/dwarf2/auto1.C: Handle other comment characters.

From-SVN: r207272

10 years agore PR c++/59916 (constructors and destructors can cause "control reaches end of non...
Jason Merrill [Wed, 29 Jan 2014 17:13:01 +0000 (12:13 -0500)]
re PR c++/59916 (constructors and destructors can cause "control reaches end of non-void function" warnings with -Os)

PR c++/59916
* optimize.c (maybe_thunk_body): Build a RETURN_EXPR for
cdtor_returns_this case.

From-SVN: r207271

10 years ago[multiple changes]
Arnaud Charlet [Wed, 29 Jan 2014 16:23:31 +0000 (17:23 +0100)]
[multiple changes]

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.

From-SVN: r207269

10 years agosem_util.adb (Find_Placement_In_State_Space): Assume that the default placement is...
Hristian Kirtchev [Wed, 29 Jan 2014 16:21:25 +0000 (16:21 +0000)]
sem_util.adb (Find_Placement_In_State_Space): Assume that the default placement is not in a package.

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.

From-SVN: r207268

10 years ago[multiple changes]
Arnaud Charlet [Wed, 29 Jan 2014 16:19:53 +0000 (17:19 +0100)]
[multiple changes]

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.

From-SVN: r207267

10 years agosem_util.ads, [...] (In_Pragma_Expression): New function.
Robert Dewar [Wed, 29 Jan 2014 16:17:48 +0000 (16:17 +0000)]
sem_util.ads, [...] (In_Pragma_Expression): New function.

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.

From-SVN: r207266

10 years agomklog: Improve support of context diffs.
Yury Gribov [Wed, 29 Jan 2014 16:17:22 +0000 (16:17 +0000)]
mklog: Improve support of context diffs.

2014-01-29  Yury Gribov  <y.gribov@samsung.com>

* mklog: Improve support of context diffs.

From-SVN: r207265

10 years agoUpdate comments.
Arnaud Charlet [Wed, 29 Jan 2014 16:16:51 +0000 (17:16 +0100)]
Update comments.

From-SVN: r207264

10 years agoCode clean up.
Arnaud Charlet [Wed, 29 Jan 2014 16:16:34 +0000 (17:16 +0100)]
Code clean up.

From-SVN: r207263

10 years agors6000.c (altivec_expand_vec_perm_const): Use CODE_FOR_altivec_vmrg*_direct rather...
Bill Schmidt [Wed, 29 Jan 2014 16:12:28 +0000 (16:12 +0000)]
rs6000.c (altivec_expand_vec_perm_const): Use CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.

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.

From-SVN: r207262

10 years agosem_prag.adb (Check_Missing_Part_Of): List all values of State_Space_Kind for readabi...
Hristian Kirtchev [Wed, 29 Jan 2014 16:10:44 +0000 (16:10 +0000)]
sem_prag.adb (Check_Missing_Part_Of): List all values of State_Space_Kind for readability reasons.

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.

From-SVN: r207261

10 years agoa-except-2005.adb, [...]: Minor reformatting.
Robert Dewar [Wed, 29 Jan 2014 15:53:48 +0000 (15:53 +0000)]
a-except-2005.adb, [...]: Minor reformatting.

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.

From-SVN: r207260

10 years ago[AArch64] Fix sfp-machine.h _FP_I_TYPE.
Marcus Shawcroft [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.

From-SVN: r207259

10 years ago[AArch64] Fix various white space issues.
Marcus Shawcroft [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.

From-SVN: r207258

10 years ago[multiple changes]
Arnaud Charlet [Wed, 29 Jan 2014 15:39:03 +0000 (16:39 +0100)]
[multiple changes]

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.

From-SVN: r207257

10 years ago[multiple changes]
Arnaud Charlet [Wed, 29 Jan 2014 15:37:54 +0000 (16:37 +0100)]
[multiple changes]

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.

From-SVN: r207256

10 years agoclean.adb (Gnatclean): Fail if main project is an aggregate project or if...
Vincent Celier [Wed, 29 Jan 2014 15:36:37 +0000 (15:36 +0000)]
clean.adb (Gnatclean): Fail if main project is an aggregate project or if...

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.

From-SVN: r207255

10 years agoprj-part.adb (Check_Import_Aggregate): New procedure to check if an imported project...
Vincent Celier [Wed, 29 Jan 2014 15:35:09 +0000 (15:35 +0000)]
prj-part.adb (Check_Import_Aggregate): New procedure to check if an imported project is an aggregate project.

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.

From-SVN: r207254

10 years agoexp_ch9.adb, [...]: Minor reformatting and code clean up.
Robert Dewar [Wed, 29 Jan 2014 15:34:14 +0000 (15:34 +0000)]
exp_ch9.adb, [...]: Minor reformatting and code clean up.

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.

From-SVN: r207253

10 years ago[multiple changes]
Arnaud Charlet [Wed, 29 Jan 2014 15:32:42 +0000 (16:32 +0100)]
[multiple changes]

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.

From-SVN: r207252

10 years ago2014-01-29 Hristian Kirtchev <kirtchev@adacore.com>
Hristian Kirtchev [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.

From-SVN: r207251

10 years ago[multiple changes]
Arnaud Charlet [Wed, 29 Jan 2014 15:27:54 +0000 (16:27 +0100)]
[multiple changes]

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.

From-SVN: r207250

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

From-SVN: r207249

10 years agochecks.adb: minor clarification.
Ed Schonberg [Wed, 29 Jan 2014 15:26:18 +0000 (15:26 +0000)]
checks.adb: minor clarification.

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.

From-SVN: r207248

10 years ago[multiple changes]
Arnaud Charlet [Wed, 29 Jan 2014 15:25:11 +0000 (16:25 +0100)]
[multiple changes]

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.

From-SVN: r207247

10 years agoexp_ch9.adb, inline.ads: Minor reformatting.
Robert Dewar [Wed, 29 Jan 2014 15:23:07 +0000 (15:23 +0000)]
exp_ch9.adb, inline.ads: Minor reformatting.

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

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

From-SVN: r207246

10 years ago[multiple changes]
Arnaud Charlet [Wed, 29 Jan 2014 15:21:59 +0000 (16:21 +0100)]
[multiple changes]

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.

From-SVN: r207244

10 years ago[multiple changes]
Arnaud Charlet [Wed, 29 Jan 2014 15:20:44 +0000 (16:20 +0100)]
[multiple changes]

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.

From-SVN: r207243

10 years ago[multiple changes]
Arnaud Charlet [Wed, 29 Jan 2014 15:19:01 +0000 (16:19 +0100)]
[multiple changes]

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.

From-SVN: r207242

10 years agore PR libstdc++/59829 (Calling vector::data() occurs undefined behavior when the...
Jonathan Wakely [Wed, 29 Jan 2014 14:57:42 +0000 (14:57 +0000)]
re PR libstdc++/59829 (Calling vector::data() occurs undefined behavior when the vector is empty)

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.

From-SVN: r207241

10 years agoalloc_traits.h (allocator_traits::_S_allocate): Do not use varargs when argument...
Jonathan Wakely [Wed, 29 Jan 2014 14:57:35 +0000 (14:57 +0000)]
alloc_traits.h (allocator_traits::_S_allocate): Do not use varargs when argument could be non-POD.

* 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.

From-SVN: r207240

10 years agore PR middle-end/58742 (pointer arithmetic simplification)
Richard Biener [Wed, 29 Jan 2014 14:45:44 +0000 (14:45 +0000)]
re PR middle-end/58742 (pointer arithmetic simplification)

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.

From-SVN: r207239

10 years agolto-streamer.h (LTO_major_version): Bump to 3.
Richard Biener [Wed, 29 Jan 2014 14:19:23 +0000 (14:19 +0000)]
lto-streamer.h (LTO_major_version): Bump to 3.

2014-01-29  Richard Biener  <rguenther@suse.de>

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

From-SVN: r207238

10 years ago[ARM] Add -march=armv7ve
Renlin Li [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.

From-SVN: r207237

10 years agore PR c++/59315 (g++.dg/warn/Wunused-3.C FAILs with -fno-use-cxa-atexit)
Jason Merrill [Wed, 29 Jan 2014 13:40:49 +0000 (08:40 -0500)]
re PR c++/59315 (g++.dg/warn/Wunused-3.C FAILs with -fno-use-cxa-atexit)

PR c++/59315
* decl.c (cxx_maybe_build_cleanup): Call mark_used.

From-SVN: r207236

10 years agore PR c++/58702 (ICE with undeclared variable in OpenMP reduction clause)
Paolo Carlini [Wed, 29 Jan 2014 13:36:22 +0000 (13:36 +0000)]
re PR c++/58702 (ICE with undeclared variable in OpenMP reduction clause)

/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.

From-SVN: r207235

10 years agoFix test c-c++-common/cpp/warning-zero-location-2.c
Dodji Seketeli [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>
From-SVN: r207234

10 years agore PR middle-end/58742 (pointer arithmetic simplification)
Richard Biener [Wed, 29 Jan 2014 11:08:59 +0000 (11:08 +0000)]
re PR middle-end/58742 (pointer arithmetic simplification)

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.

From-SVN: r207232

10 years agore PR middle-end/59917 (ICE in calc_dfs_tree, at dominance.c:401)
Jakub Jelinek [Wed, 29 Jan 2014 11:02:46 +0000 (12:02 +0100)]
re PR middle-end/59917 (ICE in calc_dfs_tree, at dominance.c:401)

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.

From-SVN: r207231

10 years agore PR other/58712 (issues found by --enable-checking=valgrind)
Jakub Jelinek [Wed, 29 Jan 2014 10:35:15 +0000 (11:35 +0100)]
re PR other/58712 (issues found by --enable-checking=valgrind)

PR other/58712
* read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
For REGs set ORIGINAL_REGNO.

From-SVN: r207230

10 years agomd.texi: Mention that a target shouldn't implement vec_widen_(s|u)mul_even/odd pair...
Bingfeng Mei [Wed, 29 Jan 2014 10:10:20 +0000 (10:10 +0000)]
md.texi: Mention that a target shouldn't implement vec_widen_(s|u)mul_even/odd pair if...

2014-01-29  Bingfeng Mei  <bmei@broadcom.com>

* doc/md.texi: Mention that a target shouldn't implement
vec_widen_(s|u)mul_even/odd pair if it is less efficient
than hi/lo pair.

From-SVN: r207228

10 years agore PR tree-optimization/59594 (wrong code (by tree vectorizer) at -O3 on x86_64-linux...
Jakub Jelinek [Wed, 29 Jan 2014 09:27:43 +0000 (10:27 +0100)]
re PR tree-optimization/59594 (wrong code (by tree vectorizer) at -O3 on x86_64-linux-gnu)

PR tree-optimization/59594
* tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
a copy of the datarefs vector rather than the vector itself.

* gcc.dg/vect/no-vfa-vect-depend-2.c: New test.
* gcc.dg/vect/no-vfa-vect-depend-3.c: New test.
* gcc.dg/vect/pr59594.c: New test.

From-SVN: r207225

10 years agore PR c++/59791 (ICE: Error reporting routines re-entered. with -fcompare-debug)
Jason Merrill [Wed, 29 Jan 2014 04:10:58 +0000 (23:10 -0500)]
re PR c++/59791 (ICE: Error reporting routines re-entered. with -fcompare-debug)

PR c++/59791
* pt.c (tsubst_decl) [VAR_DECL]: Allow in unevaluated context.
(tsubst_copy): Use it if lookup fails.

From-SVN: r207224

10 years agoDaily bump.
GCC Administrator [Wed, 29 Jan 2014 00:17:01 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r207223

10 years agore PR c++/59818 (Bogus error: call of overloaded .... is ambiguous)
Jason Merrill [Tue, 28 Jan 2014 22:00:05 +0000 (17:00 -0500)]
re PR c++/59818 (Bogus error: call of overloaded .... is ambiguous)

PR c++/59818
* pt.c (tsubst_function_type): Make sure we keep the same function
quals.

From-SVN: r207215

10 years agocompiler: Put nointerface methods in unique sections.
Ian Lance Taylor [Tue, 28 Jan 2014 21:44:53 +0000 (21:44 +0000)]
compiler: Put nointerface methods in unique sections.

From-SVN: r207214

10 years agore PR c++/58701 ([c++11] ICE initializing member of static union)
Jason Merrill [Tue, 28 Jan 2014 21:04:44 +0000 (16:04 -0500)]
re PR c++/58701 ([c++11] ICE initializing member of static union)

PR c++/58701
* semantics.c (build_anon_member_initialization): Stop walking
when we run out of COMPONENT_REFs.

From-SVN: r207209

10 years agore PR c++/58632 (ICE reusing template parameter name as class name)
Jason Merrill [Tue, 28 Jan 2014 21:04:29 +0000 (16:04 -0500)]
re PR c++/58632 (ICE reusing template parameter name as class name)

PR c++/58632
* decl.c (lookup_and_check_tag): Ignore template parameters if
scope == ts_current.
* pt.c (check_template_shadow): Don't complain about the injected
class name.

From-SVN: r207208

10 years agoaccidental addition
Paul Thomas [Tue, 28 Jan 2014 20:12:40 +0000 (20:12 +0000)]
accidental addition

From-SVN: r207205

10 years agore PR fortran/59414 ([OOP] ICE in in gfc_conv_expr_descriptor on ALLOCATE inside...
Paul Thomas [Tue, 28 Jan 2014 20:10:22 +0000 (20:10 +0000)]
re PR fortran/59414 ([OOP] ICE in in gfc_conv_expr_descriptor on ALLOCATE inside SELECT TYPE)

2014-01-28  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/59414
* trans-stmt.c (gfc_trans_allocate): Before the pointer
assignment to transfer the source _vptr to a class allocate
expression, the final class reference should be exposed. The
tail that includes the _data and array references is stored.
This reduced expression is transferred to 'lhs' and the _vptr
added. Then the tail is restored to the allocate expression.

2014-01-28  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/59414
* gfortran.dg/allocate_class_3.f90 : New test

From-SVN: r207204

10 years agoAvoid "'dc' may be uninitialized" warning.
Thomas Schwinge [Tue, 28 Jan 2014 19:06:44 +0000 (20:06 +0100)]
Avoid "'dc' may be uninitialized" warning.

libiberty/
* cp-demangle.c (d_demangle_callback): Put an abort call in place,
to help the compiler.

From-SVN: r207200

10 years ago* gcc.target/arm/thumb-cbranchqi.c: Accept bls also.
Kazu Hirata [Tue, 28 Jan 2014 17:35:37 +0000 (17:35 +0000)]
* gcc.target/arm/thumb-cbranchqi.c: Accept bls also.

From-SVN: r207199

10 years ago* decl.c (duplicate_decls): Tweak.
Jason Merrill [Tue, 28 Jan 2014 17:06:47 +0000 (12:06 -0500)]
* decl.c (duplicate_decls): Tweak.

From-SVN: r207198

10 years agore PR c++/53756 ([C++1y] ICE: in gen_type_die_with_usage, at dwarf2out.c:18774 with...
Jason Merrill [Tue, 28 Jan 2014 17:06:40 +0000 (12:06 -0500)]
re PR c++/53756 ([C++1y] ICE: in gen_type_die_with_usage, at dwarf2out.c:18774 with -g and operator auto ())

PR c++/53756
gcc/
* dwarf2out.c (auto_die): New static.
(gen_type_die_with_usage): Handle C++1y 'auto'.
(gen_subprogram_die): If in-class DIE had 'auto', emit type again
on definition.
gcc/cp/
* mangle.c (write_unqualified_name): Handle operator auto.

From-SVN: r207197

10 years agoAdd -m16 support for x86
H.J. Lu [Tue, 28 Jan 2014 16:22:45 +0000 (16:22 +0000)]
Add -m16 support for x86

The .code16gcc directive was added to binutils back in 1999:

---
   '.code16gcc' provides experimental support for generating 16-bit code
from gcc, and differs from '.code16' in that 'call', 'ret', 'enter',
'leave', 'push', 'pop', 'pusha', 'popa', 'pushf', and 'popf'
instructions default to 32-bit size.  This is so that the stack pointer
is manipulated in the same way over function calls, allowing access to
function parameters at the same stack offsets as in 32-bit mode.
'.code16gcc' also automatically adds address size prefixes where
necessary to use the 32-bit addressing modes that gcc generates.
---

It encodes 32-bit assembly instructions generated by GCC in 16-bit format
so that GCC can be used to generate 16-bit instructions.  To do that, the
.code16gcc directive must be placed at the very beginning of the assembly
code.  This patch adds -m16 to x86 backend by:

1. Add -m16 and make it mutually exclusive with -m32, -m64 and -mx32.
2. Treat -m16 like -m32 so that --32 is passed to assembler.
3. Output .code16gcc at the very beginning of the assembly code.
4. Turn off 64-bit ISA when -m16 is used.

PR target/59672
* config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
(SPEC_X32): Likewise.
(SPEC_64): Likewise.
* config/i386/i386.c (ix86_option_override_internal): Turn off
OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
for TARGET_16BIT.
(x86_file_start): Output .code16gcc for TARGET_16BIT.
* config/i386/i386.h (TARGET_16BIT): New macro.
(TARGET_16BIT_P): Likewise.
* config/i386/i386.opt: Add m16.
* doc/invoke.texi: Document -m16.

From-SVN: r207196

10 years agoPR preprocessor/59935 - caret diagnostics crashes on non-file locations
Dodji Seketeli [Tue, 28 Jan 2014 15:03:19 +0000 (16:03 +0100)]
PR preprocessor/59935 - caret diagnostics crashes on non-file locations

gcc/ChangeLog

* input.c (location_get_source_line): Bail out on when line number
is zero, and test the return value of
lookup_or_add_file_to_cache_tab.

gcc/testsuite/ChangeLog

* c-c++-common/cpp/warning-zero-location.c: New test.
* c-c++-common/cpp/warning-zero-location-2.c: Likewise.

Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
From-SVN: r207195

10 years agore PR middle-end/58742 (pointer arithmetic simplification)
Richard Biener [Tue, 28 Jan 2014 14:53:52 +0000 (14:53 +0000)]
re PR middle-end/58742 (pointer arithmetic simplification)

2014-01-28  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58742
* tree-ssa-forwprop.c (associate_plusminus): Handle
pointer subtraction of the form (T)(P + A) - (T)P.

From-SVN: r207194

10 years agoarm.c (arm_new_rtx_costs): Remove useless statement at const_int_cost.
Kyrylo Tkachov [Tue, 28 Jan 2014 14:17:09 +0000 (14:17 +0000)]
arm.c (arm_new_rtx_costs): Remove useless statement at const_int_cost.

* config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
at const_int_cost.

From-SVN: r207193

10 years agorevert: re PR middle-end/45364 (Compiling wine's directx.c with -O1 -g takes a very...
Richard Biener [Tue, 28 Jan 2014 13:13:54 +0000 (13:13 +0000)]
revert: re PR middle-end/45364 (Compiling wine's directx.c with -O1 -g takes a very long time)

2014-01-28  Richard Biener  <rguenther@suse.de>

Revert
2014-01-28  Richard Biener  <rguenther@suse.de>

PR rtl-optimization/45364
PR rtl-optimization/59890
* var-tracking.c (local_get_addr_clear_given_value): Handle
already cleared slot.
(val_reset): Handle not allocated local_get_addr_cache.
(vt_find_locations): Use post-order on the inverted CFG.

From-SVN: r207182

10 years agotree-data-ref.h (ddr_is_anti_dependent, [...]): Remove.
Richard Biener [Tue, 28 Jan 2014 12:49:08 +0000 (12:49 +0000)]
tree-data-ref.h (ddr_is_anti_dependent, [...]): Remove.

2014-01-28  Richard Biener  <rguenther@suse.de>

* tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps):
Remove.

From-SVN: r207181

10 years agore PR libstdc++/59656 (weak_ptr::lock function crashes when compiling with -fno-excep...
Jonathan Wakely [Tue, 28 Jan 2014 10:23:27 +0000 (10:23 +0000)]
re PR libstdc++/59656 (weak_ptr::lock function crashes when compiling with -fno-exceptions flag)

2014-01-28  Jonathan Wakely  <jwakely@redhat.com>
    Kyle Lippincott  <spectral@google.com>

PR libstdc++/59656
* include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
constructor and grant friendship to weak_ptr.
(weak_ptr::lock()): Use new constructor.
* include/bits/shared_ptr_base.h
(_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
and define specializations.
(__shared_count): Add new non-throwing constructor.
(__shared_ptr): Add new non-throwing constructor and grant friendship
to __weak_ptr.
(__weak_ptr::lock()): Use new constructor.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.

Co-Authored-By: Kyle Lippincott <spectral@google.com>
From-SVN: r207180

10 years agore PR middle-end/45364 (Compiling wine's directx.c with -O1 -g takes a very long...
Richard Biener [Tue, 28 Jan 2014 09:02:59 +0000 (09:02 +0000)]
re PR middle-end/45364 (Compiling wine's directx.c with -O1 -g takes a very long time)

2014-01-28  Richard Biener  <rguenther@suse.de>

PR rtl-optimization/45364
PR rtl-optimization/59890
* var-tracking.c (local_get_addr_clear_given_value): Handle
already cleared slot.
(val_reset): Handle not allocated local_get_addr_cache.
(vt_find_locations): Use post-order on the inverted CFG.

From-SVN: r207172

10 years agoMakefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
Alan Modra [Tue, 28 Jan 2014 07:08:22 +0000 (17:38 +1030)]
Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.

* Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
* configure.ac <recursive call for build != host>: Define
GENERATOR_FILE.  Comment.  Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
and LD_FOR_BUILD too.
* configure: Regenerate.

From-SVN: r207171

10 years agore PR c++/59823 (conversion operator to const X& causes copy-construction of temporary)
Jason Merrill [Tue, 28 Jan 2014 04:31:39 +0000 (23:31 -0500)]
re PR c++/59823 (conversion operator to const X& causes copy-construction of temporary)

PR c++/59823
Core DR 1138
* call.c (reference_binding): Pass LOOKUP_NO_TEMP_BIND for
list-initialization.  A conversion to rvalue ref that involves
an lvalue-rvalue conversion is bad.
(convert_like_real): Give helpful error message.

From-SVN: r207170

10 years agore PR c++/54652 (ICE with -g)
Jason Merrill [Tue, 28 Jan 2014 04:31:30 +0000 (23:31 -0500)]
re PR c++/54652 (ICE with -g)

PR c++/54652
* decl.c (duplicate_decls): Always use oldtype for TYPE_DECL.

From-SVN: r207169

10 years agore PR c++/58504 (ICE with type trait as default template parameter)
Jason Merrill [Tue, 28 Jan 2014 04:31:23 +0000 (23:31 -0500)]
re PR c++/58504 (ICE with type trait as default template parameter)

PR c++/58504
* pt.c (tsubst_copy_and_build) [TRAIT_EXPR]: Use tsubst for
types.

From-SVN: r207168

10 years agore PR c++/58606 ([c++11] ICE with specialization in variadic template)
Jason Merrill [Tue, 28 Jan 2014 04:31:14 +0000 (23:31 -0500)]
re PR c++/58606 ([c++11] ICE with specialization in variadic template)

PR c++/58606
* pt.c (template_parm_to_arg): Call convert_from_reference.
(tsubst_template_arg): Don't strip reference refs.

From-SVN: r207167

10 years agore PR c++/58639 (ICE on self-referential struct member)
Jason Merrill [Tue, 28 Jan 2014 04:31:07 +0000 (23:31 -0500)]
re PR c++/58639 (ICE on self-referential struct member)

PR c++/58639
* call.c (build_aggr_conv): Reject value-initialization of reference.

From-SVN: r207166

10 years agore PR c++/58812 (ICE initializing an r-value reference with an initializer list)
Jason Merrill [Tue, 28 Jan 2014 04:31:01 +0000 (23:31 -0500)]
re PR c++/58812 (ICE initializing an r-value reference with an initializer list)

PR c++/58812
* call.c (convert_like_real): Give helpful error about excess braces
for ck_rvalue of scalar type.

From-SVN: r207165

10 years agoCore DR 1288
Jason Merrill [Tue, 28 Jan 2014 04:30:55 +0000 (23:30 -0500)]
Core DR 1288

Core DR 1288
* call.c (reference_binding): Only elide braces if the single
element is reference-related.

From-SVN: r207164

10 years agore PR c++/58814 (ICE with volatile and attribute vector_size)
Jason Merrill [Tue, 28 Jan 2014 04:30:38 +0000 (23:30 -0500)]
re PR c++/58814 (ICE with volatile and attribute vector_size)

PR c++/58814
* typeck.c (cp_build_modify_expr): Make the RHS an rvalue before
stabilizing.

From-SVN: r207163

10 years agore PR c++/58837 ([c++11] ICE using invalid condition in static_assert)
Jason Merrill [Tue, 28 Jan 2014 04:30:26 +0000 (23:30 -0500)]
re PR c++/58837 ([c++11] ICE using invalid condition in static_assert)

PR c++/58837
* typeck.c (cp_truthvalue_conversion): Use explicit comparison for
FUNCTION_DECL.

From-SVN: r207162

10 years agore PR c++/59097 (ICE with invalid statement expression as array size)
Jason Merrill [Tue, 28 Jan 2014 04:30:16 +0000 (23:30 -0500)]
re PR c++/59097 (ICE with invalid statement expression as array size)

PR c++/59097
* decl.c (compute_array_index_type): Don't call
maybe_constant_value for a non-integral expression.

From-SVN: r207161

10 years agoDaily bump.
GCC Administrator [Tue, 28 Jan 2014 00:16:30 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r207159

10 years agopr52125.c: Add -mno-optgp option.
Steve Ellcey [Mon, 27 Jan 2014 23:05:05 +0000 (23:05 +0000)]
pr52125.c: Add -mno-optgp option.

2014-01-27  Steve Ellcey  <sellcey@mips.com>

* gcc.target/mips/pr52125.c: Add -mno-optgp option.

From-SVN: r207156

10 years agoi386.c (get_builtin_code_for_version): Separate Westmere from Nehalem...
Allan Sandfeld Jensen [Mon, 27 Jan 2014 22:45:02 +0000 (23:45 +0100)]
i386.c (get_builtin_code_for_version): Separate Westmere from Nehalem...

* config/i386/i386.c (get_builtin_code_for_version): Separate
Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
Broadwell from Haswell.

testsuite/ChangeLog:

* g++.dg/ext/mv16.C: New tests.

From-SVN: r207155

10 years agomips-common.c (TARGET_DEFAULT_TARGET_FLAGS): Remove TARGET_FP_EXCEPTIONS_DEFAULT...
Steve Ellcey [Mon, 27 Jan 2014 22:38:42 +0000 (22:38 +0000)]
mips-common.c (TARGET_DEFAULT_TARGET_FLAGS): Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.

2014-01-27  Steve Ellcey  <sellcey@mips.com>

* common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
* config/mips/mips.c (mips_option_override): Change setting
of TARGET_DSP.
* config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
* config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD,
MIPS3D) Change from Mask to Var.

From-SVN: r207154

10 years agomklog: Fix description at top of file.
Jonathan Wakely [Mon, 27 Jan 2014 21:43:09 +0000 (21:43 +0000)]
mklog: Fix description at top of file.

2014-01-27  Jonathan Wakely  <jwakely@redhat.com>

* mklog: Fix description at top of file.

From-SVN: r207153

10 years ago* ipa-inline.c (inline_small_functions): Fix typo.
Jeff Law [Mon, 27 Jan 2014 21:00:04 +0000 (14:00 -0700)]
* ipa-inline.c (inline_small_functions): Fix typo.

From-SVN: r207151

10 years agoavx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
Ilya Tocar [Mon, 27 Jan 2014 19:25:32 +0000 (19:25 +0000)]
avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.

gcc/
* config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
(_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
(_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
(_mm512_mask_cvtepi32_storeu_epi16): Ditto.
(_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
(_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
(_mm512_mask_cvtepi64_storeu_epi32): Ditto.
(_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
(_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
(_mm512_mask_cvtepi64_storeu_epi16): Ditto.
(_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
(_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
(_mm512_mask_cvtepi64_storeu_epi8): Ditto.
(_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
(_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
(_mm512_storeu_epi64): Ditto.
(_mm512_cmpge_epi32_mask): Ditto.
(_mm512_cmpge_epu32_mask): Ditto.
(_mm512_cmpge_epi64_mask): Ditto.
(_mm512_cmpge_epu64_mask): Ditto.
(_mm512_cmple_epi32_mask): Ditto.
(_mm512_cmple_epu32_mask): Ditto.
(_mm512_cmple_epi64_mask): Ditto.
(_mm512_cmple_epu64_mask): Ditto.
(_mm512_cmplt_epi32_mask): Ditto.
(_mm512_cmplt_epu32_mask): Ditto.
(_mm512_cmplt_epi64_mask): Ditto.
(_mm512_cmplt_epu64_mask): Ditto.
(_mm512_cmpneq_epi32_mask): Ditto.
(_mm512_cmpneq_epu32_mask): Ditto.
(_mm512_cmpneq_epi64_mask): Ditto.
(_mm512_cmpneq_epu64_mask): Ditto.
(_mm512_expand_pd): Ditto.
(_mm512_expand_ps): Ditto.
* config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
* config/i386/i386.c (ix86_builtins): Add
IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
IX86_BUILTIN_PMOVUSQW512_MEM.
(bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
__builtin_ia32_pmovsqd512mem_mask,
__builtin_ia32_pmovqd512mem_mask,
__builtin_ia32_pmovusqw512mem_mask,
__builtin_ia32_pmovsqw512mem_mask,
__builtin_ia32_pmovqw512mem_mask,
__builtin_ia32_pmovusdw512mem_mask,
__builtin_ia32_pmovsdw512mem_mask,
__builtin_ia32_pmovdw512mem_mask,
__builtin_ia32_pmovqb512mem_mask,
__builtin_ia32_pmovusqb512mem_mask,
__builtin_ia32_pmovsqb512mem_mask,
__builtin_ia32_pmovusdb512mem_mask,
__builtin_ia32_pmovsdb512mem_mask,
__builtin_ia32_pmovdb512mem_mask.
(bdesc_args): Add __builtin_ia32_expanddf512,
__builtin_ia32_expandsf512.
(ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
* config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
(avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
(*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
(avx512f_<code>v8div16qi2_mask_store): This.
(avx512f_expand<mode>): New.

testsuite/
* gcc.target/i386/avx512f-vexpandpd-1.c: Also test _mm512_expand_pd.
* gcc.target/i386/avx512f-vexpandpd-2.c: Ditto.
* gcc.target/i386/avx512f-vexpandps-1.c: Also test _mm512_expand_ps.
* gcc.target/i386/avx512f-vexpandps-2.c: Ditto.
* gcc.target/i386/avx512f-vmovdqu64-1.c: Also test _mm512_storeu_epi64.
* gcc.target/i386/avx512f-vmovdqu64-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpged-1.c: New.
* gcc.target/i386/avx512f-vpcmpged-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeud-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeud-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeuq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpgeuq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpled-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpled-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleud-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleud-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleuq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpleuq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltd-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltd-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltud-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltud-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltuq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpltuq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpneqd-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpneqd-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpneqq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpneqq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpnequd-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpnequd-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpnequq-1.c: Ditto.
* gcc.target/i386/avx512f-vpcmpnequq-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovdb-1.c: Also test
_mm512_mask_cvtepi32_storeu_epi8.
* gcc.target/i386/avx512f-vpmovdb-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovdw-1.c: Also test
_mm512_mask_cvtepi32_storeu_epi16.
* gcc.target/i386/avx512f-vpmovdw-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovqb-1.c: Also test
_mm512_mask_cvtepi64_storeu_epi8.
* gcc.target/i386/avx512f-vpmovqb-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovqw-1.c: Also test
_mm512_mask_cvtepi64_storeu_epi16.
* gcc.target/i386/avx512f-vpmovqw-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovqd-1.c: Also test
_mm512_mask_cvtepi64_storeu_epi32.
* gcc.target/i386/avx512f-vpmovqd-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovsdb-1.c: Also test
_mm512_mask_cvtsepi32_storeu_epi8.
* gcc.target/i386/avx512f-vpmovsdb-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovsdw-1.c: Also test
_mm512_mask_cvtsepi32_storeu_epi16.
* gcc.target/i386/avx512f-vpmovsdw-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovsqb-1.c: Also test
_mm512_mask_cvtsepi64_storeu_epi8.
* gcc.target/i386/avx512f-vpmovsqb-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovsqw-1.c: Also test
_mm512_mask_cvtsepi64_storeu_epi16.
* gcc.target/i386/avx512f-vpmovsqw-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovsqd-1.c: Also test
_mm512_mask_cvtsepi64_storeu_epi32.
* gcc.target/i386/avx512f-vpmovsqd-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovusdb-1.c: Also test
_mm512_mask_cvtusepi32_storeu_epi8.
* gcc.target/i386/avx512f-vpmovusdb-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovusdw-1.c: Also test
_mm512_mask_cvtusepi32_storeu_epi16.
* gcc.target/i386/avx512f-vpmovusdw-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovusqb-1.c: Also test
_mm512_mask_cvtusepi64_storeu_epi8.
* gcc.target/i386/avx512f-vpmovusqb-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovusqw-1.c: Also test
_mm512_mask_cvtusepi64_storeu_epi16.
* gcc.target/i386/avx512f-vpmovusqw-2.c: Ditto.
* gcc.target/i386/avx512f-vpmovusqd-1.c: Also test
_mm512_mask_cvtusepi64_storeu_epi32.
* gcc.target/i386/avx512f-vpmovusqd-2.c: Ditto.
* gcc.target/i386/m128-check.h: Add checkVs, checkVb.

From-SVN: r207150

10 years agoavx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd): New.
Kirill Yukhin [Mon, 27 Jan 2014 19:21:02 +0000 (19:21 +0000)]
avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd): New.

gcc/
        * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd): New.
(_mm512_mask_prefetch_i64gather_pd): Ditto.
(_mm512_prefetch_i32scatter_pd): Ditto.
(_mm512_mask_prefetch_i32scatter_pd): Ditto.
(_mm512_prefetch_i64scatter_pd): Ditto.
(_mm512_mask_prefetch_i64scatter_pd): Ditto.
(_mm512_mask_prefetch_i32gather_ps): Fix operand type.
(_mm512_mask_prefetch_i64gather_ps): Ditto.
(_mm512_prefetch_i32scatter_ps): Ditto.
(_mm512_mask_prefetch_i32scatter_ps): Ditto.
(_mm512_prefetch_i64scatter_ps): Ditto.
(_mm512_mask_prefetch_i64scatter_ps): Ditto.
* config/i386/i386-builtin-types.def: Define
VOID_FTYPE_QI_V8SI_PCINT64_INT_INT and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
* config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
IX86_BUILTIN_SCATTERPFQPD.
(ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
__builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
__builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
__builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
__builtin_ia32_scatterpfqps.
(ix86_expand_builtin): Expand new built-ins.
* config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
fix memory access data type.
(*avx512pf_gatherpf<mode>_mask): Ditto.
(*avx512pf_gatherpf<mode>): Ditto.
(avx512pf_scatterpf<mode>): Ditto.
(*avx512pf_scatterpf<mode>_mask): Ditto.
(*avx512pf_scatterpf<mode>): Ditto.
(GATHER_SCATTER_SF_MEM_MODE): New.
(avx512pf_gatherpf<mode>df): Ditto.
(*avx512pf_gatherpf<mode>df_mask): Ditto.
(*avx512pf_scatterpf<mode>df): Ditto.

testsuite/
        * gcc.target/i386/avx512pf-vgatherpf0dpd-1.c: New.
* gcc.target/i386/avx512pf-vgatherpf0qpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vgatherpf1dpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vgatherpf1qpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vscatterpf0dpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vscatterpf0qpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vscatterpf1dpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vscatterpf1qpd-1.c: Ditto.
* gcc.target/i386/sse-14.c: Add new built-ins, fix AVX-512ER
built-ins roudning immediate.
* gcc.target/i386/sse-22.c: Add new built-ins.
* gcc.target/i386/sse-23.c: Ditto.
* gcc.target/i386/avx-1.c: Ditto.

From-SVN: r207149

10 years agore PR libstdc++/59215 (tsan: warning in shared_ptr_base.h)
Jonathan Wakely [Mon, 27 Jan 2014 17:56:40 +0000 (17:56 +0000)]
re PR libstdc++/59215 (tsan: warning in shared_ptr_base.h)

PR libstdc++/59215
* include/bits/shared_ptr_base.h
(_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
load.

From-SVN: r207147

10 years ago[multiple changes]
Arnaud Charlet [Mon, 27 Jan 2014 16:58:19 +0000 (17:58 +0100)]
[multiple changes]

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

* sem_res.adb (Resolve_Comparison_Op): Add type name/location
to unordered msg.
(Resolve_Range): Add type name/location to unordered msg.

2014-01-27  Claire Dross  <dross@adacore.com>

* a-cofove.adb/s (Copy): Add precondition so that Copy (Source,
Capacity) is only called with Capacity >= Length (Source) and
Capacity in Capacity_Range.
* a-cfdlli.adb/s, a-cfhase.adb/s, a-cfhama.adb/s, a-cforse.adb/s,
a-cforma.adb/s (Copy): Add precondition so that Copy (Source, Capacity)
is only called with Capacity >= Source.Capacity. Raise Capacity_Error
in the code is this is not the case.

2014-01-27  Thomas Quinot  <quinot@adacore.com>

* sem_ch4.adb (Analyze_Selected_Component): Fix handling of
selected component in an instance where the component of the
actual is not visibile at instantiation.

From-SVN: r207146

10 years agosem_ch6.adb: sem_ch6.adb (Set_Actual_Subtypes): If the type has a dynamic predicate...
Ed Schonberg [Mon, 27 Jan 2014 16:55:30 +0000 (16:55 +0000)]
sem_ch6.adb: sem_ch6.adb (Set_Actual_Subtypes): If the type has a dynamic predicate...

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

* sem_ch6.adb: sem_ch6.adb (Set_Actual_Subtypes): If the type
has a dynamic predicate, generate freeze node for Actual_Subtype
at once, because the declaration of the corresponding predicate
function will make reference to it.

From-SVN: r207145

10 years ago[multiple changes]
Arnaud Charlet [Mon, 27 Jan 2014 16:54:37 +0000 (17:54 +0100)]
[multiple changes]

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

* exp_ch7.adb, exp_ch9.adb: Adjust comments.

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

* exp_ch4.adb (Expand_N_Op_Expon): Remove unsigned type test
for 2**X optimization.

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

* a-suenst.adb: strings.utf_encoding.strings (Decode): Check
explicitly whether value is in range of Character, because the
library is typically compiled with range checks disabled, and
we cannot rely on the implicit check on the argument of 'Val.

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

* a-ciorma.adb, a-cihama.adb (Assign): Copy the Source to the Target,
not the Target to itself.

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

* vms_conv.ads, ali.adb, sem_ch6.ads, opt.ads, vms_cmds.ads: Minor
changes to avoid incorrect use of unordered enum types.

2014-01-27  Thomas Quinot  <quinot@adacore.com>

* sem_ch4.adb: Minor reformatting.

From-SVN: r207144