aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2014-09-20diagnostic.c (warning_n): New function.Jan Hubicka4-19/+95
* diagnostic.c (warning_n): New function. * diagnostic-core.h (warning_n): Declare. * ipa-devirt.c (ipa_devirt): Handle singulars correctly; output dynamic counts when available. From-SVN: r215416
2014-09-20re PR tree-optimization/63255 (FAIL: gcc.dg/lto/ipareference2 ↵Jan Hubicka2-5/+11
c_lto_ipareference2_0.o-c_lto_ipareference2_1.o execute -O1 -flto -flto-partition=1to1 -fwhole-program) PR tree-optimization/63255 * ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue in setting body_removed flag. From-SVN: r215415
2014-09-19re PR c++/61392 (internal compiler error: in write_template_arg_literal, at ↵Jason Merrill4-4/+24
cp/mangle.c:3072) PR c++/61392 * mangle.c (write_expression): Use unresolved-name mangling for DR850 case. From-SVN: r215414
2014-09-19re PR c++/61465 (Bogus parameter set but not used warning in constructor ↵Jason Merrill3-1/+15
initialization list) PR c++/61465 * call.c (convert_like_real) [ck_identity]: Call mark_rvalue_use after pulling out an element from a CONSTRUCTOR. From-SVN: r215413
2014-09-20Daily bump.GCC Administrator1-1/+1
From-SVN: r215412
2014-09-19re PR c++/61825 (g++.dg/cpp0x/static_assert9.C FAILs)Jan Hubicka8-19/+80
PR c++/61825 * c-family/c-common.c (handle_alias_ifunc_attribute): Check that visibility change is possible (handle_weakref_attribute): Likewise. * cgraph.h (symtab_node): Add method get_create and field refuse_visibility_changes. (symtab_node::get_create): New method. * fold-const.c (tree_single_nonzero_warnv_p): Use get_create. * varasm.c (mark_weak): Verify that visibility change is possible. * gcc.dg/tree-ssa/nonzero-1.c: Require error to be output. From-SVN: r215409
2014-09-19predicates.md (fusion_gpr_mem_load): Move testing for base_reg_operand to be ↵Michael Meissner5-109/+150
common between LO_SUM and PLUS. 2014-09-19 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/predicates.md (fusion_gpr_mem_load): Move testing for base_reg_operand to be common between LO_SUM and PLUS. (fusion_gpr_mem_combo): New predicate to match a fused address that combines the addis and memory offset address. * config/rs6000/rs6000-protos.h (fusion_gpr_load_p): Change calling signature. (emit_fusion_gpr_load): Likewise. * config/rs6000/rs6000.c (fusion_gpr_load_p): Change calling signature to pass each argument separately, rather than using an operands array. Rewrite the insns found by peephole2 to be a single insn, rather than hoping the insns will still be together when the peephole pass is done. Drop being called via a normal peephole. (emit_fusion_gpr_load): Change calling signature to be called from the fusion_gpr_load_<mode> insns with a combined memory address instead of the peephole pass passing the addis and offset separately. * config/rs6000/rs6000.md (UNSPEC_FUSION_GPR): New unspec for GPR fusion. (power8 fusion peephole): Drop support for doing power8 via a normal peephole that was created by the peephole2 pass. (power8 fusion peephole2): Create a new insn with the fused address, so that the fused operation is kept together after register allocation is done. (fusion_gpr_load_<mode>): Likewise. From-SVN: r215404
2014-09-19re PR lto/63286 (FAIL: g++.dg/lto/20101014-2 cp_lto_20101014-2_0.o assemble, ↵Jan Hubicka2-0/+6
* after r215196) PR lto/63286 * tree.c (need_assembler_name_p): Do not mangle variadic types. From-SVN: r215403
2014-09-19compiler: Pass constant arguments directly to thunk functions.Ian Lance Taylor1-14/+36
From-SVN: r215402
2014-09-19Fix mcount test cases to only run on supported targetsAndi Kleen5-4/+11
* gcc.dg/pg-override.c: Only run on x86 Linux. * gcc.dg/pg.c: Dito. * gcc.target/i386/fentry-override.c: Exclude for PIC. * gcc.target/i386/fentry.c: Dito. From-SVN: r215401
2014-09-19recog.c (scratch_operand): Do not simply allow all hard registers: only ↵Segher Boessenkool2-1/+8
allow those that are allocatable. 2014-09-19 Segher Boessenkool <segher@kernel.crashing.org> * recog.c (scratch_operand): Do not simply allow all hard registers: only allow those that are allocatable. From-SVN: r215399
2014-09-19cfgrtl.c [...]: Update comments and fix spacing to conform to coding style.Felix Yang6-16/+21
* cfgrtl.c ira.c ira-color.c ira-conflicts ira-lives.c: Update comments and fix spacing to conform to coding style. From-SVN: r215398
2014-09-19Re: [Patch] Teach genrecog/genoutput that scratch registers require write ↵James Greenhalgh2-0/+6
constraint modifiers gcc/ * genrecog.c (validate_pattern): Allow empty constraints in a match_scratch. From-SVN: r215397
2014-09-19dwarf2out.c (decl_ultimate_origin): Update comment.Aldy Hernandez3-4/+7
* dwarf2out.c (decl_ultimate_origin): Update comment. * tree.c (block_ultimate_origin): Same. From-SVN: r215396
2014-09-19rs6000.c (rs6000_special_adjust_field_align_p): Update GCC version name to ↵Ulrich Weigand2-3/+10
GCC 5. * config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p): Update GCC version name to GCC 5. (rs6000_function_arg_boundary): Likewise. (rs6000_function_arg): Likewise. From-SVN: r215395
2014-09-19[Patch sh] Fixup use of constraints in define_splitJames Greenhalgh2-4/+8
* config/sh/sh.md: Fix use of constraints in define_split. From-SVN: r215393
2014-09-19PR ipa/61998 Fix crash -Wsuggest-final-types crashMarkus Trippelsdorf4-0/+17
-Wsuggest-final-types crashes when used on mininal testcases. Fix by bailing out early when odr_types_ptr is NULL in ipa_devirt() 2014-09-19 Markus Trippelsdorf <markus@trippelsdorf.de> PR ipa/61998 * ipa-devirt.c (ipa_devirt): Bail out if odr_types_ptr is NULL. 2014-09-19 Markus Trippelsdorf <markus@trippelsdorf.de> PR ipa/61998 * g++.dg/warn/Wsuggest-final-2.C: New testcase. From-SVN: r215392
2014-09-19[Patch] Teach genrecog/genoutput that scratch registers require write ↵James Greenhalgh4-28/+87
constraint modifiers gcc/ * doc/md.texi (Modifiers): Consistently use "read/write" nomenclature rather than "input/output". * genrecog.c (constraints_supported_in_insn_p): New. (validate_pattern): If needed, also check constraints on MATCH_SCRATCH operands. * genoutput.c (validate_insn_alternatives): Catch earlyclobber operands with no '=' or '+' modifier. From-SVN: r215388
2014-09-19re PR fortran/63152 (needless initialization of local pointer arrays.)Joost VandeVondele4-2/+15
2014-09-19 Joost VandeVondele <vondele@gcc.gnu.org> PR fortran/63152 * trans-array.c (gfc_trans_deferred_array): Only nullify allocatables. 2014-09-19 Joost VandeVondele <vondele@gcc.gnu.org> PR fortran/63152 * gfortran.dg/auto_char_dummy_array_1.f90: Fix undefined behavior. * gfortran.dg/pr63152.f90: New test. From-SVN: r215387
2014-09-19re PR c++/58328 ([C++11] bogus: error: constructor required before ↵Paolo Carlini2-0/+23
non-static data member for) 2014-09-19 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58328 * g++.dg/cpp0x/nsdmi10.C: New. From-SVN: r215386
2014-09-19[PATCH AArch64]: Add constraint letter for stack_protect_test patternJames Greenhalgh5-1/+45
gcc/ * config/aarch64/aarch64.md (stack_protect_test_<mode>): Mark scratch register as an output to placate register renaming. gcc/testsuite/ * gcc.dg/ssp-3.c: New. * gcc.dg/ssp-4.c: Likewise. From-SVN: r215385
2014-09-19s390.c (s390_emit_epilogue): Remove bogus assignment.Andreas Krebbel2-1/+5
2014-09-19 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * config/s390/s390.c (s390_emit_epilogue): Remove bogus assignment. From-SVN: r215384
2014-09-19s390.md ("trunctdsd2", [...]): New expanders.Andreas Krebbel4-0/+53
2014-09-19 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * config/s390/s390.md ("trunctdsd2", "extendsdtd2"): New expanders. 2014-09-19 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * gcc.target/s390/dfp-conv1.c: New testcase. From-SVN: r215382
2014-09-19re PR target/62662 (Miscompilation of Qt on s390x)Andreas Krebbel2-5/+23
2014-09-19 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> PR target/62662 * config/s390/s390.c (s390_emit_epilogue): When doing the return address load optimization force s390_optimize_prologue to leave it that way. Only do the optimization if we already decided to push r14 into a stack slot. From-SVN: r215381
2014-09-19asan.c (build_check_stmt): Alignment arg was added.Marat Zakirov6-4/+60
gcc/ChangeLog: 2014-09-19 Marat Zakirov <m.zakirov@samsung.com> * asan.c (build_check_stmt): Alignment arg was added. (asan_expand_check_ifn): Optimization for alignment >= 8. gcc/testsuite/ChangeLog: 2014-09-19 Marat Zakirov <m.zakirov@samsung.com> * c-c++-common/asan/red-align-1.c: New test. * c-c++-common/asan/red-align-2.c: New test. From-SVN: r215380
2014-09-19vxworksae.h: Remove obsolete definitions.Olivier Hainque5-52/+32
2014-09-19 Olivier Hainque <hainque@adacore.com> * config/i386/vxworksae.h: Remove obsolete definitions. (STACK_CHECK_PROTECT): Define. * config/i386/vx-common.h: Remove. Merge contents within config/i386/vxworks.h. * config.gcc (i?86-vxworks*): Use i386/vxworks.h instead of i386/vx-common.h. From-SVN: r215378
2014-09-19config.gcc (powerpc-wrs-vxworksmils): New configuration.Olivier Hainque4-1/+50
2014-09-18 Olivier Hainque <hainque@adacore.com> gcc/ * config.gcc (powerpc-wrs-vxworksmils): New configuration. * config/rs6000/t-vxworksmils: New file. * config/rs6000/vxworksmils.h: New file. libgcc/ * config.host (powerpc-wrs-vxworksmils): New configuration, same as vxworksae. contrib/ * config-list.mk (LIST): Add powerpc-wrs-vxworksmils. From-SVN: r215377
2014-09-19varasm.c (default_section_type_flags): Flag .persistent.bss sections as ↵Olivier Hainque2-0/+6
SECTION_BSS. 2014-09-19 Olivier Hainque <hainque@adacore.com> * varasm.c (default_section_type_flags): Flag .persistent.bss sections as SECTION_BSS. From-SVN: r215376
2014-09-19rl78.c (rl78_expand_epilogue): Generate a USE of the pop'ed registers so ↵Nick Clifton2-3/+17
that DCE does not eliminate them. * config/rl78/rl78.c (rl78_expand_epilogue): Generate a USE of the pop'ed registers so that DCE does not eliminate them. From-SVN: r215375
2014-09-19re PR ipa/63298 (internal compiler error: in types_same_for_odr, at ↵Jan Hubicka2-2/+9
ipa-devirt.c:449 with LTO) PR lto/63298 * ipa-devirt.c (odr_subtypes_equivalent_p): Fix thinko in a condition. From-SVN: r215374
2014-09-19Daily bump.GCC Administrator1-1/+1
From-SVN: r215373
2014-09-18Update gcc.dg/pr61053.c for x32H.J. Lu2-4/+8
* gcc.dg/pr61053.c: Updated for x32. From-SVN: r215369
2014-09-19Remove LIBGCC2_TF_CEXT target macro.Joseph Myers13-29/+41
This patch removes the (undocumented) LIBGCC2_TF_CEXT target macro, replacing it by -fbuilding-libgcc predefines (and thereby gets rid of another LIBGCC2_LONG_DOUBLE_TYPE_SIZE conditional, though some more patches are needed before that target macro can be eliminated). This macro indicated the suffix used on __builtin_huge_val, __builtin_copysign, __builtin_fabs built-in function names to produce the names for a given floating-point mode. Predefines are added for all floating-point modes supported for libgcc, not just TFmode. These are fully accurate for modes corresponding to float, double and long double. For other modes, the suffix for *constants* is determined by the targetm.c.mode_for_suffix hook (the limit to two possible suffixes 'w' and 'q' being hardcoded in various places). This is in fact the suffix for built-in functions as well where such functions exist. * For i386, the *q functions always exist (whether or not TFmode is used for long double). The *w functions never exist (but this doesn't matter for libgcc, since no i386 configuration treats XFmode as a supported scalar mode if long double is TFmode; if __float80 were to be supported for 64-bit Android, properly such functions ought to be added). * For ia64, the *q functions exist for non-HP-UX (under HP-UX, long double is TFmode, so they aren't needed). The *w functions never exist. This is an issue for this libgcc code for the XFmode complex functions in libgcc on HP-UX; as I understand it, right now those will accidentally be using TFmode versions of those three functions, so involving unnecessary conversions, while the sanity check on CEXT accidentally passes because all it tests is the sizes of the types. Because of the lack of 'w' functions, the patch uses 'l' when the constant suffix is 'w', matching what the existing libgcc code would do for IA64 HP-UX in that case. Ideally there would be generic code to create such built-in functions for all supported floating-point types. That may be something to consider if support for TS 18661-3 (standard bindings for IEEE 754-2008, defining names such as _Float128, and function names such as copysignf128) is added in future. Bootstrapped with no regressions on x86_64-unknown-linux-gnu. gcc: * system.h (LIBGCC2_TF_CEXT): Poison. * config/i386/cygming.h (LIBGCC2_TF_CEXT): Remove. * config/i386/darwin.h (LIBGCC2_TF_CEXT): Likewise. * config/i386/dragonfly.h (LIBGCC2_TF_CEXT): Likewise. * config/i386/freebsd.h (LIBGCC2_TF_CEXT): Likewise. * config/i386/gnu-user-common.h (LIBGCC2_TF_CEXT): Likewise. * config/i386/openbsdelf.h (LIBGCC2_TF_CEXT): Likewise. * config/i386/sol2.h (LIBGCC2_TF_CEXT): Likewise. * config/ia64/ia64.h (LIBGCC2_TF_CEXT): Likewise. * config/ia64/linux.h (LIBGCC2_TF_CEXT): Likewise. gcc/c-family: * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__ for supported floating-point modes. libgcc: * libgcc2.c (CEXT): Define using __LIBGCC_*_FUNC_EXT__. From-SVN: r215368
2014-09-18Add header guard to several header files.Kito Cheng29-2/+162
2014-09-19 Kito Cheng <kito@0xlab.org> * except.h: Fix header guard. * addresses.h: Add missing header guard. * cfghooks.h: Likewise. * collect-utils.h: Likewise. * collect2-aix.h: Likewise. * conditions.h: Likewise. * cselib.h: Likewise. * dwarf2asm.h: Likewise. * graphds.h: Likewise. * graphite-scop-detection.h: Likewise. * gsyms.h: Likewise. * hw-doloop.h: Likewise. * incpath.h: Likewise. * ipa-inline.h: Likewise. * ipa-ref.h: Likewise. * ira-int.h: Likewise. * ira.h: Likewise. * lra-int.h: Likewise. * lra.h: Likewise. * lto-section-names.h: Likewise. * read-md.h: Likewise. * reload.h: Likewise. * rtl-error.h: Likewise. * sdbout.h: Likewise. * targhooks.h: Likewise. * tree-affine.h: Likewise. * xcoff.h: Likewise. * xcoffout.h: Likewise. From-SVN: r215365
2014-09-18re PR debug/63285 (-fcompare-debug scheduler related failure)Vladimir Makarov4-1/+40
2014-09-18 Vladimir Makarov <vmakarov@redhat.com> PR debug/63285 * haifa-sched.c (schedule_block): Advance cycle at the end of BB if advance != 0. 2014-09-18 Vladimir Makarov <vmakarov@redhat.com> PR debug/63285 * gcc.target/i386/pr63285.c: New test. From-SVN: r215364
2014-09-18re PR c++/63248 (Crash when OpenMP target's array section handling is used ↵Jakub Jelinek3-3/+32
with templates) PR c++/63248 * semantics.c (finish_omp_clauses): Don't call cp_omp_mappable_type on type of type dependent expressions, and don't call it if handle_omp_array_sections has kept TREE_LIST because something was type dependent. * pt.c (tsubst_expr) <case OMP_TARGET, case OMP_TARGET_DATA>: Use keep_next_level, begin_omp_structured_block and finish_omp_structured_block instead of push_stmt_list and pop_stmt_list. libgomp/ * testsuite/libgomp.c++/pr63248.C: New test. From-SVN: r215359
2014-09-18re PR target/61360 (ICE: in lra_update_insn_recog_data, at lra.c:1363 with ↵Vladimir Makarov4-0/+27
-mtune=bdver4) 2014-09-18 Vladimir Makarov <vmakarov@redhat.com> PR target/61360 * lra.c (lra): Call recog_init. 2014-09-18 Vladimir Makarov <vmakarov@redhat.com> PR target/61360 * gcc.target/i386/pr61360.c: New. From-SVN: r215358
2014-09-18re PR c++/62017 (AddressSanitizer reports *-buffer-overflow in destructor ↵Jakub Jelinek4-0/+26
when multiple virtual inheritance is used) PR c++/62017 * asan.c (transform_statements): Don't instrument clobber statements. * g++.dg/asan/pr62017.C: New test. From-SVN: r215354
2014-09-18re PR testsuite/63292 (ASan reports global-buffer-overflow in ↵Jakub Jelinek2-1/+6
gcc.dg/vect/pr59594.c.) PR testsuite/63292 * gcc.dg/vect/pr59594.c (b): Increase size to N + 2 elements. From-SVN: r215352
2014-09-18re PR c++/62232 (-Wnon-virtual-dtor shouldn't warn on final classes)Paolo Carlini4-1/+26
/cp 2014-09-18 Paolo Carlini <paolo.carlini@oracle.com> PR c++/62232 * class.c (finish_struct_1): Do not -Wnon-virtual-dtor warn for final class types. /testsuite 2014-09-18 Paolo Carlini <paolo.carlini@oracle.com> PR c++/62232 * g++.dg/cpp0x/Wdtor1.C: New. From-SVN: r215351
2014-09-18dyncast.cc (__dynamic_cast): Handle mid-destruction dynamic_cast more ↵Jason Merrill1-0/+28
gracefully. * libsupc++/dyncast.cc (__dynamic_cast): Handle mid-destruction dynamic_cast more gracefully. From-SVN: r215350
2014-09-18Fix i386 FP_TRAPPING_EXCEPTIONS.Joseph Myers2-0/+45
The i386 sfp-machine.h defines FP_TRAPPING_EXCEPTIONS in a way that is always wrong: it treats a set bit as indicating the exception is trapping, when actually a set bit (both for 387 and SSE floating point) indicates it is masked, and a clear bit indicates it is trapping. This patch fixes this bug. Bootstrapped with no regressions on x86_64-unknown-linux-gnu. libgcc: * config/i386/sfp-machine.h (FP_TRAPPING_EXCEPTIONS): Treat clear bits not set bits as indicating trapping exceptions. gcc/testsuite: * gcc.dg/torture/float128-exact-underflow.c: New test. From-SVN: r215347
2014-09-18[ARM] Fix insn type of movmisalign neon load pattern.Kyrylo Tkachov2-1/+6
* config/arm/neon.md (*movmisalign<mode>_neon_load): Change type to neon_load1_1reg<q>. From-SVN: r215346
2014-09-18re PR c++/61745 (template friend for dyadic operator- is only accepted if ↵Paolo Carlini2-0/+27
the monadic operator- follows it) 2014-09-18 Paolo Carlini <paolo.carlini@oracle.com> PR c++/61745 * g++.dg/template/pr61745.C: New. From-SVN: r215345
2014-09-18Daily bump.GCC Administrator1-1/+1
From-SVN: r215344
2014-09-17re PR c/61854 (Warning single-line comment for -std=c89?)Marek Polacek11-0/+149
PR c/61854 libcpp/ * init.c (struct lang_flags): Remove cplusplus_comments. (cpp_set_lang): Likewise. (post_options): Likewise. * lex.c (_cpp_lex_direct): Disallow C++ style comments in C90/C94. testsuite/ * gcc.dg/cpp/pr61854-1.c: New test. * gcc.dg/cpp/pr61854-2.c: New test. * gcc.dg/cpp/pr61854-3.c: New test. * gcc.dg/cpp/pr61854-3.h: New test. * gcc.dg/cpp/pr61854-4.c: New test. * gcc.dg/cpp/pr61854-5.c: New test. * gcc.dg/cpp/pr61854-6.c: New test. * gcc.dg/cpp/pr61854-7.c: New test. * gcc.dg/cpp/pr61854-c90.c: New test. * gcc.dg/cpp/pr61854-c94.c: New test. From-SVN: r215339
2014-09-17re PR debug/63284 (-fcompare-debug issue due to redirection to ↵Jakub Jelinek4-1/+66
__builtin_unreachable ()) PR debug/63284 * tree-cfgcleanup.c (fixup_noreturn_call): Don't split block if there are only debug stmts after the noreturn call, instead remove the debug stmts. * gcc.dg/pr63284.c: New test. From-SVN: r215331
2014-09-17* ada/acats/run_all.sh: Redirect mkdir stderr to /dev/null.Jakub Jelinek2-1/+5
From-SVN: r215330
2014-09-17Minor cleanup, don't run tests for which compilation is enough.Jason Merrill4-20/+10
* g++.dg/g++.dg/cpp1y/var-templ1.C: Change return to static_assert, compile instead of running. * g++.dg/g++.dg/cpp1y/var-templ3.C: Likewise. * g++.dg/g++.dg/cpp1y/var-templ4.C: Likewise. * g++.dg/g++.dg/cpp1y/var-templ5.C: Likewise. From-SVN: r215329
2014-09-17ipa-devirt.c (type_pair, [...]): New types.Jan Hubicka2-49/+135
* ipa-devirt.c (type_pair, default_hashset_traits): New types. (odr_types_equivalent_p): Use pair hash. (odr_subtypes_equivalent_p): Likewise, do structural compare on ODR types that may be mismatched. (warn_odr): Support warning when only one field is given. (odr_types_equivalent_p): Strenghten comparsions made; support VOIDtype. (add_type_duplicate): Update VISITED hash set. From-SVN: r215328