public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug ada/22328] New: Ada produces mistmatched (non compatible) types in MODIFY_EXPR
@ 2005-07-06 19:28 pinskia at gcc dot gnu dot org
  2005-07-06 19:30 ` [Bug ada/22328] " pinskia at gcc dot gnu dot org
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-06 19:28 UTC (permalink / raw)
  To: gcc-bugs

Take the following Ada code:
package Test1 is
   type TSS_Name_Type is new String (1 .. 2);
   function Get_TSS_Name  return TSS_Name_Type;
end test1;
package body Test1 is
   function Get_TSS_Name  return TSS_Name_Type is
   begin
     return "  ";
  end Get_TSS_Name;
end Test1;
--(reduced from exp_tss.ad?).

We get types which are not considered compatible by lang_hooks.types_compatible_p.

The types we get are
for the right hand side (the STRING_CST):
<array_type 0x42549828 test1__get_tss_name__T1b
    type <integer_type 0x4253bbc8 character sizes-gimplified public unsigned QI
        size <integer_cst 0x42508200 constant invariant visited 8>
        unit size <integer_cst 0x42508220 constant invariant 1>
        user align 8 symtab 0 alias set -1 precision 8 min <integer_cst 0x42535f80 0> max <integer_cst 
0x42535fa0 255> RM size <integer_cst 0x42508200 8>
        pointer_to_this <pointer_type 0x4253be80 access_character>>
    sizes-gimplified HI
    size <integer_cst 0x42508360 type <integer_type 0x4250f1d0 bit_size_type> constant invariant 
16>
    unit size <integer_cst 0x42508380 type <integer_type 0x4250f15c long int> constant invariant 2>
    user align 8 symtab 0 alias set 0
    domain <integer_type 0x42549740
        type <integer_type 0x4250f15c long int sizes-gimplified public visited sizetype SI
            size <integer_cst 0x425084a0 constant invariant 32>
            unit size <integer_cst 0x42508160 constant invariant 4>
            align 32 symtab 0 alias set -1 precision 32 min <integer_cst 0x425088c0 -2147483648> max 
<integer_cst 0x42508940 2147483647>>
        sizes-gimplified SI size <integer_cst 0x425084a0 32> unit size <integer_cst 0x42508160 4>
        align 32 symtab 0 alias set -1 precision 32 min <integer_cst 0x42508220 1> max <integer_cst 
0x42508380 2>
        index type <integer_type 0x425496cc type <integer_type 0x4250f488 integer>
            SI size <integer_cst 0x425084a0 32> unit size <integer_cst 0x42508160 4>
            align 32 symtab 0 alias set -1 precision 32 min <integer_cst 0x42508a20 1> max <integer_cst 
0x4251e080 2>>>>

For the left hand side (<retval>):
<array_type 0x42549488 test1__tss_name_type
    type <integer_type 0x4253bbc8 character sizes-gimplified public unsigned QI
        size <integer_cst 0x42508200 constant invariant visited 8>
        unit size <integer_cst 0x42508220 constant invariant 1>
        user align 8 symtab 0 alias set -1 precision 8 min <integer_cst 0x42535f80 0> max <integer_cst 
0x42535fa0 255> RM size <integer_cst 0x42508200 8>
        pointer_to_this <pointer_type 0x4253be80 access_character>>
    sizes-gimplified visited nonaliased-component HI
    size <integer_cst 0x42508360 type <integer_type 0x4250f1d0 bit_size_type> constant invariant 
16>
    unit size <integer_cst 0x42508380 type <integer_type 0x4250f15c long int> constant invariant 2>
    user align 8 symtab 0 alias set 0
    domain <integer_type 0x425493a0
        type <integer_type 0x4250f15c long int sizes-gimplified public visited sizetype SI
            size <integer_cst 0x425084a0 constant invariant 32>
            unit size <integer_cst 0x42508160 constant invariant 4>
            align 32 symtab 0 alias set -1 precision 32 min <integer_cst 0x425088c0 -2147483648> max 
<integer_cst 0x42508940 2147483647>>
        sizes-gimplified visited SI size <integer_cst 0x425084a0 32> unit size <integer_cst 
0x42508160 4>
        align 32 symtab 0 alias set -1 precision 32 min <integer_cst 0x42508220 1> max <integer_cst 
0x42508380 2>
        index type <integer_type 0x425492b8 test1__Ttss_name_typeP1___XDLU_1__2 type <integer_type 
0x4250f488 integer>
            sizes-gimplified visited unsigned SI size <integer_cst 0x425084a0 32> unit size <integer_cst 
0x42508160 4>
            user align 32 symtab 0 alias set -1 precision 32 min <integer_cst 0x42508a20 1> max 
<integer_cst 0x4251e080 2>
            RM size <integer_cst 0x4251e0a0 constant invariant 2>>>
    pointer_to_this <pointer_type 0x425499f8>>

-- 
           Summary: Ada produces mistmatched (non compatible) types in
                    MODIFY_EXPR
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: ada
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: pinskia at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22328


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug ada/22328] Ada produces mistmatched (non compatible) types in MODIFY_EXPR
  2005-07-06 19:28 [Bug ada/22328] New: Ada produces mistmatched (non compatible) types in MODIFY_EXPR pinskia at gcc dot gnu dot org
@ 2005-07-06 19:30 ` pinskia at gcc dot gnu dot org
  2005-07-06 19:31 ` pinskia at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-06 19:30 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-06 19:29 -------
I will attach the patch which I used to catch this soon.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bosch at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22328


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug ada/22328] Ada produces mistmatched (non compatible) types in MODIFY_EXPR
  2005-07-06 19:28 [Bug ada/22328] New: Ada produces mistmatched (non compatible) types in MODIFY_EXPR pinskia at gcc dot gnu dot org
  2005-07-06 19:30 ` [Bug ada/22328] " pinskia at gcc dot gnu dot org
