From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout01.posteo.de (mout01.posteo.de [185.67.36.65]) by sourceware.org (Postfix) with ESMTPS id 56A8E3858D3C for ; Sat, 15 Jul 2023 10:50:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 56A8E3858D3C Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=posteo.net Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=posteo.net Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 05311240029 for ; Sat, 15 Jul 2023 12:50:15 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1689418216; bh=m9kEdrU57grBY1zyZHc1Wps9EeNFMjjknHW827/Tcjg=; h=Message-ID:Subject:From:To:Date:MIME-Version:From; b=GOZpXEZI+QUz6daGXxCK2xUCQ23fIOK1G6TELNV89A76M0BF9Je6c8M91qQasKc7E 7WZUkyAxCx2TXbbxllu5ByitB/cVhscYv9bapJEI/POa1pydokjUB63NhzT6fd1Zf5 ax1E91qyaOTTlCTI+g3DxymeYF1tuvNKRniUeKBTGTVuzeaWJVMc6/Ejnd/7U6x06v XgTWEivYkLpF5b9hQzdh1qQUoxtl83NFUm7DpQrP6uUaC2X2ijqZiGbD439xwv51Qh 6eJSX83MCwB/Itav3fANO3kPKIAZ1zMcPtC355rlNVW4F2Yu0Y2TMzh344BrRnJ85q W6IJ8e6cCQ3jw== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4R34qq16Q4z9rxK for ; Sat, 15 Jul 2023 12:50:14 +0200 (CEST) Message-ID: Subject: Re: Question about declaring an array in the stack on runtime From: John Scott To: gcc-help@gcc.gnu.org Date: Sat, 15 Jul 2023 10:49:40 +0000 In-Reply-To: References: Jabber-ID: pert@member.fsf.org Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature"; boundary="=-5jFy6ijpvrgVE4RSogpW" MIME-Version: 1.0 X-Spam-Status: No, score=-2.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --=-5jFy6ijpvrgVE4RSogpW Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-eCGK5nL6QGlnwgQGiqYi" --=-eCGK5nL6QGlnwgQGiqYi Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, 2023-07-15 at 18:43 +0800, James R T via Gcc-help wrote: > Is the conditional assignment to `arr` considered undefined > behavior? It's not the assignment that's the problem. The problem is that you're using a compound literal, and a compound literal, like typical automatically allocated variables, has a lifetime determined by its scope. In other words, the following: if (some_var =3D=3D 7) { arr =3D (unsigned int[7]){9, 10, 11, 12, 13, 14, 15}; } is the same as if (some_var =3D=3D 7) { unsigned int baz[7] =3D {9, 10, 11, 12, 13, 14, 15}; arr =3D baz; } I hope this makes the problem a little more obvious: after you leave the '}', the array doesn't exist anymore, and arr is a dangling pointer to an object that doesn't exist. --=-eCGK5nL6QGlnwgQGiqYi Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQSiPzylvTnZ6xisfzWz9N0oYfTNugUCZLJ5xQAKCRCz9N0oYfTN uibfAPwI2BKV4A3D/l0tOqNpC3JAkM/hnsayHUzd7a2e+dLAAwD/R1cJHNI2A3ry ynRh2WVogMxvyXPk5/FVftaPsDFZPQQ= =x3nc -----END PGP SIGNATURE----- --=-eCGK5nL6QGlnwgQGiqYi-- --=-5jFy6ijpvrgVE4RSogpW Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Disposition: attachment; filename="smime.p7s" Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEzEw ggXcMIIDxKADAgECAhBnvLd5bPPn1rsvWGSNW5WJMA0GCSqGSIb3DQEBCwUAMIGBMQswCQYDVQQG EwJJVDEQMA4GA1UECAwHQmVyZ2FtbzEZMBcGA1UEBwwQUG9udGUgU2FuIFBpZXRybzEXMBUGA1UE CgwOQWN0YWxpcyBTLnAuQS4xLDAqBgNVBAMMI0FjdGFsaXMgQ2xpZW50IEF1dGhlbnRpY2F0aW9u IENBIEczMB4XDTIzMDQxNDA4MjAyOVoXDTI0MDQxNDA4MjAyOFowHDEaMBgGA1UEAwwRanNjb3R0 QHBvc3Rlby5uZXQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/SCyDQhScKyUz+uQh GvQJy6hh22IHR4tR4HYl9qNRTlASagKJSQRaY4K0+NRmsd5qv9E+AZT3QbXjkyGJvLO9omw4o3yP a3jzH5cfAR+4unCoBbz0b/Daeks3YCwfD09x+4HjPlN+pHCMGEhYG+ENp++dUCA0B9TlV34/oEj9 xQh73CoMTyiUe1iwdYgRc2qYs31cF1pySsVApNQswzi++RMHkStXq5GDhaJVHmpGtwLA2rT7Kg7y eTUoFQkRInDabZ8YjeDLbt4A7wJ2TOgyiWYhh1RCJlENm4xMngQnabG6X4hbqaAEmhQbqLAyk+Gk JIEOgd4J86O9QqMqptN5AgMBAAGjggGyMIIBrjAMBgNVHRMBAf8EAjAAMB8GA1UdIwQYMBaAFL6X qaqEv4C/EFN9CTL54S4yG893MH4GCCsGAQUFBwEBBHIwcDA7BggrBgEFBQcwAoYvaHR0cDovL2Nh Y2VydC5hY3RhbGlzLml0L2NlcnRzL2FjdGFsaXMtYXV0Y2xpZzMwMQYIKwYBBQUHMAGGJWh0dHA6 Ly9vY3NwMDkuYWN0YWxpcy5pdC9WQS9BVVRIQ0wtRzMwHAYDVR0RBBUwE4ERanNjb3R0QHBvc3Rl by5uZXQwRwYDVR0gBEAwPjA8BgYrgR8BGAEwMjAwBggrBgEFBQcCARYkaHR0cHM6Ly93d3cuYWN0 YWxpcy5pdC9hcmVhLWRvd25sb2FkMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDBIBgNV HR8EQTA/MD2gO6A5hjdodHRwOi8vY3JsMDkuYWN0YWxpcy5pdC9SZXBvc2l0b3J5L0FVVEhDTC1H My9nZXRMYXN0Q1JMMB0GA1UdDgQWBBSV6Z9x/X3W4laIqQB8o4F709HYETAOBgNVHQ8BAf8EBAMC BaAwDQYJKoZIhvcNAQELBQADggIBAGXfuyEAbq/wqlw3NV5UvFREz9dEgYLSiUIG5472s2mR3c5R yAmuD2gJ/btzePQoOBNissoYFlIFZh4IKNDg6FHurmrXYkW9Nd4u43ybGrzZLk4SXnF/gTE+oSWW bUUKkeH55fjq/1W9honBLwolDCfQL1X7IWFNRsBtUUU5A/N4y9kDlAZdQWGvtGJR6DXi9Oo6QFJ1 ysVmLlpuYRhsW2/KdR4Ueni9SAqZ3qbxWNy4sNSZptPWftaoiljwiILbPpm7N5sPyuC82S9cOGxt iLXjyhAzPWylYfbKmd18FfJP29lMIFROjinWRZl+GfloQ/tetATH9Jlknd440muaOBoQdcWaiFFV O6WR2kpDnI11cqJTO5aDVnbIXGiILtKBXTskKPgLcLkbP2dgq4gpwcWHac8DWRSVPYDas/rRBR63 mELGbf7PqEy02wiCiU61+5pUMkNPgpQWfTu2gI4+lygB9ogPdl27V7eBqZZ/HfMYyrg+8/9AGWmh ExgRhbzzzd7H0vzAh7Tb9wsvZmwA+GFHt0hLwdI4qJIa2wnYV+FMbWXfK9Ens/vrze7YI5I8aG/K Pkr9jHCZ73ED+qpBbExowcKq2ZLINPP9hBV+by7P6evfMxV4FLtVllvf5ii3j2NrvQ5LZqG1nokp bURid5aaNLXJ0+08HXbIXZaowJ1tMIIF3DCCA8SgAwIBAgIQZ7y3eWzz59a7L1hkjVuViTANBgkq hkiG9w0BAQsFADCBgTELMAkGA1UEBhMCSVQxEDAOBgNVBAgMB0JlcmdhbW8xGTAXBgNVBAcMEFBv bnRlIFNhbiBQaWV0cm8xFzAVBgNVBAoMDkFjdGFsaXMgUy5wLkEuMSwwKgYDVQQDDCNBY3RhbGlz IENsaWVudCBBdXRoZW50aWNhdGlvbiBDQSBHMzAeFw0yMzA0MTQwODIwMjlaFw0yNDA0MTQwODIw MjhaMBwxGjAYBgNVBAMMEWpzY290dEBwb3N0ZW8ubmV0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEAv0gsg0IUnCslM/rkIRr0CcuoYdtiB0eLUeB2JfajUU5QEmoCiUkEWmOCtPjUZrHe ar/RPgGU90G145MhibyzvaJsOKN8j2t48x+XHwEfuLpwqAW89G/w2npLN2AsHw9PcfuB4z5TfqRw jBhIWBvhDafvnVAgNAfU5Vd+P6BI/cUIe9wqDE8olHtYsHWIEXNqmLN9XBdackrFQKTULMM4vvkT B5ErV6uRg4WiVR5qRrcCwNq0+yoO8nk1KBUJESJw2m2fGI3gy27eAO8CdkzoMolmIYdUQiZRDZuM TJ4EJ2mxul+IW6mgBJoUG6iwMpPhpCSBDoHeCfOjvUKjKqbTeQIDAQABo4IBsjCCAa4wDAYDVR0T AQH/BAIwADAfBgNVHSMEGDAWgBS+l6mqhL+AvxBTfQky+eEuMhvPdzB+BggrBgEFBQcBAQRyMHAw OwYIKwYBBQUHMAKGL2h0dHA6Ly9jYWNlcnQuYWN0YWxpcy5pdC9jZXJ0cy9hY3RhbGlzLWF1dGNs aWczMDEGCCsGAQUFBzABhiVodHRwOi8vb2NzcDA5LmFjdGFsaXMuaXQvVkEvQVVUSENMLUczMBwG A1UdEQQVMBOBEWpzY290dEBwb3N0ZW8ubmV0MEcGA1UdIARAMD4wPAYGK4EfARgBMDIwMAYIKwYB BQUHAgEWJGh0dHBzOi8vd3d3LmFjdGFsaXMuaXQvYXJlYS1kb3dubG9hZDAdBgNVHSUEFjAUBggr BgEFBQcDAgYIKwYBBQUHAwQwSAYDVR0fBEEwPzA9oDugOYY3aHR0cDovL2NybDA5LmFjdGFsaXMu aXQvUmVwb3NpdG9yeS9BVVRIQ0wtRzMvZ2V0TGFzdENSTDAdBgNVHQ4EFgQUlemfcf191uJWiKkA fKOBe9PR2BEwDgYDVR0PAQH/BAQDAgWgMA0GCSqGSIb3DQEBCwUAA4ICAQBl37shAG6v8KpcNzVe VLxURM/XRIGC0olCBueO9rNpkd3OUcgJrg9oCf27c3j0KDgTYrLKGBZSBWYeCCjQ4OhR7q5q12JF vTXeLuN8mxq82S5OEl5xf4ExPqEllm1FCpHh+eX46v9VvYaJwS8KJQwn0C9V+yFhTUbAbVFFOQPz eMvZA5QGXUFhr7RiUeg14vTqOkBSdcrFZi5abmEYbFtvynUeFHp4vUgKmd6m8VjcuLDUmabT1n7W qIpY8IiC2z6ZuzebD8rgvNkvXDhsbYi148oQMz1spWH2ypndfBXyT9vZTCBUTo4p1kWZfhn5aEP7 XrQEx/SZZJ3eONJrmjgaEHXFmohRVTulkdpKQ5yNdXKiUzuWg1Z2yFxoiC7SgV07JCj4C3C5Gz9n YKuIKcHFh2nPA1kUlT2A2rP60QUet5hCxm3+z6hMtNsIgolOtfuaVDJDT4KUFn07toCOPpcoAfaI D3Zdu1e3gamWfx3zGMq4PvP/QBlpoRMYEYW8883ex9L8wIe02/cLL2ZsAPhhR7dIS8HSOKiSGtsJ 2FfhTG1l3yvRJ7P7683u2COSPGhvyj5K/Yxwme9xA/qqQWxMaMHCqtmSyDTz/YQVfm8uz+nr3zMV eBS7VZZb3+Yot49ja70OS2ahtZ6JKW1EYneWmjS1ydPtPB12yF2WqMCdbTCCB20wggVVoAMCAQIC EBcQPt49ihy1ygZRk+fKQ2swDQYJKoZIhvcNAQELBQAwazELMAkGA1UEBhMCSVQxDjAMBgNVBAcM BU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0 YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENBMB4XDTIwMDcwNjA4NDU0N1oXDTMwMDkyMjExMjIw MlowgYExCzAJBgNVBAYTAklUMRAwDgYDVQQIDAdCZXJnYW1vMRkwFwYDVQQHDBBQb250ZSBTYW4g UGlldHJvMRcwFQYDVQQKDA5BY3RhbGlzIFMucC5BLjEsMCoGA1UEAwwjQWN0YWxpcyBDbGllbnQg QXV0aGVudGljYXRpb24gQ0EgRzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDt5oeW ocGktu3CQlX3Pw8PImBfE+CmQ4iGSZF5HBsvGlAP3EYB7va6OobMUWHvxA+ACHEpWq0YfNh6rRUl ULOGcIpEFtVf4nAiEvdQtiFQBmtWJSn3naoMHqpMvmwZ4lL0Xr1U9JHmTqkU3DuYcNNO3S+hYWDZ pWQbeSGibNVeiJ4kY6JDh0fvqloK1BsuS3n2OgArPYGfAYtDjCvT2d+6Ym3kArHZjEcrZeBI+yVV njPwbTSCKax8DtS2NP/CJ6RjpnRvuSwusRy84OdwdB71VKs1EDXj1ITcCWRZpkz+OhV6L8Zh+P0r mOSJF6KdHiaozfncURx4s54GFJNRGkx1DnCxcuL0NJMYG42/hrDYOjNv+oGWSEZO/CT3aaLSMB5w TbZKfcD1R+tTanXD+5Gz5Mi15DTE7QH8naZjZxqqhyxL1KyuIgaVDxvQtPSjo5vTsoa09rn+Ui8y bHnvYO/a/68OIQIHLGbUd2COnwm0TiZ3Jg/oYGxwnJPvU1nDXNcecWTIJvFF5qD2ppJH3HgJVVeP UEOY1E4Kp3k0B8hdRdhMV5n+O6RCKCTFcZaESF8sELgdrqnCLPP1+rX7DA8pxZoX0/9Jk64EOsbf QyLIJlrrob2YS0Xlku6HisZ8qrHLhnkzF5y7O34xmatIp8oZ5c54QP+K5flnTYzWjuIxLwIDAQAB o4IB9DCCAfAwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRS2Ig6yJ94Zu2J83s4cJTJAgI2 0DBBBggrBgEFBQcBAQQ1MDMwMQYIKwYBBQUHMAGGJWh0dHA6Ly9vY3NwMDUuYWN0YWxpcy5pdC9W QS9BVVRILVJPT1QwRQYDVR0gBD4wPDA6BgRVHSAAMDIwMAYIKwYBBQUHAgEWJGh0dHBzOi8vd3d3 LmFjdGFsaXMuaXQvYXJlYS1kb3dubG9hZDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQw geMGA1UdHwSB2zCB2DCBlqCBk6CBkIaBjWxkYXA6Ly9sZGFwMDUuYWN0YWxpcy5pdC9jbiUzZEFj dGFsaXMlMjBBdXRoZW50aWNhdGlvbiUyMFJvb3QlMjBDQSxvJTNkQWN0YWxpcyUyMFMucC5BLiUy ZjAzMzU4NTIwOTY3LGMlM2RJVD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0O2JpbmFyeTA9oDug OYY3aHR0cDovL2NybDA1LmFjdGFsaXMuaXQvUmVwb3NpdG9yeS9BVVRILVJPT1QvZ2V0TGFzdENS TDAdBgNVHQ4EFgQUvpepqoS/gL8QU30JMvnhLjIbz3cwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 DQEBCwUAA4ICAQAmm+cbWQ10sxID6edV94SAhc1CwzthHFfHpuYS30gisWUfWpgp43Dg1XzG2in3 VGV7XrzCCGZh4JM/XQWp+4oxmyV42Qjz9vc8GRksgo6X2nYObPYZzQjda9wxsCB38i4G3H33w8lf 9sFvl0xm4ZXZ2s2bF/PdqvrK0ZgvF51+MoIPnli/wJBw3p72xbk5Sb1MneSO3tZ293WFzDmz7tuG U0PfytYUkG7O6annGqbU1I6CA6QVKUqeFLPodSODAFqJ3pimKD0vX9MuuSa0QinH7CkiPtZMD0mp wwzIsnSs3qOOl60tIZQOTc0I6lCe1LLhrz7Q75J6nNL9N5zVwZ1I3o2Lb8Dt7BA13VFuZvZIzapU GV83R7pmSVaj1Bik1nJ/R393e6mwppsT140KDVLh4Oenywmp2VpBDuEj9RgICAO0sibv8n379LbO 7ARa0kw9y9pggFzN2PAX25b7w0n9m78kpv3z3vW65rs6wl7E8VEHNfv8+cnb81dxN3C51KElz+l3 1zchFTurD5HFEpyEhzO/fMS5AkweRJIzwozxNs7OL/S/SVTpJLJL1ukZ1lnHHX0d3xCzRy/5HqfK 3uiG22LPB5+RjNDobPAjAz2BKMfkF/+v0pzn8mqqkopQaJzEAbLbMpgQYHRCjvrUxxwjJyUFb2Z+ 40UNtMF4MTK7zTGCA4UwggOBAgEBMIGWMIGBMQswCQYDVQQGEwJJVDEQMA4GA1UECAwHQmVyZ2Ft bzEZMBcGA1UEBwwQUG9udGUgU2FuIFBpZXRybzEXMBUGA1UECgwOQWN0YWxpcyBTLnAuQS4xLDAq BgNVBAMMI0FjdGFsaXMgQ2xpZW50IEF1dGhlbnRpY2F0aW9uIENBIEczAhBnvLd5bPPn1rsvWGSN W5WJMA0GCWCGSAFlAwQCAQUAoIIBvzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3 DQEJBTEPFw0yMzA3MTUxMDQ5NTJaMC8GCSqGSIb3DQEJBDEiBCB76PKkx1x4nDpgpXhqomaL6Wmk 7HR+Og7a/ARgfzB5mDCBpwYJKwYBBAGCNxAEMYGZMIGWMIGBMQswCQYDVQQGEwJJVDEQMA4GA1UE CAwHQmVyZ2FtbzEZMBcGA1UEBwwQUG9udGUgU2FuIFBpZXRybzEXMBUGA1UECgwOQWN0YWxpcyBT LnAuQS4xLDAqBgNVBAMMI0FjdGFsaXMgQ2xpZW50IEF1dGhlbnRpY2F0aW9uIENBIEczAhBnvLd5 bPPn1rsvWGSNW5WJMIGpBgsqhkiG9w0BCRACCzGBmaCBljCBgTELMAkGA1UEBhMCSVQxEDAOBgNV BAgMB0JlcmdhbW8xGTAXBgNVBAcMEFBvbnRlIFNhbiBQaWV0cm8xFzAVBgNVBAoMDkFjdGFsaXMg Uy5wLkEuMSwwKgYDVQQDDCNBY3RhbGlzIENsaWVudCBBdXRoZW50aWNhdGlvbiBDQSBHMwIQZ7y3 eWzz59a7L1hkjVuViTANBgkqhkiG9w0BAQEFAASCAQBNpZxRQ1wg0XfUSZmpHoZhcjUPMM+eLOYt g1DhKhK0NZQ9QRuwSoqnE0S3gKm4qA+7sy+cf4mzDuBet1GhJJU6BQefyddp74JqxyatilUKEB98 gCaJmXGr8IQXSL+KJskKalfvflosaAGPvZElIkHqDTk6gJ3u2+h76w+FIKS2+ZzaI+O/G3W8T8fN 42hNsl/0pks0j3eoFEEVc00CZzFsAtGPy+iKaT0RwNOgSxrCklnEz/bCfHjeXUoUgnsRWIgfTG0z zA+wTEgmcyKiHTYGEYv0Lvod5aS7mnO3EBe4rYCy0KhWxsvWescOYJK8eW+L+hAHHwtLEOchnjOO +D0DAAAAAAAA --=-5jFy6ijpvrgVE4RSogpW--