comp.lang.ada
 help / color / mirror / Atom feed
* ANN: GCC 5.2.0 for OS X El Capitan
@ 2015-11-24 17:42 Simon Wright
  2015-11-24 17:52 ` Simon Wright
  0 siblings, 1 reply; 9+ messages in thread
From: Simon Wright @ 2015-11-24 17:42 UTC (permalink / raw)


This compiler (native only at time of writing) is on Sourceforge[1].

There's not a lot of added Ada goodness compared to 5.1.0, but the El
Capitan-related problem that David Botton recently encountered (see also
[2]) is fixed.

If you need PR66509 fixed and also arm-eabi support, put this compiler
on your PATH before the 5.1.0 compiler
(e.g. PATH=/opt/gcc-5.2.0/bin:/opt/gcc-5.1.0/bin:/the/rest/of/your/path)

I don't have a computer with Mavericks installed, any brave soul care to
give it a try?

[1]
https://sourceforge.net/projects/gnuada/files/GNAT_GCC%20Mac%20OS%20X/5.2.0/
[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66509


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

* Re: ANN: GCC 5.2.0 for OS X El Capitan
  2015-11-24 17:42 ANN: GCC 5.2.0 for OS X El Capitan Simon Wright
@ 2015-11-24 17:52 ` Simon Wright
  2015-11-27 17:27   ` G.B.
  0 siblings, 1 reply; 9+ messages in thread
From: Simon Wright @ 2015-11-24 17:52 UTC (permalink / raw)


Simon Wright <simon@pushface.org> writes:

> I don't have a computer with Mavericks installed, any brave soul care
> to give it a try?

Well, I guess I meant Yosemite - no need to go back to Mavericks!

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

* Re: ANN: GCC 5.2.0 for OS X El Capitan
  2015-11-24 17:52 ` Simon Wright
@ 2015-11-27 17:27   ` G.B.
  2015-11-27 18:19     ` Simon Wright
                       ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: G.B. @ 2015-11-27 17:27 UTC (permalink / raw)


On 24.11.15 18:52, Simon Wright wrote:
> Simon Wright <simon@pushface.org> writes:
>
>> I don't have a computer with Mavericks installed, any brave soul care
>> to give it a try?
>
> Well, I guess I meant Yosemite - no need to go back to Mavericks!

While trying to compile AWS (from git repo), I see complaints
about Intel MOV operands (OS 10.10.5, SDK version 10.10):

gcc -c -gnat2012 -gnatwcfijkmRuv -gnaty3abBcdefhiIklmnoOprstx -O2 -gnatn 
-fno-common soap-message-reader.adb
/var/folders/zx/zm0q6b0n0zbdjwb___0wqrxc0000gv/T//ccF719Br.s:19124:suffix or 
operands invalid for `movq'

    compilation of soap-types.adb failed

gprbuild: *** compilation phase failed
make: *** [build-native] Error 4

With compiler options -save-temps and -v added in shared.gpr of AWS,
line 19124 has the first movq in

  ...
_soap__types__d:
LFB405:
	pushq	%r14
LCFI1041:
	movq	%xmm0, %r14
	pushq	%r13
LCFI1042:
	movq	%rdx, %r13
	pushq	%r12
  ...


The effect of -v:

COLLECT_GCC_OPTIONS='-mmacosx-version-min=10.10.5' '-c' '-gnatA' 
'-gnat2012' '-gnatwcfijkmRuv' '-gnaty3abBcdefhiIklmnoOprstx' 
'-save-temps' '-v' '-O2' '-gnatn' '-fno-common' 
'-gnatec=/private/var/folders/zx/zm0q6b0n0zbdjwb___0wqrxc0000gv/T/GNAT-TEMP-000001.TMP' 
'-gnatem=/private/var/folders/zx/zm0q6b0n0zbdjwb___0wqrxc0000gv/T/GNAT-TEMP-000002.TMP' 
'-mtune=core2'
  as -arch x86_64 -force_cpusubtype_ALL -o soap-types.o soap-types.s
soap-types.s:19124:suffix or operands invalid for `movq'
...

    compilation of soap-types.adb failed

gprbuild: *** compilation phase failed
make: *** [build-native] Error 4


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

