Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit05cbd6c

Browse files
committed
Swap order of extern/static and pg_nodiscard
When pg_nodiscard was first added, the C standard draft had it as afunction specifier, and so the code comment about placement waswritten with that in mind. The final C23 standard has it as anattribute and the placement rules are a bit different for that.Specifically, it needs to be before extern or static. (Or at leastboth current clang and gcc require that.) So just swap these. (To beclear: The current implementation with gcc attributes doesn't care.This change is just for maximum forward compatibility for non-gcccompilers.) This also keeps the order consistent with the previouslyintroduced pg_noreturn. Also update the code comment to reflect thementioned developments since its introduction.Reviewed-by: Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>Reviewed-by: Andres Freund <andres@anarazel.de>Discussion:https://www.postgresql.org/message-id/flat/pxr5b3z7jmkpenssra5zroxi7qzzp6eswuggokw64axmdixpnk@zbwxuq7gbbcw
1 parent01261fb commit05cbd6c

File tree

6 files changed

+45
-45
lines changed

6 files changed

+45
-45
lines changed

‎src/include/c.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -135,9 +135,9 @@
135135

136136
/*
137137
* pg_nodiscard means the compiler should warn if the result of a function
138-
* call is ignored. The name "nodiscard" is chosen in alignment with
139-
*(possibly future) C and C++ standards. For maximum compatibility, use it
140-
*as a function declaration specifier, soitgoesbefore thereturn type.
138+
* call is ignored. The name "nodiscard" is chosen in alignment with the C23
139+
*standard attribute with the same name. For maximumforwardcompatibility,
140+
*placeit before thedeclaration.
141141
*/
142142
#ifdef__GNUC__
143143
#definepg_nodiscard __attribute__((warn_unused_result))

‎src/include/common/base64.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
#defineBASE64_H
1212

1313
/* base 64 */
14-
externpg_nodiscardintpg_b64_encode(constchar*src,intlen,char*dst,intdstlen);
15-
externpg_nodiscardintpg_b64_decode(constchar*src,intlen,char*dst,intdstlen);
14+
pg_nodiscardexternintpg_b64_encode(constchar*src,intlen,char*dst,intdstlen);
15+
pg_nodiscardexternintpg_b64_decode(constchar*src,intlen,char*dst,intdstlen);
1616
externintpg_b64_enc_len(intsrclen);
1717
externintpg_b64_dec_len(intsrclen);
1818

‎src/include/nodes/pg_list.h

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -608,39 +608,39 @@ extern List *list_make5_impl(NodeTag t, ListCell datum1, ListCell datum2,
608608
ListCelldatum3,ListCelldatum4,
609609
ListCelldatum5);
610610

611-
externpg_nodiscardList*lappend(List*list,void*datum);
612-
externpg_nodiscardList*lappend_int(List*list,intdatum);
613-
externpg_nodiscardList*lappend_oid(List*list,Oiddatum);
614-
externpg_nodiscardList*lappend_xid(List*list,TransactionIddatum);
611+
pg_nodiscardexternList*lappend(List*list,void*datum);
612+
pg_nodiscardexternList*lappend_int(List*list,intdatum);
613+
pg_nodiscardexternList*lappend_oid(List*list,Oiddatum);
614+
pg_nodiscardexternList*lappend_xid(List*list,TransactionIddatum);
615615

616-
externpg_nodiscardList*list_insert_nth(List*list,intpos,void*datum);
617-
externpg_nodiscardList*list_insert_nth_int(List*list,intpos,intdatum);
618-
externpg_nodiscardList*list_insert_nth_oid(List*list,intpos,Oiddatum);
616+
pg_nodiscardexternList*list_insert_nth(List*list,intpos,void*datum);
617+
pg_nodiscardexternList*list_insert_nth_int(List*list,intpos,intdatum);
618+
pg_nodiscardexternList*list_insert_nth_oid(List*list,intpos,Oiddatum);
619619

620-
externpg_nodiscardList*lcons(void*datum,List*list);
621-
externpg_nodiscardList*lcons_int(intdatum,List*list);
622-
externpg_nodiscardList*lcons_oid(Oiddatum,List*list);
620+
pg_nodiscardexternList*lcons(void*datum,List*list);
621+
pg_nodiscardexternList*lcons_int(intdatum,List*list);
622+
pg_nodiscardexternList*lcons_oid(Oiddatum,List*list);
623623

624-
externpg_nodiscardList*list_concat(List*list1,constList*list2);
625-
externpg_nodiscardList*list_concat_copy(constList*list1,constList*list2);
624+
pg_nodiscardexternList*list_concat(List*list1,constList*list2);
625+
pg_nodiscardexternList*list_concat_copy(constList*list1,constList*list2);
626626

627-
externpg_nodiscardList*list_truncate(List*list,intnew_size);
627+
pg_nodiscardexternList*list_truncate(List*list,intnew_size);
628628

629629
externboollist_member(constList*list,constvoid*datum);
630630
externboollist_member_ptr(constList*list,constvoid*datum);
631631
externboollist_member_int(constList*list,intdatum);
632632
externboollist_member_oid(constList*list,Oiddatum);
633633
externboollist_member_xid(constList*list,TransactionIddatum);
634634

635-
externpg_nodiscardList*list_delete(List*list,void*datum);
636-
externpg_nodiscardList*list_delete_ptr(List*list,void*datum);
637-
externpg_nodiscardList*list_delete_int(List*list,intdatum);
638-
externpg_nodiscardList*list_delete_oid(List*list,Oiddatum);
639-
externpg_nodiscardList*list_delete_first(List*list);
640-
externpg_nodiscardList*list_delete_last(List*list);
641-
externpg_nodiscardList*list_delete_first_n(List*list,intn);
642-
externpg_nodiscardList*list_delete_nth_cell(List*list,intn);
643-
externpg_nodiscardList*list_delete_cell(List*list,ListCell*cell);
635+
pg_nodiscardexternList*list_delete(List*list,void*datum);
636+
pg_nodiscardexternList*list_delete_ptr(List*list,void*datum);
637+
pg_nodiscardexternList*list_delete_int(List*list,intdatum);
638+
pg_nodiscardexternList*list_delete_oid(List*list,Oiddatum);
639+
pg_nodiscardexternList*list_delete_first(List*list);
640+
pg_nodiscardexternList*list_delete_last(List*list);
641+
pg_nodiscardexternList*list_delete_first_n(List*list,intn);
642+
pg_nodiscardexternList*list_delete_nth_cell(List*list,intn);
643+
pg_nodiscardexternList*list_delete_cell(List*list,ListCell*cell);
644644

645645
externList*list_union(constList*list1,constList*list2);
646646
externList*list_union_ptr(constList*list1,constList*list2);
@@ -657,25 +657,25 @@ extern List *list_difference_ptr(const List *list1, const List *list2);
657657
externList*list_difference_int(constList*list1,constList*list2);
658658
externList*list_difference_oid(constList*list1,constList*list2);
659659

660-
externpg_nodiscardList*list_append_unique(List*list,void*datum);
661-
externpg_nodiscardList*list_append_unique_ptr(List*list,void*datum);
662-
externpg_nodiscardList*list_append_unique_int(List*list,intdatum);
663-
externpg_nodiscardList*list_append_unique_oid(List*list,Oiddatum);
660+
pg_nodiscardexternList*list_append_unique(List*list,void*datum);
661+
pg_nodiscardexternList*list_append_unique_ptr(List*list,void*datum);
662+
pg_nodiscardexternList*list_append_unique_int(List*list,intdatum);
663+
pg_nodiscardexternList*list_append_unique_oid(List*list,Oiddatum);
664664

665-
externpg_nodiscardList*list_concat_unique(List*list1,constList*list2);
666-
externpg_nodiscardList*list_concat_unique_ptr(List*list1,constList*list2);
667-
externpg_nodiscardList*list_concat_unique_int(List*list1,constList*list2);
668-
externpg_nodiscardList*list_concat_unique_oid(List*list1,constList*list2);
665+
pg_nodiscardexternList*list_concat_unique(List*list1,constList*list2);
666+
pg_nodiscardexternList*list_concat_unique_ptr(List*list1,constList*list2);
667+
pg_nodiscardexternList*list_concat_unique_int(List*list1,constList*list2);
668+
pg_nodiscardexternList*list_concat_unique_oid(List*list1,constList*list2);
669669

670670
externvoidlist_deduplicate_oid(List*list);
671671

672672
externvoidlist_free(List*list);
673673
externvoidlist_free_deep(List*list);
674674

675-
externpg_nodiscardList*list_copy(constList*oldlist);
676-
externpg_nodiscardList*list_copy_head(constList*oldlist,intlen);
677-
externpg_nodiscardList*list_copy_tail(constList*oldlist,intnskip);
678-
externpg_nodiscardList*list_copy_deep(constList*oldlist);
675+
pg_nodiscardexternList*list_copy(constList*oldlist);
676+
pg_nodiscardexternList*list_copy_head(constList*oldlist,intlen);
677+
pg_nodiscardexternList*list_copy_tail(constList*oldlist,intnskip);
678+
pg_nodiscardexternList*list_copy_deep(constList*oldlist);
679679

680680
typedefint (*list_sort_comparator) (constListCell*a,constListCell*b);
681681
externvoidlist_sort(List*list,list_sort_comparatorcmp);

‎src/include/storage/buffile.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ typedef struct BufFile BufFile;
3838

3939
externBufFile*BufFileCreateTemp(boolinterXact);
4040
externvoidBufFileClose(BufFile*file);
41-
externpg_nodiscardsize_tBufFileRead(BufFile*file,void*ptr,size_tsize);
41+
pg_nodiscardexternsize_tBufFileRead(BufFile*file,void*ptr,size_tsize);
4242
externvoidBufFileReadExact(BufFile*file,void*ptr,size_tsize);
4343
externsize_tBufFileReadMaybeEOF(BufFile*file,void*ptr,size_tsize,booleofOK);
4444
externvoidBufFileWrite(BufFile*file,constvoid*ptr,size_tsize);

‎src/include/utils/guc.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -444,7 +444,7 @@ extern ArrayType *GUCArrayDelete(ArrayType *array, const char *name);
444444
externArrayType*GUCArrayReset(ArrayType*array);
445445

446446
externvoid*guc_malloc(intelevel,size_tsize);
447-
externpg_nodiscardvoid*guc_realloc(intelevel,void*old,size_tsize);
447+
pg_nodiscardexternvoid*guc_realloc(intelevel,void*old,size_tsize);
448448
externchar*guc_strdup(intelevel,constchar*src);
449449
externvoidguc_free(void*ptr);
450450

‎src/include/utils/palloc.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,10 @@ extern void *palloc(Size size);
7979
externvoid*palloc0(Sizesize);
8080
externvoid*palloc_extended(Sizesize,intflags);
8181
externvoid*palloc_aligned(Sizesize,Sizealignto,intflags);
82-
externpg_nodiscardvoid*repalloc(void*pointer,Sizesize);
83-
externpg_nodiscardvoid*repalloc_extended(void*pointer,
82+
pg_nodiscardexternvoid*repalloc(void*pointer,Sizesize);
83+
pg_nodiscardexternvoid*repalloc_extended(void*pointer,
8484
Sizesize,intflags);
85-
externpg_nodiscardvoid*repalloc0(void*pointer,Sizeoldsize,Sizesize);
85+
pg_nodiscardexternvoid*repalloc0(void*pointer,Sizeoldsize,Sizesize);
8686
externvoidpfree(void*pointer);
8787

8888
/*
@@ -110,7 +110,7 @@ extern void pfree(void *pointer);
110110

111111
/* Higher-limit allocators. */
112112
externvoid*MemoryContextAllocHuge(MemoryContextcontext,Sizesize);
113-
externpg_nodiscardvoid*repalloc_huge(void*pointer,Sizesize);
113+
pg_nodiscardexternvoid*repalloc_huge(void*pointer,Sizesize);
114114

115115
/*
116116
* Although this header file is nominally backend-only, certain frontend

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp