[hil] fix crash when translating C code that indexes string literals like arrays or does pointer arithmetic
Summary: HIL had only been tested in Java, and it made some assumptions about what array expressions look like (the LHS is always resolvable to an access path) and assignments (the LHS is always an access path) that aren't true in C. Fixed the code so we won't crash in this case. Thanks to jeremydubreil for catching this. Reviewed By: jeremydubreil Differential Revision: D5047649 fbshipit-source-id: e8484f4master
parent
4e97d1e991
commit
b7afa4727d
@ -0,0 +1,18 @@
|
||||
/*
|
||||
* Copyright (c) 2017 - present Facebook, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD style license found in the
|
||||
* LICENSE file in the root directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*/
|
||||
|
||||
namespace arrays {
|
||||
|
||||
// these examples used to crash the HIL conversion
|
||||
char index_of_literal_ok1() { return "foo"[1]; }
|
||||
|
||||
char index_of_literal_ok2() { return "foo"[7]; }
|
||||
|
||||
char index_of_literal_ok3(int i) { return "foo"[i]; }
|
||||
}
|
Loading…
Reference in new issue