* Re: ANN: GCC 5.2.0 for OS X El Capitan
  2015-11-27 17:27   ` G.B.
@ 2015-11-27 18:19     ` Simon Wright
  2015-11-27 18:20     ` Simon Wright
  2015-11-27 18:22     ` G.B.
  2 siblings, 0 replies; 9+ messages in thread
From: Simon Wright @ 2015-11-27 18:19 UTC (permalink / raw)


"G.B." <bauhaus@futureapps.invalid> writes:

> While trying to compile AWS (from git repo), I see complaints
> about Intel MOV operands (OS 10.10.5, SDK version 10.10):
>
> gcc -c -gnat2012 -gnatwcfijkmRuv -gnaty3abBcdefhiIklmnoOprstx -O2
> -gnatn -fno-common soap-message-reader.adb

This compiles OK on El Capitan w/ GCC 5.2.0.

src/extended/aws-services-web_block-context.ads doesn't - line:106 says
   pragma Suppress (Tampering_Check);
   --  ?? Suppress Tampering_Check until O608-005 is fixed
   
Tampering_Check is a recent AdaCore change to do with container
optimisation[1].

Anyway, it seems that I need to warn people not to use this 5.2.0 on
earlier OS releases.

[1] http://www.adacore.com/developers/development-log/NF-74-O426-003-gnat/


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

* Re: ANN: GCC 5.2.0 for OS X El Capitan
  2015-11-27 17:27   ` G.B.
  2015-11-27 18:19     ` Simon Wright
@ 2015-11-27 18:20     ` Simon Wright
  2015-11-27 18:22     ` G.B.
  2 siblings, 0 replies; 9+ messages in thread
From: Simon Wright @ 2015-11-27 18:20 UTC (permalink / raw)


"G.B." <bauhaus@futureapps.invalid> writes:

> On 24.11.15 18:52, Simon Wright wrote:
>> Simon Wright <simon@pushface.org> writes:
>>
>>> I don't have a computer with Mavericks installed, any brave soul care
>>> to give it a try?
>>
>> Well, I guess I meant Yosemite - no need to go back to Mavericks!
>
> While trying to compile AWS (from git repo), I see complaints
> about Intel MOV operands (OS 10.10.5, SDK version 10.10):

I forgot to say, thanks for the report!

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

* Re: ANN: GCC 5.2.0 for OS X El Capitan
  2015-11-27 17:27   ` G.B.
  2015-11-27 18:19     ` Simon Wright
  2015-11-27 18:20     ` Simon Wright
@ 2015-11-27 18:22     ` G.B.
  2015-11-29 11:50       ` Simon Wright
  2 siblings, 1 reply; 9+ messages in thread
From: G.B. @ 2015-11-27 18:22 UTC (permalink / raw)


On 27.11.15 18:27, G.B. wrote:
> On 24.11.15 18:52, Simon Wright wrote:
>> Simon Wright <simon@pushface.org> writes:
>>
>>> I don't have a computer with Mavericks installed, any brave soul care
>>> to give it a try?
>>
>> Well, I guess I meant Yosemite - no need to go back to Mavericks!
>
> While trying to compile AWS (from git repo), I see complaints
> about Intel MOV operands (OS 10.10.5, SDK version 10.10):

Apparently, GNAT GPL 2015 puts a movd where the other compiler
puts a movq (with an xmm register).  The unit below reproduces
the error. (It is a self-contained excerpt from soap-types.ad?
of AWS.)

$ PATH=/Macintosh_HD/opt/gnat-fsf-5.2.0/bin:$PATH gcc -save-temps -c 
fake.adb
fake.s:4958:suffix or operands invalid for `movq'
fake.s:4985:suffix or operands invalid for `movq'

with Ada.Finalization;
with Ada.Strings.Unbounded; use Ada.Strings.Unbounded;

package Fake is

    type Ns_Object is record
       Prefix : Unbounded_String;
       Name   : Unbounded_String;
       Value  : Unbounded_String;
    end record;

    type Tp_Object is abstract new Ada.Finalization.Controlled with record
       Name      : Unbounded_String;
       Type_Name : Unbounded_String;
       NS        : Ns_Object;
    end record;

    No_Name_Space : constant Ns_Object :=
      (Null_Unbounded_String,
       Null_Unbounded_String,
       Null_Unbounded_String);

    XML_Double : aliased constant String := "xsd:double";

    type XSD_Double is new Tp_Object with private;

    function Like_D
      (V         : Long_Float;
       Name      : String := "item";
       Type_Name : String := XML_Double;
       NS        : Ns_Object := No_Name_Space)
      return XSD_Double;
private
    type XSD_Double is new Tp_Object with
       record
          V : Long_Float;
       end record;
end Fake;

package body Fake is
    function Like_D
      (V         : Long_Float;
       Name      : String := "item";
       Type_Name : String := XML_Double;
       NS        : Ns_Object := No_Name_Space)
      return XSD_Double is
    begin
       return
         (Ada.Finalization.Controlled
          with To_Unbounded_String (Name), To_Unbounded_String (Type_Name),
          NS, V);
    end Like_D;
end Fake;

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

* Re: ANN: GCC 5.2.0 for OS X El Capitan
  2015-11-27 18:22     ` G.B.
