- 01 Jul, 2019 40 commits
-
-
@ieee_128bit_vsx_abs<mode>2 * config/rs6000/rs6000.md (ieee_128bit_vsx_abs<mode>2): Make this a parameterized name. (abs<mode>2): Use that name. Simplify. From-SVN: r272907
Segher Boessenkool committed -
@ieee_128bit_vsx_neg<mode>2 * config/rs6000/rs6000.md (ieee_128bit_vsx_neg<mode>2): Make this a parameterized name. (neg<mode>2): Use that name. Simplify. From-SVN: r272906
Segher Boessenkool committed -
@abs<mode>2_hw * config/rs6000/rs6000.md (abs<mode>2_hw): Make this a parameterized name. (abs<mode>2): Use that name. Simplify. From-SVN: r272905
Segher Boessenkool committed -
@neg<mode>2_hw * config/rs6000/rs6000.md (neg<mode>2_hw): Make this a parameterized name. (neg<mode>2): Use that name. Simplify. From-SVN: r272904
Segher Boessenkool committed -
@extenddf<mode>2 * config/rs6000/rs6000.md (extenddf<mode>2): Make this a parameterized name. (floatsi<mode>2): Use that name. Simplify. From-SVN: r272903
Segher Boessenkool committed -
* config/i386/i386.md ("isa" attribute): Add sse_noavx. ("enabled" attribute): Handle sse_noavx isa attribute. * config/i386/mmx.md (*vec_dupv2sf): Add "isa" attribute. Use TARGET_SSE && SSE_REGNO_P in split condition. (*vec_dupv2sf): Ditto. From-SVN: r272902
Uros Bizjak committed -
@extenddf<mode>2_{fprs,vsx} * config/rs6000/rs6000.md (extenddf<mode>2_fprs): Make this a parameterized name. (extenddf<mode>2_vsx): Make this a parameterized name. (extenddf<mode>2): Use those names. Simplify. From-SVN: r272901
Segher Boessenkool committed -
@eh_set_lr_<mode> * config/rs6000/rs6000.md (eh_set_lr_<mode>): Make this a parameterized name. (eh_return): Use that name. Simplify. From-SVN: r272900
Segher Boessenkool committed -
@ctr<mode> * config/rs6000/rs6000.md (ctr<mode>): Make this a parameterized name. (doloop_end): Use that name. Simplify. From-SVN: r272899
Segher Boessenkool committed -
@indirect_jump<mode>_nospec * config/rs6000/rs6000.md (indirect_jump<mode>_nospec): Make this a parameterized name. (indirect_jump): Use that name. Simplify. From-SVN: r272898
Segher Boessenkool committed -
@abs<mode>2_internal * config/rs6000/rs6000.md (abs<mode>2_internal): Make this a parameterized name. (abs<mode>2): Use that name. Simplify. From-SVN: r272897
Segher Boessenkool committed -
@fix_trunc<mode>si2_fprs * config/rs6000/rs6000.md (fix_trunc<mode>si2_fprs): Make this a parameterized name. (fix_trunc<mode>si2): Use that name. Simplify. From-SVN: r272896
Segher Boessenkool committed -
@neg<mode>2 * config/rs6000/rs6000.md (neg<mode>2): Make this a parameterized name. (allocate_stack): Use that name. Simplify. From-SVN: r272894
Segher Boessenkool committed -
gcc/ChangeLog: PR middle-end/90923 * hash-map.h (hash_map::put): On insertion invoke element ctor. (hash_map::get_or_insert): Same. Reformat comment. * hash-set.h (hash_set::add): On insertion invoke element ctor. * hash-map-tests.c (test_map_of_type_with_ctor_and_dtor): New. * hash-set-tests.c (test_map_of_type_with_ctor_and_dtor): New. * hash-table.h (hash_table::operator=): Prevent copy assignment. (hash_table::hash_table (const hash_table&)): Use copy ctor instead of assignment to copy elements. From-SVN: r272893
Martin Sebor committed -
PR target/90963 * config/pa/pa.md (builtin_longjmp): Restore hard_frame_pointer_rtx using saved frame pointer. Co-Authored-By: John David Anglin <danglin@gcc.gnu.org> From-SVN: r272891
Wilco Dijkstra committed -
PR middle-end/64242 * config/sparc/sparc.md (nonlocal_goto): Restore frame pointer last. Add frame clobber and schedule blockage. From-SVN: r272889
Eric Botcazou committed -
2019-07-01 Sandra Loosemore <sandra@codesourcery.com> gcc/ * doc/invoke.texi (Link Options): Further editorial changes to -flinker-output docs. From-SVN: r272887
Sandra Loosemore committed -
The function rs6000_force_indexed_or_indirect_mem makes a memory operand suitable for indexed (or indirect) addressing. If the memory address isn't yet valid, it loads the whole thing into a register to make it valid. That isn't optimal. This changes it to load an address that is the sum of two things into two registers instead. This results in lower latency code, and if inside loops, a constant term can be moved outside the loop. * config/rs6000/rs6000.c (rs6000_force_indexed_or_indirect_mem): Load both operands of a PLUS into registers separately. From-SVN: r272886
Segher Boessenkool committed -
From-SVN: r272885
Andreas Krebbel committed -
We currently use subst definitions to handle the different variants of shift count operands. Unfortunately, in the vector shift pattern the shift count operand is used directly. Without it being adjusted for the 'subst' variants the displacement value is omitted resulting in a wrong shift count being applied. This patch needs to be applied to older branches as well. gcc/ChangeLog: 2019-07-01 Andreas Krebbel <krebbel@linux.ibm.com> * config/s390/vector.md: gcc/testsuite/ChangeLog: 2019-07-01 Andreas Krebbel <krebbel@linux.ibm.com> * gcc.target/s390/vector/vec-shift-2.c: New test. From-SVN: r272884
Andreas Krebbel committed -
This patch removes a spurious error on an instantiation whose generic unit has a formal package where some formal parameters are box-initialiaed. Previously the code assumed that box-initialization for a formal package applied to all its formal parameters. 2019-07-01 Ed Schonberg <schonberg@adacore.com> gcc/ada/ * sem_ch12.adb (Is_Defaulted): New predicate in Check_Formal_Package_Intance, to skip the conformance of checks on parameters of a formal package that are defaulted, gcc/testsuite/ * gnat.dg/generic_inst3.adb, gnat.dg/generic_inst3_kafka_lib-topic.ads, gnat.dg/generic_inst3_kafka_lib.ads, gnat.dg/generic_inst3_markets.ads, gnat.dg/generic_inst3_traits-encodables.ads, gnat.dg/generic_inst3_traits.ads: New testcase. From-SVN: r272883
Ed Schonberg committed -
2019-07-01 Hristian Kirtchev <kirtchev@adacore.com> gcc/ada/ * checks.adb, exp_ch9.adb, exp_unst.adb, sem_ch4.adb, sem_prag.adb, sem_spark.adb: Minor reformatting. From-SVN: r272882
Hristian Kirtchev committed -
This patch allows the prefix of the attribute Enum_Rep to be an attribute referece (such as Enum_Type'First). A recent patch had restricted the prefix to be an object of a discrete type, which is incompatible with orevious usage. 2019-07-01 Ed Schonberg <schonberg@adacore.com> gcc/ada/ * sem_attr.adb (Analyze_Attribute, case Enum_Rep): Allow prefix of attribute to be an attribute reference of a discrete type. gcc/testsuite/ * gnat.dg/enum_rep.adb, gnat.dg/enum_rep.ads: New testcase. From-SVN: r272881
Ed Schonberg committed -
2019-07-01 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * sem_ch12.adb (Analyze_Subprogram_Instantiation): Move up handling of Has_Pragma_Inline_Always and deal with Has_Pragma_No_Inline. From-SVN: r272880
Eric Botcazou committed -
This patch fixes a spurious error on a derived type declaration whose subtype indication is a subtype of a private type whose full view is a constrained discriminated type. 2019-07-01 Ed Schonberg <schonberg@adacore.com> gcc/ada/ * sem_ch3.adb (Build_Derived_Record_Type): If the parent type is declared as a subtype of a private type with an inherited discriminant constraint, its generated full base appears as a record subtype, so we need to retrieve its oen base type so that the inherited constraint can be applied to it. gcc/testsuite/ * gnat.dg/derived_type6.adb, gnat.dg/derived_type6.ads: New testcase. From-SVN: r272879
Ed Schonberg committed -
SPARK RM 3.10 is the final version of the pointer ownership rules. Start changing the implementation accordingly. Anonymous access types are not fully supported yet. There is no impact on compilation. 2019-07-01 Yannick Moy <moy@adacore.com> gcc/ada/ * sem_spark.adb: Completely rework the algorithm for ownership checking, as the rules in SPARK RM have changed a lot. * sem_spark.ads: Update comments. From-SVN: r272878
Yannick Moy committed -
Use a field offset computation trick to avoid maintaining a list of platforms. 2019-07-01 Dmitriy Anisimkov <anisimko@adacore.com> gcc/ada/ * gsocket.h (Has_Sockaddr_Len): Use the offset of sin_family offset in the sockaddr_in structure to determine the existence of length field before the sin_family. From-SVN: r272877
Dmitriy Anisimkov committed -
This patch adds a guard on the use of pragma Weak_External. This pragma affects link-time addresses of entities, and does not apply to types. Previous to this patch the compiler would abort on a misuse of the pragma. 2019-07-01 Ed Schonberg <schonberg@adacore.com> gcc/ada/ * sem_prag.adb (Analyze_Pragma, case Weak_External): Pragma only applies to entities with run-time addresses, not to types. gcc/testsuite/ * gnat.dg/weak3.adb, gnat.dg/weak3.ads: New testcase. From-SVN: r272876
Ed Schonberg committed -
A rule about implicit Global contract for functions whose names overload an abstract state was never implemented (and no user complained about this). It is now removed, so references to other rules need to be renumbered. 2019-07-01 Piotr Trojanek <trojanek@adacore.com> gcc/ada/ * einfo.adb, sem_ch7.adb, sem_prag.adb, sem_util.adb: Update references to the SPARK RM after the removal of Rule 7.1.4(5). From-SVN: r272875
Piotr Trojanek committed -
Apparently the company behind LynxOS is now called Lynx Software Technologies (formerly LynuxWorks). Use the current name in user docs and the previous name in developer comment (to hopefully reflect the company name at the time when the patchset mentioned in the comment was released). 2019-07-01 Piotr Trojanek <trojanek@adacore.com> gcc/ada/ * sysdep.c: Cleanup references to LynuxWorks in docs and comments. From-SVN: r272874
Piotr Trojanek committed -
This patch fixes the handling of validity checks on protected objects that use the Lock-Free implementation when validity checks are enabled, previous to this patch the compiler would report improperly that a condition in a protected operation was always True (when comoipled with -gnatwa) and would generate incorrect code fhat operation. 2019-07-01 Ed Schonberg <schonberg@adacore.com> gcc/ada/ * checks.adb (Insert_Valid_Check): Do not apply validity check to variable declared within a protected object that uses the Lock_Free implementation, to prevent unwarranted constant folding, because entities within such an object msut be treated as volatile. gcc/testsuite/ * gnat.dg/prot7.adb, gnat.dg/prot7.ads: New testcase. From-SVN: r272873
Ed Schonberg committed -
gimple-parser.c (c_parser_gimple_postfix_expression): Handle _Literal (char *) &"foo" for address literals pointing to STRING_CSTs. 2019-07-01 Richard Biener <rguenther@suse.de> c/ * gimple-parser.c (c_parser_gimple_postfix_expression): Handle _Literal (char *) &"foo" for address literals pointing to STRING_CSTs. * gcc.dg/gimplefe-42.c: New testcase. From-SVN: r272872
Richard Biener committed -
2019-07-01 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * exp_ch9.adb (Check_Inlining): Deal with Has_Pragma_No_Inline. From-SVN: r272871
Eric Botcazou committed -
2019-07-01 Ed Schonberg <schonberg@adacore.com> gcc/ada/ * exp_unst.adb (Visit_Node, Check_Static_Type): Improve the handling of private and incomplete types whose full view is an access type, to detect additional uplevel references in dynamic bounds. This is relevant to N_Free_Statement among others that manipulate types whose full viww may be an access type. From-SVN: r272870
Ed Schonberg committed -
2019-07-01 Pat Rogers <rogers@adacore.com> gcc/ada/ * doc/gnat_rm/representation_clauses_and_pragmas.rst: Correct size indicated for R as a component of an array. * gnat_rm.texi: Regenerate. From-SVN: r272869
Pat Rogers committed -
This patch corrects the definition of certain Win32 types. 2019-07-01 Justin Squirek <squirek@adacore.com> gcc/ada/ * libgnat/s-win32.ads: Add definition for ULONG, modify OVERLAPPED type, and add appropriate pragmas. From-SVN: r272868
Justin Squirek committed -
This patch fixes a bug where if a ghost unit is compiled with ignored-ghost mode in a library project, then gprbuild will fail to find the ALI file, because the compiler generates an empty object file, but no ALI file. 2019-07-01 Bob Duff <duff@adacore.com> gcc/ada/ * gnat1drv.adb (gnat1drv): Call Write_ALI if the main unit is ignored-ghost. From-SVN: r272867
Bob Duff committed -
Multiplication and division of a fixed-point type by an integer type is only defined by default for type Integer. Clarify the error message to explain that a conversion is needed in other cases. Also change an error message to start with lowercase as it should be. 2019-07-01 Yannick Moy <moy@adacore.com> gcc/ada/ * sem_ch4.adb (Operator_Check): Refine error message. From-SVN: r272866
Yannick Moy committed -
Some routines from the Ada.Calendar package, i.e. Year, Month, Day, Split and Time_Off, rely on OS-specific timezone databases that are kept in files (e.g. /etc/localtime on Linux). In SPARK we want to model this as a potential side-effect, so those routines can't have "Global => null". 2019-07-01 Piotr Trojanek <trojanek@adacore.com> gcc/ada/ * libgnat/a-calend.ads: Revert "Global => null" contracts on non-pure routines. From-SVN: r272865
Piotr Trojanek committed -
2019-07-01 Piotr Trojanek <trojanek@adacore.com> gcc/ada/ * exp_attr.adb, libgnat/g-graphs.ads: Fix typos in comments: componant -> component. From-SVN: r272864
Piotr Trojanek committed
-