-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 08/16/11 15:35, grabekm90 wrote:
> How to resolve a problem with pointers (especially arrays)? For > example, we have a GIMPLE function: > > set_a (int * a) { int * D.2701; D.2701 = a + 40; *D.2701 = 7; } > > This is equivalent code in C: > > void set_a(int * a) { a[10] = 107; } > > GIMPLE tries to avoid operations on the left side of the assign sign. > There is a problem because I want to identify local variable (D.2701) > with function parameter (a). In this case "a" is output parameter. I > could follow a behavior of parameters in my plugin, but I suppose > that GIMPLE makes accessible better solution, doesn't it? Adding/subtracting from a pointer should result in another pointer to a different part of the same object. So anytime I saw <whatever> = <pointer> +- index I'd record that <whatever> was a derived pointer. jeff -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJOSuPvAAoJEBRtltQi2kC7p6AH/3x6EXhLr4os3FjFklvNdJk6 FsGYnl9l3ZxRzYv5TyS6Pe2hzZaRPzZyF0a6r6/pZ9KqxlBA7XQwIAxjBnW37+DK LypIeCz7IeQDqPnB2OV9e271Q+b6EWPhSg/csAAeGqKtmixjwNC2Zjkgjbf5Anmn WtSyo12A2b16f24I/bHw36frupcBF7adMBK5CyQVthoMkbVsporvG9Yz4NX/vmF+ 2UPGw3wap9SIsMEs9bG/OA13Q2WsQS7EJw2n5GH4gdlEwMmd6e8WsuQ0802SkHdX aVgwIJ0xQbk2RuVnRb8244u+6AOuVT4yVVvHJ5QGfON/UoLFUKa1SPUXRSRLKaM= =HggP -----END PGP SIGNATURE-----