[gcc] Yet another gen_lowpart code confused by prt_mode != Pmode
Test from David Meyer, 64-bit mode with -O1:
typedef unsigned int size_t;
extern "C" {
size_t strlen (const char *);
};
class StringRef {
private:
const char *Data;
size_t Length;
public:
StringRef(const char *Str)
: Data(Str), Length(::strlen(Str)) {}
};
StringRef GetDLLSuffix() {
return &(".so"[1]);
}
Reports internal error while trying to replace Pmode register with ptr_mode CONST.
The change fixes the origin of such a CONST in gen_lowpart_for_combine. This is kinda hacky and clearly not upstreamable...
BUG=http://code.google.com/p/nativeclient/issues/detail?id=1279
TEST=see above
Review URL: http://codereview.chromium.org/5968010
1 file changed