You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
634 B

/*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
// modifies x (a mutable reference argument)
void modify_mut_ref_impure(int* x) { ++*x; }
int primitive_pure(int x) { x++; }
int fact_pure(int n) {
int f = 1;
while (n > 0)
f *= n--;
return f;
}
struct node {
struct node* next;
int data;
};
void create_cycle_impure(struct node* x) { x->next = x; }
void invalidate_local_impure(int** pp) {
int t = 0xdeadbeef;
*pp = &t; // <-- potential bug here since t goes out of scope
}