summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Strengthen return types of various {next|prev}_*insn from rtx to rtx_insn *dmalcolm2014-08-195-46/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2014-08-19 David Malcolm <dmalcolm@redhat.com> * rtl.h (previous_insn): Strengthen return type from rtx to rtx_insn *. (next_insn): Likewise. (prev_nonnote_insn): Likewise. (prev_nonnote_insn_bb): Likewise. (next_nonnote_insn): Likewise. (next_nonnote_insn_bb): Likewise. (prev_nondebug_insn): Likewise. (next_nondebug_insn): Likewise. (prev_nonnote_nondebug_insn): Likewise. (next_nonnote_nondebug_insn): Likewise. (prev_real_insn): Likewise. (next_real_insn): Likewise. (prev_active_insn): Likewise. (next_active_insn): Likewise. * emit-rtl.c (next_insn): Strengthen return type from rtx to rtx_insn *, adding a checked cast. (previous_insn): Likewise. (next_nonnote_insn): Likewise. (next_nonnote_insn_bb): Likewise. (prev_nonnote_insn): Likewise. (prev_nonnote_insn_bb): Likewise. (next_nondebug_insn): Likewise. (prev_nondebug_insn): Likewise. (next_nonnote_nondebug_insn): Likewise. (prev_nonnote_nondebug_insn): Likewise. (next_real_insn): Likewise. (prev_real_insn): Likewise. (next_active_insn): Likewise. (prev_active_insn): Likewise. * config/sh/sh-protos.h (sh_find_set_of_reg): Convert function ptr param "stepfunc" so that it returns an rtx_insn * rather than an rtx, to track the change to prev_nonnote_insn_bb, which is the only function this is called with. * config/sh/sh.c (sh_find_set_of_reg): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214178 138bc75d-0d04-0410-961f-82ee72b054a4
* PR lto/53808jason2014-08-193-4/+11
| | | | | | | | PR c++/61659 * decl.c (maybe_commonize_var): Don't use DECL_COMDAT to trigger comdat_linkage. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214177 138bc75d-0d04-0410-961f-82ee72b054a4
* * ipa-visibility.c (update_visibility_by_resolution_info): Fixhubicka2014-08-192-1/+6
| | | | | | | assert. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214174 138bc75d-0d04-0410-961f-82ee72b054a4
* Add subclasses for the various kinds of instructiondmalcolm2014-08-193-1/+228
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2014-08-19 David Malcolm <dmalcolm@redhat.com> * coretypes.h (class rtx_debug_insn): Add forward declaration. (class rtx_nonjump_insn): Likewise. (class rtx_jump_insn): Likewise. (class rtx_call_insn): Likewise. (class rtx_jump_table_data): Likewise. (class rtx_barrier): Likewise. (class rtx_code_label): Likewise. (class rtx_note): Likewise. * rtl.h (class rtx_debug_insn): New, a subclass of rtx_insn, adding the invariant DEBUG_INSN_P (X). (class rtx_nonjump_insn): New, a subclass of rtx_insn, adding the invariant NONJUMP_INSN_P (X). (class rtx_jump_insn): New, a subclass of rtx_insn, adding the invariant JUMP_P (X). (class rtx_call_insn): New, a subclass of rtx_insn, adding the invariant CALL_P (X). (class rtx_jump_table): New, a subclass of rtx_insn, adding the invariant JUMP_TABLE_DATA_P (X). (class rtx_barrier): New, a subclass of rtx_insn, adding the invariant BARRIER_P (X). (class rtx_code_label): New, a subclass of rtx_insn, adding the invariant LABEL_P (X). (class rtx_note): New, a subclass of rtx_insn, adding the invariant NOTE_P(X). (is_a_helper <rtx_debug_insn *>::test): New. (is_a_helper <rtx_nonjump_insn *>::test): New. (is_a_helper <rtx_jump_insn *>::test): New. (is_a_helper <rtx_call_insn *>::test): New. (is_a_helper <rtx_jump_table_data *>::test): New functions, overloaded for both rtx and rtx_insn *. (is_a_helper <rtx_barrier *>::test): New. (is_a_helper <rtx_code_label *>::test): New functions, overloaded for both rtx and rtx_insn *. (is_a_helper <rtx_note *>::test): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214172 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO,mpolacek2014-08-193-5/+14
| | | | | | | | | CTZ_DEFINED_VALUE_AT_ZERO): Return 0/1 rather than bool. * config/i386/i386.h (CLZ_DEFINED_VALUE_AT_ZERO, CTZ_DEFINED_VALUE_AT_ZERO): Return 0/1 rather than bool. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214171 138bc75d-0d04-0410-961f-82ee72b054a4
* BND_TO scaffoldingdmalcolm2014-08-196-4/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ 2014-08-19 David Malcolm <dmalcolm@redhat.com> * sel-sched-ir.h (BND_TO): insn_t will eventually be an rtx_insn *. To help with transition, for now, convert from an access macro into a pair of functions: BND_TO, returning an rtx_insn *, and... (SET_BND_TO): New function, for use where BND_TO is used as an lvalue. * sel-sched-ir.c (blist_add): Update lvalue usage of BND_TO to SET_BND_TO. (BND_TO): New function, adding a checked cast. (SET_BND_TO): New function. * sel-sched.c (move_cond_jump): Update lvalue usage of BND_TO to SET_BND_TO. (compute_av_set_on_boundaries): Likewise. / 2014-08-19 David Malcolm <dmalcolm@redhat.com> * rtx-classes-status.txt (TODO): Add SET_BND_TO git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214170 138bc75d-0d04-0410-961f-82ee72b054a4
* Don't clear destination if it is used in sourcehjl2014-08-192-6/+25
| | | | | | | | | | * config/i386/i386.md (*ctz<mode>2_falsedep_1): Don't clear destination if it is used in source. (*clz<mode>2_lzcnt_falsedep_1): Likewise. (*popcount<mode>2_falsedep_1): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214169 138bc75d-0d04-0410-961f-82ee72b054a4
* Set install_gold_as_default to no firsthjl2014-08-193-6/+9
| | | | | | | | | PR other/62168 * configure.ac: Set install_gold_as_default to no first. * configure: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214168 138bc75d-0d04-0410-961f-82ee72b054a4
* BB_NOTE_LIST scaffoldingdmalcolm2014-08-196-7/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ 2014-08-19 David Malcolm <dmalcolm@redhat.com> * sel-sched-ir.h (BB_NOTE_LIST): struct sel_region_bb_info_def's "note_list" field will eventually be an rtx_insn *. To help with transition, for now, convert from an access macro into a pair of functions: BB_NOTE_LIST, returning an rtx_insn *, and... (SET_BB_NOTE_LIST): New function, for use where BB_NOTE_LIST is used as an lvalue. * sel-sched.c (create_block_for_bookkeeping): Update lvalue usage of BB_NOTE_LIST to SET_BB_NOTE_LIST. * sel-sched-ir.c (init_bb): Likewise. (sel_restore_notes): Likewise. (move_bb_info): Likewise. (BB_NOTE_LIST): New function, adding a checked cast to rtx_insn *. (SET_BB_NOTE_LIST): New function. / 2014-08-19 David Malcolm <dmalcolm@redhat.com> * rtx-classes-status.txt (TODO): Add SET_BB_NOTE_LIST. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214167 138bc75d-0d04-0410-961f-82ee72b054a4
* * lex.c (_cpp_lex_direct): Fix a typo.mpolacek2014-08-192-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214166 138bc75d-0d04-0410-961f-82ee72b054a4
* VINSN_INSN_RTX scaffoldingdmalcolm2014-08-195-2/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ 2014-08-19 David Malcolm <dmalcolm@redhat.com> * sel-sched-ir.h (VINSN_INSN_RTX): struct vinsn_def's "insn_rtx" field will eventually be an rtx_insn *. To help with transition, for now, convert from an access macro into a pair of functions: VINSN_INSN_RTX, returning an rtx_insn *, and... (SET_VINSN_INSN_RTX): New function, for use where VINSN_INSN_RTX is used as an lvalue. * sel-sched-ir.c (vinsn_init): Replace VINSN_INSN_RTX with SET_VINSN_INSN_RTX where it's used as an lvalue. (VINSN_INSN_RTX): New function. (SET_VINSN_INSN_RTX): New function. / 2014-08-19 David Malcolm <dmalcolm@redhat.com> * rtx-classes-status.txt (TODO): Add SET_VINSN_INSN_RTX. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214165 138bc75d-0d04-0410-961f-82ee72b054a4
* DEP_PRO/DEP_CON scaffoldingdmalcolm2014-08-196-6/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ 2014-08-19 David Malcolm <dmalcolm@redhat.com> * sched-int.h (DEP_PRO): struct _dep's "pro" and "con" fields will eventually be rtx_insn *, but to help with transition, for now, convert from an access macro into a pair of functions: DEP_PRO returning an rtx_insn * and... (SET_DEP_PRO): New function, for use where DEP_PRO is used as an lvalue, returning an rtx&. (DEP_CON): Analogous changes to DEP_PRO above. (SET_DEP_CON): Likewise. * haifa-sched.c (create_check_block_twin): Replace DEP_CON used as an lvalue to SET_DEP_CON. * sched-deps.c (init_dep_1): Likewise for DEP_PRO and DEP_CON. (sd_copy_back_deps): Likewise for DEP_CON. (DEP_PRO): New function, adding a checked cast for now. (DEP_CON): Likewise. (SET_DEP_PRO): New function. (SET_DEP_CON): Likewise. / 2014-08-19 David Malcolm <dmalcolm@redhat.com> * rtx-classes-status.txt (TODO): Add SET_DEP_PRO, SET_DEP_CON. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214164 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>ktietz2014-08-194-0/+44
| | | | | | | | | | | | | | | | | | Kai Tietz <ktietz@redhat.com> * config/os/mingw32-w64/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32): Define. * config/os/newlib/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32): Ditto. * libsupc++/atexit_thread.cc [_GLIBCXX_THREAD_ATEXIT_WIN32]: #include <windows.h>. (struct elt): Add dll member. (run): Decrement dll refcount. (__cxxabiv1::__cxa_thread_atexit): Increment dll refcount. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214163 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>ktietz2014-08-195-8/+36
| | | | | | | | | | | | | * config/i386/cygming-crtend.c (register_frame_ctor): Move atexit call from here... * config/i386/cygming-crtbegin.c (__gcc_register_frame): to here. (__dso_handle): Define on Cygwin. * config/i386/t-cygming (crtbeginS.o): New rule. * config.host (*-*-cygwin*): Add crtbeginS.o to extra_parts. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214162 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>ktietz2014-08-194-4/+42
| | | | | | | | | | | | | | * config.gcc (*-*-cygwin*): Use __cxa_atexit by default. (extra_options): Add i386/cygwin.opt. * config/i386/cygwin.h (STARTFILE_SPEC): Use crtbeginS.o if shared. (CPP_SPEC): Accept -pthread. (LINK_SPEC): Ditto. (GOMP_SELF_SPECS): Update comment. * config/i386/cygwin.opt: New file for -pthread flag. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214161 138bc75d-0d04-0410-961f-82ee72b054a4
* Convert DF_REF_INSN to a function for nowdmalcolm2014-08-195-1/+18
| | | | | | | | | | | | | | | | | | gcc/ 2014-08-19 David Malcolm <dmalcolm@redhat.com> * df-core.c (DF_REF_INSN): New, using a checked cast for now. * df.h (DF_REF_INSN): Convert from a macro to a function, so that we can return an rtx_insn *. / 2014-08-19 David Malcolm <dmalcolm@redhat.com> * rtx-classes-status.txt (TODO): Add DF_REF_INSN. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214160 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-19 Joost VandeVondele <vondele@gcc.gnu.org>vondele2014-08-192-0/+5
| | | | | | | | * MAINTAINERS (Write After Approval): Add myself. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214159 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>ktietz2014-08-193-2/+11
| | | | | | | | | | | | | * config/i386/cygwin.h (LINK_SPEC): Pass --tsaware flag only when building executables, not DLLs. Add --large-address-aware under the same conditions. * config/i386/cygwin-w64.h (LINK_SPEC): Pass --tsaware flag only when building executables, not DLLs. Add --large-address-aware under the same conditions when using -m32. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214158 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-19 Christopher Faylor <me.gnu@cgf.cx>cgf2014-08-192-1/+4
| | | | | | | * MAINTAINERS: Remove myself git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214157 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>ktietz2014-08-192-45/+17
| | | | | | | | | * config/i386/cygwin-stdint.h: Throughout, make type definitions dependent on target architecture, not host. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214156 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>ktietz2014-08-192-2/+6
| | | | | | | | * configure.tgt: Add cygwin to supported targets. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214154 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>ktietz2014-08-192-1/+6
| | | | | | | | | * config/i386/cygming-crtbegin.c (deregister_frame_fn): Fix declaration syntax. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214153 138bc75d-0d04-0410-961f-82ee72b054a4
* Replace PREV_INSN et al macros with functionsdmalcolm2014-08-192-4/+34
| | | | | | | | | | | | | | | | | | | gcc/ 2014-08-19 David Malcolm <dmalcolm@redhat.com> * rtl.h (PREV_INSN): Convert to an inline function. Strengthen the return type from rtx to rtx_insn *, which will enable various conversions in followup patches. For now this is is done by a checked cast. (NEXT_INSN): Likewise. (SET_PREV_INSN): Convert to an inline function. This is intended for use as an lvalue, and so returns an rtx& to allow in-place modification. (SET_NEXT_INSN): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214152 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-19 Patrick Palka <ppalka@gcc.gnu.org>ppalka2014-08-194-4/+18
| | | | | | | | | | | | | | | | PR c/45584 * c-typeck.c (build_c_cast): Do a conversion even when the TYPE_MAIN_VARIANTs are the same. 2014-08-19 Patrick Palka <ppalka@gcc.gnu.org> PR c/45584 * gcc.dg/pr13519-1.c: Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214151 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc.dg/guality/const-volatile.c: Add `used' attribute to pi.mark2014-08-192-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214144 138bc75d-0d04-0410-961f-82ee72b054a4
* Emit DW_tag_restrict_type for restrict-qualified pointers.mark2014-08-194-8/+83
| | | | | | | | | | | | | | gcc/ChangeLog PR debug/59051 * dwarf2out.c (modified_type_die): Handle TYPE_QUAL_RESTRICT. gcc/testsuite/ChangeLog PR debug/59051 * gcc.dg/guality/restrict.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214143 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c/61271mpolacek2014-08-192-1/+6
| | | | | | | * cgraphunit.c (handle_alias_pairs): Fix condition. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214142 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-19 Richard Biener <rguenther@suse.de>rguenth2014-08-192-12/+17
| | | | | | | | * gimple-fold.c (fold_gimple_assign): Properly build a null-pointer constant when devirtualizing addresses. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214141 138bc75d-0d04-0410-961f-82ee72b054a4
* dwarf2out.c: Pass one cv_quals argument instead of two for const and volatile.mark2014-08-192-67/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | modified_type_die and add_type_attribute take two separate arguments for whether the type should be const and/or volatile. To help add more type modifiers pass the requested modifiers as one cv_quals argument to these functions. And introduce helper function decl_quals to extract additional cv_quals from declaration trees. DWARFv3 added restrict_type [PR debug/59051] and DWARFv5 has proposals for atomic_type and aligned_type. Which will be easier to implement based on this change. gcc/ChangeLog * dwarf2out.c (decl_quals): New function. (modified_type_die): Take one cv_quals argument instead of two, one for const and one for volatile. (add_type_attribute): Likewise. (generic_parameter_die): Call add_type_attribute with one modifier argument. (base_type_for_mode): Likewise. (add_bounds_info): Likewise. (add_subscript_info): Likewise. (gen_array_type_die): Likewise. (gen_descr_array_type_die): Likewise. (gen_entry_point_die): Likewise. (gen_enumeration_type_die): Likewise. (gen_formal_parameter_die): Likewise. (gen_subprogram_die): Likewise. (gen_variable_die): Likewise. (gen_const_die): Likewise. (gen_field_die): Likewise. (gen_pointer_type_die): Likewise. (gen_reference_type_die): Likewise. (gen_ptr_to_mbr_type_die): Likewise. (gen_inheritance_die): Likewise. (gen_subroutine_type_die): Likewise. (gen_typedef_die): Likewise. (force_type_die): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214140 138bc75d-0d04-0410-961f-82ee72b054a4
* Add guality [p]type test.mark2014-08-193-4/+132
| | | | | | | | | | | | | | | | | | | | | Add a new type:var variant to the guality.exp testsuite to check that gdb gets the correct type for a variable or function. To use it in a guality test add something like: /* { dg-final { gdb-test 50 "type:main" "int (int, char **)" } } */ Which will put a breakpoint at line 50 and check that the type of "main" equals "int (int, char **)" according to gdb. The test harness will make sure to squash all extra whitespace/newlines that gdb might use to make comparisons of large structs easy. gcc/testsuite/ChangeLog * lib/gcc-gdb-test.exp (gdb-test): Handle type:var for gdb ptype matching. Catch '<unknown type in ' to recognize older gdb versions. * gcc.dg/guality/const-volatile.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214139 138bc75d-0d04-0410-961f-82ee72b054a4
* XFAIL g++.dg/debug/dwarf2/nested-4.C on Solaris with Sun asro2014-08-192-1/+6
| | | | | | | * g++.dg/debug/dwarf2/nested-4.C: XFAIL on *-*-solaris2.1[1-9]* && !gas. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214138 138bc75d-0d04-0410-961f-82ee72b054a4
* Restore Sun as COMDAT group supportro2014-08-193-6/+12
| | | | | | | | * configure.ac (gcc_cv_as_comdat_group_group): Only default to no if unset. * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214137 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-19 Richard Biener <rguenther@suse.de>rguenth2014-08-193-6/+16
| | | | | | | | | * lto-streamer-out.c (DFS::DFS_write_tree_body): Stream DECL_EXTERNALs in BLOCKs as non-references. * tree-streamer-out.c (streamer_write_chain): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214135 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/kyukhin2014-08-192-16/+58
| | | | | | | | | | | | | | | | | | | | | * config/i386/sse.md (define_mode_iterator VI48_AVX512F): Delete. (define_mode_iterator VI48_AVX512F_AVX512VL): New. (define_mode_iterator VI2_AVX512VL): Ditto. (define_insn "<mask_codefor>avx512f_ufix_notruncv16sfv16si<mask_name><round_name>"): Delete. (define_insn ("<mask_codefor><avx512>_ufix_notrunc<sf2simodelower><mode><mask_name><round_name>"): New. (define_insn "avx512cd_maskw_vec_dup<mode>"): Macroize. (define_insn "<avx2_avx512f>_ashrv<mode><mask_name>"): Delete. (define_insn "<avx2_avx512bw>_ashrv<mode><mask_name>", with VI48_AVX512F_AVX512VL): New. (define_insn "<avx2_avx512bw>_ashrv<mode><mask_name>", with VI2_AVX512VL): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214134 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/invoke.texi: Document -Wc99-c11-compat.mpolacek2014-08-1918-78/+291
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c-family/ * c.opt (Wc99-c11-compat): New option. c/ * c-decl.c (diagnose_mismatched_decls): Unconditionally call pedwarn_c99 instead of pedwarn. (grokfield): Likewise. (warn_defaults_to): New function. (grokdeclarator): Call warn_defaults_to instead of pedwarn_c99. Unconditionally call pedwarn_c99 instead of pedwarn. (start_function): Call warn_defaults_to instead of pedwarn_c99. (declspecs_add_scspec): Call pedwarn_c99 instead of pedwarn, don't check flag_isoc11 before. * c-errors.c (pedwarn_c99): Change the return type to bool. Handle -Wc99-c11-compat. * c-parser.c (disable_extension_diagnostics): Handle warn_c99_c11_compat. (restore_extension_diagnostics): Likewise. (c_parser_static_assert_declaration_no_semi): Call pedwarn_c99 instead of pedwarn, don't check flag_isoc11 before. (c_parser_declspecs): Likewise. (c_parser_alignas_specifier): Likewise. (c_parser_alignof_expression): Likewise. (c_parser_generic_selection): Likewise. * c-tree.h (pedwarn_c99): Update declaration. * c-typeck.c (c_finish_return): Call pedwarn or warning_at instead of pedwarn_c99. testsuite/ * gcc.dg/Wc99-c11-compat-1.c: New test. * gcc.dg/Wc99-c11-compat-2.c: New test. * gcc.dg/Wc99-c11-compat-3.c: New test. * gcc.dg/Wc99-c11-compat-4.c: New test. * gcc.dg/Wc99-c11-compat-5.c: New test. * gcc.dg/Wc99-c11-compat-6.c: New test. * gcc.dg/Wc99-c11-compat-7.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214133 138bc75d-0d04-0410-961f-82ee72b054a4
* Add forgotten test.mpolacek2014-08-191-0/+14
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214132 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/c-family/mpolacek2014-08-1918-77/+219
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according to warn_c90_c99_compat. * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize to -1. gcc/c/ * c-decl.c (warn_variable_length_array): Pass OPT_Wvla unconditionally to pedwarn_c90. * c-errors.c: Include "opts.h". (pedwarn_c90): Rewrite to handle -Wno-c90-c99-compat better. * c-parser.c (disable_extension_diagnostics): Handle negative value of warn_c90_c99_compat, too. (restore_extension_diagnostics): Likewise. (c_parser_compound_statement_nostart): Pass OPT_Wdeclaration_after_statement unconditionally to pedwarn_c90. gcc/testsuite/ * gcc.dg/Wc90-c99-compat-4.c: Remove all dg-warnings. * gcc.dg/Wc90-c99-compat-5.c: Remove all dg-errors. * gcc.dg/Wc90-c99-compat-7.c: New test. * gcc.dg/Wc90-c99-compat-8.c: New test. * gcc.dg/Wdeclaration-after-statement-4.c: New test. libcpp/ * charset.c (_cpp_valid_ucn): Warn only if -Wc90-c99-compat. * lex.c (_cpp_lex_direct): Likewise. * macro.c (replace_args): Likewise. (parse_params): Likewise. * include/cpplib.h (cpp_options): Change cpp_warn_c90_c99_compat to char. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214131 138bc75d-0d04-0410-961f-82ee72b054a4
* * class.c (contains_empty_class_p): Remove.gerald2014-08-192-30/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214130 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/c-family/ChangeLog:manu2014-08-1913-265/+341
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org> Steven Bosscher <steven@gcc.gnu.org> PR c/52952 * c-format.c: Add extra_arg_loc and format_string_loc to struct format_check_results. (check_function_format): Use true and add comment for boolean argument. (finish_dollar_format_checking): Use explicit location when warning. (check_format_info): Likewise. (check_format_arg): Set extra_arg_loc and format_string_loc. (check_format_info_main): Use explicit location when warning. (check_format_types): Pass explicit location. (format_type_warning): Likewise. gcc/testsuite/ChangeLog: 2014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org> Steven Bosscher <steven@gcc.gnu.org> PR c/52952 * gcc.dg/redecl-4.c: Add column markers. * gcc.dg/format/bitfld-1.c: Likewise. * gcc.dg/format/attr-2.c: Likewise. * gcc.dg/format/attr-6.c: Likewise. * gcc.dg/format/array-1.c: Likewise. * gcc.dg/format/attr-7.c: Likewise. * gcc.dg/format/asm_fprintf-1.c: Likewise. * gcc.dg/format/attr-4.c: Likewise. * gcc.dg/format/branch-1.c: Likewise. * gcc.dg/format/c90-printf-1.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214129 138bc75d-0d04-0410-961f-82ee72b054a4
* Split NEXT_INSN/PREV_INSN into lvalue and rvalue formsdmalcolm2014-08-1924-205/+271
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | / 2014-08-19 David Malcolm <dmalcolm@redhat.com> * rtx-classes-status.txt: Add SET_NEXT_INSN, SET_PREV_INSN. gcc/ 2014-08-19 David Malcolm <dmalcolm@redhat.com> * rtl.h (PREV_INSN): Split macro in two: the existing one, for rvalues, and... (SET_PREV_INSN): New macro, for use as an lvalue. (NEXT_INSN, SET_NEXT_INSN): Likewise. * caller-save.c (save_call_clobbered_regs): Convert lvalue use of PREV_INSN/NEXT_INSN into SET_PREV_INSN/SET_NEXT_INSN. * cfgrtl.c (try_redirect_by_replacing_jump): Likewise. (fixup_abnormal_edges): Likewise. (unlink_insn_chain): Likewise. (fixup_reorder_chain): Likewise. (cfg_layout_delete_block): Likewise. (cfg_layout_merge_blocks): Likewise. * combine.c (update_cfg_for_uncondjump): Likewise. * emit-rtl.c (link_insn_into_chain): Likewise. (remove_insn): Likewise. (delete_insns_since): Likewise. (reorder_insns_nobb): Likewise. (emit_insn_after_1): Likewise. * final.c (rest_of_clean_state): Likewise. (final_scan_insn): Likewise. * gcse.c (can_assign_to_reg_without_clobbers_p): Likewise. * haifa-sched.c (concat_note_lists): Likewise. (remove_notes): Likewise. (restore_other_notes): Likewise. (move_insn): Likewise. (unlink_bb_notes): Likewise. (restore_bb_notes): Likewise. * jump.c (delete_for_peephole): Likewise. * optabs.c (emit_libcall_block_1): Likewise. * reorg.c (emit_delay_sequence): Likewise. (fill_simple_delay_slots): Likewise. * sel-sched-ir.c (sel_move_insn): Likewise. (sel_remove_insn): Likewise. (get_bb_note_from_pool): Likewise. * sel-sched.c (move_nop_to_previous_block): Likewise. * config/bfin/bfin.c (reorder_var_tracking_notes): Likewise. * config/c6x/c6x.c (gen_one_bundle): Likewise. (c6x_gen_bundles): Likewise. (hwloop_optimize): Likewise. * config/frv/frv.c (frv_function_prologue): Likewise. (frv_register_nop): Likewise. * config/ia64/ia64.c (ia64_init_dfa_pre_cycle_insn): Likewise. (ia64_reorg): Likewise. * config/mep/mep.c (mep_reorg_addcombine): Likewise. (mep_make_bundle): Likewise. (mep_bundle_insns): Likewise. * config/picochip/picochip.c (reorder_var_tracking_notes): Likewise. * config/tilegx/tilegx.c (reorder_var_tracking_notes): Likewise. * config/tilepro/tilepro.c (reorder_var_tracking_notes): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214128 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-18 Patrick Palka <ppalka@gcc.gnu.org>ppalka2014-08-192-0/+5
| | | | | | | | * MAINTAINERS (Write After Approval): Add myself. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214127 138bc75d-0d04-0410-961f-82ee72b054a4
* Replace BB_HEAD et al macros with functionsdmalcolm2014-08-193-11/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ 2014-08-19 David Malcolm <dmalcolm@redhat.com> * basic-block.h (BB_HEAD): Convert to a function. Strengthen the return type from rtx to rtx_insn *. (BB_END): Likewise. (BB_HEADER): Likewise. (BB_FOOTER): Likewise. (SET_BB_HEAD): Convert to a function. (SET_BB_END): Likewise. (SET_BB_HEADER): Likewise. (SET_BB_FOOTER): Likewise. * cfgrtl.c (BB_HEAD): New function, from macro of same name. Strengthen the return type from rtx to rtx_insn *. For now, this is done by adding a checked cast, but this will eventually become a field lookup. (BB_END): Likewise. (BB_HEADER): Likewise. (BB_FOOTER): Likewise. (SET_BB_HEAD): New function, from macro of same name. This is intended for use as an lvalue, and so returns an rtx& to allow in-place modification. (SET_BB_END): Likewise. (SET_BB_HEADER): Likewise. (SET_BB_FOOTER): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214126 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2014-08-191-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214125 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-18 Paolo Carlini <paolo.carlini@oracle.com>paolo2014-08-182-53/+62
| | | | | | | | | | | | | | | | | | | | | | | * parser.c (cp_parser_expression): Add default arguments. (cp_parser_primary_expression, cp_parser_postfix_expression, cp_parser_array_notation, cp_parser_postfix_open_square_expression, cp_parser_unary_expression, cp_parser_direct_new_declarator, cp_parser_question_colon_clause, cp_parser_assignment_operator_opt, cp_parser_lambda_body, cp_parser_expression_statement, cp_parser_condition, cp_parser_c_for, cp_parser_range_for, cp_parser_iteration_statement, cp_parser_jump_statement, cp_parser_decltype_expr, cp_parser_noexcept_specification_opt, cp_parser_asm_operand_list, cp_parser_objc_message_receiver, cp_parser_objc_synchronized_statement, cp_parser_objc_throw_statement, cp_parser_omp_var_list_no_open, cp_parser_omp_clause_num_threads, cp_parser_omp_clause_num_teams, cp_parser_omp_clause_thread_limit, cp_parser_omp_clause_linear, cp_parser_omp_clause_device, cp_parser_omp_atomic, cp_parser_omp_for_loop_init, cp_parser_omp_for_loop, cp_parser_omp_declare_reduction_exprs, cp_parser_transaction_expression): Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214122 138bc75d-0d04-0410-961f-82ee72b054a4
* Split BB_HEAD et al into BB_HEAD/SET_BB_HEAD variantsdmalcolm2014-08-1820-93/+169
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ 2014-08-18 David Malcolm <dmalcolm@redhat.com> * basic-block.h (BB_HEAD): Split macro in two: the existing one, for rvalues, and... (SET_BB_HEAD): New macro, for use as a lvalue. (BB_END, SET_BB_END): Likewise. (BB_HEADER, SET_BB_HEADER): Likewise. (BB_FOOTER, SET_BB_FOOTER): Likewise. * bb-reorder.c (add_labels_and_missing_jumps): Convert lvalue use of BB_* macros into SET_BB_* macros. (fix_crossing_unconditional_branches): Likewise. * caller-save.c (save_call_clobbered_regs): Likewise. (insert_one_insn): Likewise. * cfgbuild.c (find_bb_boundaries): Likewise. * cfgcleanup.c (merge_blocks_move_successor_nojumps): Likewise. (outgoing_edges_match): Likewise. (try_optimize_cfg): Likewise. * cfgexpand.c (expand_gimple_cond): Likewise. (expand_gimple_tailcall): Likewise. (expand_gimple_basic_block): Likewise. (construct_exit_block): Likewise. * cfgrtl.c (delete_insn): Likewise. (create_basic_block_structure): Likewise. (rtl_delete_block): Likewise. (rtl_split_block): Likewise. (emit_nop_for_unique_locus_between): Likewise. (rtl_merge_blocks): Likewise. (block_label): Likewise. (try_redirect_by_replacing_jump): Likewise. (emit_barrier_after_bb): Likewise. (fixup_abnormal_edges): Likewise. (record_effective_endpoints): Likewise. (relink_block_chain): Likewise. (fixup_reorder_chain): Likewise. (fixup_fallthru_exit_predecessor): Likewise. (cfg_layout_duplicate_bb): Likewise. (cfg_layout_split_block): Likewise. (cfg_layout_delete_block): Likewise. (cfg_layout_merge_blocks): Likewise. * combine.c (update_cfg_for_uncondjump): Likewise. * emit-rtl.c (add_insn_after): Likewise. (remove_insn): Likewise. (reorder_insns): Likewise. (emit_insn_after_1): Likewise. * haifa-sched.c (get_ebb_head_tail): Likewise. (restore_other_notes): Likewise. (move_insn): Likewise. (sched_extend_bb): Likewise. (fix_jump_move): Likewise. * ifcvt.c (noce_process_if_block): Likewise. (dead_or_predicable): Likewise. * ira.c (update_equiv_regs): Likewise. * reg-stack.c (change_stack): Likewise. * sel-sched-ir.c (sel_move_insn): Likewise. * sel-sched.c (move_nop_to_previous_block): Likewise. * config/c6x/c6x.c (hwloop_optimize): Likewise. * config/ia64/ia64.c (emit_predicate_relation_info): Likewise. / 2014-08-18 David Malcolm <dmalcolm@redhat.com> * rtx-classes-status.txt (TODO): Add SET_BB_HEAD, SET_BB_END, SET_BB_HEADER, SET_BB_FOOTER git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214121 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix whitespace in ChangeLog entrydmalcolm2014-08-181-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214120 138bc75d-0d04-0410-961f-82ee72b054a4
* New function: for_each_rtx_in_insndmalcolm2014-08-183-0/+22
| | | | | | | | | | | | gcc/ 2014-08-18 David Malcolm <dmalcolm@redhat.com> * rtl.h (for_each_rtx_in_insn): New function. * rtlanal.c (for_each_rtx_in_insn): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214119 138bc75d-0d04-0410-961f-82ee72b054a4
* Introduce rtx_insn subclass of rtx_defdmalcolm2014-08-183-1/+81
| | | | | | | | | | | | | | | | | | | | | | gcc/ 2014-08-18 David Malcolm <dmalcolm@redhat.com> * coretypes.h (class rtx_insn): Add forward declaration. * rtl.h: Include is-a.h. (struct rtx_def): Add dummy "desc" and "tag" GTY options as a workaround to ensure gengtype knows inheritance is occurring, whilst continuing to use the pre-existing special-casing for rtx_def. (class rtx_insn): New subclass of rtx_def, adding the invariant that we're dealing with something we can sanely use INSN_UID, NEXT_INSN, PREV_INSN on. (is_a_helper <rtx_insn *>::test): New. (is_a_helper <const rtx_insn *>::test): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214118 138bc75d-0d04-0410-961f-82ee72b054a4
* Introduce safe_as_admalcolm2014-08-182-0/+28
| | | | | | | | | | | gcc/ 2014-08-18 David Malcolm <dmalcolm@redhat.com> * is-a.h (template<T, U> safe_as_a <U *p>) New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214117 138bc75d-0d04-0410-961f-82ee72b054a4
* Add rtx-classes-status.txtdmalcolm2014-08-182-0/+17
| | | | | | | | | | 2014-08-18 David Malcolm <dmalcolm@redhat.com> * rtx-classes-status.txt: New file git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214116 138bc75d-0d04-0410-961f-82ee72b054a4