summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
2737ed7)
Disable GOLD linker and some minor code cleanups
Signed-off-by: Jerome Benoit <jerome.benoit@sap.com>
WARN_FLAGS = -Wall -Wextra
STD_FLAG = -std=c11
WARN_FLAGS = -Wall -Wextra
STD_FLAG = -std=c11
+UNAME := $(shell uname -o)
ifeq ($(BUILD_TYPE),debug)
BUILDDIR := .build/debug
ifeq ($(BUILD_TYPE),debug)
BUILDDIR := .build/debug
+ifeq ($(UNAME),Cygwin)
+GOLD_SUPPORT = no
+endif
+
ifeq ($(LTO_SUPPORT),yes)
CFLAGS_LTO = -flto -ffat-lto-objects
LDFLAGS_LTO = -fuse-linker-plugin -flto
ifeq ($(LTO_SUPPORT),yes)
CFLAGS_LTO = -flto -ffat-lto-objects
LDFLAGS_LTO = -fuse-linker-plugin -flto
}
link_t* list_insert(link_t* head, unsigned index, int value) {
}
link_t* list_insert(link_t* head, unsigned index, int value) {
+ unsigned max_index = list_count(head);
if (index == 0) {
return list_prepend(head, value);
if (index == 0) {
return list_prepend(head, value);
- } else if (index == list_count(head)) {
+ } else if (index == max_index) {
return list_append(head, value);
} else {
link_t* link_insrt = list_new(value);
return list_append(head, value);
} else {
link_t* link_insrt = list_new(value);
link_t* head_prev = NULL;
link_t* head_next = NULL;
link_t* head_ret = NULL;
link_t* head_prev = NULL;
link_t* head_next = NULL;
link_t* head_ret = NULL;
if (head == NULL) {
return NULL;
} else if (index == 0) {
if (head == NULL) {
return NULL;
} else if (index == 0) {
printf("------Begin------\n");
while (head != NULL) {
printf("value at [%d]=%d\n", i, head->value);
printf("------Begin------\n");
while (head != NULL) {
printf("value at [%d]=%d\n", i, head->value);
- head = head->next;
- i++;
+ head = head->next;
+ i++;
}
printf("------End------\n");
}
}
printf("------End------\n");
}
WARN_FLAGS = -Wall -Wextra
STD_FLAG = -std=c11
WARN_FLAGS = -Wall -Wextra
STD_FLAG = -std=c11
+UNAME := $(shell uname -o)
ifeq ($(BUILD_TYPE),debug)
BUILDDIR := .build/debug
ifeq ($(BUILD_TYPE),debug)
BUILDDIR := .build/debug
+ifeq ($(UNAME),Cygwin)
+GOLD_SUPPORT = no
+endif
+
ifeq ($(LTO_SUPPORT),yes)
CFLAGS_LTO = -flto -ffat-lto-objects
LDFLAGS_LTO = -fuse-linker-plugin -flto
ifeq ($(LTO_SUPPORT),yes)
CFLAGS_LTO = -flto -ffat-lto-objects
LDFLAGS_LTO = -fuse-linker-plugin -flto
WARN_FLAGS = -Wall -Wextra
STD_FLAG = -std=c11
WARN_FLAGS = -Wall -Wextra
STD_FLAG = -std=c11
+UNAME := $(shell uname -o)
ifeq ($(BUILD_TYPE),debug)
BUILDDIR := .build/debug
ifeq ($(BUILD_TYPE),debug)
BUILDDIR := .build/debug
+ifeq ($(UNAME),Cygwin)
+GOLD_SUPPORT = no
+endif
+
ifeq ($(LTO_SUPPORT),yes)
CFLAGS_LTO = -flto -ffat-lto-objects
LDFLAGS_LTO = -fuse-linker-plugin -flto
ifeq ($(LTO_SUPPORT),yes)
CFLAGS_LTO = -flto -ffat-lto-objects
LDFLAGS_LTO = -fuse-linker-plugin -flto
#include "clist.h"
link_t* list_new(int value) {
#include "clist.h"
link_t* list_new(int value) {
link_new = malloc(sizeof(link_t));
link_new->value = value;
link_new->next = NULL;
link_new = malloc(sizeof(link_t));
link_new->value = value;
link_new->next = NULL;
link_t* list_append(link_t* head, int value) {
link_t* list_append(link_t* head, int value) {
return head = list_new(value);
} else {
link_t* head_first = head;
while (head->next != NULL) {
return head = list_new(value);
} else {
link_t* head_first = head;
while (head->next != NULL) {
}
head->next = list_new(value);
return head_first;
}
head->next = list_new(value);
return head_first;
link_t* list_prepend(link_t* head, int value) {
link_t* first_link = list_new(value);
link_t* list_prepend(link_t* head, int value) {
link_t* first_link = list_new(value);
first_link->next = head;
return first_link;
}
first_link->next = head;
return first_link;
}
link_t* list_insert(link_t* head, unsigned index, int value) {
if (index == 0) {
link_t* list_insert(link_t* head, unsigned index, int value) {
if (index == 0) {
- return list_prepend(head, value);
+ return list_prepend(head, value);
} else if (index == list_count(head)) {
return list_append(head, value);
} else {
} else if (index == list_count(head)) {
return list_append(head, value);
} else {
- link_t* link_insrt = list_new(value);
+ link_t* link_insrt = list_new(value);
link_t* head_first = head;
link_t* head_next = NULL;
for (unsigned i = 0; i < index-1; i++) {
link_t* head_first = head;
link_t* head_next = NULL;
for (unsigned i = 0; i < index-1; i++) {
head_next = head->next;
head->next = link_insrt;
head = link_insrt;
head_next = head->next;
head->next = link_insrt;
head = link_insrt;
- head->next = head_next;
+ head->next = head_next;
link_t* head_prev = NULL;
link_t* head_next = NULL;
link_t* head_ret = NULL;
link_t* head_prev = NULL;
link_t* head_next = NULL;
link_t* head_ret = NULL;
if (head == NULL) {
return NULL;
} else if (index == 0) {
if (head == NULL) {
return NULL;
} else if (index == 0) {
tmp = head->value;
head->value = head->next->value;
head->next->value = tmp;
tmp = head->value;
head->value = head->next->value;
head->next->value = tmp;
- /* Reloop at the beginning of the list until there's values swaped */
- head = head_first;
+ /* Reloop at the beginning of the list until there's values swaped */
+ head = head_first;
} while (isswaped);
return head_first;
}
} while (isswaped);
return head_first;
}
}
if (head1->value < head2->value) {
head_result = head1;
}
if (head1->value < head2->value) {
head_result = head1;
- head_result->next = _list_merge_sort(head1->next, head2);
+ head_result->next = _list_merge_sort(head1->next, head2);
} else {
head_result = head2;
} else {
head_result = head2;
- head_result->next = _list_merge_sort(head1, head2->next);
+ head_result->next = _list_merge_sort(head1, head2->next);
unsigned list_count(link_t* head) {
unsigned count = 0;
unsigned list_count(link_t* head) {
unsigned count = 0;
while (head != NULL) {
++count;
head = head->next;
while (head != NULL) {
++count;
head = head->next;
}
int list_get(link_t* head, unsigned index) {
}
int list_get(link_t* head, unsigned index) {
while (head != NULL && count < index) {
++count;
while (head != NULL && count < index) {
++count;
return head->value;
} else {
return -1;
return head->value;
} else {
return -1;
printf("------Begin------\n");
while (head != NULL) {
printf("value at [%d]=%d\n", i, head->value);
printf("------Begin------\n");
while (head != NULL) {
printf("value at [%d]=%d\n", i, head->value);
- head = head->next;
- i++;
+ head = head->next;
+ i++;
}
printf("------End------\n");
}
}
printf("------End------\n");
}