@ 2015-11-29 11:50       ` Simon Wright
  2015-11-29 15:25         ` Simon Wright
  0 siblings, 1 reply; 9+ messages in thread
From: Simon Wright @ 2015-11-29 11:50 UTC (permalink / raw)


"G.B." <bauhaus@futureapps.invalid> writes:

> Apparently, GNAT GPL 2015 puts a movd where the other compiler
> puts a movq (with an xmm register).  The unit below reproduces
> the error. (It is a self-contained excerpt from soap-types.ad?
> of AWS.)

Compiling your package Fake on El Capitan, I get code like

	movq	%xmm0, %rdx

with all of GNAT GPL 2015, FSF GCC 5.1.0, and FSF GCC 5.2.0.


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

* Re: ANN: GCC 5.2.0 for OS X El Capitan
  2015-11-29 11:50       ` Simon Wright
@ 2015-11-29 15:25         ` Simon Wright
  2015-12-02 14:55           ` G.B.
  0 siblings, 1 reply; 9+ messages in thread
From: Simon Wright @ 2015-11-29 15:25 UTC (permalink / raw)


Simon Wright <simon@pushface.org> writes:

> "G.B." <bauhaus@futureapps.invalid> writes:
>
>> Apparently, GNAT GPL 2015 puts a movd where the other compiler
>> puts a movq (with an xmm register).  The unit below reproduces
>> the error. (It is a self-contained excerpt from soap-types.ad?
>> of AWS.)
>
> Compiling your package Fake on El Capitan, I get code like
>
> 	movq	%xmm0, %rdx
>
> with all of GNAT GPL 2015, FSF GCC 5.1.0, and FSF GCC 5.2.0.

errm .. and all compile successfully.

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

* Re: ANN: GCC 5.2.0 for OS X El Capitan
  2015-11-29 15:25         ` Simon Wright
@ 2015-12-02 14:55           ` G.B.
  0 siblings, 0 replies; 9+ messages in thread
From: G.B. @ 2015-12-02 14:55 UTC (permalink / raw)


On 29.11.15 16:25, Simon Wright wrote:
> Simon Wright <simon@pushface.org> writes:
>
>> "G.B." <bauhaus@futureapps.invalid> writes:
>>
>>> Apparently, GNAT GPL 2015 puts a movd where the other compiler
>>> puts a movq (with an xmm register).  The unit below reproduces
>>> the error. (It is a self-contained excerpt from soap-types.ad?
>>> of AWS.)
>>
>> Compiling your package Fake on El Capitan, I get code like
>>
>> 	movq	%xmm0, %rdx
>>
>> with all of GNAT GPL 2015, FSF GCC 5.1.0, and FSF GCC 5.2.0.
>
> errm .. and all compile successfully.
>

Good news, and my mistake! I had XCode 6.2 and XCode 7.0 beta
installed, the former being selected. Switching to the latter,
I don't get an error any more. (Also, no more movd from FSF GNAT.)

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

end of thread, other threads:[~2015-12-02 14:55 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-24 17:42 ANN: GCC 5.2.0 for OS X El Capitan Simon Wright
2015-11-24 17:52 ` Simon Wright
2015-11-27 17:27   ` G.B.
2015-11-27 18:19     ` Simon Wright
2015-11-27 18:20     ` Simon Wright
2015-11-27 18:22     ` G.B.
2015-11-29 11:50       ` Simon Wright
2015-11-29 15:25         ` Simon Wright
2015-12-02 14:55           ` G.B.

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox