- 30 May, 2015 8 commits
-
-
If you create a toolchain with the target alphaev68-unknown-linux-gnu, gcc will use the -mcpu=ev67 by default when compiling. Some software packages (like gmp) will use this target info to decide that it may freely use assembly code that targets ev67+. The trouble comes in when trying to compile that pure assembly code. While gcc will use -mcpu=ev67 just fine, it will invoke gas without an -mev67 option, so the assembler will default to the lowest common denominator -- ev4 in this case. Inline assembly in C code is normally just peachy because gcc's assembler output will start with ".arch <cpu>" and the assembler will accept that. But if the hand coded assembly code lacks that .arch, you easily end up with errors like so: opcode `cttz' not supported for target <all> While the assembly code could/should be fixed to explicitly output the .arch directive, I think it's reasonable to expect this to work: echo 'cttz $20,$21' | gcc -x assembler -c - -o /dev/null -mcpu=ev67 This simple patch implements that, although I guess it is a bit redundant in the default case where gcc outputs .arch. Perhaps that should all be punted in favor of a specs-only approach. Considering gas respects .arch in the code over the command line, it should also make things more natural. The command line is processed in the standard/expected way -- gcc defaults the -m option while user's custom -mcpu/-Wa,-m options come after, and the guy writing the assembly code is free to use .arch to override everything else. From-SVN: r223888
Mike Frysinger committed -
* gcc.dg/alias-8.c: Fix dg-warning. From-SVN: r223887
H.J. Lu committed -
* include/bits/stl_algobase.h (__equal<true>::equal): Check length instead of checking for null pointers. (__lexicographical_compare<true>::__lc): Only check shorter length. From-SVN: r223886
Jonathan Wakely committed -
* expmed.c (extract_bit_field_1): Avoid clobbering a yet-to-be-used base/index register. From-SVN: r223885
DJ Delorie committed -
contrib/ * gimple.vim: New file. From-SVN: r223884
Mikhail Maltsev committed -
* alias.c (alias_set_entry_d): Add is_pointer and has_pointer. (alias_stats): Add num_universal. (alias_set_subset_of): Special case pointers; be ready for NULL children. (alias_sets_conflict_p): Special case pointers; be ready for NULL children. (init_alias_set_entry): Break out from ... (record_alias_subset): ... here; propagate new fields; allocate children only when really needed. (get_alias_set): Do less generous pointer globbing. (dump_alias_stats_in_alias_c): Update statistics. * gcc.dg/alias-8.c: Do not xfail. * gcc.dg/pr62167.c: Prevent FRE. * gcc.dg/alias-14.c: New testcase. From-SVN: r223883
Jan Hubicka committed -
From-SVN: r223882
GCC Administrator committed -
* config/rs6000/rs6000.c (split_stack_arg_pointer_used_p): Scan correct block for use of r12. (rs6000_expand_split_stack_prologue): Error on r29 asm global reg. From-SVN: r223878
Alan Modra committed
-
- 29 May, 2015 14 commits
-
-
* include/debug/debug.h (_GLIBCXX_DEBUG_ASSERT, _GLIBCXX_DEBUG_PEDASSERT, _GLIBCXX_DEBUG_ONLY): Move definition... * include/debug/assertions.h: ...here, new. * include/debug/formatter.h (_Error_formatter::_Is_iterator_value_type): New. (_Error_formatter::_Is_instance): New. (_Error_formatter::_Parameter): Make public and not friend anymore. (_Error_formatter::_Parameter::__instance): New _M_kind enum entry. (_Error_formatter::_Parameter::__iterator_value_type): New _M_kind enum entry. (_Error_formatter::_Parameter::_Type): New. (_Error_formatter::_Parameter::_Instance): New, inherit from latter. (union _Error_formatter::_Parameter::_M_variant): Reorganize. (_Parameter(_Iterator const&, const char*, _Is_iterator)): Make all overloads take iterator through a const reference. (_Parameter(const _Iterator&, const char*, _Is_iterator_value_type)): New. (_Parameter(const _Type&, const char*, _Is_instance)): New. (_Error_formatter::_M_print_type): Delete. (_Error_formatter::_M_iterator_value_type): New. (_Error_formatter::_M_instance): New. * include/Makefile.am: Add new above debug file. * include/Makefile.in: Regenerate. * include/debug/functions.h (__check_dereferenceable(const _Safe_iterator<>&), __valid_range(const _Safe_iterator<>&), __is_safe_random_iterator<_Safe_iterator<>>): Move... * include/debug/safe_iterator.h: ... here. Replace debug.h include with assertions.h. (__check_singular_aux): Move... * include/debug/safe_base.h: ... here. * include/debug/functions.h (__check_dereferenceable(const _Safe_local_iterator<>&), __valid_range(const _Safe_local_iterator<>&): Move... * include/debug/safe_local_iterator.h: ...here. * include/debug/safe_sequence.h: Replace debug.h with assertions.h. Remove _Safe_iterator declaration. * include/debug/safe_unordered_container.h: Replace debug.h with assertions.h. * include/debug/array: Replace safe_sequence.h include with formatter.h and macros.h. * include/debug/deque: Include functions.tcc. * include/debug/forward_list: Likewise. * include/debug/list: Likewise. * include/debug/string: Likewise. * include/debug/vector: Likewise. * include/bits/unique_ptr.h: Replace debug.h include with new assertions.h. * include/bits/stl_iterator_base_funcs.h: Likewise. * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust dg-error line number. * testsuite/23_containers/array/tuple_interface/ tuple_element_debug_neg.cc: Likewise. * src/c++11/debug.cc: Adapt. From-SVN: r223877
François Dumont committed -
2015-05-29 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/arm/simd/vextp64_1.c: Close comment on final line. From-SVN: r223876
Christophe Lyon committed -
From-SVN: r223873
Joseph Myers committed -
* doc/xml/manual/status_cxx2017.xml: Fix duplicate ID attribute. * doc/html/manual/*: Regenerate. From-SVN: r223868
Jonathan Wakely committed -
gcc/ChangeLog: PR target/66215 * config/s390/s390.c (s390_reorg): Fix placement of post-label NOPs with -mhotpatch=. gcc/testsuite/ChangeLog: PR target/66215 * gcc.target/s390/hotpatch-1.c: Remove optimization options from dg-options. * gcc.target/s390/hotpatch-10.c: Likewise. * gcc.target/s390/hotpatch-11.c: Likewise. * gcc.target/s390/hotpatch-12.c: Likewise. * gcc.target/s390/hotpatch-17.c: Likewise. * gcc.target/s390/hotpatch-18.c: Likewise. * gcc.target/s390/hotpatch-20.c: Likewise. * gcc.target/s390/hotpatch-21.c: Likewise. * gcc.target/s390/hotpatch-22.c: Likewise. * gcc.target/s390/hotpatch-23.c: Likewise. * gcc.target/s390/hotpatch-24.c: Likewise. * gcc.target/s390/hotpatch-2.c: Likewise. Adjust scan-assembler to check for the exact nops too. * gcc.target/s390/hotpatch-3.c: Likewise. * gcc.target/s390/hotpatch-4.c: Likewise. * gcc.target/s390/hotpatch-5.c: Likewise. * gcc.target/s390/hotpatch-6.c: Likewise. * gcc.target/s390/hotpatch-7.c: Likewise. * gcc.target/s390/hotpatch-8.c: Likewise. * gcc.target/s390/hotpatch-9.c: Likewise. * gcc.target/s390/hotpatch-14.c: Likewise. * gcc.target/s390/hotpatch-15.c: Likewise. * gcc.target/s390/hotpatch-16.c: Likewise. * gcc.target/s390/hotpatch-19.c: Likewise. * gcc.target/s390/hotpatch-25.c: Likewise. Remove scan-assembler-times counting number of .align directives. * gcc.target/s390/hotpatch-13.c: Remove optimization options from dg-options. Remove scan-assembler-times counting number of .align directives. * gcc.target/s390/hotpatch-26.c: New file. * gcc.target/s390/hotpatch-27.c: New file. * gcc.target/s390/hotpatch-28.c: New file. * gcc.target/s390/s390.exp: Run hotpatch-*.c tests as torture tests using -Os -O0 -O1 -O2 -O3 options. From-SVN: r223867
Dominik Vogt committed -
* include/std/future (__async_result_of): New alias template. (async): Use __async_result_of to pass decayed types to result_of. * testsuite/30_threads/async/lwg2021.cc: New. * doc/xml/manual/intro.xml: Document LWG 2021 status. From-SVN: r223866
Jonathan Wakely committed -
PR libstdc++/66327 * include/bits/stl_algobase.h (__equal<true>::equal): Do not call memcmp with null pointers. (__lexicographical_compare<true>::__lc): Do not call memcmp for empty ranges. From-SVN: r223865
Jonathan Wakely committed -
* gcc.target/aarch64/vdup_lane_2.c: Close comment on final line. From-SVN: r223864
Kyrylo Tkachov committed -
re PR tree-optimization/66142 (Loop is not vectorized because not sufficient support for GOMP_SIMD_LANE) PR tree-optimization/66142 * tree-if-conv.c (if_convertible_phi_p): Don't give up on virtual phis that feed themselves. * gcc.dg/vect/pr66142.c: New test. From-SVN: r223863
Jakub Jelinek committed -
2015-05-29 Richard Biener <rguenther@suse.de> PR tree-optimization/66314 * tree-ssa-threadupdate.c (create_block_for_threading): Add parameter that says which loop the new block belongs to. (ssa_create_duplicates): Blocks duplicated for the threaded path belong to the loop of the thread destination. * gcc.dg/asan/pr66314.c: New testcase. From-SVN: r223861
Richard Biener committed -
t-msp430 (MULTILIB_OPTIONS): Add multilibs for the different types of hardware multiply available on the MSP430. * config/msp430/t-msp430 (MULTILIB_OPTIONS): Add multilibs for the different types of hardware multiply available on the MSP430. (MULTILIB_DIRNAMES): Likewise. (MULTILIB_EXCEPTIONS): Add exceptions for incompatible cpus and hardware multiply types. (MULTILIB_MATCHES): Add matches for known MCU names and hardware multiply types. From-SVN: r223860
Nick Clifton committed -
libbacktrace/ 2015-05-29 Tristan Gingold <gingold@adacore.com> * pecoff.c: New file. * Makefile.am (FORMAT_FILES): Add pecoff.c and dependencies. * Makefile.in: Regenerate. * filetype.awk: Detect pecoff. * configure.ac: Define BACKTRACE_SUPPORTS_DATA on elf platforms. Add pecoff. * btest.c (test5): Test enabled only if BACKTRACE_SUPPORTS_DATA is true. * backtrace-supported.h.in (BACKTRACE_SUPPORTS_DATA): Define. * configure: Regenerate. * pecoff.c: New file. From-SVN: r223859
Tristan Gingold committed -
gcc/testsuite/ChangeLog 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> * lib/gcc-dg.exp (cleanup-ipa-dump, cleanup-rtl-dump, cleanup-tree-dump, cleanup-dump, cleanup-saved-temps): Remove. Adjust all callers. (schedule-cleanups, dg-keep-saved-temps): New proc. (gcc-dg-test-1): Schedule cleanups. * lib/profopt.exp (profopt-execute): Likewise. * g++.dg/cdce3.C: Adjust expected line numbers. * gcc.dg/cdce1.c: Likewise. * gcc.dg/cdce2.c: Likewise. * gcc.dg/strlenopt-22.c: Fix comment delimiter. * gcc.dg/strlenopt-24.c: Likewise. * gcc.dg/tree-ssa/vrp26.c: Likewise. * gcc.dg/tree-ssa/vrp28.c: Likewise. * obj-c++.dg/encode-2.mm: Likewise. libgomp/ChangeLog 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> * testsuite/libgomp.graphite/bounds.c: Adjust for cleanup-tree-dump removal. * testsuite/libgomp.graphite/force-parallel-1.c: Likewise. * testsuite/libgomp.graphite/force-parallel-2.c: Likewise. * testsuite/libgomp.graphite/force-parallel-3.c: Likewise. * testsuite/libgomp.graphite/force-parallel-4.c: Likewise. * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. * testsuite/libgomp.graphite/force-parallel-6.c: Likewise. * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. * testsuite/libgomp.graphite/force-parallel-9.c: Likewise. * testsuite/libgomp.graphite/pr41118.c: Likewise. gcc/ChangeLog 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> * config/arm/neon-testgen.ml (emit_epilogue): Remove manual call to cleanup-saved-temps. * doc/sourcebuild.texi (Clean up generated test files): Expand introduction. (dg-keep-saved-temps): Document new proc. (cleanup-ipa-dump, cleanup-rtl-dump, cleanup-tree-dump, cleanup-saved-temps): Remove. From-SVN: r223858
Bernhard Reutner-Fischer committed -
From-SVN: r223856
GCC Administrator committed
-
- 28 May, 2015 18 commits
-
-
From-SVN: r223851
DJ Delorie committed -
2015-05-28 Andreas Tobler <andreast@gcc.gnu.org> * configure.ac: Move the atoll check from AC_CHECK_FUNCS to gcc_AC_CHECK_DECLS. * configure: Regenerate. From-SVN: r223847
Andreas Tobler committed -
2015-05-28 Andreas Tobler <andreast@gcc.gnu.org> * configure.host: Add bits for FreeBSD amd64 and i386. * configure.ac: Add signal handler for FreeBSD (amd64/i386) * configure: Regenerate. * include/freebsd-signal.h: New file. From-SVN: r223845
Andreas Tobler committed -
* config/linux/x86/futex_bits.h (sys_futex0) [__x86_64__]: Change operands "op" and "val" to int. * config/linux/sh/futex_bits.h (sys_futex0) Change operands "op" and "val" to int. * config/linux/alpha/futex_bits.h (sys_futex0) Change operands "op" and "val" to int. * config/linux/futex.cc (gtm_futex_wait, gtm_futex_wake): Declare as static int. (FUTEX_PRIVATE_FLAG): Remove L suffix. * config/linux/futex_bits.h (sys_futex0) Change operand "op" to int. Revert: * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Change operand "op" to long. From-SVN: r223844
Uros Bizjak committed -
re PR libstdc++/65352 (array<T,0>::begin()/end() etc. forms a null reference and breaks on clang+ubsan) PR libstdc++/65352 * include/profile/array (array::data): Use _S_ptr. * include/debug/array (array::data): Likewise. From-SVN: r223838
Jonathan Wakely committed -
* gcc-interface/utils.c (max_size) <tcc_binary>: Add special code to deal with the subtraction of a "negative" value in an unsigned type. From-SVN: r223837
Eric Botcazou committed -
decl.c (gnat_to_gnu_entity): Do not error out on a return type which has a size that overflows if... * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Do not error out on a return type which has a size that overflows if the return is done by invisible reference. From-SVN: r223836
Eric Botcazou committed -
utils.c (gnat_pushdecl): Reunify the handling of array and pointer types wrt DECL_ORIGINAL_TYPE and... * gcc-interface/utils.c (gnat_pushdecl): Reunify the handling of array and pointer types wrt DECL_ORIGINAL_TYPE and adjust left and right. From-SVN: r223835
Eric Botcazou committed -
* gcc-interface/gigi.h (gnat_stabilize_reference): Adjust. (rewrite_fn): Remove third parameter. (type_is_padding_self_referential): New inline predicate. (return_type_with_variable_size_p): Likewise. * gcc-interface/decl.c (allocatable_size_p): More around. (cannot_be_superflat_p): Rename into... (cannot_be_superflat ): ...this. (initial_value_needs_conversion): New predicate. (gnat_to_gnu_entity): Invoke type_is_padding_self_referential, initial_value_needs_conversion and adjust to above renaming. For a renaming, force the materialization if the inner expression is compound. Adjust calls to elaborate_reference and build a compound expression if needed. (struct er_dat): Add N field. (elaborate_reference_1): Remove N parameter and adjust. (elaborate_reference): Add INIT parameter and pass it in the call to gnat_rewrite_reference. Adjust initial expression. * gcc-interface/trans.c (Call_to_gnu): Treat renamings the same way as regular object declarations when it comes to creating a temporary. Adjust call to gnat_stabilize_reference and build a compound expression if needed. Invoke return_type_with_variable_size_p. (gnat_to_gnu): Invoke type_is_padding_self_referential. In case #4, return a call to a function unmodified if it returns with variable size and is also the initial expression in an object declaration. * gcc-interface/utils2.c (build_binary_op) <INIT_EXPR>: Use the RHS' type if it is a call to a function that returns with variable size. (build_unary_op): Invoke type_is_padding_self_referential. (gnat_stabilize_reference_1): Remove N parameter and adjust. (gnat_stabilize_reference): Add INIT parameter and pass it in the call to gnat_rewrite_reference. (gnat_rewrite_reference): Remove N, add INIT parameter and adjust. <COMPOUND_EXPR>: New case. From-SVN: r223834
Eric Botcazou committed -
Spacing is off causing --help to not line up. Use the standard AS_HELP_STRING like all the other options. From-SVN: r223833
Mike Frysinger committed -
Define CPP_SPEC for nios2 linux targets so that -posix & -pthread work like on all other linux targets. Discovered via Gentoo bug https://bugs.gentoo.org/543114 From-SVN: r223823
Mike Frysinger committed -
Define CPP_SPEC for microblaze linux targets so that -posix & -pthread work like on all other linux targets. Discovered via Gentoo bug https://bugs.gentoo.org/543114 From-SVN: r223822
Mike Frysinger committed -
* config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function. (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0. (futex_wake) [!__x86_64__]: Ditto. From-SVN: r223821
Uros Bizjak committed -
Define CPP_SPEC for parisc linux targets so that -posix & -pthread work like on all other linux targets. Discovered via Gentoo bug https://bugs.gentoo.org/543114 From-SVN: r223820
Mike Frysinger committed -
2015-05-28 Richard Biener <rguenther@suse.de> * tree-vect-loop.c (vect_fixup_reduc_chain): New function. (vect_fixup_scalar_cycles_with_patterns): Likewise. (vect_analyze_loop_2): Call vect_fixup_scalar_cycles_with_patterns after pattern recog. (vect_create_epilog_for_reduction): Properly handle reductions with patterns. (vectorizable_reduction): Likewise. * tree-vect-slp.c (vect_analyze_slp_instance): Properly mark reduction chains. (vect_get_constant_vectors): Create the correct number of initial values for reductions. (vect_schedule_slp_instance): Handle reduction chains that are type changing properly. * tree-vect-stmts.c (vect_analyze_stmt): Adjust. * gcc.dg/vect/slp-reduc-sad.c: New testcase. From-SVN: r223818
Richard Biener committed -
2015-05-28 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Is_Visible_Component): Component is visible in a derived type if inherited through an ancestor that has a partial view of the original type holding the component, if the full view of that original type is in scope. * sem_util.ads (Get_Body_From_Stub): Works for all kinds of stubs. 2015-05-28 Bob Duff <duff@adacore.com> * sem_util.adb (Requires_Transient_Scope): For definite untagged subtypes, we should never have to use the secondary stack. This moves toward that goal. But there are still cases that don't work. Here, we move the check for Is_Definite first, but add a special-purpose check for Has_Discrim_Dep_Array. From-SVN: r223817
Arnaud Charlet committed -
re PR tree-optimization/66142 (Loop is not vectorized because not sufficient support for GOMP_SIMD_LANE) 2015-05-28 Richard Biener <rguenther@suse.de> PR tree-optimization/66142 * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle non-GIMPLE values better in memcpy destination handling. Handle non-aliasing we discover here. * gcc.dg/tree-ssa/ssa-fre-44.c: Fixup. From-SVN: r223816
Richard Biener committed -
sem_util.adb (Requires_Transient_Scope): Avoid returning function results on the secondary stack in so many cases. 2015-05-28 Bob Duff <duff@adacore.com> * sem_util.adb (Requires_Transient_Scope): Avoid returning function results on the secondary stack in so many cases. From-SVN: r223814
Bob Duff committed
-