@ 2005-07-06 19:31 ` pinskia at gcc dot gnu dot org
  2005-07-06 19:32 ` [Bug ada/22328] Ada produces missed match " pinskia at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-06 19:31 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-06 19:31 -------
Created an attachment (id=9215)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9215&action=view)
patch which catches this

This is the patch which catches this type missed match.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22328


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug ada/22328] Ada produces missed match (non compatible) types in MODIFY_EXPR
  2005-07-06 19:28 [Bug ada/22328] New: Ada produces mistmatched (non compatible) types in MODIFY_EXPR pinskia at gcc dot gnu dot org
  2005-07-06 19:30 ` [Bug ada/22328] " pinskia at gcc dot gnu dot org
  2005-07-06 19:31 ` pinskia at gcc dot gnu dot org
@ 2005-07-06 19:32 ` pinskia at gcc dot gnu dot org
  2005-07-06 19:49 ` pinskia at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-06 19:32 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-06 19:32 -------
It might be the Ada front-end needs to say they are compatible instead of making them the same type.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Ada produces mistmatched    |Ada produces missed match
                   |(non compatible) types in   |(non compatible) types in
                   |MODIFY_EXPR                 |MODIFY_EXPR


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22328


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug ada/22328] Ada produces missed match (non compatible) types in MODIFY_EXPR
  2005-07-06 19:28 [Bug ada/22328] New: Ada produces mistmatched (non compatible) types in MODIFY_EXPR pinskia at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2005-07-06 19:32 ` [Bug ada/22328] Ada produces missed match " pinskia at gcc dot gnu dot org
@ 2005-07-06 19:49 ` pinskia at gcc dot gnu dot org
  2005-07-06 20:07 ` pinskia at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-06 19:49 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-06 19:49 -------
The follow changed removed gnat_types_compatible_p which had said the types were compatible:
http://gcc.gnu.org/ml/gcc-patches/2004-12/msg00563.html

The nice quote from that patch is:
It's not clear the compatible type handling is the right approach and it's simpler not to add
that complexity in 4.0: there will likely need to be some rethinking of the entire issue in 4.1.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22328


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug ada/22328] Ada produces missed match (non compatible) types in MODIFY_EXPR
  2005-07-06 19:28 [Bug ada/22328] New: Ada produces mistmatched (non compatible) types in MODIFY_EXPR pinskia at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2005-07-06 19:49 ` pinskia at gcc dot gnu dot org
@ 2005-07-06 20:07 ` pinskia at gcc dot gnu dot org
  2005-07-07 18:31 ` [Bug ada/22328] Ada produces mis-match " pinskia at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-06 20:07 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-06 20:07 -------
(In reply to comment #2)
> Created an attachment (id=9215)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9215&action=view)
> patch which catches this

Note the "return false" should really be a "return true" so that we get an ICE instead of just an error.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22328


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug ada/22328] Ada produces mis-match (non compatible) types in MODIFY_EXPR
  2005-07-06 19:28 [Bug ada/22328] New: Ada produces mistmatched (non compatible) types in MODIFY_EXPR pinskia at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2005-07-06 20:07 ` pinskia at gcc dot gnu dot org
@ 2005-07-07 18:31 ` pinskia at gcc dot gnu dot org
  2005-07-08 15:29 ` pinskia at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-07 18:31 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Ada produces missed match   |Ada produces mis-match (non
                   |(non compatible) types in   |compatible) types in
                   |MODIFY_EXPR                 |MODIFY_EXPR


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22328


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug ada/22328] Ada produces mis-match (non compatible) types in MODIFY_EXPR
  2005-07-06 19:28 [Bug ada/22328] New: Ada produces mistmatched (non compatible) types in MODIFY_EXPR pinskia at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2005-07-07 18:31 ` [Bug ada/22328] Ada produces mis-match " pinskia at gcc dot gnu dot org
