aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-02-12 14:10:36 +0100
committerMichael Niedermayer <michaelni@gmx.at>2013-02-12 14:10:36 +0100
commita63dc846b502462c724c4791f830878301b0277a (patch)
tree0750587022235543da53b185169cccb63a25b3f8
parent08db519e1275d301417be0013ef3eb03e9381935 (diff)
parentfd1abf42693308ff99b9473c2387d5142f8b3f0e (diff)
downloadffmpeg-a63dc846b502462c724c4791f830878301b0277a.tar.gz
Merge remote-tracking branch 'qatar/master'
* qatar/master: lavu: avoid clashing definition of E doc: developer: Add a note about reserved system name space Conflicts: libavutil/internal.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--doc/developer.texi8
-rw-r--r--libavutil/internal.h8
2 files changed, 12 insertions, 4 deletions
diff --git a/doc/developer.texi b/doc/developer.texi
index 1c29ae0e14..c11a5ef7d0 100644
--- a/doc/developer.texi
+++ b/doc/developer.texi
@@ -169,6 +169,14 @@ For externally visible symbols, each library has its own prefix. Check
the existing code and choose names accordingly.
@end itemize
+Furthermore, name space reserved for the system should not be invaded.
+Identifiers ending in @code{_t} are reserved by
+@url{http://pubs.opengroup.org/onlinepubs/007904975/functions/xsh_chap02_02.html#tag_02_02_02, POSIX}.
+Also avoid names starting with @code{__} or @code{_} followed by an uppercase
+letter as they are reserved by the C standard. Names starting with @code{_}
+are reserved at the file level and may not be used for externally visible
+symbols. If in doubt, just avoid names starting with @code{_} altogether.
+
@subsection Miscellaneous conventions
@itemize @bullet
@item
diff --git a/libavutil/internal.h b/libavutil/internal.h
index 462f08c44c..2dacb2c5af 100644
--- a/libavutil/internal.h
+++ b/libavutil/internal.h
@@ -60,7 +60,7 @@
// Some broken preprocessors need a second expansion
// to be forced to tokenize __VA_ARGS__
-#define EXPAND(x) x
+#define E1(x) x
#define LOCAL_ALIGNED_A(a, t, v, s, o, ...) \
uint8_t la_##v[sizeof(t s o) + (a)]; \
@@ -70,16 +70,16 @@
DECLARE_ALIGNED(a, t, la_##v) s o; \
t (*v) o = la_##v
-#define LOCAL_ALIGNED(a, t, v, ...) EXPAND(LOCAL_ALIGNED_A(a, t, v, __VA_ARGS__,,))
+#define LOCAL_ALIGNED(a, t, v, ...) E1(LOCAL_ALIGNED_A(a, t, v, __VA_ARGS__,,))
#if HAVE_LOCAL_ALIGNED_8
-# define LOCAL_ALIGNED_8(t, v, ...) EXPAND(LOCAL_ALIGNED_D(8, t, v, __VA_ARGS__,,))
+# define LOCAL_ALIGNED_8(t, v, ...) E1(LOCAL_ALIGNED_D(8, t, v, __VA_ARGS__,,))
#else
# define LOCAL_ALIGNED_8(t, v, ...) LOCAL_ALIGNED(8, t, v, __VA_ARGS__)
#endif
#if HAVE_LOCAL_ALIGNED_16
-# define LOCAL_ALIGNED_16(t, v, ...) EXPAND(LOCAL_ALIGNED_D(16, t, v, __VA_ARGS__,,))
+# define LOCAL_ALIGNED_16(t, v, ...) E1(LOCAL_ALIGNED_D(16, t, v, __VA_ARGS__,,))
#else
# define LOCAL_ALIGNED_16(t, v, ...) LOCAL_ALIGNED(16, t, v, __VA_ARGS__)
#endif