From owner-freebsd-fortran@FreeBSD.ORG Fri Jul 12 11:05:40 2013 Return-Path: Delivered-To: fortran@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 87C573E8 for ; Fri, 12 Jul 2013 11:05:40 +0000 (UTC) (envelope-from mexas@bristol.ac.uk) Received: from eu1sys200aog122.obsmtp.com (eu1sys200aog122.obsmtp.com [207.126.144.153]) by mx1.freebsd.org (Postfix) with ESMTP id DEB581D68 for ; Fri, 12 Jul 2013 11:05:39 +0000 (UTC) Received: from mail-ee0-f54.google.com ([74.125.83.54]) (using TLSv1) by eu1sys200aob122.postini.com ([207.126.147.11]) with SMTP ID DSNKUd/i5sh1k0RuuwZe9Mzx5bPy7wLuA7q2@postini.com; Fri, 12 Jul 2013 11:05:39 UTC Received: by mail-ee0-f54.google.com with SMTP id t10so6159256eei.41 for ; Fri, 12 Jul 2013 04:05:10 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=sender:date:from:message-id:to:subject:cc:reply-to:in-reply-to :x-gm-message-state; bh=oAayELw07zs0xGjSZDsGGwnDhHS/u4kdv/k3a2/2oKE=; b=UDUokmGmM84Gkx5wOirrErViCOekVUMzXbzFnD+9k/n/oxxiGzUmYkedDlWrCni3lj Ww0vQ4HzE2RKgBcmrHhL+nbDIqvejv59HXL4722gcGl1rYqqAJyhhFgHeWUvOI8BHQ4+ pLpIMAeb1gMjg4tUogi1bOecR6paxghXHT+IAr/KkpIGhjoHKL73OFNKHvIz90g+YQOe 0XrMl2sYqAQVdA4NxtDTWgshwwW00gBU2RyU78E5n9sDKn7Asr6amMDMBbbz5OJCOeMT /CAHcbQPzifan85FamWRAUi9iNEssY/tKq1KT9tuUJhndkXRhl6VrO3JZ5W4ZK5wWBLe BTVw== X-Received: by 10.14.95.69 with SMTP id o45mr46760246eef.48.1373627110798; Fri, 12 Jul 2013 04:05:10 -0700 (PDT) X-Received: by 10.14.95.69 with SMTP id o45mr46760241eef.48.1373627110722; Fri, 12 Jul 2013 04:05:10 -0700 (PDT) Received: from mech-cluster241.men.bris.ac.uk (mech-cluster241.men.bris.ac.uk. [137.222.187.241]) by mx.google.com with ESMTPSA id c3sm13998538eev.3.2013.07.12.04.05.08 for (version=TLSv1.2 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 12 Jul 2013 04:05:09 -0700 (PDT) Sender: Anton Shterenlikht Received: from mech-cluster241.men.bris.ac.uk (localhost [127.0.0.1]) by mech-cluster241.men.bris.ac.uk (8.14.7/8.14.6) with ESMTP id r6CB57EV098855 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 12 Jul 2013 12:05:07 +0100 (BST) (envelope-from mexas@mech-cluster241.men.bris.ac.uk) Received: (from mexas@localhost) by mech-cluster241.men.bris.ac.uk (8.14.7/8.14.6/Submit) id r6CB57qE098854; Fri, 12 Jul 2013 12:05:07 +0100 (BST) (envelope-from mexas) Date: Fri, 12 Jul 2013 12:05:07 +0100 (BST) From: Anton Shterenlikht Message-Id: <201307121105.r6CB57qE098854@mech-cluster241.men.bris.ac.uk> To: mexas@bristol.ac.uk, sgk@troutmask.apl.washington.edu Subject: Re: gfortran46: Error: Type of argument 'z' in call to 'dimag' at (1) should be COMPLEX(16), not COMPLEX(8) In-Reply-To: <20130712051417.GA71107@troutmask.apl.washington.edu> X-Gm-Message-State: ALoCoQli7nkMOE7MOPjsgct445/dikZ69NpOwyuTOsNtcJA4KYOEAp0o+3NkTd1fb5bL9lzFNCEAYUrZ6dtyDBy9ExmSo7U2L66mcsiVn8TMXiXNPhElbyZEWGfNKER1k9Q9exo/MbWfgUgxOs2hKcZq43xVbaUz+A== Cc: fortran@freebsd.org X-BeenThere: freebsd-fortran@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: mexas@bristol.ac.uk List-Id: Fortran on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Jul 2013 11:05:40 -0000 >From sgk@troutmask.apl.washington.edu Fri Jul 12 07:25:06 2013 > >You need to look at -fdump-tree-original. >This produces gcc's intermediate code, and >may show the promotion. on ia64 the intermediate code is identical with and without -fdefault-real-8: $ cat z.f90 complex*16 :: z z = (1,2) write (*,*) dimag(z) end $ gfortran46 -fdump-tree-original z.f90 $ mv z.f90.003t.original z1 $ gfortran46 -fdump-tree-original -fdefault-real-8 z.f90 $ diff z.f90.003t.original z1 $ cat z.f90.003t.original MAIN__ () { complex(kind=8) z; z = __complex__ (1.0e+0, 2.0e+0); { struct __st_parameter_dt dt_parm.0; dt_parm.0.common.filename = &"z.f90"[1]{lb: 1 sz: 1}; dt_parm.0.common.line = 3; dt_parm.0.common.flags = 128; dt_parm.0.common.unit = 6; _gfortran_st_write (&dt_parm.0); { real(kind=8) D.719; D.719 = IMAGPART_EXPR ; _gfortran_transfer_real_write (&dt_parm.0, &D.719, 8); } _gfortran_st_write_done (&dt_parm.0); } } main (integer(kind=4) argc, character(kind=1) * * argv) { static integer(kind=4) options.1[8] = {68, 511, 0, 0, 0, 1, 0, 1}; _gfortran_set_args (argc, argv); _gfortran_set_options (8, &options.1[0]); MAIN__ (); return 0; } $ Anton