As the repro included shows: A := 90.0; B := 30.0 * -Sin(A);
fails with a missing operand compile-time error, but: A := 90.0; B := -Sin(A); B := 30 * B; works. with Ada.Numerics.Elementary_Functions; use Ada.Numerics.Elementary_Functions; procedure X is A : float; B : float; begin A := 90.0; -- This works. B := -Sin(A); B := B * 30.0; -- This produces a compile-time error: x.adb:15:14: missing operand B := 30.0 * -Sin(A); end; -- Summary: missing operand: 90.0 * -Sin(A) Product: gcc Version: 3.3.3 Status: UNCONFIRMED Severity: normal Priority: P2 Component: ada AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dave at synergy dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i586-suse-linux GCC host triplet: i586-suse-linux GCC target triplet: i586-suse-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19539