* ldlang.c (lang_size_sections, lang_common): ALIGN_N can't handle
authorDavid Edelsohn <dje.gcc@gmail.com>
Fri, 15 Oct 1993 09:29:32 +0000 (09:29 +0000)
committerDavid Edelsohn <dje.gcc@gmail.com>
Fri, 15 Oct 1993 09:29:32 +0000 (09:29 +0000)
types of different sizes (eg: 64 and 32 bits), so coerce.
* ld.h (ALIGN_N): Add warning about usage.

ld/ld.h

diff --git a/ld/ld.h b/ld/ld.h
index 3be5b5d..5aa8036 100644 (file)
--- a/ld/ld.h
+++ b/ld/ld.h
@@ -30,6 +30,7 @@
 #define flag_is_constructor(x) ((x) & BSF_CONSTRUCTOR)
 #define flag_is_common(x) ((x) & BSF_FORT_COMM)
 #define flag_is_global(x) ((x) & (BSF_GLOBAL))
+#define flag_is_weak(x) ((x) & BSF_WEAK)
 #define flag_is_undefined(x) ((x) & BSF_UNDEFINED)
 #define flag_set(x,y) (x = y)
 #define flag_is_fort_comm(x) ((x) & BSF_FORT_COMM)
@@ -65,6 +66,9 @@ typedef  enum { DISCARD_NONE, DISCARD_ALL, DISCARD_L } discard_locals_type;
 
 /* ALIGN macro changed to ALIGN_N to avoid     */
 /* conflict in /usr/include/machine/machparam.h */
+/* WARNING: If THIS is a 64 bit address and BOUNDARY is an unsigned int,
+   you must coerce boundary to the same type as THIS.
+   ??? Is there a portable way to avoid this.  */
 #define ALIGN_N(this, boundary)  ((( (this) + ((boundary) -1)) & (~((boundary)-1))))
 
 typedef struct {
@@ -119,6 +123,3 @@ typedef enum {
 
 
 int yyparse();
-#define BYTE_SIZE 1
-#define SHORT_SIZE 2
-#define LONG_SIZE 4