@ 2005-07-08 15:29 ` pinskia at gcc dot gnu dot org
  2005-07-08 15:39 ` bosch at adacore dot com
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-08 15:29 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
OtherBugsDependingO|                            |22368
              nThis|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22328


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug ada/22328] Ada produces mis-match (non compatible) types in MODIFY_EXPR
  2005-07-06 19:28 [Bug ada/22328] New: Ada produces mistmatched (non compatible) types in MODIFY_EXPR pinskia at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2005-07-08 15:29 ` pinskia at gcc dot gnu dot org
@ 2005-07-08 15:39 ` bosch at adacore dot com
  2005-07-08 15:44 ` bosch at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: bosch at adacore dot com @ 2005-07-08 15:39 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From bosch at adacore dot com  2005-07-08 15:39 -------
Subject: Re:  Ada produces mis-match (non compatible) types in MODIFY_EXPR

Something like the attached patch (untested) should work.
I've got child duty today, so won't be able to test this until
at least tonight.

This is slightly different from the code that was earlier removed,
in that it doesn't check recursively. Nested arrays and records
should always have proper types.

   -Geert


------- Additional Comments From bosch at adacore dot com  2005-07-08 15:39 -------
Created an attachment (id=9230)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9230&action=view)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22328


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug ada/22328] Ada produces mis-match (non compatible) types in MODIFY_EXPR
  2005-07-06 19:28 [Bug ada/22328] New: Ada produces mistmatched (non compatible) types in MODIFY_EXPR pinskia at gcc dot gnu dot org
                   ` (7 preceding siblings ...)
  2005-07-08 15:39 ` bosch at adacore dot com
@ 2005-07-08 15:44 ` bosch at gcc dot gnu dot org
  2005-07-08 20:25 ` pinskia at gcc dot gnu dot org
  2005-09-06  8:31 ` ebotcazou at gcc dot gnu dot org
  10 siblings, 0 replies; 12+ messages in thread
From: bosch at gcc dot gnu dot org @ 2005-07-08 15:44 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Attachment #9230|application/octet-stream    |text/plain
          mime type|                            |
Attachment #9230 is|0                           |1
              patch|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22328


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug ada/22328] Ada produces mis-match (non compatible) types in MODIFY_EXPR
  2005-07-06 19:28 [Bug ada/22328] New: Ada produces mistmatched (non compatible) types in MODIFY_EXPR pinskia at gcc dot gnu dot org
                   ` (8 preceding siblings ...)
  2005-07-08 15:44 ` bosch at gcc dot gnu dot org
@ 2005-07-08 20:25 ` pinskia at gcc dot gnu dot org
  2005-09-06  8:31 ` ebotcazou at gcc dot gnu dot org
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-08 20:25 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2005-07-08 20:25:48
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22328


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug ada/22328] Ada produces mis-match (non compatible) types in MODIFY_EXPR
  2005-07-06 19:28 [Bug ada/22328] New: Ada produces mistmatched (non compatible) types in MODIFY_EXPR pinskia at gcc dot gnu dot org
                   ` (9 preceding siblings ...)
  2005-07-08 20:25 ` pinskia at gcc dot gnu dot org
@ 2005-09-06  8:31 ` ebotcazou at gcc dot gnu dot org
  10 siblings, 0 replies; 12+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2005-09-06  8:31 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From ebotcazou at gcc dot gnu dot org  2005-09-06 08:31 -------
Investigating.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |ebotcazou at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2005-07-08 20:25:48         |2005-09-06 08:31:32
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22328


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2005-09-06  8:31 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-07-06 19:28 [Bug ada/22328] New: Ada produces mistmatched (non compatible) types in MODIFY_EXPR pinskia at gcc dot gnu dot org
2005-07-06 19:30 ` [Bug ada/22328] " pinskia at gcc dot gnu dot org
2005-07-06 19:31 ` pinskia at gcc dot gnu dot org
2005-07-06 19:32 ` [Bug ada/22328] Ada produces missed match " pinskia at gcc dot gnu dot org
2005-07-06 19:49 ` pinskia at gcc dot gnu dot org
2005-07-06 20:07 ` pinskia at gcc dot gnu dot org
2005-07-07 18:31 ` [Bug ada/22328] Ada produces mis-match " pinskia at gcc dot gnu dot org
2005-07-08 15:29 ` pinskia at gcc dot gnu dot org
2005-07-08 15:39 ` bosch at adacore dot com
2005-07-08 15:44 ` bosch at gcc dot gnu dot org
2005-07-08 20:25 ` pinskia at gcc dot gnu dot org
2005-09-06  8:31 ` ebotcazou at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).