basic,shared: mark eligible functions with _pure_/_const_
Following the recent witch hunt done to static inline functions I figure we should at least give the compiler some more hint on optimizations.
This commit is contained in:
@@ -103,8 +103,8 @@ typedef enum ExitClean {
|
||||
EXIT_CLEAN_COMMAND,
|
||||
} ExitClean;
|
||||
|
||||
bool is_clean_exit(int code, int status, ExitClean clean, const ExitStatusSet *success_status);
|
||||
bool is_clean_exit(int code, int status, ExitClean clean, const ExitStatusSet *success_status) _pure_;
|
||||
|
||||
void exit_status_set_free(ExitStatusSet *x);
|
||||
bool exit_status_set_is_empty(const ExitStatusSet *x);
|
||||
bool exit_status_set_test(const ExitStatusSet *x, int code, int status);
|
||||
bool exit_status_set_is_empty(const ExitStatusSet *x) _pure_;
|
||||
bool exit_status_set_test(const ExitStatusSet *x, int code, int status) _pure_;
|
||||
|
||||
+13
-13
@@ -29,19 +29,19 @@ typedef enum PartitionDesignator {
|
||||
_PARTITION_DESIGNATOR_INVALID = -EINVAL,
|
||||
} PartitionDesignator;
|
||||
|
||||
bool partition_designator_is_versioned(PartitionDesignator d);
|
||||
bool partition_designator_is_versioned(PartitionDesignator d) _const_;
|
||||
|
||||
PartitionDesignator partition_verity_of(PartitionDesignator p);
|
||||
PartitionDesignator partition_verity_sig_of(PartitionDesignator p);
|
||||
PartitionDesignator partition_verity_to_data(PartitionDesignator d);
|
||||
PartitionDesignator partition_verity_sig_to_data(PartitionDesignator d);
|
||||
PartitionDesignator partition_verity_of(PartitionDesignator p) _const_;
|
||||
PartitionDesignator partition_verity_sig_of(PartitionDesignator p) _const_;
|
||||
PartitionDesignator partition_verity_to_data(PartitionDesignator d) _const_;
|
||||
PartitionDesignator partition_verity_sig_to_data(PartitionDesignator d) _const_;
|
||||
|
||||
const char* partition_designator_to_string(PartitionDesignator d) _const_;
|
||||
PartitionDesignator partition_designator_from_string(const char *name) _pure_;
|
||||
|
||||
const char* partition_mountpoint_to_string(PartitionDesignator d) _const_;
|
||||
|
||||
const char* gpt_partition_type_uuid_to_string(sd_id128_t id);
|
||||
const char* gpt_partition_type_uuid_to_string(sd_id128_t id) _const_;
|
||||
const char* gpt_partition_type_uuid_to_string_harder(
|
||||
sd_id128_t id,
|
||||
char buffer[static SD_ID128_UUID_STRING_MAX]);
|
||||
@@ -49,7 +49,7 @@ const char* gpt_partition_type_uuid_to_string_harder(
|
||||
#define GPT_PARTITION_TYPE_UUID_TO_STRING_HARDER(id) \
|
||||
gpt_partition_type_uuid_to_string_harder((id), (char[SD_ID128_UUID_STRING_MAX]) {})
|
||||
|
||||
Architecture gpt_partition_type_uuid_to_arch(sd_id128_t id);
|
||||
Architecture gpt_partition_type_uuid_to_arch(sd_id128_t id) _const_;
|
||||
|
||||
typedef struct GptPartitionType {
|
||||
sd_id128_t uuid;
|
||||
@@ -65,14 +65,14 @@ int gpt_partition_label_valid(const char *s);
|
||||
GptPartitionType gpt_partition_type_from_uuid(sd_id128_t id);
|
||||
int gpt_partition_type_from_string(const char *s, GptPartitionType *ret);
|
||||
|
||||
GptPartitionType gpt_partition_type_override_architecture(GptPartitionType type, Architecture arch);
|
||||
GptPartitionType gpt_partition_type_override_architecture(GptPartitionType type, Architecture arch) _const_;
|
||||
|
||||
const char* gpt_partition_type_mountpoint_nulstr(GptPartitionType type);
|
||||
|
||||
bool gpt_partition_type_knows_read_only(GptPartitionType type);
|
||||
bool gpt_partition_type_knows_growfs(GptPartitionType type);
|
||||
bool gpt_partition_type_knows_no_auto(GptPartitionType type);
|
||||
bool gpt_partition_type_has_filesystem(GptPartitionType type);
|
||||
bool gpt_partition_type_knows_read_only(GptPartitionType type) _const_;
|
||||
bool gpt_partition_type_knows_growfs(GptPartitionType type) _const_;
|
||||
bool gpt_partition_type_knows_no_auto(GptPartitionType type) _const_;
|
||||
bool gpt_partition_type_has_filesystem(GptPartitionType type) _const_;
|
||||
|
||||
typedef struct {
|
||||
uint8_t partition_type_guid[16];
|
||||
@@ -100,4 +100,4 @@ typedef struct {
|
||||
le32_t partition_entry_array_crc32;
|
||||
} _packed_ GptHeader;
|
||||
|
||||
bool gpt_header_has_signature(const GptHeader *p);
|
||||
bool gpt_header_has_signature(const GptHeader *p) _pure_;
|
||||
|
||||
@@ -52,5 +52,5 @@ UserDisposition group_record_disposition(GroupRecord *h);
|
||||
|
||||
bool group_record_matches_group_name(const GroupRecord *g, const char *groupname);
|
||||
|
||||
bool group_record_is_root(const GroupRecord *g);
|
||||
bool group_record_is_nobody(const GroupRecord *g);
|
||||
bool group_record_is_root(const GroupRecord *g) _pure_;
|
||||
bool group_record_is_nobody(const GroupRecord *g) _pure_;
|
||||
|
||||
@@ -19,14 +19,14 @@ void main_finalize(int r, int exit_status);
|
||||
return result_to_return_value(r); \
|
||||
}
|
||||
|
||||
int exit_failure_if_negative(int result);
|
||||
int exit_failure_if_negative(int result) _const_;
|
||||
|
||||
/* Negative return values from impl are mapped to EXIT_FAILURE, and
|
||||
* everything else means success! */
|
||||
#define DEFINE_MAIN_FUNCTION(impl) \
|
||||
_DEFINE_MAIN_FUNCTION(,impl(argc, argv), exit_failure_if_negative, exit_failure_if_negative)
|
||||
|
||||
int exit_failure_if_nonzero(int result);
|
||||
int exit_failure_if_nonzero(int result) _const_;
|
||||
|
||||
/* Zero is mapped to EXIT_SUCCESS, negative values are mapped to EXIT_FAILURE,
|
||||
* and positive values are propagated.
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
#include "forward.h"
|
||||
|
||||
bool mount_point_is_api(const char *path);
|
||||
bool mount_point_ignore(const char *path);
|
||||
bool mount_point_is_api(const char *path) _pure_;
|
||||
bool mount_point_ignore(const char *path) _pure_;
|
||||
|
||||
int mount_setup_early(void);
|
||||
int mount_setup(bool loaded_policy, bool leave_propagation);
|
||||
|
||||
@@ -22,4 +22,4 @@
|
||||
|
||||
int namespace_flags_from_string(const char *name, unsigned long *ret);
|
||||
int namespace_flags_to_string(unsigned long flags, char **ret);
|
||||
const char* namespace_single_flag_to_string(unsigned long flag);
|
||||
const char* namespace_single_flag_to_string(unsigned long flag) _const_;
|
||||
|
||||
Reference in New Issue
Block a user